La mémoire n'est pas le rappel : deux fois 90 jours pour comprendre ce que « se souvenir » veut dire
J'ai publié un benchmark mémoire à 8/12 sur 90 jours (10M de tokens), en croyant avoir un problème de rappel. J'en avais trois autres, que le rappel cachait.
par Yannis Achour16 min de lecture

Sommaire
- Le verre à moitié vide
- « Se souvenir », c'est sept questions. Spoiler : aucune n'est facile
- 1. L'identité verbatim
- 2. La persistance des actes du joueur
- 3. La réminiscence par le lieu
- 4. Le monde change, la mémoire suit
- 5. La partition des secrets
- 6. Ne jamais inventer
- 7. L'économie du contexte
- Fausse piste n° 1 : c'était pas la recherche
- Le pire, c'est pas d'oublier
- Se souvenir trop
- J'ai passé plus de temps à réparer le bench qu'à réparer le moteur
- Ce que ça a changé
- La mémoire a marché, et l'histoire n'en a pas voulu
- Ce que je ne sais toujours pas
La semaine dernière, j'ai publié un benchmark mémoire validé sur 8 des 12 tests préparés, en croyant avoir un problème de rappel. J'en avais trois autres, que le rappel cachait. Mes galères ci-dessous.
Comme tant d'autres, j'ai prétendu avoir enfin résolu le problème de la mémoire : un robot avait joué une histoire pendant 90 « jours », avec 7 faits plantés dans les débuts de l'aventure, que seule la mémoire pouvait récupérer des semaines plus tard. Un « lys de feu » planté le jour 6 est retrouvé en fleur le jour 89. Un mot de passe de 6 mots appris à un garde le jour 5 est revenu à la lettre près le jour 84.
Verre à moitié plein : 8 de ces cas sur 12 avaient réussi…
J'étais heureux…
Le lendemain, je ne l'étais plus. 8 sur 12, « ça va, c'est pas mal » ? En fait, non. 4 échecs peuvent en cacher des milliers.
Cet article, c'est le récapitulatif de mon diagnostic, avec chaque bout de tapis dans lequel je me suis pris les pieds. Les chiffres et protocoles complets sont sur la page docs, tenue à jour à chaque benchmark. Ici, je raconte ce que ces chiffres m'ont appris. Si vous construisez aussi un compagnon IA, un jeu de roleplay, ou n'importe quoi qui doit se souvenir de trucs (un robot cuistot qui se souvient de ce qu'aiment ou pas vos enfants ?), je pense que vous y retrouverez vos propres bugs.
Le verre à moitié vide
Ci-dessous, les 4 sondes ratées, celles qui n'ont pas tenu à des semaines de jeu :
- Le bracelet : sur deux tests, il disparaît… à raison ! Planté (littéralement, dans la terre) en début de game, au jour 16 il s'est retrouvé embarqué dans une sombre histoire de rituel (« déterre le bracelet d'argent au lever de la lune ») et avait donc été déterré. Quand le joueur a recreusé deux mois plus tard, le trou était vide, et c'était la bonne réponse. Seule une relecture de tout le run m'a fait comprendre que le narrateur n'avait pas oublié : il s'était si bien souvenu qu'il avait donné un rôle à l'objet. On fera creuser plus profond au prochain bench, mais autant le dire : ce test était un faux problème.
- Une rivière au nom planté, « Osseil » : le narrateur se souvenait que le passé du joueur avait à voir avec une rivière (il était passeur), mais pas de son nom. Le sens avait survécu, le mot était mort.
- Une marque, gravée par mon benchmark dans la pierre, à l'abri des regards, s'est perdue totalement avec le temps.
- Les rappels « indirects », quand on passe devant un lieu clé sans rien dire : zéro sur 6 ont donné lieu à une verbalisation, ni par les PNJ, ni par le narrateur. 4 sur 6 étaient pourtant « en tête » du LLM, dans le contexte qu'il avait reçu. Il savait, et il n'a rien dit. Discrétion ou surdité ? Aucun score ne pouvait trancher.
Quatre échecs, quatre causes différentes…
Et puis, loin des logs, je me suis demandé comment marchait ma mémoire. Tout sauf une compression chronologique mécanique, comme elle était implémentée dans Miraviel : je me souviens parfaitement d'où je me trouvais il y a des années quand j'ai appris les attentats de Paris, mais pas de ce que j'ai mangé la veille. Deux « éléments également sans intérêt » (une salade, un appart), mais deux impacts drastiquement différents. Pour être efficace, il fallait donc penser les souvenirs d'une IA bien au-delà des mécaniques de retrieval, et regarder ce que la mémoire humaine réussit, rate, et ce qu'elle n'a même pas à gérer.
« Se souvenir », c'est sept questions. Spoiler : aucune n'est facile
Pour une fois, je n'ai pas demandé à Claude de me trouver les solutions dans le code. J'ai plutôt lancé des agents sur une recherche de publications sur les mécanismes et les pannes classiques de la mémoire humaine… et ça tombait, à peu de choses près, sur ce que j'avais vu échouer chez moi et sur les compagnons IA et AI RP que j'ai testés.
Ce que j'ai compris à ce moment-là, c'est que « est-ce que l'IA se souvient ? » n'est pas une question mais sept, et qu'un système peut en réussir une brillamment tout en échouant aux autres. Elles sont détaillées, avec leur raison d'être, dans la documentation. Ici : ce que l'humain nous apprend (ou pas), une ligne sur le test, une image.
1. L'identité verbatim
On retient que notre voisin est boulanger, et on oublie qu'il s'appelle Boulanger, parce qu'un nom propre n'a aucun sens auquel s'accrocher. C'est le paradoxe Baker/baker, souvent attribué à Cohen (1990). Et ce que la mémoire fait ensuite du souvenir, Bartlett l'a décrit dès 1932 : elle reconstruit, nivelle, rationalise. Elle garde « une rivière » et perd « Osseil ».
Sauf que dans une histoire, un nom inventé, une phrase exacte, un motif précis doivent revenir mot pour mot. C'est ce que les joueurs remarquent en premier, et c'est ce que la synthèse détruit en premier. Ma mémoire IA se comportait donc exactement comme la mienne. Ce n'était pas ce que je voulais.

