Blog

Claude Code relit le projet : ajouter une mémoire via MCP

Markdown

Claude Code n’indexe pas le code et relit le projet depuis le début, ce qui consomme des tokens. Voici comment lui donner une mémoire persistante du code via MCP et réduire la consommation.

Lire l’article complet

À retenir

Claude Code ne conserve pas d’index de votre code. À chaque session, il parcourt de nouveau le projet et lit les fichiers depuis le début : les tokens sont donc consacrés à l’exploration plutôt qu’au travail. Vous pouvez résoudre ce problème grâce à une mémoire du code : installez un serveur d’index via MCP, et Claude pourra utiliser une carte du projet déjà prête au lieu de tout relire.

Documentation Ailoot : API, clés et connexion.

Pourquoi Claude Code relit-il le projet depuis le début à chaque fois ?

À retenir

Claude Code n’a pas d’index de code intégré. Il explore le projet à l’aide de trois outils : il repère les fichiers par motif, recherche des chaînes de caractères dans le texte et lit des fichiers entiers. C’est ce qu’on appelle la recherche agentique : le modèle décide où chercher et répète le processus pour chaque nouvelle tâche. Il ne se souvient pas de la session précédente, donc chaque nouvelle session repart de zéro.

Beaucoup de gens pensent qu’il s’agit d’un bug. En réalité, Claude Code est conçu ainsi : il n’a pas son propre index de projet. Quand vous lui demandez de corriger quelque chose, il ne dispose d’aucune carte du code prête à l’emploi : il explore de nouveau le projet, repère les fichiers pertinents, recherche les chaînes nécessaires et lit les fichiers en mémoire.

Cette approche présente de vrais avantages. Le code est toujours à jour : aucun index n’a pris du retard. Rien à configurer. Votre code n’est envoyé à aucune base de données.

Mais elle a un inconvénient : chaque nouvelle tâche exige une nouvelle série de recherches et de lectures de fichiers. Des tokens sont dépensés pour retrouver où se trouve chaque élément, alors que Claude l’avait déjà découvert lors de la session précédente. Plus le projet est vaste, plus cette exploration coûte cher. C’est précisément pour cela que l’agent peut donner l’impression de « tout lire ».

Combien de tokens cela consomme-t-il réellement ?

À retenir

Avant même de relire du code, Claude Code envoie environ 33 000 tokens de données système dans chaque requête. Dans une configuration de travail réelle, le total atteint 75 000–85 000 tokens avant même que vous ayez tapé un seul mot. La relecture des fichiers vient ensuite s’ajouter, et selon la documentation officielle, c’est elle qui consomme le plus de contexte.

Le coût commence avant votre requête. Une mesure indépendante le montre simplement : Claude Code envoie environ 33 000 tokens de prompt système et de descriptions d’outils avant de lire le premier caractère de votre message. À titre de comparaison, OpenCode démarre autour de 7 000.

La relecture entre ensuite en jeu. Chaque recherche de fichier et chaque lecture ajoutent des tokens au contexte. La documentation officielle de Claude Code le dit clairement : la lecture de fichiers domine l’utilisation du contexte. L’analyse de auth.ts, qui représente 2 400 tokens, signifie que Claude a vu ces 2 400 tokens à lui seul ; il en va de même pour chaque fichier ouvert pendant l’exploration.

Pour notre public, cela se traduit par de l’argent et des limites. La crainte numéro un des personnes qui se lancent dans le vibe coding est : « J’ai payé et mes limites sont parties pour rien. » Si l’agent parcourt le projet et relit les fichiers depuis le début pour chaque tâche, le contexte s’épuise deux fois plus vite : d’abord à cause de la surcharge système, puis pendant l’exploration. J’ai détaillé où vont exactement les tokens de Claude Code dans le guide « Où vont les tokens de Claude Code » : la relecture du projet est l’un des neuf schémas présentés.

Qu’est-ce qu’une mémoire persistante du code ?

À retenir

