Graphify: zamień swój kod w mózg zrozumiały dla AI
Graphify – czyli jak zmusić AI do naprawdę rozumienia Twojego kodu
Wróćmy do starego projektu i poczujmy ten dreszcz
Znasz to uczucie, gdy po kilku miesiącach wracasz do jakiegoś projektu i patrzysz na kod jak na obcy artefakt? Wiesz, że te pliki istnieją. Mniej więcej pamiętasz, jak to było zaprojektowane. Ale żeby zrozumieć, co się dzieje między nimi? Musisz zostać archeologiem.
Graphify chce to zmienić – i to konkretnie w kontekście asystentów AI do kodowania.
Co to w ogóle jest Graphify?
Graphify to open-source'owe narzędzie, które buduje przeszukiwalny graf wiedzy z całej Twojej bazy kodu. Mowa tu o kodzie źródłowym, dokumentacji, artykułach naukowych, a nawet diagramach – wszystko zlewa się w jedną, czytelną strukturę. Graf pokazuje nie tylko co kod robi, ale też dlaczego został zaprojektowany właśnie tak.
Innymi słowy: dajesz swojemu AI asystentowi mapę projektu, a nie stos nieuporządkowanych plików.
Narzędzie stworzył Safi Shamsi i udostępnił je na licencji MIT. Działa na sprawdzonych fundamentach: NetworkX do operacji na grafach i Tree-sitter do statycznej analizy kodu.
Multi-modalne podejście – tutaj robi się ciekawie
Graphify nie tylko parsuje kod. Obsługuje różne typy danych wejściowych:
- Kod źródłowy (.py, .js, .go, .java i inne) – Tree-sitter wyciąga abstrakcyjne drzewa składniowe, grafy wywołań i docstringi
- Markdown i PDF-y – LLM wydobywa koncepcje z tekstu
- Diagramy i obrazy – Modele wizyjne odczytują Twoje diagramy architektury
Dzięki temu nie dostajesz tylko grafu wywołań. Dostajesz semantyczne powiązania między koncepcjami rozrzuconymi po różnych plikach i formatach.
Od chaosu do interaktywnego grafu
Cały proces składa się z kilku kroków:
- Wykryj i zbierz – znajdujesz wszystkie istotne pliki
- Wydobądź – wyciągasz AST-y oraz węzły i krawędzie semantyczne
- Zbuduj – tworzysz graf w NetworkX
- Grupuj – stosujesz algorytm Leiden do wykrywania społeczności
- Przeanalizuj – identyfikujesz "węzły bogów" (pliki o wysokiej centralności) i nieoczekiwane powiązania
- Raportuj – generujesz czytelny wynik
Część związana z wykrywaniem społeczności jest naprawdę sprytna. Zamiast polegać na wektorowych embeddingach (które bywają drogie i niedokładne), Graphify używa algorytmu Leiden do grupowania powiązanego kodu w semantyczne klastry. Bez żadnego modelu embeddingowego.
Węzły bogów i "niespodzianki"
Jedna rzecz przykuła moją uwagę: Graphify identyfikuje tak zwane "węzły bogów" – pliki lub komponenty o najwyższej łączności w grafie. Zazwyczaj są to Twoje główne klasy, punkty wejścia albo krytyczne współdzielone narzędzia.
Ale ciekawsze jest to, że narzędzie oznacza też "niespodzianki" – nieoczekiwane połączenia między plikami lub domenami, które mogą wskazywać na problemy projektowe, niezdokumentowane zależności lub obszary warte zbadania.
W jednym z przykładów na bibliotece httpx, Graphify znalazł nieoczywiste powiązanie między DigestAuth a Response. Takie relacje nie są widoczne przy czytaniu pojedynczych plików, ale stają się crystal clear, gdy zobaczysz je jako graf.
Argument tokenowej efektywności
Zapamiętaj tę liczbę: w ich teście na mieszanym korpusie (repozytoria frameworków GPT i artykuły naukowe), Graphify osiągnął 71,5-krotną redukcję zużycia tokenów w porównaniu do prostego wstrzykiwania kontekstu.
To nie jest细节 do zignorowania. Gdy płacisz za każdy token w wywołaniach API AI, zmniejszenie kosztów zapytań o taki margines ma znaczenie. A chodzi nie tylko o pieniądze – mniejsze okna kontekstowe oznaczają szybsze odpowiedzi i mniejsze ryzyko halucynacji.
Bezpieczeństwo, o które naprawdę zadbano
Open-source'owe narzędzia pobierające URL-e i przetwarzające kod muszą poważnie traktować bezpieczeństwo. Graphify wygląda na takie, które to robi:
- Akceptuje tylko URL-e http/https
- Limity rozmiaru i timeoutu na pobieranie
- Sprawdzanie ścieżek (brak directory traversal)
- Escapowanie HTML w etykietach węzłów
- Brak telemetrii czy zbierania danych przez strony trzecie
Twój kod nigdy nie opuszcza Twojego środowiska. Graphify wysyła do skonfigurowanego modelu AI tylko semantyczne opisy – nie surowy kod źródłowy.
Integracja z asystentami AI
Graphify oferuje proste komendy dla Claude Code, Codex i OpenCode:
/graphify– zbuduj nowy graf/graphify query <pytanie>– zadawaj pytania o swoją bazę kodu/graphify path <plik>– skup się na konkretnych ścieżkach/graphify explain– otrzymaj wyjaśnienia struktury grafu
Wyniki obejmują interaktywną wizualizację graph.html, plik graph.json do programistycznego dostępu oraz plik GRAPH_REPORT.md z audytem.
Instalacja
Chcesz wypróbować? Oto jak zacząć:
pip install graphifyy
graphify install
graphify ./twoj-projekt
Wymagania: Python 3.10+ i skonfigurowany klucz API dla wybranego modelu AI (Claude, OpenAI, etc.).
Gdzie Graphify wpasowuje się w ekosystem?
Nie próbuje zastąpić Sourcegrapha (enterprise'owego wyszukiwania kodu) ani Neo4j (ogólnego grafu bazodanowego). Graphify zajmuje ciekawą przestrzeń pośrodku:
- Bardziej semantyczny niż statyczne narzędzia analityczne
- Bardziej ustrukturyzowany niż wektorowy retrieval
- Zaprojektowany konkretnie pod wstrzykiwanie kontekstu do AI asystentów
Dla developerów pracujących z AI asystentami kodowania nad złożonymi projektami – zwłaszcza mieszanymi bazami kodu z dokumentacją i materiałami badawczymi – to wypełnia prawdziwą lukę.
Większy obraz
Narzędzia takie jak Graphify reprezentują szerszy trend: asystenci AI, którzy nie tylko generują kod, ale naprawdę rozumieją systemy, nad którymi pracują. Graf wiedzy to nie tylko sztuczka wizualizacyjna – to struktura wnioskowania, która może wspierać dokładniejsze, świadome kontekstu sugestie.
Czy Graphify stanie się standardem w rozumieniu kodu przez AI? Zobaczymy. Ale problem, który rozwiązuje, jest realny. Bazy kodu to złożone, wzajemnie powiązane systemy. Może zasługują na narzędzia grafowe zamiast nawigatorów drzew plików.
Jeśli walczysz z tym, żeby AI asystenci właściwie rozumieli architekturę Twojego projektu – Graphify może być warty popołudniowego eksperymentu.
A może używałeś już narzędzi grafowych do rozumienia kodu? Podziel się swoimi doświadczeniami w komentarzach.