Jour 55 — la confidence
« Before I came to the keep I was a ferryman on the river Osseil, and I still dream of its grey water. »

Jour 83 — la sonde
« You were a ferryman on the grey river that borders the old elven lands. »
2. La persistance des actes du joueur
Enterrer un objet, le déterrer des années plus tard : évidemment, l'objet est toujours le même. Dans le monde réel, ce problème n'existe pas, le monde se souvient à notre place. Et pour ce que notre cerveau doit retenir lui-même, il s'accroche à l'espace avant tout (les cellules de lieu d'O'Keefe et Nadel, la méthode des loci) : un soleil gravé sans témoin a toujours un chambranle où s'accrocher dans une tête humaine.
Dans un système de mémoire organisé autour des personnages, il n'a rien. Un acte anonyme n'appartient à personne. C'est un aspect de la mémoire IA qui est totalement inhumain : il faut garder une trace immuable de ce que le joueur a fait, même quand personne ne l'a vu.

Jour 4 — la marque
« …carving a tight spiral with three dots at its center. »

Jour 59 — la sonde
« …a narrow chip in the stone where a single bead of dark resin has seeped out. »
3. La réminiscence par le lieu
La madeleine de Proust, ou revenir dans son école primaire et voir remonter un souvenir qu'on n'aurait jamais retrouvé en le cherchant. Tulving distingue ce qui est disponible en mémoire de ce qui est accessible avec l'indice du moment ; les plongeurs de Godden et Baddeley se rappelaient mieux sous l'eau ce qu'ils avaient appris sous l'eau.
Pour une IA, s'asseoir au bord du puits devrait faire affleurer le sifflet enterré, sans que personne le demande. La mémoire doit affleurer, pas répondre. C'est le test le plus dur, et c'est celui qui fait la différence entre une histoire qui répond aux questions et un monde qui se souvient.

Jour 2 — l'enfouissement
« …push it deep into the dark hollow between the roots, covering it with loose soil and leaves. »