La mémoire du code est une carte du projet déjà prête, que l’agent peut consulter au lieu de relire les fichiers. Un outil distinct analyse votre code une fois, en établit la structure — fonctions, fichiers et liens — puis l’enregistre sur le disque. Ensuite, quand vous demandez « où est géré le paiement ? », Claude obtient la réponse en une seule requête à partir de la carte, au lieu de parcourir chaque fichier.

La mémoire du code comble précisément la lacune qui pousse Claude à relire le projet. L’idée est simple : faire analyser une fois tout le code, en créer une carte et la garder à portée de main. L’agent n’a alors plus besoin de tout rechercher depuis le début : il interroge la carte.

Sur le plan technique, voici comment cela fonctionne. Un outil distinct analyse le projet et le décompose en éléments : les fonctions et les classes présentes, les appels entre elles et les fichiers liés. Cette structure est enregistrée sur le disque. Quand Claude doit comprendre où se trouve la logique de paiement ou ce qui risque de casser si une fonction est modifiée, il envoie une requête ciblée à la carte au lieu de lire des dizaines de fichiers.

Cette carte est connectée via MCP, la méthode standard pour ajouter un outil externe à Claude Code (j’ai expliqué comment connecter d’autres serveurs dans le guide « Serveurs MCP pour Claude Code »). L’outil de mémoire du code ajoute ses propres commandes de recherche dans la carte, et Claude les utilise de lui-même lorsqu’il doit s’orienter dans le projet.

En pratique, la différence se résume à « lire tout le dossier pour trouver une fonction » ou « demander à la carte où se trouve cette fonction ». La première méthode coûte des dizaines de milliers de tokens ; la seconde, des centaines.

Deux approches de la mémoire du code : quelles différences ?

À retenir

Il existe deux outils utiles, tous deux gratuits sous licence MIT. Serena offre à l’agent une navigation dans le code comparable à celle d’un environnement de développement intelligent et convient aux modifications précises. claude-context recherche par sens au moyen d’embeddings, mais nécessite une base de données externe et une clé. Ce qui les distingue, c’est ce dont chacun se souvient.

Les outils de mémoire du code se distinguent par ce qu’ils construisent à partir de votre projet. Pour simplifier : l’un donne à l’agent la précision d’un chirurgien pour les modifications, et l’autre recherche par sens.

Ce que nous comparonsSerenaclaude-context
Type de mémoireNavigation dans le code via un moteur d’environnement de développementRecherche par sens au moyen d’embeddings
Ce qu’il trouveDéfinitions, sites d’appel réels, modifications par symboleCode à partir d’une description : « où se trouve la logique de paiement ? »
Dépendances externesGestionnaire de paquets uv ; pour TypeScript et JavaScript, également Node 20+ et npmBase de données externe + clé + Node 20+
InstallationUne commandeCommande avec trois paramètres
Économie de tokensNe publie pas de pourcentage exactEnviron 40 % à qualité égale
Étoiles GitHub26 46812 138
Point fortRefactorisation soignée dans toute la base de codeTrouver ce qu’il faut sans connaître les noms exacts
Point faibleMoins de langages, pas de recherche par sensConfiguration lourde, nécessite un service cloud

Les nombres d’étoiles GitHub datent du 15 juillet 2026 (selon l’API GitHub). Les deux outils sont gratuits et open source, fonctionnent avec Claude Code et se connectent en tant que serveurs MCP.

En bref, pour les personnes qui ne programment pas : Serena, c’est la précision d’un chirurgien : utilisez-la lorsque vous modifiez la même partie dans tout le projet et que la précision compte. claude-context est une recherche par sens : il trouve du code à partir d’une description, mais demande la configuration d’une base de données cloud et une clé.

Quand choisir Serena ou claude-context ?

À retenir

Serena est utile lorsque les modifications précises comptent : renommer une fonction dans tout le projet, remplacer son corps ou trouver tous ses sites d’appel réels. Elle s’appuie sur le même moteur que les environnements de développement intelligents et modifie le code selon son sens, pas par correspondance de texte. Choisissez claude-context si vous devez rechercher du code à partir d’une description et que la configuration d’une base de données externe et d’une clé ne vous dérange pas.

