Consommation de tokens de Claude Code : 1 requête sur 5 pour un statut d’agent
La consommation de tokens de Claude Code grimpe à cause de résumés d’agents cachés : 16–22 % du coût d’une session selon des mesures. D’où viennent-ils ?
Cet article dans d’autres langues :العربيةDeutschEnglishEspañolItaliano日本語Polski简体中文
Dans cet article
Flamerix AI a publié un gist avec des mesures selon lesquelles Claude Code dépense 16,4 % du coût d’une session pour un court statut de 3 à 5 mots dans le panneau des agents. Le 29 octobre, le billet est arrivé en première page de Hacker News et a récolté plus de 130 points en une heure. Cela concerne tous ceux que la consommation de tokens de Claude Code inquiète, en particulier ceux qui lancent de nombreux agents en arrière-plan.
D’où vient la consommation de tokens de Claude Code ?
Il s’agit d’un mécanisme appelé agent_summary. D’après l’auteur du gist, il fonctionne ainsi :
- Toutes les 30 secondes environ, séparément pour chaque agent en arrière-plan, Claude Code envoie au modèle la transcription complète de cet agent.
- Il demande au modèle de décrire la dernière action « en 3 à 5 mots » (texto : « describe your most recent action in 3-5 words »).
- Le résultat n’arrive que dans le panneau des agents, sous la forme d’une courte ligne de statut.
Le mécanisme est activé par défaut depuis la version 2.1.232 (août 2026), et aucun réglage officiel ne permet de le désactiver.
Combien ça coûte ?
Les chiffres du gist proviennent d’un export OpenTelemetry de la semaine précédant la désactivation des résumés :
- 16,4 % du coût estimé partaient dans
agent_summary, plus que dans la conversation principale (15,7 %), - 19,7 % de toutes les requêtes API, soit à peu près une sur cinq,
- 96 % de ce coût concernait Opus,
- le rapport entre tokens d’entrée et de sortie était d’environ 9 000 pour 1.
Fait intéressant, environ 98 % de ces appels tombent dans le cache du prompt, ils sont donc bon marché. Le problème vient des quelque 2 % restants : sans cache, ils représentent plus d’un tiers du coût des résumés.
Les coûts sont des estimations de Claude Code lui-même (le champ cost_usd), pas une facture : prenons-les avec du recul.
Est-ce nouveau ?
Le problème est connu depuis août. Le 15 août, l’utilisateur @rflcrz a ouvert l’issue #86879 dans le dépôt de Claude Code. Dans une session de 4 heures avec 27 sous-agents (1 496 requêtes), les appels agent_summary représentaient 22,7 % des requêtes et 18 % des tokens pondérés, chacun renvoyant en moyenne environ 65 tokens de réponse.
Dans les commentaires, d’autres utilisateurs donnent des résultats similaires : 15 à 22 % pour des sessions avec plus de 20 sous-agents, et 26 % des tokens lus depuis le cache dans la version 2.1.276. L’un d’eux a remarqué que la variable CLAUDE_CODE_ENABLE_NARRATION=0 désactivait les résumés dans la version 2.1.241, mais ne fonctionnait plus dans la 2.1.245.
L’issue porte l’étiquette area:cost et reste ouverte. Au 29 octobre, personne chez Anthropic n’y a répondu.
Comment le vérifier chez soi ?
Claude Code intègre un export de télémétrie via OpenTelemetry. On l’active avec la variable CLAUDE_CODE_ENABLE_TELEMETRY=1 et on configure un exportateur de logs. Chaque requête API apparaît alors comme un événement claude_code.api_request avec l’attribut query_source, qui indique quel sous-système l’a envoyée. Il suffit de regrouper les événements par query_source et d’additionner cost_usd – c’est exactement ainsi que l’auteur du gist a trouvé le problème.
Peut-on le désactiver ?
Officiellement, non. L’auteur du gist a partagé un contournement : le script no-agent-summary.js, préchargé via Bun (BUN_OPTIONS="--preload …"), qui remplace le minuteur des résumés par un minuteur inactif, sans modifier le binaire. Chez lui, la part d’agent_summary dans les coûts est passée de 16,4 % à zéro.
Avant de l’utiliser, mieux vaut en connaître les limites :
- Le script a été testé uniquement sous Linux, ni sous macOS ni sous Windows.
- Il fonctionne par correspondance avec le code source, donc n’importe quelle mise à jour de Claude Code peut le désactiver sans prévenir (vérifiez qu’il fonctionne après chaque mise à jour).
- Le panneau des agents n’affiche plus de statut.
- C’est un projet communautaire sous licence MIT, sans lien avec Anthropic.
Si l’on ne veut rien injecter dans Claude Code, le plus simple est de lancer moins d’agents en arrière-plan à la fois, car le coût des résumés augmente avec leur nombre. J’en dis plus sur le travail avec Claude Code dans mon tutoriel Claude Code, et sur la vitesse à laquelle on peut brûler un budget avec Opus dans l’article sur le fast mode.
FAQ
Pourquoi Claude Code consomme-t-il autant de tokens ?
Surtout parce que chaque requête envoie au modèle le contexte de la conversation. Les mesures des utilisateurs montrent qu’avec de nombreux agents en arrière-plan, une part importante (16 à 22 % du coût) part aussi dans les résumés cachés agent_summary, qui envoient la transcription complète de l’agent toutes les 30 secondes environ.
Puis-je désactiver agent_summary dans les réglages ?
Au 29 octobre, il n’existe pas d’interrupteur officiel. L’issue #86879 demande un flag dédié, la prise en compte des résumés par la variable CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC ou un intervalle configurable.
Suis-je concerné si je n’utilise pas d’agents en arrière-plan ?
Les résumés sont générés pour les agents en arrière-plan, donc le problème grandit avec leur nombre. Le plus simple est de le vérifier dans la télémétrie, en regroupant les requêtes par query_source.