Récupération de code pour les agents IA : pourquoi les embeddings vectoriels échouent et pourquoi les graphes LLM par fichier triomphent

Une expérience d'un an visant à construire un système d'indexation de code pour les outils de codage IA a donné des résultats clairs : les embeddings vectoriels sur les morceaux de code et l'analyse AST de Tree-sitter présentent tous deux des défauts critiques, tandis que l'analyse par fichier via LLM stockée dans un graphe Neo4j avec recherche plein texte sémantique fonctionne le mieux. Ces résultats font écho à des articles récents comme RepoGraph (ICLR 2025) et Code-Craft.
Approches testées
- Embeddings vectoriels sur morceaux de code – totalement écartés. Une fonction nommée
process()dans un service de paiement et une autre dans un pipeline d'images génèrent des vecteurs similaires, bien qu'elles n'aient rien à voir entre elles. Les vecteurs aplatissent les graphes d'appels, l'héritage, les imports — toutes les relations structurelles. La précision du rappel était inacceptable. - Analyse AST Tree-sitter – précise et rapide, mais uniquement structurelle. Elle peut dire qu'une fonction existe et ce qu'elle appelle, mais ne peut pas répondre à la question « cette fonction gère les réessais de webhook pour les paiements Stripe échoués ». Elle est insuffisante lorsque les développeurs posent des questions en langage métier.
- Analyse par fichier via LLM → graphe – fonctionne. Chaque fichier reçoit un appel LLM générant
purpose,summaryetbusinessContext, stockés comme nœuds dans Neo4j avec des arêtes vers les classes, fonctions, mots-clés et imports. La recherche utilise la recherche plein texte sur ces champs sémantiques au lieu de la similarité vectorielle. Le diff SHA-256 limite la réindexation aux fichiers modifiés, rendant le coût initial gérable.
Benchmarks issus de la littérature
RepoGraph (ICLR 2025) a montré une amélioration de +32,8 % sur SWE-bench avec des approches par graphe. Code-Craft a atteint +82 % de précision de rappel de premier rang en utilisant des résumés LLM ascendants à partir de graphes de code.
Comparaison avec les outils existants
L'équipe a publié une comparaison côte à côte dans comparison.md. Principales différences :
- Bytebell : LLM par fichier → purpose + summary + businessContext + entités ; stockage Neo4j + MongoDB ; réindexation consciente des différences SHA-256.
- PageIndex : arbre de raisonnement TOC pour longs PDFs/docs ; pas de sémantique spécifique au code.
- GitNexus : AST Tree-sitter + détection de communautés ; sémantique optionnelle par symbole ; utilise LadybugDB.
- GraphRAG : entités LLM par morceau + clustering communautaire pour texte général, pas de code.
- Sourcegraph/Cody : index de recherche LSIF/SCIP ; pas de sémantique par nœud ; déploiement auto-hébergé ou SaaS.
- Augment : index sémantique propriétaire avec embeddings ; SaaS uniquement ; indexation continue gérée.
Open source
Le système est open source sur github.com/ByteBell/bytebell-oss.
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

Skynet : Réseau de Collaboration Multi-Agents pour Agents de Code Claude
Skynet est un réseau open-source qui permet une collaboration basée sur les rôles entre plusieurs agents Claude Code et des humains. Il est installé en tant que compétence via npx et géré par des commandes en langage naturel.

Outil Local d'Analyse d'Images par IA Utilise des Modèles de Vision Ollama pour les Retours
Un développeur a créé une application de bureau gratuite qui analyse localement les images générées par IA à l'aide des modèles de vision Ollama. L'outil fournit des rapports de retour structurés incluant des suggestions d'amélioration et des optimisations de prompts.
TextGen (text-generation-webui) devient une application de bureau native avec des builds portables
TextGen, l'alternative open source à LM Studio, est passé d'une interface web à une application de bureau sans installation pour Windows, Linux et macOS avec des versions portables, une confidentialité totale et une prise en charge avancée de la quantification.
Fork d'OpenClaw avec un LLM personnalisé : Guide de configuration locale uniquement
Un utilisateur de Reddit a fork OpenClaw pour le faire fonctionner entièrement avec des modèles locaux, créant un 'JARVIS' entièrement personnalisé sans dépendance au cloud. Le processus a pris des minutes, pas des heures, et exécute deux versions côte à côte sur un M2 Ultra.