Les deux outils ne se disputent pas une récompense unique. Ils se souviennent de choses différentes ; le choix dépend donc de la tâche.

Choisissez Serena si vous faites beaucoup de refactorisation. Elle offre à l’agent une navigation dans le code comparable à celle d’un environnement de développement intelligent : elle trouve la définition d’une fonction et tous ses sites d’appel réels, puis renomme soigneusement cette fonction ou remplace son corps dans tout le projet. L’auteur décrit ainsi son avantage.

Un puissant ensemble d’outils de code via MCP : recherche et modification sémantiques — un environnement de développement pour votre agent.

— Serena, https://github.com/oraios/serena

Serena ne publie pas de pourcentage exact d’économie, et je ne vais pas lui attribuer un chiffre inventé. Son avantage est différent : là où une recherche ordinaire renvoie quarante résultats, avec des commentaires et des chaînes, après quoi Claude lit quatre fichiers entiers, Serena répond avec quelques requêtes précises. Cela signifie moins d’appels et moins de faux résultats, et donc un risque réduit que l’agent modifie le mauvais élément.

Choisissez claude-context si vous avez besoin d’une recherche par sens et que sa configuration ne vous rebute pas. Il transforme le code en vecteurs (des empreintes numériques du sens) et effectue une recherche à partir d’une description : « trouve où se trouve notre logique de paiement », même si vous ne connaissez pas les noms des fonctions. Cette recherche a pour contrepartie une configuration supplémentaire.

En moyenne, claude-context réduit l’utilisation de tokens d’environ 40 % tout en conservant la même qualité de recherche.

— zilliztech/claude-context, https://github.com/zilliztech/claude-context

claude-context nécessite une base de données vectorielle externe, une clé d’un fournisseur d’embeddings et une version récente de Node. Des deux outils, c’est le plus complexe à configurer ; je recommande donc aux débutants de commencer par autre chose.

Que pouvez-vous faire directement dans Claude Code sans outils tiers ?

À retenir

Les commandes intégrées résolvent la moitié du problème. /context indique exactement ce qui utilise le contexte. /compact compresse l’historique, /clear le réinitialise avant une nouvelle tâche et /doctor repère les éléments inutiles et suggère de les supprimer. Un fichier CLAUDE.md court, plutôt qu’un fichier trop volumineux, économise des milliers de tokens dans chaque message.

Avant d’installer des outils tiers, tirez le meilleur parti de ce que Claude Code inclut déjà. Ces commandes sont gratuites et fonctionnent immédiatement.

  1. /context — affiche en temps réel ce qui occupe la fenêtre : prompt système, CLAUDE.md, mémoire, outils et fichiers. La commande /mcp indique le coût de chaque serveur connecté, et /memory montre ce qui a été chargé au démarrage.
  2. /compact — compresse l’historique de la conversation en un bref résumé et poursuit la même tâche. Vous pouvez orienter le résumé en ajoutant à /compact ce qu’il faut conserver.
  3. /clear — efface tout l’historique. La recommandation officielle est de l’exécuter lorsque vous passez à une tâche sans rapport, afin que l’ancienne conversation n’encombre pas l’espace nécessaire aux fichiers dont vous avez besoin.
  4. /doctor (également appelé /checkup, introduit le 8 juillet 2026) — diagnostique la configuration et suggère des corrections : supprime les doublons dans CLAUDE.md, repère les outils et serveurs inutilisés et détecte les gestionnaires lents.

Une remarque à part sur CLAUDE.md. Ce fichier est chargé dans le contexte au début de chaque session et inclus dans chaque message. S’il est trop volumineux, vous continuez à en payer le coût. La recommandation officielle est de le garder sous 200 lignes et de déplacer les détails de référence dans des skills chargés à la demande. J’ai expliqué comment bien structurer CLAUDE.md dans le guide distinct « Comment configurer CLAUDE.md ».

Un autre levier intégré est celui des sous-agents. Ils disposent de leur propre contexte, séparé du vôtre. Vous pouvez ainsi leur confier la lecture intensive et l’exploration sans encombrer votre fenêtre principale. Anthropic énonce ce principe général de la façon suivante dans son analyse technique.

