Zo maakt Graphify je rommelige codebase bevraagbaar voor AI-assistenten
Graphify: Geef je AI-assistent een landkaart van je codebase
Laten we eerlijk zijn: wie heeft er niet ooit een codebase opengestoten waar maanden niets aan gedaan was, met direct dat bekende gevoel van waar begin ik eigenlijk? Je weet dat de bestanden er staan. Je herinnert je vaag de architectuur. Maar de losse eindjes aan elkaar knopen? Dat voelt als archeologie.
Graphify wil daar verandering in brengen — specifiek voor AI coding assistants.
Wat is Graphify eigenlijk?
Graphify is een open-source tool die een doorzoekbare kennisgraaf bouwt van je complete codebase. We hebben het over broncode, documentatie, onderzoekspapers en zelfs diagrammen — allemaal samengevoegd tot één doorzoekbare graaf die uitlegt wat je code doet én waarom het zo ontworpen is.
Stel het je voor als: je AI-assistent een plattegrond van je project geven, in plaats van alleen een berg losse bestanden.
De tool is gemaakt door Safi Shamsi en vrijgegeven onder de MIT-licentie. Qua technische basis staat het op sterke schouders: NetworkX voor graafoperaties en Tree-sitter voor statische code-analyse.
De Multi-Modal Aanpak
Hier wordt het spannend: Graphify doet meer dan alleen code parsen. Het verwerkt meerdere soorten input:
- Broncode (.py, .js, .go, .java, en meer) — Tree-sitter haalt abstracte syntaxisbomen, call graphs en docstrings naar boven
- Markdown en PDF's — LLM-gedreven extractie onttrekt concepten uit prose
- Diagrammen en afbeeldingen — Vision modellen lezen daadwerkelijk je architectuurdiagrammen
Dankzij deze multi-modale aanpak krijg je niet zomaar een call graph. Je krijgt semantische verbanden tussen concepten, verspreid over verschillende bestandstypen en formaten.
Van Rommelige Repo Naar Interactieve Graaf
De pipeline is eenvoudig maar krachtig:
- Detecteren & Verzamelen — Alle relevante bestanden opsporen
- Extraheren — AST's en semantische nodes/edges eruit halen
- Bouwen — Een NetworkX-graaf creëren
- Clusteren — De Leiden-algoritme toepassen voor community detection
- Analyseren — "God nodes" identificeren (bestanden met hoge centraliteit) en onverwachte connecties
- Rapporteren — Leesbare output genereren
Het clusteren is slim gedaan. In plaats van te vertrouwen op vector embeddings (duur en vaag), gebruikt Graphify het Leiden-algoritme om gerelateerde code te groeperen in semantische clusters. Geen embedding model nodig.
God Nodes en "Verassingen"
Een feature die mijn aandacht trok: Graphify identificeert zogenaamde "god nodes" — de bestanden of componenten met de hoogste connectiviteit in je graaf. Dit zijn meestal je kernklassen, main entry points of kritische gedeelde utilities.
Nog interessanter: het markeert "surprises" — onverwachte cross-file of cross-domein connecties die kunnen wijzen op designproblemen, ongedocumenteerde afhankelijkheden, of gebieden die nader onderzoek verdienen.
In een van hun voorbeelden met de httpx-bibliotheek vond Graphify een verrassende verbinding tussen DigestAuth en Response. Dat soort relatie is niet voor de hand liggend als je individuele bestanden leest, maar wordt kristalhelder wanneer je het als graaf visualiseert.
Het Token-Efficiëntie Verhaal
Hier een getal om te onthouden: in hun gemengde corpus benchmark (GPT framework repos plus onderzoekspapers) behaalde Graphify een 71,5× reductie in tokenverbruik vergeleken met naive context injection methodes.
Dat is niet triviaal. Als je per token betaalt voor AI API-calls, dan maakt zo'n kostenreductie flink uit. En het gaat niet alleen om geld — kleinere context windows betekenen snellere responses en minder hallucinatierisico.
Security Die Niet Genegeerd Wordt
Open-source tools die URLs ophalen en code verwerken moeten security serieus nemen. Graphify doet dat:
- Alleen http/https URLs toegestaan
- Grootte- en timeout-limieten op downloads
- Path containment checks (geen directory traversal)
- HTML-escaping op alle node labels
- Geen telemetry of third-party data collection
Je code verlaat nooit je omgeving. Graphify stuurt alleen semantische beschrijvingen (geen rauwe source) naar je geconfigureerde AI model.
Integratie Met AI Assistants
Graphify wordt geleverd met eenvoudige commando's voor Claude Code, Codex en OpenCode:
/graphify— Een nieuwe graaf bouwen/graphify query <vraag>— Vragen stellen over je codebase/graphify path <bestand>— Focussen op specifieke paden/graphify explain— Uitleg krijgen over de graafstructuur
Output bestaat uit een interactieve graph.html visualisatie, een graph.json voor programmatic access, en een GRAPH_REPORT.md audit bestand.
Installatie
Wil je het proberen?
pip install graphifyy
graphify install
graphify ./jouw-project
Vereisten: Python 3.10+ en een API key geconfigureerd voor je favoriete AI model (Claude, OpenAI, etc.).
Waar Graphify Thuishoort
Het probeert niet Sourcegraph's enterprise code search te vervangen, noch Neo4j's general-purpose graph database. Graphify neemt een interessante middenpositie in:
- Semantischer dan statische analyse tools
- Gestructureerder dan vector-based retrieval
- Doelgericht gebouwd voor AI assistant context injection
Voor developers die werken met AI coding assistants op complexe projecten — vooral gemixte codebases met documentatie en onderzoek — lost dit een echte lacune op.
Het Grotere Plaatje
Tools als Graphify vertegenwoordigen een bredere trend: AI assistants die niet alleen code genereren, maar daadwerkelijk begrijpen in welke systemen ze werken. Een kennisgraaf is niet zomaar een visualisatietrucje — het is een redeneerstructuur die accuratere, context-bewustere suggesties kan ondersteunen.
Of Graphify de standaard wordt voor AI code-begrip valt nog te bezien. Maar het probleem dat het oplost is reëel. Codebases zijn complexe, onderling verbonden systemen. Misschien verdienen ze graph-gebaseerde tools in plaats van file-tree navigators.
Als je worstelt om AI assistants je projectarchitectuur te laten begrijpen, dan is Graphify misschien een experimentje van een middagje waard.
Heb je ervaring met knowledge graph tools voor code-begrip? Deel het hieronder.