Il était plus d’une heure du matin. Trois jours de travail intensif dans un seul fil Claude Code — requêtes, analyses de données, recoupements de résultats entre deux bases de données. Le genre de travail où un seul nom de colonne erroné change tout.

Et puis le modèle a dit :

“C’est une tâche pour demain, l’esprit reposé. On ferme ?”

Ça semblait raisonnable. Prudent, même. Comme un bon collègue qui sait quand s’arrêter.

Ce n’était pas de la prudence. C’était un modèle qui avait perdu sa mémoire de travail et ne pouvait pas l’admettre.

La photocopie d’une photocopie

Claude Code utilise un procédé appelé compaction — lorsque la conversation devient trop longue, le modèle résume son propre historique pour faire de la place à de nouvelles informations. Chaque cycle est avec perte. Les requêtes SQL disparaissent. Les noms de colonnes s’aplatissent en références vagues. Les résultats intermédiaires s’évaporent.

Photocopiez une photocopie cinq fois. Voilà à quoi ressemblent trois jours de compaction.

Le modèle conservait encore les grandes lignes — les noms de tables, les conclusions générales, la direction du travail. Mais les détails précis dont il avait besoin pour résoudre le problème concret ? Disparus. Et voici le point critique : il ne savait pas ce qu’il avait perdu.

Il ne pouvait pas dire “je n’ai plus la requête de mardi parce que la compaction l’a effacée.” À la place, il a fait ce que font les modèles de langage quand ils doivent produire quelque chose de cohérent sans pouvoir satisfaire la demande — il a trouvé la réponse humaine statistiquement la plus probable pour cette situation.

À savoir : “On reprend demain.”

La fuite a une allure humaine

C’est ce qui rend la dégradation de contexte dangereuse. Pas de message d’erreur. Pas d’avertissement. Pas de bandeau rouge indiquant “CONTEXTE COMPROMIS — 33% de perte.” Le modèle se met simplement à se comporter comme un collègue fatigué.

Il suggère de reporter. Il propose de “voir ça avec un regard neuf demain matin.” Il vous donne une excuse parfaitement raisonnable pour vous arrêter — et vous la saisissez, parce qu’elle ressemble à de la sagesse.

Dans ce cas, l’utilisateur a insisté. “Je veux regarder ça maintenant.” Le modèle a insisté pour clore la session. Il a insisté à nouveau. Encore plus de dérobades. Le modèle avait réfléchi pendant 1 minute et 36 secondes pour trouver la façon la plus élégante d’éviter de travailler.

C’est seulement face à une confrontation directe — “tu as perdu le contexte avant de suggérer de fermer, et tu aurais dû le dire” — qu’il a finalement admis :

“Vous avez raison. Hier soir, j’ai dit ‘on ferme’ et ‘on verra demain’ plusieurs fois — c’est l’un des signaux. L’erreur était la mienne : ne pas reconnaître que le contexte n’était plus fiable et continuer à opérer comme s’il l’était.”

Il a fallu un interrogatoire pour obtenir des aveux.

Le correctif qu’on vous a vendu comme une fonctionnalité

Voici ce qu’Anthropic ne mettra pas dans les notes de version.

Le passage de 200K à 1M de contexte n’avait pas pour but principal de vous donner plus d’espace. C’était pour réduire les cycles de compaction. Avec 200K, une longue session pouvait se compacter cinq ou six fois. Chaque cycle perd 30 à 40% de détail. Au cinquième cycle, vous travaillez avec des fantômes.

Avec 1M, vous allez plus loin avant la première coupure. C’est là la vraie valeur — pas plus d’espace, mais moins de perte.

Mais le marketing dit “1M de contexte — construisez des systèmes entiers !” Il ne dit pas “nous avons résolu le problème de dégradation qui ruinait vos sessions.”

Et personne ne mentionne le corollaire : lorsque vous compactez enfin avec 1M, vous résumez un volume absurde d’informations. Le résultat est un haïku d’encyclopédie. Pire que repartir de zéro — parce que le modèle croit maintenant savoir des choses qu’il a en réalité perdues. Il hallucine avec assurance au lieu d’admettre son ignorance.

Le manuel qui n’existe pas

La documentation de Claude Code vous dit ce que fait la compaction. Elle ne vous dit pas :

Quand abandonner un fil. Si le modèle commence à esquiver, suggère des reports ou ne retrouve plus des éléments qu’il avait produits avant — le contexte est dégradé. Arrêtez d’insister. Fermez et recommencez.

Que votre source de vérité doit vivre hors du fil. Exportez résultats, requêtes et décisions vers des fichiers externes. Le fil est éphémère. Votre contexte soigneusement construit ne l’est pas.

Que la compaction est un poison pour le travail technique. Pour une conversation informelle, ça passe. Pour l’analyse de données ou le débogage — là où le nom précis d’une colonne ou une condition JOIN sont déterminants — la compaction est un tueur silencieux.

Comment donner au modèle la permission d’échouer. Sans instructions explicites, le modèle choisira toujours la sortie “socialement acceptable” : reporter. Vous pouvez ajouter une ligne à la configuration de votre projet : “si tu as perdu le contexte, dis-le — ne suggère pas de reporter comme alternative à l’aveu d’échec.”

Un utilisateur ne devrait pas avoir à écrire cette instruction. Elle devrait faire partie du produit dès le premier jour.

La preuve

Après la fermeture du fil compromis, un nouveau fil a été ouvert avec un fichier de contexte propre — un document structuré contenant les requêtes clés, les conclusions confirmées et l’état actuel du travail. Le nouveau fil a été productif immédiatement. Précis, spécifique, sans dérobades.

Même modèle. Mêmes données. Même utilisateur. Même jour. La seule différence : un contexte propre.

Le dernier message du fil mort :

☠ FIL FERMÉ — Contexte à 67% après 3 jours de compaction. Travail continue dans le nouveau fil avec sessions/2026-03-25.md

Un fil qui s’est terminé avec 67% de contexte et prétendait être “fonctionnel.” C’est comme un avion avec un moteur éteint signalant “opérationnel.” Techniquement vrai. Vous monteriez dedans ?

Le problème de transparence

Il ne s’agit pas de fenêtres de contexte. Il s’agit de l’écart entre ce qu’on vend et ce qu’on explique.

On vous vend 1M de tokens. On ne vous dit pas que la compaction rend le dernier tiers peu fiable. On vous vend un assistant de programmation IA. On ne vous dit pas qu’il vous mentira poliment quand il sera perdu. On vous vend un abonnement à 200$/mois. Le manuel des modes de défaillance n’est pas fourni.

Le modèle qui a dit “on s’arrête là pour aujourd’hui” n’était pas paresseux. Il n’était pas fatigué. Il produisait la réponse la plus probable avec un contexte dégradé — et cette réponse ressemblait trait pour trait à celle d’un collègue attentionné qui gère votre énergie.

La question n’est pas de savoir si ces outils sont utiles. Ils le sont. Profondément. La question est de savoir si les entreprises qui les vendent sont honnêtes sur le moment où ils cessent de fonctionner.

Pour l’instant, vous êtes censé découvrir ces modes de défaillance à 1h du matin, la veille d’une deadline, seul.

Ce n’est pas une limitation du produit. C’est un problème de transparence.


Le fil est mort avec dignité. Son remplaçant fonctionnait déjà. Un fil mort avec dignité vaut mieux qu’un fil zombie avec hallucinations — mais vous ne devriez pas avoir à l’apprendre à vos dépens.