Comment réduire la consommation de tokens des agents de codage IA
Réduisez les tokens des agents de codage IA en limitant l’accès aux fichiers, en rédigeant des consignes concises, en planifiant et en renouvelant les sessions.
Pour réduire la consommation de tokens d’un agent de codage IA, limitez ce qui entre dans son contexte. Indiquez-lui les fichiers à lire, maintenez un fichier d’instructions de projet concis, demandez un plan avant tout code, lancez vous-même les recherches, redémarrez souvent les sessions et désactivez les outils dont la tâche n’a pas besoin.
La plupart des gens s’y intéressent après qu’une session a atteint sa limite d’utilisation en plein refactoring, ou après une facture qui a doublé alors que le volume de travail restait identique.
Ces habitudes fonctionnent de la même manière dans Claude Code, Codex, Cursor et les agents similaires. Chaque section ci-dessous explique pourquoi l’habitude est efficace, fournit un court exemple à copier et précise si elle repose sur une mesure ou sur une bonne pratique raisonnée.
Points clés
- Chaque fichier lu par un agent et chaque échange précédent qu’il conserve restent dans son contexte. Le token le moins cher est celui que l’agent ne voit jamais.
- Dans une étude portant sur 124 pull requests réalisées avec OpenAI Codex, l’ajout d’un fichier AGENTS.md s’est accompagné d’une baisse de 16,58 % du nombre médian de tokens en sortie et de 28,64 % du temps d’exécution médian. Le nombre médian de tokens au total n’a quasiment pas varié (environ 1 % de plus).
- Un article de Spotify Engineering a mesuré une économie moyenne d’environ 90 % sur les lectures de fichiers en masse dans un monorepo Java, en fournissant à Claude le résumé produit par un modèle moins coûteux plutôt que les fichiers eux-mêmes. Ce chiffre ne tient compte que du contexte de Claude.
- Selon la documentation de Claude Code d’Anthropic, lorsque les dépenses sur un forfait API ou chez un fournisseur cloud dépassent les prévisions, la cause est généralement une longue session jamais réinitialisée ou Opus laissé comme modèle par défaut.
Pourquoi est-il important de réduire la consommation de tokens des agents de codage IA ?
Les tokens coûtent deux fois : une première fois sur votre facture ou votre quota d’utilisation, et une seconde fois sur la qualité du résultat. Chaque fichier lu par un agent de codage IA et chaque échange précédent qu’il conserve restent dans son contexte : le token le moins cher est donc celui que l’agent n’a jamais à voir. Un contexte plus restreint et plus pertinent offre aussi au modèle moins d’éléments superflus susceptibles de le distraire. Une session allégée est généralement moins coûteuse et plus précise qu’une session surchargée.
Par exemple, une session de débogage qui commence par « parcours le dépôt » peut charger des dizaines de fichiers sans rapport avant que l’agent n’atteigne le véritable bug. Vous payez pour chacun d’eux, et le modèle doit raisonner en passant outre chacun d’eux.
Restreindre ce que l’agent peut voir
Pour limiter les lectures exploratoires d’un agent de codage IA, indiquez-lui les fichiers à lire plutôt que de l’orienter vers l’ensemble du dépôt. Sans cela, l’agent doit les chercher, et chaque fichier ouvert en chemin finit dans le contexte. Une fois les fichiers nommés, la lecture de l’agent se limite à ce dont la tâche a réellement besoin.
# Before
Why is the checkout total wrong? Look through the repo.
# After
The total in src/cart/total.ts is wrong when a discount code is applied.
Read src/cart/total.ts and src/cart/discounts.ts only. Do not open other files
without asking.
Vous pouvez également limiter ce à quoi l’agent a accès dès le départ. S’il s’exécute sur une machine dédiée, comme dans une configuration de machine distante pour le codage agentique, ne clonez que les dépôts nécessaires à la tâche.
Maintenir un fichier d’instructions de projet
Un fichier d’instructions de projet, généralement nommé AGENTS.md ou CLAUDE.md, évite à un agent de codage IA de redécouvrir vos conventions à chaque session. La plupart des agents en prennent un en charge. Consultez la documentation de votre agent pour connaître le nom de fichier qu’il lit. Claude Code lit CLAUDE.md, et sa documentation sur la mémoire précise qu’à partir de la v2.1.277, il lit aussi directement AGENTS.md lorsqu’un dépôt ne contient pas de CLAUDE.md.
Les données sont ici précises. Dans une étude portant sur 124 pull requests réparties sur 10 dépôts avec OpenAI Codex, les exécutions disposant d’un fichier AGENTS.md présentaient un temps d’exécution médian inférieur de 28,64 % et un nombre médian de tokens en sortie inférieur de 16,58 %. Le même tableau de résultats montre que le nombre médian de tokens au total restait à peu près inchangé, et même supérieur d’environ 1 % avec le fichier. En pratique, le fichier amène surtout l’agent à écrire moins et à terminer plus vite. Il ne réduit pas tout ce qu’il lit. L’étude a par ailleurs ses limites : elle n’a utilisé qu’un seul agent (Codex avec gpt-5.2-codex), n’a couvert que de petites PR fusionnées (au plus 100 lignes modifiées et cinq fichiers chacune) et n’a pas entièrement évalué l’exactitude du résultat.
Gardez ce fichier court. Claude Code charge CLAUDE.md dans le contexte au début de chaque session : vous payez donc chaque ligne dans chaque conversation. Anthropic recommande de rester sous les 200 lignes et observe que Claude respecte plus fidèlement des instructions courtes et précises que des instructions longues ou vagues.
# AGENTS.md
## Project
Web API for order processing. Entry point: src/server.ts.
## Structure
- src/routes/: HTTP handlers, one file per resource
- src/services/: business logic; handlers never touch the DB directly
- tests/: mirrors src/; test files end in .test.ts
## Conventions
- Run `npm test` before proposing changes; run `npm run lint` on touched files
- Use the logger in src/lib/log.ts, never console.log
- Do not edit generated files in src/generated/
Demander un plan avant le code
Demander un plan à un agent de codage IA avant qu’il n’écrive du code vous permet de repérer une mauvaise direction avant qu’il n’ait lu et réécrit des fichiers. Abandonner un plan ne coûte presque rien. Une implémentation erronée, elle, a déjà consommé des tokens sur chaque fichier touché avant que vous ne vous en rendiez compte. Le plan vous fournit en outre une liste de fichiers que vous pouvez réduire avant le début du travail.
Before writing any code: list the files you intend to read and change, and
the steps you will take, in under 10 bullets. Wait for my approval.
Si le plan inclut un fichier non pertinent, retirez-le de la liste avant de valider.
Lancer vous-même les recherches et transmettre les résultats
Lorsque vous exécutez grep vous-même et collez les lignes correspondantes, l’agent ne paie que pour ces lignes. Lui demander de trouver la même chose peut lui coûter chaque fichier ouvert en chemin. Des outils comme git grep et git diff sont rapides et ne consomment aucun token : laissez-les effectuer la recherche et ne transmettez au modèle que les résultats.
# Find every call site yourself
git grep -n "applyDiscount(" -- '*.ts'
# See only what changed, not whole files
git diff --stat
git diff -- src/cart/total.ts
Collez ensuite la sortie : « Voici les 4 points d’appel de applyDiscount : [lignes collées]. Mets-les à jour pour transmettre l’argument currency. »
Spotify a automatisé cette habitude. Son dispositif délègue les lectures de fichiers en masse de Claude Code à un modèle d’exécution moins coûteux et ne transmet à Claude que le résumé. Un ingénieur de Spotify l’a testé sur un monorepo Java selon quatre scénarios. Pour chacun, il a comparé les tokens que Claude consommerait pour lire lui-même les fichiers à ceux qu’il consommait pour lire le résumé du modèle d’exécution : l’économie sur les lectures en masse atteignait en moyenne environ 90 %. Ce chiffre ne vaut que pour cette base de code, ne prend en compte que le contexte de Claude et non les tokens du modèle d’exécution, et ne couvre que les scénarios de lecture en masse. L’article de Spotify Engineering en détaille aussi les limites : les modifications nécessitent toujours des lectures directes, car les résumés ne fournissent pas de numéros de ligne fiables ; le raisonnement et le débogage restent confiés à Claude ; et chaque délégation ajoute de la latence.
Garder des sessions courtes et repartir de zéro
Démarrez une nouvelle session entre deux tâches au lieu de laisser une même conversation s’allonger indéfiniment. Une longue conversation transporte tout son historique dans chaque nouveau message : poursuivre un fil obsolète continue donc de vous facturer un contexte dont vous n’avez plus besoin. Les recommandations d’Anthropic sur les coûts de Claude Code indiquent que lorsque les dépenses sur un forfait API ou chez un fournisseur cloud dépassent les prévisions, la cause habituelle est une session jamais réinitialisée ou Opus laissé comme modèle par défaut. Elles placent la réinitialisation entre tâches sans rapport parmi les habitudes les plus efficaces.
# End of session 1
Summarize in under 15 lines: what we changed, what we decided, what is left.
Write it to NOTES.md.
# Start of session 2 (new chat/session)
Read NOTES.md, then continue with the first remaining item.
Le résumé conserve vos décisions. La nouvelle session abandonne l’historique qui y a mené.
Désactiver les outils et intégrations dont la tâche n’a pas besoin
Chaque intégration activée alourdit ce que l’agent charge et peut solliciter. Si la tâche n’a pas besoin d’une intégration, désactivez-la. Les serveurs MCP sont les suspects habituels. Claude Code ne charge désormais les définitions complètes des outils MCP que lorsque Claude en a besoin, si bien qu’un serveur inactif coûte moins cher qu’auparavant, mais les noms de ses outils et ses instructions restent dans le contexte. Les recommandations d’Anthropic sur les coûts de Claude Code conseillent toujours d’exécuter /mcp et de désactiver les serveurs inutilisés. Un serveur de base de données, un serveur d’automatisation de navigateur et une intégration de ticketing connectés le mois dernier alourdissent tous une session qui ne touche qu’au CSS.
Pour un refactoring portant sur un seul fichier, ouvrez les paramètres de votre agent et désactivez les serveurs de base de données, de navigateur et de suivi des tickets. Réactivez-les lorsqu’une tâche en a besoin. Si vous ne savez pas précisément ce qu’expose chaque serveur, le guide de l’écosystème MCP explique comment clients et serveurs s’articulent. Si vous maintenez votre propre serveur, créer un serveur MCP pas à pas montre comment n’exposer que les outils que vous définissez.
Récapitulatif
| Habitude | Ce qu’elle retire du contexte | Source |
|---|---|---|
| Nommer les fichiers | Lectures exploratoires de fichiers | Bonne pratique raisonnée |
| Fichier d’instructions | Redécouverte des conventions ; sortie superflue | arXiv 2601.20404 |
| Plan avant le code | Lectures et écritures gaspillées dans de mauvaises directions | Bonne pratique raisonnée |
| Rechercher soi-même | Fichiers entiers ouverts pour trouver quelques lignes | Spotify Engineering, un monorepo Java |
| Sessions courtes | Historique de conversation obsolète | Recommandations d’Anthropic sur les coûts de Claude Code |
| Désactiver les outils inutilisés | Intégrations jamais sollicitées par la tâche | Recommandations d’Anthropic sur les coûts de Claude Code |
Conclusion
Le coût en tokens augmente avec la taille du contexte, et un agent comme Claude Code renvoie l’intégralité de la conversation à chaque requête : le contexte qu’il lit puis relit s’accumule donc rapidement. Chacune des habitudes ci-dessus consiste à garder ce contexte réduit et centré sur la tâche. Choisissez-en une, puis collez le prompt et les fichiers que vous vous apprêtez à envoyer dans un compteur de tokens LLM et comptez-les avant et après le changement. Sans mesure, une économie n’est qu’une supposition.
FAQ
Quelle est la différence entre compacter et réinitialiser une session d'agent ?
Compacter remplace l'historique ancien de la conversation par un résumé et poursuit la session, tandis que réinitialiser supprime l'historique et repart d'un contexte vierge. Dans Claude Code, le modèle doit lire toute la conversation pour la résumer : compacter un contexte volumineux constitue donc en soi une requête volumineuse, alors que la réinitialisation est gratuite. Compactez en cours de tâche lorsque les décisions précédentes restent importantes, et réinitialisez entre des tâches sans rapport.
Les serveurs MCP que je n'utilise pas consomment-ils encore des tokens dans Claude Code ?
Moins qu'auparavant. Par défaut, Claude Code utilise la recherche d'outils : au démarrage, le modèle voit les noms des outils et les instructions de chaque serveur, et le schéma complet d'un outil n'est récupéré que lorsqu'une tâche le requiert. Claude Code revient au chargement intégral dès le démarrage lorsque ANTHROPIC_BASE_URL pointe vers un hôte tiers, sur les déploiements Microsoft Foundry hébergés sur Azure, et sur les modèles de l'Agent Platform de Google Cloud antérieurs à la génération Claude 4.5. Les serveurs marqués alwaysLoad sont également chargés intégralement. La sortie des outils de n'importe quel serveur entre toujours dans le contexte.
Passer à un modèle moins cher réduit-il la consommation de tokens ?
Non : un modèle moins cher modifie le prix de chaque token, pas leur nombre. L'agent lit toujours les mêmes fichiers et renvoie le même historique. Les deux leviers se cumulent : les recommandations d'Anthropic sur les coûts de Claude Code désignent l'adéquation du modèle à la tâche et la réinitialisation entre tâches sans rapport comme les habitudes les plus efficaces pour réduire les dépenses.
Comment vérifier la consommation de tokens depuis Claude Code ?
Exécutez /usage pour obtenir le coût de la session, les limites d'utilisation du forfait et les statistiques d'activité, et /context pour une ventilation de ce qui occupe la fenêtre de contexte actuelle. Sur les forfaits Pro, Max, Team et Enterprise, /usage signale également tout comportement, comme un contexte long, représentant 10 % ou plus de votre utilisation récente, et suggère comment le réduire. Le montant en dollars est toujours une estimation calculée au prix catalogue. Dans le cadre d'un abonnement, il ne reflète pas ce que vous payez réellement.