Fenêtre de contexte de Claude Code pleine ? Compacter, vider ou redémarrer
Quand Claude Code ou un autre agent de code arrive à court de contexte, choisis entre compacter, vider et ouvrir une nouvelle session, et garde les décisions dans une note de passation.
Quand la fenêtre de contexte de Claude Code est presque pleine, il agit de lui-même : il efface d’abord les anciennes sorties d’outils, puis résume la conversation si nécessaire. Des consignes données au début peuvent alors se perdre, donc choisis avant lui. Si tu restes sur la même tâche, lance /compact avec une note sur ce qu’il faut garder. Si tu passes à un travail sans rapport, lance /clear. Si l’agent oublie sans cesse des décisions, rédige une courte note de passation et démarre une nouvelle session à partir de cette note.
D’autres agents de code utilisent parfois d’autres commandes, mais les mêmes choix s’appliquent. Mono peut afficher le taux de remplissage du contexte quand l’agent l’indique, mais c’est l’agent qui compacte et qui vide la conversation.
1. Sache ce qui remplit la fenêtre de contexte
Le contexte contient tout ce sur quoi l’agent s’appuie : tes messages et ses réponses, les fichiers qu’il a lus, la sortie des commandes et des tests, les listes d’outils des serveurs MCP connectés et les fichiers d’instructions chargés au démarrage. Un seul long journal de tests peut peser plus lourd que tout ce que tu as tapé.
Signes que le contexte se remplit :
- L’agent enfreint une règle que tu lui as donnée plus tôt.
- Il pose une question à laquelle tu as déjà répondu.
- Un avertissement indique que le contexte s’épuise.
Dans Claude Code, /context montre ce qui occupe de la place. La présentation de son fonctionnement explique ce qui se passe près de la limite.
Exemple fictif : après deux heures à faire passer 30 fichiers de « tidy-recipes » d’un ancien utilitaire de dates, oldDate(), à un nouveau, formatDate(), l’agent redemande quelle bibliothèque utiliser. /context montre une fenêtre presque pleine.
2. Choisis entre compacter, vider et ouvrir une nouvelle session
Compacter remplace la conversation par un résumé dans la même session. Vider la conversation ou démarrer une nouvelle session la fait disparaître, mais les fichiers d’instructions sont rechargés. Chaque choix fait perdre quelque chose :
| Situation | Que faire | Ce que tu perds |
|---|---|---|
| Même tâche, tout se passe bien | Compacter avec une consigne de focus | Les détails que le résumé laisse de côté |
| Travail sans rapport ensuite | Vider, ou démarrer une nouvelle session | Toute la conversation |
| L’agent oublie des décisions | Rédiger une note de passation, démarrer une nouvelle session | Tout ce que la note ne contient pas |
Une consigne de focus indique au résumé ce qu’il doit garder : /compact Focus on date decisions and failing tests. Le guide de gestion des coûts de Claude Code montre cet usage et conseille /rename avant /clear, pour pouvoir rouvrir la session avec /resume.
Dans l’exemple, l’agent a déjà oublié une décision : rédige donc une note de passation.
3. Rédige une note de passation avant de repartir de zéro
Une note de passation est un court texte destiné à la nouvelle session. Écris-la toi-même ou corrige le brouillon de l’agent :
Goal: Replace oldDate() with formatDate() in recipes/ (30 files).
Done: 18 files, on branch tidy-dates.
Decisions: formatDate() uses Intl.DateTimeFormat, so no new library.
Keep oldDate() for importing v1 files, which use the old format.
Open problem: The recipes/print.ts test has failed since the change.
Next step: Fix print.ts, then move the remaining 12 files.Donne la raison de chaque décision, sinon la session suivante risque de la défaire. Enregistre la note dans le projet ou dans tes notes, et exporte la conversation au cas où tu aurais besoin de ses détails.
Lance ensuite /clear ou démarre une nouvelle session dans le même projet, et colle seulement la note de passation, pas la transcription.
4. Sors les règles permanentes de la conversation
Certaines corrections comptent au-delà d’une tâche. Si tu répètes sans cesse « utilise l’utilitaire de dates du projet » ou « lance les tests avec le script du projet », mets la règle dans le fichier d’instructions du projet, comme AGENTS.md ou le CLAUDE.md de Claude Code. Les nouvelles sessions lisent ce fichier : une remise à zéro ne fait donc pas disparaître la règle.
Garde ce fichier court, car il se charge dans chaque session. Le guide des coûts conseille de garder CLAUDE.md sous les 200 lignes. L’avancement, comme « 18 fichiers sur 30 », reste dans la note de passation. Le guide AGENTS.md explique quoi y mettre.
La règle v1 de l’exemple y a aussi sa place : elle reste valable tant que les fichiers v1 existent.
5. Réduis ce que chaque échange ajoute
Un contexte plus léger dure plus longtemps. Avant chaque demande :
- Nomme le fichier et la fonction, plutôt que « corrige les dates ».
- Colle les lignes d’erreur utiles, pas tout le journal.
- Lance seulement les tests nécessaires, et n’affiche que les échecs.
- Déconnecte les serveurs MCP que le projet n’utilise pas.
- Confie les recherches larges à un sous-agent si l’agent le permet.
- Garde une seule tâche par session.
Le guide des coûts traite la plupart de ces points, dont un hook qui filtre la sortie des tests.
6. Vérifie l’agent après une remise à zéro
Avant que la nouvelle session modifie quoi que ce soit, demande-lui de reformuler l’objectif, les décisions et la prochaine étape, puis compare sa réponse avec ta note de passation. Dans l’exemple, elle devrait citer la règle v1 sans que tu la lui rappelles. S’il manque quelque chose, corrige-le tout de suite. Examine ensuite son premier diff, la correction de print.ts, avant qu’elle passe à la suite. Le guide de revue de code propose une liste de contrôle.
Dans Mono, quand l’agent indique son utilisation du contexte, un petit anneau au-dessus du champ de message indique le contexte utilisé. Il passe du vert à l’orange à la moitié et au rouge à 80 %, et appuyer dessus affiche « Contexte : utilisé / total ». Taper « / » liste les commandes slash que l’agent propose. Dans l’Agent Client Protocol, l’agent n’est pas obligé de les annoncer. Pour repartir de zéro, enregistre l’ancienne conversation avec Exporter la conversation, puis choisis Nouvelle session sur la carte du projet (depuis ton téléphone aussi, quand l’ordinateur est connecté). Mono n’est pas encore disponible, mais tu peux rejoindre la liste d’attente.
