>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Comment cesser de nourrir les LLM et apprendre aux agents à comprendre votre code

Situation familière : vous connectez un agent IA à un projet, et il commence à « halluciner » ou à relire les mêmes fichiers en boucle, brûlant votre budget de tokens. Même des outils avancés comme Cursor perdent parfois le fil des connexions entre les modules quand un projet grandit jusqu'à des milliers de fichiers. Je suis récemment tombé sur Memtrace — un projet qui essaie de résoudre ce problème de manière fondamentale en transformant une codebase en graphe de connaissances vivant.

Memtrace — mémoire structurelle pour les agents de codage IA

Pourquoi les agents ont besoin d'une « mémoire structurelle »

La plupart des assistants IA modernes fonctionnent sur le principe du RAG (Retrieval-Augmented Generation). Ils recherchent des extraits de code par mots-clés ou par similarité vectorielle. Le problème, c'est que le code n'est pas juste du texte — c'est une hiérarchie complexe d'appels, d'imports et de dépendances. Si un agent ne voit pas le tableau complet, il pourrait refactorer une fonction d'une manière qui casse les tests dans un microservice voisin dont l'agent n'avait même pas connaissance.

Memtrace crée ce que les développeurs appellent un « graphe de connaissances bi-temporel ». Il n'indexe pas juste du texte — il comprend la structure : quelle fonction appelle quoi, quelles interfaces sont implémentées, et comment tout cela a évolué dans le temps.

Ce que cet outil peut faire

La caractéristique principale du projet est sa rapidité et sa locality. Là où des outils similaires dépensent des dizaines de dollars en appels API et des heures en indexation, Memtrace fait cela en quelques secondes sur votre machine.

Indexation sans LLM

Les développeurs ont utilisé Rust et Tree-sitter. Cela permet d'analyser 15 000 fichiers en environ 1,5 seconde. Dans le même temps, les coûts API sont nuls car les réseaux de neurones ne sont pas utilisés pour construire le graphe — uniquement l'analyse statique déterministe. L'ensemble du processus se déroule en local, donc votre code ne part pas sur les serveurs de quelqu'un d'autre.

Compréhension du contexte via MCP

L'outil supporte le Model Context Protocol (MCP). Cela signifie qu'il peut être « branché » sur Claude Code, Cursor, Windsurf ou VS Code avec littéralement une seule commande. L'agent obtient accès à plus de 25 outils : de la recherche de code « mort » à l'analyse du rayon d'impact pour les changements.

Chronologie des changements

Memtrace stocke l'historique des versions pour chaque symbole. Un agent peut demander : « Qu'est-ce qui a changé cette semaine ? » ou « Quelles fonctions sont devenues trop complexes après la dernière fusion ? » Le système utilise six algorithmes d'évaluation, incluant l'analyse de nouveauté et l'intensité des changements, pour mettre en évidence les choses les plus importantes pour l'agent.

Comparaison avec les alternatives

Le README contient un tableau de benchmark intéressant. Par exemple, Mem0 ou Graphiti s'appuient sur des appels LLM pour l'extraction d'entités pendant l'indexation. C'est lent et coûteux. Memtrace ressemble à une voiture de course en comparaison :

| Opération | Memtrace | Alternatives (Mem0/GitNexus) | |---|---|---| | Indexation de 15 000 fichiers | 1,5 sec | 30 min à 2 heures | | Coûts API | 0 $ | 10–50 $ | | Consommation mémoire | 26 Mo | ~1 Go |

Bien sûr, il convient de noter que Memtrace est étroitement spécialisé dans le code, tandis que d'autres systèmes peuvent travailler avec des conversations arbitraires. Mais pour les tâches de développement, une telle spécialisation est un énorme avantage.

Fonctionnement technique

Sous le capot, le projet a une pile assez sérieuse. En plus de Rust, il utilise Tantivy pour la recherche full-text (BM25) et les embeddings vectoriels pour la recherche sémantique. Tout cela est combiné via Reciprocal Rank Fusion (RRF) pour fournir les résultats les plus pertinents.

Le support des langages est implémenté de manière intéressante. En plus de l'ensemble standard (TypeScript, Python, Go, Rust), Memtrace comprend le code d'infrastructure : Terraform, GitHub Actions, et même les politiques RLS dans PostgreSQL. Il voit les connexions entre le schéma de la base de données et le code ORM dans l'application.

Comment utiliser cela en pratique

Imaginez que vous deviez apporter des modifications à une classe de base dans un huge monorepo. D'habitude, vous lancez une recherche dans tout le projet et vous espérez ne rien avoir oublié.

Avec Memtrace, l'agent peut exécuter la commande get_impact et voir immédiatement l'arbre des dépendances. Il dira : « Si vous changez ce champ, ces trois endpoints et un worker dans un autre module vont casser. » Cela élimine la refactorisation « à l'aveugle ».

Pour commencer, installez simplement le package globalement :

npm install -g memtrace

Après cela, l'outil configurera automatiquement les paramètres nécessaires pour Claude ou Cursor. Si vous êtes paranoïaque sur la vie privée, vous pouvez désactiver la télémétrie avec une variable d'environnement MEMTRACE_TELEMETRY=off.

Qui devrait essayer

Le projet est actuellement en bêta privée, mais l'accès s'ouvre progressivement par groupes. De mon point de vue, Memtrace sera le plus utile pour ceux qui :

  1. Travaillent avec de grandes codebases où il est difficile de garder toutes les connexions en tête.
  2. Utilisent activement des agents IA et veulent réduire les dépenses en tokens.
  3. Hésitent à envoyer du code source vers des services cloud pour l'indexation.

La seule réserve est que la licence est propriétaire (EULA), bien qu'ils promettent de garder un accès gratuit pour les développeurs individuels. Si vous ne pouvez pas attendre pour mettre la main sur une « mémoire structurelle » pour vos agents, ça vaut le coup de vérifier leur Discord ou de soumettre une demande sur le site web.

Pour l'instant, le projet ressemble à une tentative très énergique pour rendre le développement assisté par IA plus prévisible et moins coûteux. Au minimum, la vitesse d'indexation de 1,5 seconde est quelque chose qui nous manquait depuis longtemps.

Projets similaires