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.mdtrop 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écanisme | Après compactage |
|---|---|
| Prompt système et style de sortie | Intacts, ils ne font pas partie de l'historique |
CLAUDE.md à la racine du projet | Réinjecté depuis le disque |
| Mémoire automatique | Réinjectée depuis le disque |
Règles avec un paths: en frontmatter | Perdues jusqu'à la prochaine lecture d'un fichier correspondant |
CLAUDE.md niché dans un sous-dossier | Perdu jusqu'à la prochaine lecture d'un fichier de ce dossier |
| Corps des skills invoquées | Réinjecté, plafonné à 5 000 tokens par skill et 25 000 au total, les plus anciennes tombent d'abord |
| Hooks | Sans 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
| Objectif | Prompt à adapter |
|---|---|
| Fixer l'état avant de compacter | Ecris un point d'etape : ce qui est fait, ce qui reste, les decisions prises et leur raison, les fichiers touches. |
| Repérer ce qui pollue | Liste 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 session | Redige le message d'ouverture d'une session neuve qui reprend cette tache : contexte minimal, etat actuel, prochaine etape. |
| Éviter les relectures | Avant d'ouvrir un fichier, dis-moi si tu l'as deja lu dans cette session et ce que tu en as retenu. |
| Cadrer une exploration | Explore 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.
Me contacter
Une question, un projet, une envie de collaborer ? Écris-moi.
Cette page est en accès libre, n’hésite pas à la partager.