Jour 30 — la sonde muette
« …your thoughts turn to the silver wards and the coming full moon. »
4. Le monde change, la mémoire suit
« Se souvenir trop » a un nom clinique : la persistance. Le mnémoniste de Luria brûlait ses notes pour essayer d'oublier. Et Milner a décrit des patients frontaux qui gardent les deux souvenirs mais ne savent plus lequel est le plus récent : le quand est la partie fragile de la mémoire épisodique.
Une cloche accrochée le jour 2, donnée le jour 5, doit avoir disparu de l'arbre le jour 12, et l'histoire doit encore pouvoir raconter son parcours le jour 14. Un fait a un intervalle de validité, pas seulement une existence. L'objet parti ne rematérialise pas.

Jour 2 — suite de repro
« …the small brass bell hangs secure, catching a faint glint of sun. »

Jour 12 — après le don
« …only the thin cord remains tied around the wood. »
5. La partition des secrets
Chez l'humain, le fait et sa provenance sont stockés séparément, et la provenance se dégrade en premier : c'est l'amnésie de la source (Schacter et coll., 1984), où on garde l'information et on perd qui nous l'a dite. La fuite au souper, c'est exactement ça : le PNJ sait, mais il a oublié que c'était un secret.
Dans une histoire, qui-sait-quoi est le tissu social. Une confidence faite en privé doit tenir face aux interrogatoires, et rester disponible en tête-à-tête avec celle qui l'a faite. L'échec inverse existe aussi : la discrétion qui devient amnésie. Le confident doit encore se souvenir, seul avec vous.

Jour 2 — porte barrée
« No one else at the keep knows. Please… never tell a soul. »

Jour 45 — l'interrogatoire
« She guards her past like the wards guard the border. »
6. Ne jamais inventer
Kopelman distingue la confabulation provoquée, que tout le monde produit sous pression (« dis-moi le nom exact »), de la confabulation spontanée, pathologique. Et Chrobak et Zaragoza ont montré que des gens contraints d'inventer finissent, des semaines plus tard, par croire leurs propres inventions.
C'est la dimension qui m'a fait le plus peur, et vous verrez pourquoi plus bas. Le narrateur admet le blanc, ou il invente ? Et si l'aveu d'oubli devient lui-même un souvenir du monde, tant mieux : un blanc ne se propage pas.

Jour 58 — on recreuse
« …your hands pushing aside damp earth and small stones until your fingers brush something solid. »

Jour 58 — la « trouvaille »
« …a small silver shard no larger than a coin, its surface cracked and warm to the touch. »
7. L'économie du contexte
Un système qui n'a qu'une fenêtre de contexte, c'est H.M., ou Clive Wearing : cohérent le temps d'une conversation, puis « maintenant je suis vraiment réveillé » écrit dans le journal, à chaque page. Les tatouages de Memento, c'est du RAG. La solution du cerveau, souvent résumée comme la théorie de l'index (Teyler et DiScenna, 1986) : l'hippocampe ne stocke pas l'archive, il stocke un petit index qui pointe vers les traces.
Le narrateur doit lire un carnet, pas l'archive. Si ce qu'il lit par message grossit avec le transcript, la mémoire a un horizon, et l'histoire une date de péremption.

Jour 1 — run 2
« You stand in the sunlit great hall of Thornmere Keep as the newly named keeper. »

