Mieux gérer le contexte pour éviter les tokens dépensés inutilement
Anthropic détaille comment /clear, /compact, le prompt caching, les @-mentions et les subagents peuvent réduire la consommation de tokens dans Claude Code.
Deux sessions Claude Code aboutissant exactement au même résultat peuvent consommer des quantités de tokens très différentes. Anthropic détaille les mécanismes qui expliquent ces écarts et recommande surtout de limiter le contexte accumulé, de préserver le prompt cache et d’éviter de transporter des informations devenues inutiles d’une tâche à la suivante.
Chaque requête renvoie au modèle l’ensemble du contexte déjà présent dans la session : system prompt, instructions `CLAUDE.md`, fichiers lus, résultats des outils, sorties de commandes et historique de conversation. Les éléments déjà vus peuvent être récupérés depuis le prompt cache, mais ils restent envoyés et occupent toujours de la place dans le contexte. Anthropic indique qu’une lecture depuis le cache coûte environ 0,1 fois le prix d’un token d’entrée, alors qu’une écriture dans le cache peut atteindre deux fois ce prix.
Le choix du modèle et du niveau d’effort joue également sur le coût. Les tokens de sortie, qui comprennent notamment le raisonnement et les appels d’outils, sont présentés comme environ cinq fois plus coûteux que les tokens d’entrée. Modifier `/model` ou `/effort` en cours de conversation peut par ailleurs invalider le prompt cache et provoquer un nouveau traitement de l’ensemble du contexte. Anthropic recommande donc de fixer ces paramètres au début d’une session ou juste après un `/clear`.
La commande `/clear` devient ainsi l’un des principaux moyens de séparer les tâches. Lorsqu’un travail est terminé, repartir avec une session vide évite que les fichiers, logs et recherches précédents accompagnent les requêtes suivantes. Pour une même tâche longue, `/compact` remplace l’historique par une version résumée afin de réduire le contexte. Anthropic conseille notamment de l’utiliser avant une longue interruption, puisque le prompt cache expire après une heure sur abonnement. Avec une clé API, cette durée est indiquée à cinq minutes par défaut, avec une option permettant de l’étendre.
La manière de fournir les fichiers peut également supprimer des étapes intermédiaires. Avec une @-mention, Claude Code attache directement le fichier au premier message, évitant un appel `Read` ou une recherche destinée à le retrouver. Répéter cette @-mention plus tard est en revanche inutile puisque le fichier reste déjà dans le contexte et peut alors être ajouté une seconde fois.
Les sorties de commandes constituent une autre source d’accumulation. Tests, builds ou historiques Git sont ajoutés à la conversation et restent présents durant les tours suivants. Anthropic recommande d’utiliser des options réduisant les sorties lorsque c’est possible, voire de confier les opérations particulièrement bruyantes à un subagent. Celui-ci travaille dans un contexte distinct et ne renvoie à la session principale que son résultat final, ce qui évite d’y conserver l’intégralité de ses lectures et commandes.
La commande `/context` permet enfin d’inspecter ce qui est chargé dès le démarrage d’une session, notamment `CLAUDE.md` et les définitions d’outils MCP. L’entreprise recommande de limiter ces instructions aux éléments réellement nécessaires, de déplacer les workflows spécifiques dans des skills chargés à la demande et de désactiver les serveurs MCP inutiles pour la tâche en cours.
Anthropic distingue également `/rewind` de `/compact`. Lorsque seuls les derniers échanges sont devenus inutiles, revenir à un point antérieur avec `/rewind` conserve la partie précédente du cache, alors qu’un compactage réécrit la conversation et impose un nouveau contexte. L’enjeu n’est donc pas simplement de produire moins de tokens, mais de réduire le nombre de tokens qui restent présents pendant de nombreux tours et de réserver les modèles ou niveaux de raisonnement les plus coûteux aux tâches qui les nécessitent réellement.