Un bon travail sur le contexte consiste à trouver le plus petit ensemble possible de tokens riches en informations qui produise le résultat souhaité.

— Anthropic, https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents

Un serveur MCP supplémentaire va-t-il encore augmenter le contexte ?

À retenir

C’est une inquiétude légitime, mais non. Depuis 2026, Claude Code ne charge plus par défaut dans le contexte les descriptions complètes des outils MCP : il les reporte et ne charge que ce qui est réellement nécessaire. Au démarrage, seuls les noms sont inclus dans le contexte. Un index de code ajoute donc une surcharge système négligeable tout en économisant des milliers de tokens qui seraient autrement consacrés à relire les fichiers.

L’idée selon laquelle « un serveur supplémentaire entraîne davantage de surcharge de contexte » était juste auparavant, mais Claude Code a changé. Les descriptions des outils MCP sont désormais reportées par défaut : seuls les noms des serveurs sont inclus dans le contexte au démarrage, et les descriptions complètes sont chargées lorsqu’un outil précis est nécessaire à la tâche. La documentation le dit clairement.

La recherche d’outils maintient la consommation du contexte MCP à un niveau bas en reportant les descriptions des outils jusqu’à ce que Claude en ait besoin. Au démarrage d’une session, seuls les noms des outils sont chargés ; l’ajout de serveurs MCP a donc presque aucun effet sur la fenêtre de contexte.

— Claude Code Docs, https://code.claude.com/docs/en/mcp

Le calcul de la mémoire du code est simple : une petite surcharge fixe pour les noms des outils, contre des milliers de tokens économisés parce que l’agent ne relit plus les fichiers. Le bilan penche nettement en faveur de l’index.

Quelques réserves honnêtes, pour ne pas vous attendre à des miracles. L’index doit être reconstruit de temps en temps : la carte reflète le code tel qu’il était au moment de l’analyse et doit être mise à jour après des modifications importantes (cela dépend de l’outil : certains le font automatiquement, d’autres nécessitent une commande). Et les affirmations ambitieuses comme « 120 fois moins de tokens » décrivent le meilleur cas sur des requêtes sélectionnées, pas ce que vous constaterez pour chaque tâche. Les économies réelles sont plus modestes, mais restent perceptibles. Pour approfondir la manière d’éviter de manière générale d’atteindre les limites, consultez mon analyse distincte « Comment éviter d’épuiser les limites de Claude Code ».

Par quoi commencer aujourd’hui ?

À retenir

Commencez par ce qui est gratuit et rapide. Exécutez /doctor pour supprimer les éléments inutiles. Réduisez CLAUDE.md à 200 lignes. Ces étapes allègent ce que Claude emporte dans chaque tâche et commencent à économiser vos tokens et vos limites.

En éliminant tout ce qui est superflu, le plan du jour est simple :

  1. Exécutez /doctor et appliquez ses suggestions : supprimez les doublons de CLAUDE.md et les outils inutilisés.
  2. Réduisez CLAUDE.md à 200 lignes et déplacez les documents de référence dans des skills.

Choisissez ensuite selon vos besoins : si vous faites beaucoup de refactorisation, ajoutez Serena pour des modifications précises ; si vous avez besoin d’une recherche par sens, configurez claude-context. La mémoire du code et un contexte propre résolvent dès aujourd’hui le problème principal.

Si vous avez besoin d’accéder à des modèles d’IA via Ailoot, consultez Ailoot.

Plus de détails

Questions fréquentes : Claude Code relit le projet : ajouter une mémoire via MCP

Quand préférer la navigation par symboles à la recherche sémantique ?

La navigation de type Serena convient aux définitions, appels et refactorings précis. Une recherche comme claude-context aide lorsque vous connaissez le comportement mais pas le nom du symbole ; elle exige une base et des embeddings supplémentaires.

La carte du code reste-t-elle fiable après des changements ?

Vérifiez que l’index a été actualisé. La carte reflète le code analysé, et son actualisation dépend de l’outil. Utilisez-la pour localiser le code, puis vérifiez les fichiers actuels avant modification.

Tous les articles