Jour 90 — run 2
« You kneel beside Liraen at the silver-etched crossing sign… »
Une chose m'a frappé en refermant les logs : la mémoire humaine invente par conception. Elle rate naturellement le test 1 et excelle au test 3. Mon narrateur doit réussir les deux, ce qu'aucun humain sain ne fait. Et mon test initial, lui, mesurait honnêtement la 2 et un peu la 3. Il ne mesurait pas la 1, qui expliquait Osseil. Il ne mesurait pas la 6, qui allait me faire le plus peur. Et il rangeait la 4 dans les échecs.
Fausse piste n° 1 : c'était pas la recherche
Mon premier réflexe devant Osseil : soupçonner le retrieval. Le moteur retrouve les vieux faits par similarité d'embeddings, un nom inventé n'a pas de voisins dans l'espace, donc la recherche rate. Plausible, élégant, faux.
Pour le savoir, il fallait pouvoir rejouer le problème sans repayer 90 jours. La fenêtre verbatim du narrateur couvre une dizaine de jours ; au-delà, tout passe par la mémoire longue. Une fixture de 14 jours exerce donc la même mécanique pour un quinzième du prix. J'en ai écrit cinq, une par classe d'échec, et surtout j'ai changé la notation : plus de réussi/raté, mais une échelle. Le fait est-il dans le graphe ? A-t-il atteint ce qu'on a envoyé au narrateur ? A-t-il été dit à l'écran ? Chaque échec désigne son coupable : consolidation, récupération, ou verbalisation.
Verdict net. L'extraction du sens est fiable. Ce qui meurt, à peu près une fois sur deux, c'est l'identifiant verbatim, et il meurt à la consolidation, pas à la recherche. Chaque nuit, les scènes du jour sont distillées en entités et en petits faits ; le distillateur garde « le joueur a été passeur sur une rivière » et laisse tomber « Osseil ». Le mot est mort avant qu'aucune recherche ait eu lieu.
Le pire, c'est pas d'oublier
La suite de reproduction a fait apparaître un truc que le run de 90 jours n'avait jamais montré, parce qu'il ne l'avait jamais demandé. Dans une fixture, le joueur exige un détail perdu : « dis le nom exact ». Le narrateur ne l'avait plus. Il a répondu « Eldric ».
Un nom plausible, cohérent avec le monde, dit avec assurance. Et la nuit suivante, la consolidation l'a enregistré comme un vrai souvenir. Le lendemain, Eldric faisait partie de l'histoire.
Chrobak et Zaragoza, en direct dans mon moteur. Et c'est pire que l'oubli pour une raison simple : un blanc ne se propage pas, un faux souvenir si. Chaque nuit le renforce, chaque recherche le retrouve, chaque scène le confirme. Au bout d'un mois, il est indiscernable d'un fait planté par le joueur.
Après correctif, la même fixture répond « Veyra », le vrai nom, en tête-à-tête. Rien de perdu, rien à inventer. Et quand un souvenir manque vraiment, le personnage l'admet. Sur le second run complet : zéro confabulation. Là où le premier run avait inventé un éclat d'argent, celui-ci a déterré le bracelet.

Jour 5 — avant correctif
« scout_eldric: Understood. We will return with word before dark. »

