Retour aux articles • IA • • 2 min de lecture

Graphify : passer son code en graphe AST

Transformer un dépôt multi-services en graphe de connaissances AST local (Zero-Cloud) pour accélérer le diagnostic des agents IA et diviser par 5 la consommation de contexte.

Graphify : passer son code en graphe AST

Lorsqu’un agent IA intervient sur un monorepo d’infrastructure ou une plateforme applicative de plusieurs centaines de fichiers, son réflexe par défaut est coûteux : multiplier les grep aveugles et ingérer des milliers de lignes dans sa fenêtre de contexte. Non seulement cela explose la latence et la consommation de tokens, mais cela dégrade la précision du modèle (effet Lost in the Middle).

C’est exactement le problème que résout Graphify (safishamsi/graphify) : un moteur open-source qui extrait l’arbre syntaxique abstrait (AST) de votre codebase pour construire un graphe de connaissances persistant (graph.json), interrogeable localement en quelques millisecondes.

Architecture & Flux : Graphify : le codebase en graphe AST pour

1. Pourquoi un graphe AST bat la recherche vectorielle (RAG) sur du code

Contrairement à un RAG vectoriel classique qui découpe les fichiers en chunks arbitraires de 500 tokens et cherche par similarité cosinus, Graphify modélise les relations structurelles exactes du programme :

  • Appels de fonctions et dépendances croisées (caller -> callee) ;
  • Détection des God Nodes : identification immédiate des modules centraux à fort couplage ;
  • Plus court chemin d’impact (shortest_path) : savoir exactement quelle route FastAPI impacte quelle table SQLite/MongoDB ou quel composant WebView Android.

2. Souveraineté : exécution 100 % locale (--code-only)

Sur un environnement d’ingénierie souverain, la règle est stricte : aucun code source ni fichier de configuration ne doit transiter vers un service d’indexation tiers non maîtrisé. Graphify est donc configuré avec une règle impérative dans .agents/rules/graphify.md :

# Construction et mise à jour incrémentale purement locale (AST uniquement, zéro coût API)
graphify update . --code-only

# Trouver le chemin d'exécution entre deux composants
graphify path "api_router" "auth_middleware"

# Explorer un concept ciblé sans lire 40 fichiers bruts
graphify explain "token_validator"
Animation exécution CLI dans le terminal

3. Intégration dans le workflow des agents

Avant toute modification multi-composants, l’agent interroge d’abord graphify query ou graphify path pour obtenir le sous-graphe exact des appelants (callers) et des tests associés. Après chaque commit modifiant la structure du code, graphify update . maintient le graphe synchronisé en moins de 2 secondes.

Bilan opérationnel

  • Réduction de 70 % des lectures de fichiers inutiles lors des phases d’investigation (DEFINE) ;
  • Zéro oubli d’appelant lors des refactorings critiques (combiné avec la discipline Ponytail) ;
  • Confidentialité totale : le graphe reste hors Git (graphify-out/ ignoré) et purement local au serveur.

Dépôt GitHub Officiel