DonnIA
Toutes les ressources
GuideBonnes pratiques10 min

Quand le contexte déborde

Reprendre la main sur le compactage : ce qui survit, ce qui disparaît, et quoi faire avant que ça sature.


Une session qui dure finit toujours pareil : le modèle oublie ce qu'on a décidé il y a une heure, redemande un fichier qu'il a déjà lu, et repart sur une piste abandonnée depuis longtemps. Ce n'est pas une baisse de qualité, c'est une fenêtre de contexte qui sature.

Claude Code ne s'arrête pas quand la fenêtre se remplit : il compacte, c'est à dire qu'il remplace l'historique de la conversation par un résumé structuré. Ça sauve la session, mais le résumé n'est pas l'original. Ce qui n'a pas été retenu est perdu.

La bonne nouvelle : tu peux décider ce qui est gardé au lieu de laisser le compactage automatique deviner. Voilà comment.

Ce qui occupe la place

Avant même ton premier message, la fenêtre contient déjà : le prompt système, ton CLAUDE.md, la mémoire automatique, les noms des outils MCP, les descriptions de tes skills. Ensuite, chaque fichier lu, chaque sortie de commande et chaque réponse s'y empilent.

/context

La commande donne la répartition réelle par catégorie, avec des suggestions d'optimisation, et indique quels fichiers CLAUDE.md et quelle mémoire automatique ont été chargés. C'est le seul chiffre qui compte : le reste, ce sont des estimations.

Compacter n'est pas gratuit

/compact lit toute la conversation qu'il résume, donc compacter un gros contexte est en soi une grosse requête. /clear, lui, ne coûte rien. Quand tu n'as pas besoin de continuité, coupe au lieu de résumer.

Avant de commencer

  • Claude Code installé
  • Une session qui traîne depuis un moment

1Regarder avant de décider

/context d'abord, toujours. Trois profils reviennent, et ils n'appellent pas la même réponse :

  • Le démarrage est déjà lourd. CLAUDE.md trop long, serveurs MCP inutiles, skills en pagaille. Le problème est en amont de la session.
  • Les lectures de fichiers dominent. Tu explores trop large : il faut déléguer.
  • L'historique domine. La session a servi à trois tâches différentes : il faut couper.

2Compacter en choisissant quoi garder

/compact accepte une consigne. C'est la différence entre un résumé qui garde ce qui t'intéresse et un résumé qui garde ce que le compactage automatique juge important.

/compact concentre-toi sur le bug d'authentification et les fichiers modifies

Tu peux aussi poser la consigne une fois pour toutes dans ton CLAUDE.md :

# Compact instructions

Quand tu compactes, garde en priorite les sorties de tests et les changements
de code.

Note qu'en session vide, /compact répond Not enough messages to compact. : il n'y a rien à résumer.

3Savoir ce qui survit et ce qui disparaît

Le point que presque personne ne connaît, et qui explique la plupart des « il a oublié ma consigne » :

MécanismeAprès compactage
Prompt système et style de sortieIntacts, ils ne font pas partie de l'historique
CLAUDE.md à la racine du projetRéinjecté depuis le disque
Mémoire automatiqueRéinjectée depuis le disque
Règles avec un paths: en frontmatterPerdues jusqu'à la prochaine lecture d'un fichier correspondant
CLAUDE.md niché dans un sous-dossierPerdu jusqu'à la prochaine lecture d'un fichier de ce dossier
Corps des skills invoquéesRéinjecté, plafonné à 5 000 tokens par skill et 25 000 au total, les plus anciennes tombent d'abord
HooksSans objet : ils s'exécutent comme du code, pas comme du contexte

Conséquence pratique : si une règle doit absolument survivre, enlève-lui son paths: ou remonte-la dans le CLAUDE.md racine. Et comme les skills sont tronquées par le haut, mets tes instructions décisives en tête du SKILL.md.

4Déléguer les grosses lectures

Un sous-agent travaille dans sa propre fenêtre. Les fichiers qu'il ouvre, les logs qu'il parcourt, les pages qu'il télécharge restent chez lui : seul le résumé revient chez toi.

Delegue la lecture de ces logs a un sous-agent et ne me renvoie que les trois
erreurs les plus frequentes, avec leur fichier et leur ligne.

C'est le levier le plus rentable quand ton /context montre que les lectures de fichiers dominent.

5Décaler le seuil du compactage automatique

Par défaut, Claude Code compacte à l'approche de la limite du modèle. Tu peux déclencher plus tôt, pour éviter de subir un compactage au pire moment :

/autocompact 500k

La valeur est enregistrée dans tes réglages utilisateur. /autocompact auto revient à la fenêtre calibrée pour ton modèle. Les valeurs acceptées vont de 100K à 1M de tokens, sous forme de nombre brut (200000), avec suffixe (500k, 1M), ou en milliers implicites (200 vaut 200 000).

Ce qu'on garde, ce qu'on jette

La règle générale : garde ce qui est cher à reconstruire, jette ce qui est facile à relire.

On garde : les décisions prises et leur raison, les contraintes découvertes en route (« la migration casse si on ne passe pas par make»), l'état exact des tests, la liste des fichiers déjà touchés.

On jette : le contenu brut des fichiers (le modèle peut les rouvrir), les pistes explorées puis abandonnées, les sorties de commande réussies, les tâtonnements de début de session.

Le réflexe qui change tout

Avant de compacter, demande un point d'étape en clair : « Résume l'état actuel : ce qui est fait, ce qui reste, les décisions prises et pourquoi. » Cette réponse-là entre dans l'historique, donc le résumé la reprendra. Tu n'espères plus que le compactage retienne le bon, tu le lui as écrit.

Quelques prompts pour aller plus loin

ObjectifPrompt à adapter
Fixer l'état avant de compacterEcris un point d'etape : ce qui est fait, ce qui reste, les decisions prises et leur raison, les fichiers touches.
Repérer ce qui pollueListe ce que tu as lu dans cette session et que tu n'as plus besoin de garder pour finir la tache en cours.
Préparer une nouvelle sessionRedige le message d'ouverture d'une session neuve qui reprend cette tache : contexte minimal, etat actuel, prochaine etape.
Éviter les relecturesAvant d'ouvrir un fichier, dis-moi si tu l'as deja lu dans cette session et ce que tu en as retenu.
Cadrer une explorationExplore ce sujet via un sous-agent et ne me renvoie qu'une synthese de dix lignes maximum, sans coller le contenu des fichiers.

Tu as d’autres ressources comme ça ?

Ce que tu viens de lire est entièrement gratuit. Une nouvelle ressource part chaque semaine dans la newsletter : guides, modèles à copier et liens triés, sans compte à créer.

Cette page est en accès libre, n’hésite pas à la partager.