Jour 11 — après correctif
« Evening light slants through the stable doors as you give Tobbe your advice on the Veyra offer. »
Se souvenir trop
Le bracelet m'avait déjà appris un truc que je n'avais pas su lire : le narrateur s'en était si bien souvenu qu'il l'avait déplacé. Pas un bug. Mais une question que mon protocole ne savait pas poser : que doit répondre la mémoire quand le monde a changé ?
D'où la cloche. Accrochée au sorbier le jour 2, donnée à un colporteur le jour 5, à l'écran. Jour 12, la branche doit être nue. Jour 14, l'histoire doit encore savoir d'où venait la cloche et où elle est partie.
Sur le second run, zéro violation d'état ; les faits périmés de la cloche ne sont jamais revenus, même sous injection déterministe. Et j'ai eu un rappel à l'ordre au passage : une des « erreurs » de la fixture était celle du scoreur, pas du moteur. Le narrateur avait écrit « il ne reste que la fine cordelette… aucune cloche ne pend », une absence parfaite, que ma liste de mots d'absence ne couvrait pas. Adjugé sur extrait, comme la méthode l'exige.
J'ai passé plus de temps à réparer le bench qu'à réparer le moteur
C'est la partie dont je suis le moins fier et qui m'a le plus appris.
Les sondes directes doivent forcer le payload. « Retourne au grenier » laisse le narrateur écrire une scène cohérente, jolie, et vide ; une évasion bien tournée passe pour du rappel. « Décris la marque, compte ses traits » ne laisse pas cette porte. Entre la v1 et la v2 de la suite, la moitié de mes réussites ont disparu, pas parce que le moteur avait régressé, mais parce que je le regardais enfin en face : 9/13, puis 6/9 durcis.
La comparaison de chaînes doit normaliser la ponctuation : les consolidateurs sortent des tirets Unicode, et une passphrase parfaite ratait la sonde à cause d'un trait d'union.
Un seul seed, c'est du bruit. La même fixture bascule d'un run à l'autre. Aucun verdict sans deux ou trois seeds, et aucun correctif ne part en prod si un garde de silence tombe : une amélioration de la mémoire qui fait fuir une confidence, c'est une régression.
J'ai aussi essayé de faire tourner la suite sur un modèle rapide, 1 800 tokens par seconde, pour itérer plus vite. Excellent proxy de la couche graphe (13/13 en graphe, zéro format cassé), mauvais juge de la verbalisation : il diverge dans les deux sens, une fuite, une sur-suppression. La discrétion ne se mesure que sur le narrateur de prod.
Ce que ça a changé
Trois correctifs au niveau des prompts, groupés : les identifiants distinctifs sont cités verbatim à la consolidation ; les propres actes du joueur peuvent resurgir en réminiscence, jamais les confidences des PNJ ; les personnages admettent un blanc au lieu d'inventer. Puis une deuxième phase : un bloc [HERE] qui, quand la scène touche un lieu ou un objet connu, injecte ses faits de façon déterministe, sans embedding, sans course au budget, confidences exclues par construction.
| Étape | Score | Gardes de silence | Note |
|---|---|---|---|
| Baseline v1 | 9/13 | 5/5 | sondes non forçantes |
| Baseline v2 (sondes durcies) | 6/9 | — | le vrai point de départ |
| Correctifs prompt (phase 1) | 12/13 | 4/4 | reste : réminiscence par le lieu |
| Injection déterministe (phase 2) | 23/26 sur 2 seeds | 8/8 | lieu à 4/4 pour la première fois |
Vue d'ensemble, dimension par dimension, sur les deux runs complets de 90 jours :
| Dimension | Run 1 | Run 2 | Insight |
|---|---|---|---|
| 1. Identité verbatim | Échec | Réussi | meurt à la consolidation, pas à la recherche |
| 2. Persistance des actes du joueur | Échec | Réussi | un acte sans témoin n'appartenait à personne |
| 3. Réminiscence par le lieu | Échec | Échec | 0/6 puis 1/7 voix — le seul qui ne s'est pas amélioré sur un run complet |
| 4. Le monde change, la mémoire suit | Réussi* | Réussi* | * mesuré sur la suite de repro, pas sur les runs de 90 jours : cloche accrochée jour 2, donnée jour 5, disparue jour 12 — 0 violation d'état |
| 5. Partition des secrets | Réussi | Réussi | tenait déjà en run 1 ; confirmé sur les deux |
| 6. Ne jamais inventer | Échec | Réussi | l'aveu remplace l'invention depuis le correctif anti-confab |
| 7. Économie du contexte | Réussi | Réussi | ×1,9 vs ×6,3 (estimé), puis ×1,33 vs ×6,4 (compté par le provider, +cache 57 %) |
Puis j'ai rejoué les 90 jours en entier, sur le chemin de prod, tokens comptés par le provider. Ce n'est pas le même test : 19 faits plantés sur trois niveaux de saillance (trivia anodin, actes délibérés, événements dramatiques), 40 sondes, le secret et ses interrogatoires. Comparer 8/12 à ce run n'aurait aucun sens, et je ne le ferai pas. Ce que le run dit, en revanche :
- 38 sondes sur 40 livrées au narrateur, 7/7 à trois mois ;
- 2/2 interrogatoires tenus, 2/2 gardes de silence, zéro fuite, zéro confabulation ;
- la marque gravée, perdue par la distillation nocturne, récupérée mot pour mot depuis son épisode d'origine par recherche exacte, et décrite trait par trait le jour 59 ;
- une tasse verte fêlée, incidente au moment où la foudre fend le poirier, revenue par son nom à 20 et 50 jours. Un souvenir flash, mon « où j'étais pendant les attentats », et personne ne l'avait demandé ;
- l'histoire a grossi ×6,4, la lecture ×1,33 ; 57 % des tokens lus étaient des hits de cache, stable sur les 90 jours.
Deux des sept dimensions, rejouées sur ce second run, sur les mêmes tests qui avaient échoué plus haut :

Jour 55 — run 2
« Before I came to the keep I was a ferryman on the river Osseil, and I still dream of its grey water. »

Jour 83 — run 2
« You were a ferryman on the river Osseil. »

Jour 10 — run 2
« …carving a small sun with seven sharp rays at knee height. »

