Un élève parle à un même sujet pendant des mois : des milliers de messages, des dizaines de fichiers, des centaines de petits contrôles. Mettre davantage de tout cela dans le prompt ne tient pas à l'échelle et ne rend pas le tuteur honnête. Voici comment nous avons doté chaque sujet d'une mémoire qui classe le passé par pertinence, d'une carte conceptuelle du contenu, et de croyances sur l'élève qui portent leurs propres preuves, ainsi que ce que des historiques réels nous ont appris quand nous les avons rejoués. Aucun fournisseur n'est nommé, volontairement ; la méthode n'en dépend pas. Chaque chiffre ici a été mesuré, non estimé.
Ce que "se souvenir" doit vouloir dire
La réponse naïve à "le tuteur oublie" est une fenêtre plus large : garder davantage de la conversation dans le prompt, résumer le reste. Cela échoue de trois façons distinctes, et chacune est un problème produit avant d'être un problème technique.
- Le temps. Un élève qui demande en septembre quelque chose vu en juillet a besoin de la séance de juillet, pas des quarante derniers messages. Un résumé de "ce qui s'est passé jusqu'ici" devient plus vague à mesure qu'il grossit ; le détail pertinent est exactement ce qu'un résumé abandonne.
- Les fichiers. Un sujet contient des dizaines de documents. La recherche documentaire récupère les huit passages les plus proches de la question, ce qui convient pour des faits et ne sert à rien pour "comment ce chapitre se rattache-t-il à celui-là", la structure du contenu n'est jamais dans un seul passage.
- L'honnêteté. Un tuteur qui affirme "vous comprenez l'osmose" doit pouvoir dire pourquoi : quel contrôle, quel jour, ce que l'élève a répondu. Un chiffre sans preuve est une estimation avec une virgule.
Nous avons donc posé trois promesses avant d'écrire une ligne : chaque tour devient un épisode durable et le rappel classe tout l'historique par pertinence, non par date ; les concepts sont extraits une fois par fichier et fusionnés dans une seule carte par sujet ; et la maîtrise n'est nourrie que par la preuve, un contrôle réussi, un quiz passé, une partie jouée, chaque croyance conservant sa preuve et son histoire. Et une quatrième promesse, plus discrète : quand le tuteur n'a aucun souvenir de quelque chose, il le dit, tout simplement.
La forme du système
Trois entrepôts, une lecture budgétée par tour, une boucle chaque nuit. Les fichiers alimentent la carte ; la conversation alimente le journal d'épisodes ; les contrôles alimentent les croyances. Chaque tour de conversation lit une tranche réduite et classée des trois et la place dans le prompt à l'intérieur d'un budget de jetons fixe. Rien dans le chemin de lecture n'appelle un modèle génératif. Le seul modèle qu'il appelle est l'embedding, une fois par tour, partagé par le routage et le rappel ; le seul passage génératif hors conversation est celui qui lit un nouveau fichier dans la carte.
Épisodes : un journal en ajout seul, chaîné par hash
Chaque événement devient un épisode : une question, une réponse, un contrôle avec son verdict, un résultat de quiz, un fichier qui arrive, quelque chose que l'élève a explicitement enseigné au tuteur. Un épisode porte un résumé d'une ligne, le texte complet, les concepts qu'il a touchés, un score de saillance fixé au moment de l'écriture, et sa preuve: pour une réponse, le fichier et la page cités, marqués de l'empreinte du fichier à cet instant. Les épisodes ne sont jamais modifiés. Chacun conserve le hash du précédent dans la même chaîne, si bien que le journal est recalculable et que toute altération, ou toute réécriture silencieuse par une migration bien intentionnée, se voit comme une rupture. C'est une preuve de falsification, pas une protection contre la falsification : une réécriture est détectée, jamais empêchée, et seulement tant que la chaîne, ou un point de contrôle de celle-ci, est conservé.
La saillance est fixée par ce qu'est un épisode, pas par une humeur : un contrôle raté (0.7) compte plus qu'un contrôle réussi (0.6), et ce que l'élève a enseigné au tuteur (0.85) compte le plus, car c'est le seul souvenir qu'une personne a explicitement demandé de garder. Une question reste à un modeste 0.35, la propre question d'un élève est un rappel juste et un rappel inutile, ce qui finira par compter pour le chemin "à quoi cela me fait-il penser" plus loin.
Rappel : la pertinence doit primer sur la récence
Le rappel est associatif, pas chronologique. Les candidats sont réunis depuis plusieurs bassins, chacun couvrant l'ensemble de l'historique, et notés seulement après : les cinq cents plus récents, chaque épisode contenant un mot distinctif de la question, chaque épisode touchant les concepts vers lesquels la question a été routée, et les voisins sémantiques d'un index vectoriel. Élargir d'abord et découper ensuite est la décision de conception la plus importante du module, la première version découpait d'abord ("les 500 plus récents") et ne pouvait rappeler un souvenir de mars parfaitement pertinent à quelque score que ce soit, car il était coupé avant d'être noté.
Les poids seuls ne suffisent pas. Quand la question porte sur quelque chose et que quoi que ce soit correspond, les épisodes qui ne correspondent à rien sont écartés plutôt que classés, une note récente hors sujet obtient 0.15 × 1.0 sur la seule récence, tandis qu'une concordance exacte vieille de 200 jours obtient 0.55 × 0.156, et aucune pondération qui laisse un non-correspondant dépasser un correspondant n'est juste, quel que soit le réglage. La récence tranche les égalités, elle ne classe pas. Deux questions qu'un lecteur devrait se poser à propos de ces chiffres : d'où ils viennent, et si nous les avons ajustés. Ils ont été fixés à la main, repris d'une mémoire antérieure que nous avions construite pour un autre produit, et ils n'ont été calés sur aucune des données de cet article. Rien ci-dessous n'a été balayé ni ajusté ; le seul changement que nous avons apporté au calcul du score provient d'un échec que nous pouvions nommer, pas d'une recherche systématique, et il a porté sur le filtre plutôt que sur une pondération. Le filtre a deux exemptions : aucune requête du tout (alors la récence est tout ce qu'il reste), et rien qui corresponde (alors le passé récent est la meilleure offre honnête).
Deux choses que des historiques réels ont ajoutées
Les répétitions fusionnent. Sur un sujet réel, 161 questions d'élève se ramenaient à 56 phrases distinctes, "qu'est-ce qu'une cellule" posée neuf fois en trois mois. Neuf copies ne font qu'un souvenir, retenu neuf fois, si bien que le rappel fusionne les épisodes identiques et indique combien de fois le survivant en tient lieu. Le temps est un filtre, pas un indice. "Qu'avons-nous vu en juillet ?" s'analyse comme une fenêtre, et le rappel s'y exécute d'abord ; si la fenêtre est vide, le bloc le dit explicitement (voir § honnêteté). Les noms de mois fonctionnent dans les langues que nos élèves écrivent, tout comme "la semaine dernière" et "hier".
La carte conceptuelle
Les passages répondent à "que dit le fichier ici" ; une carte répond à "de quoi ce sujet est-il fait, et qu'est-ce qui s'appuie sur quoi". Chaque fichier est lu une seule fois par un passage modèle qui renvoie une liste bornée de concepts, nom, résumé en une phrase, une courte définition, les concepts sur lesquels il s'appuie depuis sa propre liste, les pages où le fichier l'explique. Les titres de section ("Introduction", "Erreurs fréquentes") sont rejetés par un validateur ; un nom qui est en réalité un titre de chapitre est le mobilier du fichier, pas les idées du sujet.
Les concepts fusionnent entre fichiers par une clé canonique (un nom normalisé, sensible à l'écriture) et par une similarité d'embedding supérieure à 0.86. La provenance s'accumule : un chapitre qui ré-explique l'osmose s'ajoute à un même nœud plutôt que d'en créer un second, et chaque fichier ayant contribué reste listé avec ses pages. Un prérequis que le fichier suppose sans jamais l'expliquer ne devient un nœud que si deux concepts le supposent, alors l'écart est réel et mérite d'être montré ; un cas isolé est noté sur le concept comme "supposé" et n'est dessiné nulle part. Le premier document de politique interne que nous avons lu a transformé 11 concepts en 34 nœuds avant que cette règle n'existe.
Trois chiffres dérivés sortent de la carte. La centralité est un PageRank pondéré sur les liens (un prérequis sur lequel tout s'appuie est un pivot). La maturité par concept suit quatre paliers, 0.35 simplement nommé, 0.60 expliqué par un fichier, 0.85 confirmé par un contrôle réussi, 1.0 enseigné par une personne, et la maturité du sujet est la moyenne pondérée par la centralité, si bien qu'un pivot que les fichiers n'expliquent pas coûte plus qu'une feuille. L'ordre d'enseignement est une stratification topologique : les prérequis d'abord, les pivots d'abord au sein d'un palier ; il a remplacé un appel modèle qui esquissait autrefois "quoi enseigner" à partir de quatorze passages.
SUBJECT MAP (16 concepts; the files explain 79% of it, this is about the material, NOT the student's mastery):
- Mitochondria: Mitochondria release energy from glucose. [taught: in our class we call the mitochondria the powerhouse of the cell] (builds on: Cytoplasm)
- Cytoplasm: Cytoplasm is the gel-like substance inside the cell membrane. (builds on: Cell Membrane)
- Chloroplasts: Chloroplasts are involved in photosynthesis. (builds on: Cell Wall)
- Endosymbiosis: Endosymbiosis explains the origin of mitochondria and chloroplasts. (builds on: Mitochondria, Chloroplasts)
…
Cette formulation d'en-tête a été une leçon à elle seule. La première version disait "79% compris", et un modèle qui la lisait a tranquillement dit à un élève "étant donné votre compréhension actuelle de 79%…". Un chiffre de maturité qui peut se lire comme la maîtrise de l'élève sera lu ainsi ; la ligne dit désormais de quoi elle parle.
Enseigner au sujet
Une personne peut enrichir la carte en lui parlant. "Retiens qu'en classe on appelle la mitochondrie la centrale de la cellule" attache une note enseignée au concept qu'elle nomme (routage par nom ; seule une correspondance exacte compte), fixe la maturité de ce concept à 1.0, écrit un épisode enseigné, et place la note dans le brief. Quand la phrase ne nomme aucun concept existant, un nouveau nœud est créé au palier enseigné avec un nom court, jamais la phrase entière. Les questions n'enseignent jamais ; seul un "retiens que", un "traite X comme", ou son équivalent dans la langue de l'élève, le fait.
Des croyances qui gardent leur histoire
Une croyance est ce que le tuteur pense actuellement de cet élève sur ce concept, "est faible en osmose", "comprend le cytoplasme", avec une confiance et les épisodes qui la soutiennent. La règle qui compte : une ligne n'est jamais mise à jour vers une autre affirmation. Quand le tuteur change d'avis, l'ancienne ligne reste exactement ce qu'elle était, une nouvelle ligne est insérée, et l'ancienne pointe vers la nouvelle. Le rappel ne lit que les lignes que rien ne remplace ; un rapport peut remonter la chaîne quand quelqu'un demande ce qui a changé et pourquoi. Rétention et actualité sont deux propriétés différentes, et une mémoire qui garde les deux est une mémoire sur laquelle un rapport peut se construire.
Les croyances sont bon marché là où cela compte : environ vingt jetons chacune, et une seule tient lieu de dizaines d'épisodes. C'est ce ratio, et non une fenêtre plus large, qui donne son vrai sens à "se souvenir de plus que ce que le contexte peut contenir". Les épisodes ne sont pas abandonnés, c'est contre eux qu'une croyance est vérifiée, mais ils viennent en second, et l'appelant dépense sur eux le budget qui lui reste.
De quel sujet parle une croyance ?
C'est la partie que les données réelles ont cassée en premier. En mode enseignement, le "sujet" d'un contrôle avait été les mots mêmes de l'élève, si bien que des contrôles rejoués produisaient des croyances comme comprend ask me the questions et est faible en bueno ahora explícame todos los pasos. Désormais, le sujet d'un contrôle est routé vers un concept par son nom, et quand la chaîne de sujet est une phrase, par le texte d'évaluation du tuteur lui-même (qui nomme généralement le concept), sur une correspondance de nom exacte seulement. Un sujet qui ne correspond à rien et se lit comme un énoncé, mots interrogatifs, verbes de demande, pronoms, mots de remplissage, dans les langues que nos élèves utilisent, est conservé comme preuve mais ne devient jamais une croyance. Un tel changement de règle demande un moyen de re-dériver : retirer les croyances actuelles (jamais les supprimer), rejouer les contrôles enregistrés sous les règles d'aujourd'hui, ne toucher à aucun épisode.
Un tour, dans un budget
Chaque tour de conversation demande au cerveau un bloc, construit hors du chemin de requête avec un plafond de temps strict. Sur 155 tours, le bloc a pris 295 ms à la médiane, 403 ms au 90e centile et 445 ms au 95e, avec une construction à plus d'une seconde et aucune au-delà du plafond de 2.5 s, au-delà duquel le lot est abandonné plutôt qu'attendu, pour qu'une mémoire lente ne se place jamais devant le premier jeton. Un seul embedding de la question sert à la fois au routage et au rappel. Le bloc se place dans l'emplacement mémoire déjà existant du prompt, avant les passages du contenu, et rien d'autre dans le prompt ne change.
===== YOUR MEMORY OF THIS STUDENT AND SUBJECT ===== THE STUDENT IS ASKING ABOUT THEIR OWN RECORD. Answer from the beliefs and the earlier work listed here … WHAT YOU CURRENTLY BELIEVE ABOUT THIS STUDENT (from their checks; confidence 0–1): - understands cytoplasm (0.72) - understands eukaryotic cells (0.72) EARLIER WORK WITH THIS STUDENT (oldest first): - 12 Jul · you were asked: Can we go over Eukaryotic Cells today? I keep mixing it up. - 12 Jul · you answered: Of course. Eukaryotic Cells: Eukaryotic cells contain a nucleus and organelles. We worked through two examples and you got the second one right. - 18 Sep · the student taught you: Taught: in our class we call the mitochondria the powerhouse of the cell - 18 Sep · check: Check on cytoplasm: right (and 3 more times like it) SUBJECT MAP (16 concepts; the files explain 79% of it, …) … HOW TO USE THIS: it is your own memory of past work with this student, not their material. When you rely on it, say when it happened ("in July we…"). Never claim a memory that is not listed here. … ===== END OF MEMORY =====
L'ordre à l'intérieur du bloc s'est révélé compter autant que le contenu. Pour une question ordinaire, la carte vient d'abord. Pour une question sur l'historique: "qu'est-ce que je me suis trompé jusqu'ici", "qu'avons-nous étudié", "ماذا أخطأت", les croyances et le travail antérieur viennent d'abord et la carte en dernier, avec une première ligne explicite disant que l'élève interroge sur son propre historique. Nous l'avons appris d'un échec : le prompt portait aussi une section héritée "résultats d'évaluation" qui commence par "AUCUNE TENTATIVE DE QUIZ enregistrée", et le modèle a répondu à un élève qui avait répondu à vingt-huit contrôles en conversation par "vous n'avez encore tenté aucun quiz". Un modèle lit la première affirmation qui fait autorité sur un historique et s'arrête là. Le bloc mémoire précède désormais cette section, une note de transition relie les deux, et une section d'évaluation qui dit seulement "rien d'enregistré" est supprimée quand le bloc mémoire existe.
Élève : Qu'est-ce que je me suis trompé sur les contrôles jusqu'ici, et que devrais-je revoir ?
Tuteur : Ce que vous avez manqué sur les contrôles: 1. Contrôle sur ce qu'est une cellule : partiellement correct, vous l'avez décrite comme "c'est comme un petit truc ?", ce qui est incomplet. Réponses incorrectes : vous avez répondu "oui" et "eauu" à des occasions séparées, marquées comme fausses. 2. Contrôle sur les enzymes : vous avez correctement énoncé que les enzymes sont des "protéines qui décomposent la nourriture pour une digestion plus facile". Révisions suggérées: étant donné vos difficultés sur ce qu'est une cellule : structure cellulaire (procaryote contre eucaryote)… composants d'une cellule… par exemple, les mitochondries libèrent de l'énergie à partir du glucose, ce que vous avez appris en classe.
Dire "je n'ai aucun historique"
L'échec le plus instructif de tout le projet fut un scénario que nous avions écrit pour qu'il passe : semer une conversation de juillet, demander "qu'avons-nous vu en juillet sur X", vérifier la réponse. La réponse commençait par "En juillet, nous avons vu X…" et était fluide, ancrée dans le fichier, et entièrement fabriquée, le souvenir de juillet n'avait pas atteint le prompt, et le modèle a narré juillet à partir du cadrage de la question. Deux causes. Le mode question-sur-l'historique n'avait gardé que les contrôles et les quiz et avait abandonné la conversation qui était l'historique ; et les propres narrations antérieures du tuteur ("En juillet nous avons vu…", stockées comme des épisodes de réponse) étaient rappelées comme s'il s'agissait de souvenirs de juillet, le cerveau se souvenant qu'il se souvenait.
avant "En juin, nous avons vu le sujet de la membrane cellulaire, qui se décrit ainsi : la membrane cellulaire est une double couche de phospholipides…"
après "Je n'ai aucun historique de ce que nous avons vu précisément en juin sur la membrane cellulaire. Cependant, je peux vous donner des informations sur la membrane cellulaire à partir des supports dont nous disposons…"
Les deux cas sont désormais des scénarios dans un lanceur reproductible : celui de juillet ne passe que si les souvenirs de juillet sont dans le prompt (vérifié sur les identifiants de mémoire stockés du message, pas sur la formulation de la réponse), et celui du mois vide ne passe que si la réponse dit qu'elle n'a aucun historique et ne décrit aucune séance.
La mémoire comme citation
Notre conversation avait déjà un panneau de provenance : chaque affirmation d'une réponse est reliée à une ligne des fichiers de l'élève, et une réponse avec trop peu d'affirmations reliées est marquée comme largement non ancrée. Ce traceur ne connaissait que les fichiers. Une affirmation correcte comme "en juillet nous avons vu X, et vous avez réussi le second exemple" se lisait donc comme absente de vos notes: la fonctionnalité qualifiant de fausse une affirmation vraie. Les souvenirs dont le tuteur s'est rappelé sont donc désormais stockés sur la réponse, et le traceur traite chaque épisode rappelé comme une source de plus, étiquetée par le moment où il a eu lieu.
Ce même résultat d'ancrage donne à chaque épisode de réponse un statut: répondu, partiel, ou impossible, stocké après coup. C'est ainsi que le rapport apprend quelles questions les fichiers n'ont pas pu répondre, sans second appel modèle et sans ligne "cadre" cachée dans le flux, ce que nous avons essayé puis rejeté : en mode réponse simple, rien ne filtre le flux, donc une ligne cachée aurait atteint l'élève.
Une mémoire qui se vérifie elle-même
Une mémoire qui ne peut pas se vérifier elle-même devient plus confiante et moins juste avec le temps. Comme la preuve d'une réponse enregistre l'empreinte du fichier au moment considéré, la vérification est une recherche, pas un appel modèle : tient: le fichier cité est toujours là, inchangé ; modifié: il a été remplacé ou supprimé, et la note dit lequel des deux ; invérifiable: le souvenir ne cite aucun fichier (une conversation, un contrôle). Cette troisième réponse est un résultat à part entière, pas une erreur ; signaler un souvenir conversationnel comme "tient" serait le vrai défaut. Un épisode rappelé arrive au prompt déjà étiqueté : "[note : le fichier cité ici a été remplacé ou supprimé depuis]".
La boucle nocturne
Une fois par nuit, pour chaque paire élève-sujet active durant le dernier jour, un cycle déterministe s'exécute sans aucun appel modèle : condenser la journée en un épisode de consolidation (comptes par type, le décompte des contrôles, les sujets, les cinq titres les plus saillants ; une journée calme n'écrit rien, et la note ne résume jamais son propre genre) ; dégrader toute croyance intouchée depuis 45 jours de 15 % et la marquer pour que le prochain contrôle la confirme ; calibrer la maîtrise que le tuteur avait prédite avant chaque contrôle par rapport au verdict ; vérifier un lot borné de citations, les jamais-vérifiées d'abord ; reconstruire le petit ensemble de travail ; recomposer l'auto-modèle.
La calibration est le contrôle d'honnêteté sur la confiance du tuteur : avant chaque contrôle, nous savons quelle maîtrise il avait prédite ; après, nous savons le verdict. Regroupée en tranches, cela donne une courbe de fiabilité et une erreur de calibration attendue, et l'auto-modèle ne se déclare "calibré" qu'à partir de cinq contrôles avec une prédiction. Avant cela, ses limites le disent, traiter la confiance comme un classement, pas comme une probabilité.
Ce que des historiques réels nous ont appris
Les scénarios prouvent des mécanismes ; ils ne prouvent pas que la chose fonctionne sur la manière dont les gens parlent réellement. Nous avons donc construit un rejeu : prendre les historiques élève-sujet réels les plus riches, en lecture seule, reconstruire chacun dans une copie isolée de la plateforme, y construire le cerveau, et poser trois questions à forme réelle par le vrai point d'entrée de conversation, en tant que cet utilisateur. Six paires, 65–142 messages chacune, 13–32 verdicts en mode enseignement chacune, une en espagnol. Ils ne constituent pas un échantillon aléatoire et ne doivent pas être lus comme tel. Nous avons retenu des historiques d'au moins quarante messages, au maximum deux par élève, comptes de test et internes exclus, en privilégiant ceux avec le plus de réponses notées, car un historique vide n'exerce rien. Cela biaise chaque chiffre présenté ici en faveur des utilisateurs assidus. Le sujet d'un utilisateur occasionnel donnerait à la mémoire moins à se rappeler et moins de risques de se tromper.
Il a aussi produit les trois corrections décrites plus haut : des croyances sur des phrases d'élève, l'historique répondu depuis la carte au lieu de l'historique lui-même, la ligne héritée "aucune tentative de quiz" prenant le pas sur les réponses, et une confirmation que nous étions heureux de voir : une consolidation a signalé onze souvenirs dont le fichier cité n'existait plus. Le vérificateur qui faisait son travail.
| Sujet (réel, rejoué) | Messages | Contrôles | Concepts | Croyances après re-dérivation | Maturité de la carte |
|---|---|---|---|---|---|
| Module d'algèbre | 142 | 32 | 16 | 0, chaque sujet de contrôle était une phrase et aucune évaluation ne nommait un concept ; les contrôles restent dans l'historique et le rapport le dit | 0.60 |
| Unité de littérature | 97 | 14 | 10 | 3, toutes indexées par concept | 0.68 |
| Informatique et résolution de problèmes | 91 | 29 | 7 | 4, toutes indexées par concept | 0.60 → 0.81 |
| Biología (espagnol) | 88 | 31 | 15 | 6 (5 indexées par concept), surtout "est faible en…" après une série de réponses fausses | 0.62 |
| Sciences (triple) | 75 | 13 | 16 | 2, toutes deux indexées par concept | 0.64 |
| Cahier de religion | 65 | 18 | 12 | 6 (5 indexées par concept) | 0.72 |
La ligne d'algèbre est la plus honnête. Trente-deux contrôles et aucune croyance, car aucun n'a pu être relié à un concept : l'élève répondait par de l'arithmétique, les réponses du tuteur ne nommaient jamais les concepts du chapitre, et un énoncé n'est pas un sujet. Le rapport pour cet élève dit "32 contrôles sont enregistrés dans l'historique, mais aucun n'a encore pu être relié à un concept de la carte" plutôt que "aucun contrôle encore". Rien n'est inventé, pas même la maîtrise.
Un benchmark, pas une démo
Tout ce qui précède est une mesure ou un échantillon : la durée des opérations, ce que le rejeu a produit, des réponses qui nous ont plu. Rien de tout cela ne prouve que la mémoire mérite sa place, car rien n'a été comparé au même tuteur sans elle. Nous avons donc fait la comparaison. Un jeu de questions pré-enregistré, quatre versions du même tuteur qui ne diffèrent que par ce qui atteint le prompt, et des correcteurs qui sont des comparaisons de chaînes et d'identifiants plutôt que des opinions, de sorte que la même réponse obtient toujours le même score.
Les questions sont générées par matière à partir des propres données enregistrées de cette matière, ce qui permet de les noter : une question sur ce que l'élève a raté est vérifiée par rapport aux contrôles réellement enregistrés, une question sur un prérequis par rapport à une arête réelle de la carte, une question sur un mois par rapport aux mois où cette matière a réellement été active. Lorsqu'une matière permet plusieurs occurrences, elle en reçoit plusieurs, donc trois concepts et trois mois vides plutôt qu'un de chaque. Six catégories, 420 questions notées par version, sur 45 historiques réels d'élèves rejoués dans une copie isolée de la plateforme et posées via le point de terminaison de chat habituel, en tant que cet élève.
Quatre versions
Les quatre exécutent la même récupération sur les mêmes fichiers. Récupération simple est le tuteur sans aucune mémoire. Fenêtre est la réponse à laquelle la plupart des gens pensent en premier : les vingt derniers tours de conversation, insérés sans classement. Épisodes est le rappel classé du seul journal d'épisodes, sans carte conceptuelle, sans croyances et sans traitement particulier des questions sur l'historique. Mémoire totale est tout ce que cet article décrit.
Ce que dit le tableau
Dans l'ensemble, le tuteur passe de 168 sur 420 à 383, soit 40 % contre 91. La moyenne est le chiffre le moins intéressant ici ; la forme de la différence est le résultat qui compte.
Une fenêtre plus grande ne suffit pas. Ajouter les vingt derniers tours dans le prompt fait passer le score de 40 % à 65, et c'est tout ce que cela apporte. Cela répond correctement à 5 sur 32 questions sur ce que l'élève a raté, parce que vingt tours de discussion ne sont pas l'endroit où cette information se trouve, et le système se trompe encore sur un mois vide plus souvent qu'autrement. C'est la réponse du type « il suffit de mettre plus de conversation dedans », mesurée plutôt qu'affirmée.
Le rappel classé fait l'essentiel. Le journal d'épisodes à lui seul atteint 83 %. Si vous ne devez construire qu'une seule chose, construisez celle-ci : un journal en ajout seul, noté par pertinence, représente l'essentiel de la valeur de cet article.
La carte et les croyances valent les 33 autres questions, et elles les méritent dans deux endroits précis plutôt que partout. Interrogées sur quoi réviser avant un sujet, les versions sans carte conceptuelle répondent correctement environ 55 % du temps contre 96 pour la mémoire totale, parce que les prérequis sont des arêtes et qu'un journal d'épisodes n'en a aucune. Interrogé sur ce que l'élève a raté, les croyances et la branche liée à l'historique font passer le score de 24 sur 32 à 30. Interrogée pour expliquer un concept, la carte n'apporte rien du tout : 100 dans les deux cas.
récupération simple, un mois sans activité 1 réponse correcte sur 132. Interrogé sur ce qui a été couvert durant un mois où l'élève n'a jamais été actif, il décrit le contenu et lui attribue ce mois, presque à chaque fois.
mémoire totale, même question 128 sur 132. Il indique qu'il n'a aucun historique de cette période et propose ce dont il dispose.
Ce que cet achat a coûté
Ce que ce benchmark ne montre pas
Le dernier de ces chiffres est celui à garder en tête pour la suite. Nous avons posé à la mémoire totale les 420 questions identiques une seconde fois, et 44 d'entre elles ont obtenu un score différent. Le bruit d'une exécution à l'autre est donc d'environ un dixième, l'écart de 33 questions entre les deux meilleures versions le dépasse largement, mais l'écart de 2 questions entre elles sur le mois vide non : sur cette catégorie, elles sont à égalité et nous ne prétendrons pas le contraire.
Une catégorie s'est révélée sans valeur, et nous la laissons dans le graphique plutôt que de la retirer discrètement. Un mois où l'élève était actif obtient 44 sur 44 pour chaque version, y compris celle qui n'a aucune mémoire. Il ne peut pas distinguer un rappel ancré dans les faits d'une description plausible qui tombe juste sur le bon mois, ce qui est exactement l'échec que sa catégorie jumelle permet de repérer. Un test que tout le monde réussit ne mesure rien.
Les correcteurs sont des comparaisons de chaînes écrites par les mêmes personnes qui ont construit la fonctionnalité. Ils récompensent une réponse qui reprend les mots enregistrés et ne peuvent pas reconnaître une bonne réponse formulée tout autrement, et cela nous a coûté cher une fois : les questions sur les prérequis avaient été générées avec le sens de l'arête inversé, si bien que pendant longtemps cette catégorie est apparue comme la plus faible de la mémoire, alors que le tuteur donnait la propre réponse de la carte et se voyait marqué comme ayant tort. C'est en réalité la catégorie la plus forte de la carte. Nous l'avons découvert en lisant les échecs plutôt que les totaux, ce qui est le seul moyen de faire remonter ce genre d'erreurs.
Et la population n'est pas aléatoire. Il s'agit de 45 historiques réels choisis parce qu'ils contiennent quelque chose : au moins quinze messages, des fichiers joints, et pour les catégories qui nécessitent des réponses notées, au moins cinq d'entre elles. Un élève qui a à peine commencé exercerait beaucoup moins tout cela, et verrait beaucoup moins la différence.
Ce que ceci n'est pas
Quatre choses avec lesquelles on le confond, et ce qu'il est à la place.
- Pas une fenêtre de contexte plus grande. Le coût par tour est borné et ne croît pas avec l'historique. Le benchmark chiffre la différence : la fenêtre naïve a répondu correctement à 65 % des 420 questions là où la mémoire a répondu à 91.
- Pas un résumé. Rien n'est réécrit. Les épisodes sont immuables, une correction est une nouvelle ligne qui pointe vers l'ancienne, et la croyance de mars reste lisible après que celle d'août l'a remplacée.
- Pas une recherche vectorielle dans le journal de conversation. L'index vectoriel n'est que l'un des quatre réservoirs, et le classement filtre d'abord sur la pertinence avant que la récence, la saillance ou la fréquence n'aient leur mot à dire.
- Pas un profil de l'élève rédigé par un modèle. Aucun passage sur l'historique ne produit de description de l'apprenant. Chaque croyance est une fourchette calculée à partir de réponses notées, avec les identifiants de preuve associés et une chaîne de remplacement derrière elle.
Ce qu'il est : une lecture bornée sur un journal immuable, un graphe du contenu extrait une fois par fichier, et des croyances qui portent leur propre preuve.
Les principes que nous avons gardés
- Rien n'est inventé. La maîtrise ne vient que des contrôles, des quiz et des parties ; un concept n'existe que parce qu'un fichier l'a expliqué ou qu'une personne l'a enseigné ; une période vide le dit.
- La preuve, ou cela n'a pas eu lieu. Chaque croyance, chaque ligne de rapport, chaque lacune porte les identifiants de ce sur quoi elle repose, et le panneau de citation montre les souvenirs à côté des pages.
- La rétention n'est pas l'actualité. Garder la croyance de mars pour toujours ; ne jamais s'y ancrer une fois qu'août l'a remplacée. Une correction est une nouvelle ligne avec un lien, jamais une modification.
- La pertinence prime sur la récence. Élargir avant de découper ; filtrer, pas seulement pondérer.
- La propre narration du tuteur n'est pas une mémoire. Une réponse qui relate l'historique est marquée au moment de l'écriture et jamais rappelée comme un souvenir du sujet.
- L'ordre est un contenu. Un modèle lit la première affirmation qui fait autorité sur un historique et s'arrête là ; placer l'historique avant tout ce qui pourrait être pris pour lui.
- Un énoncé est une preuve, jamais un sujet. "Ask me the questions" peut être juste ou faux ; personne ne le comprend.
- Une mémoire doit pouvoir se vérifier elle-même. Enregistrer l'empreinte à l'instant considéré ; vérifier par recherche ; traiter "invérifiable" comme une réponse à part entière.
L'ensemble tient en quelques milliers de lignes, pour la plupart ordinaires : un registre, un graphe, une fonction de score, un moteur de rendu avec un budget, et une tâche nocturne. La partie difficile n'était pas le code, mais de décider, chaque fois que le modèle disait quelque chose de fluide et de faux, que la correction appartenait à la mémoire, pas au ton de voix du prompt.