Przestań karmić sieci neuronowe gigabajtami kodu i zamień swoje repozytorium w graf
Za każdym razem, gdy otwieram nieznane repozytorium liczące kilkadziesiąt tysięcy linii i próbuję zaangażować AI w refaktoryzację, dzieje się to samo. Asystent zaczyna zachłannie przeszukiwać pliki, wypełnia okno kontekstowe niepowiązanymi fragmentami kodu, gubi się w wywołaniach i w efekcie produkuje złudzenie zamiast działającej poprawki. Wydajemy mnóstwo tokenów, a model nigdy nie rozumie, jak poszczególne części systemu są ze sobą połączone.
Niedawno natknąłem się na interesujący projekt o nazwie Ix. Autorzy postanowili podejść do problemu inaczej: zamiast karmić sieci neuronowe surowym tekstem, budują lokalny graf zależności z kodu źródłowego.
Co robi Ix
To w zasadzie narzędzie CLI i lokalny backend, który parsuje repozytorium za pomocą parsera tree-sitter. Narzędzie obsługuje 26 języków programowania, w tym TypeScript, Go, Rust, Python, Java, C++, Ruby i Elixir, a także rozpoznaje pliki konfiguracyjne takie jak YAML, SQL i Dockerfile.
Podczas skanowania narzędzie wyodrębnia strukturę: funkcje, klasy, punkty importu i łańcuchy wywołań. Wszystko to jest zapisywane w lokalnej bazie danych grafowej ArangoDB działającej w Dockerze. W rezultacie zamiast niekończącego się czytania plików i zgadywania, programista i LLM otrzymują interaktywną mapę projektu, którą można przeszukiwać za pomocą ukierunkowanych poleceń.
Kontekst utrzymuje się między sesjami. Jeśli zamkniesz terminal lub uruchomisz edytor ponownie, nagromadzone połączenia nie znikną.
Cztery polecenia zamiast niekończącego się wyszukiwania
Cała praca z narzędziem kręci się wokół czterech podstawowych scenariuszy.
1. Budowanie mapy
Najpierw skanujemy bieżący kod:
Parser przechodzi przez pliki, parsuje drzewa składni i buduje początkowy graf zależności.
2. Wyjaśnianie komponentu
Gdy potrzebujesz szybko zrozumieć, za co odpowiada konkretny moduł i z czym jest połączony, wywołaj polecenie explain:
Polecenie wyświetli krótkie podsumowanie dla symbolu wraz z listą połączeń przychodzących i wychodzących.
3. Śledzenie przepływów
Jeśli śledzisz łańcuch przetwarzania danych, przydatne jest polecenie trace:
Przechodzi przez węzły grafu i pokazuje sekwencję wywołań od punktu wejścia do końcowego handlera.
4. Ocena wpływu zmian
Przed edycją współdzielonej funkcji lub schematu danych warto sprawdzić, co może się zepsuć:
Narzędzie znajdzie wszystkie miejsca, które bezpośrednio lub pośrednio zależą od wybranego symbolu. Według autorów, to ukierunkowane wyszukiwanie strukturalne oszczędza od 30% do 99% tokenów w zadaniach programistycznych.
Łączenie z edytorami przez MCP
CLI ma już wbudowany serwer Model Context Protocol (MCP). Oznacza to, że narzędzie można łatwo połączyć z każdym nowoczesnym narzędziem AI: Cursor, VS Code, Claude Code, Codex, Gemini CLI lub OpenClaw.
Automatyczna konfiguracja wszystkich wykrytych klientów uruchamiana jest jednym poleceniem:
Skrypt sprawdza konfiguracje na maszynie i ostrożnie dodaje uruchomienie serwera ix mcp. Tworzy również kopie zapasowe konfiguracji z rozszerzeniem .bak i nie nadpisuje bezmyślnie istniejących ustawień.
Jeśli musisz ręcznie zarejestrować klienta (na przykład Codex), po prostu uruchom:
Gdy agent zakończy zadanie, uzyskuje dostęp do lokalnego grafu bezpośrednio przez narzędzia MCP, zamiast wykonywać ślepe grep przez setki plików.
Instalacja i wymagania systemowe
Będziesz potrzebować Node.js 22+, Git, ripgrep oraz działającego Dockera z Docker Compose (pod spodem uruchamia ArangoDB).
Na macOS i Linuksie instalacja to jedna linia:
Na Windows jest skrypt PowerShell:
Po instalacji sprawdź status usługi:
Jeśli baza danych jeszcze nie działa, ix docker start uruchomi kontener ArangoDB w tle.
Podsumowanie
Projekt jest obecnie we wczesnej alfie, więc zachowanie poleceń i API może się jeszcze zmienić. Dokumentacja jest obecnie minimalna, a zależność od lokalnego kontenera Docker dodaje trochę narzutu przy pierwszym uruchomieniu.
Kto powinien wypróbować projekt:
- Programiści, którzy często nawigują po dużych, nieznanych repozytoriach.
- Ci, którzy aktywnie używają Claude Code, Cursor lub Codex i mają dość przepełnienia kontekstu.
- Zespoły potrzebujące lokalnej bazy wiedzy o połączeniach w mikroserwisach bez wysyłania kodu źródłowego na serwery stron trzecich.
Jeśli szukasz sposobu na uporządkowanie interakcji AI z Twoim kodem, zajrzyj do repozytorium GitHub projektu i przetestuj ix map na własnym projekcie.
Powiązane projekty