10 novembre 2026
Architecture de la mémoire des agents d'Anthropic : quatre couches, le dreaming et un échec avec 413 fichiers (nov. 2026)
Par Cameron Voss et Emily Sandoval
En brefAnthropic a publié The components of agent memory le 6 novembre 2026, décrivant la pile de mémoire qu'elle exploite dans Claude Code : des transcriptions brutes, des notes de mémoire, un wiki lié et un petit index injecté au début de la session. Le point contre-intuitif est le bilan des échecs : dans Pokemon Red, Sonnet 3.7 a écrit 413 fichiers dans 225 dossiers vers l'étape 10 000 et remporté un badge, tandis que Fable 5 a gardé neuf fichiers dans deux dossiers plus un global.md et en a remporté quatre. Une passe hors ligne ultérieure appelée le dreaming a repéré une note erronée qui avait envoyé trois exécutions par-dessus le même rebord à sens unique.
Qu'a publié Anthropic ?
Le 6 novembre 2026, Anthropic a publié The components of agent memory, un article de recherche de Lance Martin sur la façon dont Claude fait passer des connaissances d'une session à l'autre. Ce n'est pas une annonce produit. Il décrit une pile mémoire déjà en fonctionnement dans Claude Code, et il consacre à peu près autant de place aux défaillances qu'à la conception.
L'article pose d'abord une frontière. Trois choses sont appelées mémoire sans l'être : les poids sur lesquels un modèle a été entraîné, l'apprentissage en contexte qui a lieu dans une seule conversation, et la compaction, le résumeur qui maintient une longue session dans sa fenêtre de contexte. La mémoire d'agent, telle qu'Anthropic la définit, est la connaissance que l'agent décide de consigner pendant un travail réel et qu'il relit plus tard, dans une autre session, de sa propre initiative.
Une note est un pari que quelque chose comptera de nouveau, posé avant que la suite soit connue.
Pourquoi tout consigner a-t-il rendu Claude moins bon à Pokemon ?
Anthropic a comparé deux exécutions de Pokemon Red sur environ 10 000 pas.
Sonnet 3.7 consignait presque tout. Un fichier par combat sauvage, un par objet ramassé, un par conversation avec un personnage non joueur. Au pas 10 000, il avait 413 fichiers de mémoire répartis dans 225 dossiers, et un badge d'arène.
Fable 5 a fait l'inverse. Neuf fichiers dans deux dossiers, plus un unique fichier de premier niveau nommé global.md. Quatre badges. Opus 5.5 a ensuite tenu un petit dossier pour suivre son objectif et ses prochaines étapes, réécrit ses notes sur place et terminé le jeu.
L'exécution à 413 fichiers n'a pas manqué d'espace. Vers le pas 10 000, l'agent a ouvert un quatrième dossier de mémoire de premier niveau et, sur les 17 pas suivants, a créé six fichiers, en a supprimé neuf autres et n'a rien fait dans le jeu. Il réorganisait des notes sur un monde qui avait déjà évolué.
Les notes portant sur un environnement vivant se dégradent pendant qu'on les rédige, et chaque note périmée dispute l'attention à ce qui s'affiche à l'écran maintenant. La mémoire n'est pas un actif gratuit.
Comment une seule note erronée a-t-elle cassé trois exécutions d'affilée ?
Le gaspillage est l'échec le plus bénin. Le grave, c'est une note simplement fausse, parce qu'elle survit à la session qui l'a écrite.
Dans Pokemon Red, le Mt. Moon comporte des rebords à sens unique. Claude a noté que le Centre Pokémon se trouvait à l'est de la grotte. Après être sorti, il a traité la note comme définitive, a jugé la grotte terminée, l'a marquée comme faite et a sauté d'un rebord qui ramène à l'entrée.
Son outil de navigation ne percevait pas la différence de hauteur : il en a conclu qu'il avait largement dépassé la cible vers l'ouest et a consigné cette conclusion avec plus d'assurance qu'auparavant. Les sessions suivantes ont hérité des deux erreurs. Anthropic rapporte trois exécutions distinctes qui ont sauté le même rebord. L'une s'est terminée par une note où Claude annonçait qu'il allait s'arrêter plutôt que de continuer à boucler ; il a ensuite rejoint Pewter City sans jamais atteindre Cerulean City. L'exécution dont la mémoire avait été corrigée est rentrée directement dans la grotte et y est arrivée.
Une seule ligne fausse, et chaque session ultérieure part de là sans vérifier.
Qu'est-ce qui distingue un fait à conserver du bruit ?
Anthropic sépare le monde en choses qui changent et choses qui tiennent, un critère plus utile que la question « est-ce important ».
Les faits éphémères changent sans cesse : la case sur laquelle se tient un PNJ, le nombre de potions restantes, l'aspect de la page il y a un instant. Les relire coûte peu, les stocker coûte peu aussi, et la copie stockée est fausse dès qu'elle est écrite. Aller chercher une coordonnée périmée dans un stockage de mémoire est pire que regarder l'écran à nouveau.
Les règles latentes n'apparaissent pas sur une seule image. Ne jamais sauter le rebord de droite après avoir quitté cette grotte. Prendre le verrou avant un appel d'API concurrent. Cette classe d'erreur signifie qu'une variable d'environnement manque. Elles se dégagent d'essais répétés au fil des sessions, y compris de ceux qui ont échoué.
Seule la seconde catégorie a sa place dans la mémoire à long terme. La première mérite d'être réobservée.
Faut-il écrire des règles qui limitent ce que le modèle peut consigner ?
Beaucoup d'équipes essaient. Un prompt du type « ne jamais consigner de coordonnées » ou « ne consigner que les échecs » ressemble à un contrôle qualité, et CL-Bench, le benchmark d'Anthropic pour la mémoire à long horizon, indique que cela se retourne contre les modèles forts.
Sous l'instruction de ne consigner que les échecs, Opus 5 et Opus 4.7 ont perdu une grande partie du gain que la mémoire leur apportait. Les modèles ont suivi la règle et cessé de noter ce dont ils auraient eu besoin.
L'autre direction est plus intéressante. Quand on a demandé à Sonnet 4.6 de lire sa mémoire d'abord, puis de tester les théories qu'elle contenait, son score au benchmark a presque doublé. Sonnet 5 lisait sa mémoire avant de répondre 9 fois sur 10, sans aucune instruction. Il a suffi d'indiquer à Claude qu'un dossier de mémoire existait pour améliorer Opus 4.7 et Opus 5.
Les modèles plus forts jugent mieux la saillance qu'une liste de sujets autorisés écrite à la main. Ce que l'architecture leur doit, c'est un endroit sûr où écrire, un moyen de corriger la mémoire plus tard, et une formulation claire de ce à quoi elle sert.
Quelles sont les quatre couches ?
La pile va d'un journal complet en bas à un index mince en haut. Ce n'est pas une base vectorielle unique avec un prompt vissé dessus.
Transcriptions. L'enregistrement complet : les tours de conversation, les appels d'outils avec leurs arguments, les résultats, les retours de l'environnement. Sans perte, interrogeable par mot-clé et en texte intégral, jamais résumé jusqu'à disparaître. Quand tout ce qui est construit par-dessus s'avère faux, c'est le fichier auquel on revient.
Notes de mémoire. Ce que l'agent écrit pendant une exécution quand quelque chose paraît saillant. De courtes notes Markdown sur les leçons d'une tâche, souvent avec une étiquette et une date.
Représentations de mémoire. Des wikis et structures similaires. Plutôt que de laisser les notes s'accumuler, une passe hors ligne fusionne les doublons, abstrait ce qui ne cesse de se répéter et relie les pages entre elles pour former une carte dans laquelle un agent peut naviguer.
Contexte injecté. Quelques lignes chargées au démarrage de la session. Elles indiquent les domaines sur lesquels l'agent possède des connaissances et où se trouve le détail, et ne portent presque aucun détail en elles-mêmes.
Anthropic a mesuré la valeur de la troisième couche sur Stainless, une base de code réelle d'environ 350 000 fichiers et de quelque 420 millions de jetons, évaluée sur 25 questions. Le dreaming a construit le wiki au fil de 128 sessions. Passer de deux à 128 sessions a fait évoluer la part des critères d'évaluation satisfaits de 13 % à 48 %. La recherche seule atteignait 53 %. Recherche et wiki combinés sont passés de 54 % à 61 % à mesure que le wiki grandissait, avec environ 20 000 jetons économisés par question.
Le wiki ne l'emportait pas à lui seul. Il aidait lorsqu'il était associé à la recherche. Sur une tâche où chaque réponse tenait dans un seul document, l'article indique que le wiki n'apportait pas de gain net. Sur une autre tâche, le wiki est devenu plus volumineux que les documents sources qu'il était censé compresser.
Qu'est-ce que le dreaming ?
Le dreaming désigne le calcul dépensé pendant que rien n'interroge l'agent. Le nom vient de la recherche sur le sommeil : l'hippocampe rejoue l'expérience de la journée pendant le sommeil à ondes lentes et le sommeil paradoxal, élimine le bruit et inscrit ce qui subsiste dans un stockage à plus long terme.
Dans un agent, la passe hors ligne lit journaux et notes ensemble et y cherche les contradictions. Elle peut réécrire une note au regard de la transcription, promouvoir ce qui ne cesse de compter, fusionner deux pages décrivant la même chose, ou repérer des liens pointant vers des pages jamais créées.
La correction du Mt. Moon est l'exemple parlant. Le dreaming a comparé la note au journal de déplacements, a constaté que le trajet consigné allait vers l'est et tombait, et a remplacé la note par une instruction : rentrer dans la grotte et se diriger vers le nord. L'exécution corrigée a atteint Cerulean City, les autres non.
Il répare aussi la structure. Dans le test d'Anthropic sur l'analyse de contrats, la première passe a produit une note de synthèse couvrant 41 des 57 faits qui comptaient, soit 72 %. Plusieurs agents avaient écrasé une table partagée et paraphrasé les clauses avec laxisme. Le correctif était procédural : une page par contrat, un agent par contrat, des clauses citées mot pour mot. Cette synthèse a satisfait 100 % des critères. Une passe de dreaming ultérieure a trouvé neuf liens pointant vers une page manquante, en a modifié la cible et a ajouté trois nouvelles pages, dont un index.
La sortie du dreaming n'est pas disponible pour la session en cours, et le calcul n'est pas gratuit.
Comment Claude Code garde-t-il la couche injectée réduite ?
Claude Code ne charge que les 200 premières lignes ou 25 Ko de MEMORY.md au démarrage d'une session. Le reste du répertoire de mémoire attend sur le disque.
Cet en-tête est un index. Il indique au modèle les domaines sur lesquels il possède des connaissances et où se trouvent les fichiers. Quand une tâche exige une règle précise, l'agent interroge la couche inférieure ou la lit à ce moment-là.
Anthropic donne deux raisons. La mémoire injectée est facturée comme contexte à chaque tour, et un fichier d'instructions plus long dégrade mesurablement la façon dont le modèle le suit. Un long bloc de mémoire qui contient par hasard la réponse peut valoir moins qu'un index court qui la désigne de manière fiable.
Où cela devient-il difficile en production ?
Trois compromis, tous portent sur le calcul.
Quand écrire. Capturer un événement notable sur le moment préserve le détail, mais l'acte d'écriture dispute le contexte à la tâche. Écrire hors ligne garde la session propre et ne livre rien dans l'immédiat.
Comment rester à jour. La mémoire dérive, parce que les notes survivent aux conditions qui les rendaient vraies. Le dreaming peut les corriger, mais vérifier en permanence coûte autant que cela rapporte. Il faut donc une cadence et une liste cible : les entrées de mémoire susceptibles de changer, et celles qui ont déjà été lues une fois puis contredites.
Quelle part de représentation construire. La recherche dans les transcriptions constitue un socle solide et ne demande aucun entretien. Les wikis aident lorsqu'ils sont combinés à la recherche, mais ils exigent du calcul pour rester exacts, et un wiki non entretenu devient une couche supplémentaire d'erreurs énoncées avec assurance.
Qu'en retenir ?
Les chiffres d'Anthropic proviennent des tâches d'Anthropic. Quelques choix de conception se transposent malgré tout, et il faut les lire comme des conseils de conception plutôt que comme des résultats mesurés :
- Conserver le journal brut tel quel. Chaque résumé construit par-dessus est un cache, et il doit renvoyer à l'original plutôt que le remplacer.
- Stocker journaux, notes et pages synthétisées comme des objets distincts. Ils ont des durées de vie différentes et échouent différemment.
- Injecter un petit index et laisser le modèle aller chercher le détail lui-même. Ne pas charger tout le répertoire de mémoire dans le prompt en espérant que cela passe.
- Planifier la passe de correction et lui allouer un vrai budget de calcul. Un agent qui ne revisite jamais ses notes garde sa première erreur pour toujours.
- Suivre l'obsolescence comme on suit les coûts : date de dernière vérification, nombre de lectures, nombre de contradictions. Le nombre de notes n'est pas un indicateur de santé.
Si les sessions durent cinq tours et partent de rien, rien de tout cela n'est rentable. La conception suppose une tâche qui se déroule sur des milliers de pas dans un monde qui change sous elle.
Questions fréquentes
Qu'est-ce que la mémoire d'agent selon la définition d'Anthropic ?
La connaissance qu'un agent enregistre pendant un travail réel et relit de lui-même dans une session ultérieure. Cela exclut les poids du modèle, l'apprentissage en contexte à l'intérieur d'une conversation et les résumés de compaction.
Qu'est-ce que le dreaming chez Claude ?
Une passe hors ligne qui consomme du calcul au repos pour examiner journaux et notes, corriger les notes fausses au regard de la transcription et entretenir les pages de wiki. Sa sortie n'est disponible qu'une fois la passe terminée.
Combien de fichiers de mémoire Claude a-t-il écrits dans Pokemon Red ?
Sonnet 3.7 a écrit 413 fichiers dans 225 dossiers vers le pas 10 000 et obtenu un badge. Fable 5 a gardé neuf fichiers dans deux dossiers plus un fichier global.md et obtenu quatre badges.
Anthropic affirme-t-il que la mémoire aide toujours ?
Non. L'article rapporte que des règles de consignation restrictives coûtent aux modèles les plus forts une grande partie du gain, qu'une note fausse peut se propager dans les sessions suivantes, et que les passes de dreaming et les représentations coûtent du calcul qu'il faut budgéter.
Quelle couche un nouvel agent devrait-il sauter en premier ?
Le wiki. Commencer par des transcriptions intégrales et un outil de recherche, ajouter des notes et un petit index, puis construire des représentations quand la recherche seule cesse de répondre aux questions qui traversent plusieurs documents.
Que reste-t-il non résolu selon Anthropic ?
Le moment où l'agent doit créer de la mémoire, puisque la capture en session dispute le contexte à la tâche et que les passes hors ligne arrivent tard. Comment garder la mémoire à jour sans y consacrer un calcul sans limite. Et si la recherche dans les transcriptions constitue le bon fondement une fois que les représentations commencent à accumuler leurs propres erreurs.