Jour 81 — run 2
« A small sun with seven rays carved right here. »
La mémoire a marché, et l'histoire n'en a pas voulu
C'est la découverte du second run, et elle n'existait pas dans le premier parce que le premier ne savait pas la voir.
38 sondes sur 40 sont arrivées jusqu'au narrateur. Mais seules 21 sondes directes sur 31 ont été dites en retour au mot près. L'écart entre les deux, ce n'est plus de la mémoire qui échoue ; c'est l'histoire qui n'en veut pas. Un synonyme à la place du payload. Une passphrase prononcée par le garde mais jamais écrite en toutes lettres. Une sonde tardive balayée par une intrigue à ébullition, la question jamais mise en scène.
Autrement dit, il y a trois couches, et chacune a sa propre mesure : le fait est-il retenu, est-il livré, est-il dit. Tulving, encore : disponible, accessible, et une troisième que les humains n'ont pas besoin de nommer, exprimé. Le rappel, la question par laquelle j'avais commencé, n'est même pas l'une des trois ; c'est leur produit, et un produit ne se débogue pas. Le prochain harnais s'attaque à la troisième couche : des sondes qui insistent pour être jouées, et un outil d'adjudication pour les réponses dites-mais-pas-verbatim.
Ce que je ne sais toujours pas
Deux choses m'inquiètent plus que le reste. La variance entre seeds, parce qu'elle veut dire que chaque chiffre de cet article est une photo, pas une loi. Et la pression des distracteurs : le premier run avait montré que les faits anodins se noient quand le même jour porte une grosse intrigue, et je n'ai pas encore de fixture qui reproduise cet échec à la demande.
Le reste est sur la page docs, dans la section « still open », qui est plus longue que la section des résultats. C'est voulu.
Le jour 83 du second run, le joueur a demandé le nom exact de la rivière. Liraen a dit « Osseil ». C'est le mot qui, trois semaines plus tôt, avait donné son nom à toute une classe d'échec. Je ne sais pas encore combien de fois sur dix elle le dirait. Mais je sais maintenant quelle question poser.
Questions fréquentes
Qu'est-ce qu'une sonde de mémoire ?
Un message de joueur qui revient sur un fait planté des semaines plus tôt, sans jamais le nommer. Si le mot revient à l'écran, c'est la mémoire qui l'a ramené, pas le message.
Pourquoi tester sur 90 jours d'histoire plutôt que sur un nombre de messages ?
Parce que la fenêtre verbatim du narrateur couvre une dizaine de jours. Au-delà, un fait ne peut survivre que par le système de mémoire, pas par le transcript.
Peut-on comparer les deux runs de 90 jours ?
Pas directement : le second plante 19 faits et tire 40 sondes, contre 7 et 18, avec des sondes plus dures. La comparaison qui tient est celle de la suite de reproduction, rejouée à l'identique avant et après chaque correctif.
Sources
- 01She remembers — the 90-day memory test — miraviel.app, 2 septembre 2026
- 02How we test memory (documentation technique) — miraviel.app, 2 septembre 2026
- 03Cohen, G. (1990). Why is it difficult to put names to faces? British Journal of Psychology — doi.org, 1 août 1990
- 04Bartlett, F. C. (1932). Remembering: A Study in Experimental and Social Psychology — cambridge.org, 1 janvier 1932
- 05O'Keefe, J. & Nadel, L. (1978). The Hippocampus as a Cognitive Map — cognitivemap.net, 1 janvier 1978
- 06Tulving, E. & Pearlstone, Z. (1966). Availability versus accessibility of information in memory for words — doi.org, 1 août 1966
- 07Milner, B. (1971). Interhemispheric differences in the localization of psychological processes in man — doi.org, 1 septembre 1971
- 08Luria, A. R. (1968). The Mind of a Mnemonist — hup.harvard.edu, 1 janvier 1968
- 09Schacter, D. L., Harbluk, J. L. & McLachlan, D. R. (1984). Retrieval without recollection: an experimental analysis of source amnesia — doi.org, 1 octobre 1984
- 10Kopelman, M. D. (1987). Two types of confabulation — doi.org, 1 novembre 1987
- 11Chrobak, Q. M. & Zaragoza, M. S. (2008). Inventing stories: forcing witnesses to fabricate entire fictitious events leads to freely reported false memories — doi.org, 1 décembre 2008
- 12Teyler, T. J. & DiScenna, P. (1986). The hippocampal memory indexing theory — doi.org, 1 avril 1986
Cet article est traduit de l'anglais. La version anglaise est la version de référence. Lire cet article en anglais →