Uno studente parla con la stessa materia per mesi: migliaia di messaggi, decine di file, centinaia di piccole verifiche. Inserire sempre più di questo nel prompt non è scalabile e non rende il tutor onesto. Ecco come abbiamo dato a ogni materia una memoria che classifica il passato per pertinenza, una mappa concettuale del materiale e convinzioni sullo studente che portano con sé le proprie prove, e cosa ci hanno insegnato le cronologie reali quando le abbiamo riprodotte. Nessun fornitore viene nominato di proposito: il metodo non ne dipende. Ogni numero qui riportato è stato misurato, non stimato.
Cosa deve significare "ricordare"
La risposta ingenua a «il tutor dimentica» è una finestra più grande: tenere più conversazione nel prompt e riassumere il resto. Fallisce in tre modi distinti, e ognuno è un problema di prodotto prima di essere un problema tecnico.
- Il tempo. Uno studente che chiede a settembre di qualcosa trattato a luglio ha bisogno della sessione di luglio, non degli ultimi quaranta messaggi. Un riassunto di «cosa è successo finora» diventa più vago man mano che cresce; il dettaglio rilevante è esattamente ciò che un riassunto elimina.
- I file. Una materia contiene decine di documenti. Il recupero individua gli otto passaggi più vicini alla domanda, il che va bene per i fatti ed è inutile per «come si collega questo capitolo a quello», la struttura del materiale non sta mai in un singolo passaggio.
- L'onestà. Un tutor che dichiara «hai capito l'osmosi» deve poter dire perché: quale verifica, in quale giorno, cosa ha risposto lo studente. Un numero senza prove è una supposizione con la virgola.
Così, prima di scrivere una riga, abbiamo fissato tre promesse: ogni turno diventa un episodio duraturo e il richiamo classifica l'intera cronologia per pertinenza, non per data; i concetti vengono estratti una sola volta per file e uniti in un'unica mappa per materia; e la padronanza è alimentata solo da prove, una verifica risposta, un quiz svolto, una partita giocata, e ogni convinzione conserva le proprie prove e la propria storia. E una quarta promessa, più discreta: quando il tutor non ha memoria di qualcosa, lo dice chiaramente.
La forma del sistema
Tre archivi, una lettura a budget per ogni turno, un ciclo ogni notte. I file alimentano la mappa; la conversazione alimenta il registro degli episodi; le verifiche alimentano le convinzioni. Ogni turno di chat legge una piccola porzione classificata di tutti e tre e la inserisce nel prompt entro un budget fisso di token. Nulla, nel percorso di lettura, chiama un modello generativo. L'unico modello che chiama è l'embedding, una volta per turno, condiviso da instradamento e richiamo; l'unico passaggio generativo fuori dalla chat è quello che legge un nuovo file nella mappa.
Episodi: un registro a sola aggiunta e concatenato con hash
Ogni evento diventa un episodio: una domanda, una risposta, una verifica con il suo esito, il risultato di un quiz, l'arrivo di un file, qualcosa che lo studente ha esplicitamente insegnato al tutor. Un episodio contiene un riassunto di una riga, il testo completo, i concetti toccati, un punteggio di salienza fissato al momento della scrittura, e le sue prove: per una risposta, il file e la pagina citati, con l'impronta del file in quel momento. Gli episodi non vengono mai modificati. Ciascuno conserva l'hash di quello precedente nella stessa catena, così il registro è ricalcolabile e qualsiasi manomissione, o qualsiasi riscrittura silenziosa dovuta a una migrazione bene intenzionata, si manifesta come un'interruzione. È un indizio di manomissione, non una garanzia contro le manomissioni: una riscrittura viene rilevata, mai impedita, e solo finché la catena, o un suo checkpoint, viene conservata.
La salienza è fissata da cosa è un episodio, non da un umore: una verifica sbagliata (0.7) conta più di una superata (0.6), e qualcosa che lo studente ha insegnato al tutor (0.85) conta più di tutto, perché è l'unico ricordo che una persona ha chiesto esplicitamente di conservare. Una domanda vale un modesto 0.35, la domanda di uno studente è un richiamo corretto ma un ricordo inutile, cosa che si rivela importante più avanti nel percorso «a cosa mi fa pensare questo».
Richiamo: la pertinenza deve prevalere sulla recenza
Il richiamo è associativo, non cronologico. I candidati vengono raccolti da diversi insiemi, ciascuno che raggiunge l'intera cronologia, e solo dopo vengono valutati: i cinquecento più recenti, ogni episodio che contiene una parola distintiva della domanda, ogni episodio che tocca i concetti a cui la domanda è stata instradata, e i vicini semantici dell'indice vettoriale. Allargare prima e restringere dopo è la decisione di progettazione più importante del modulo, la prima versione restringeva prima ("i 500 più recenti") e non riusciva a richiamare, a nessun livello di pertinenza, un ricordo di marzo perfettamente pertinente, perché veniva tagliato prima di essere valutato.
I pesi da soli non bastano. Quando la domanda riguarda qualcosa e qualcosa corrisponde, gli episodi che non corrispondono a nulla vengono scartati invece che classificati, una nota irrilevante ma recente ottiene 0.15 × 1.0 solo per la recenza, mentre una corrispondenza esatta di 200 giorni prima ottiene 0.55 × 0.156, e nessuna ponderazione che permetta a una non-corrispondenza di superare una corrispondenza è corretta, a qualsiasi impostazione. La recenza spareggia, non classifica. Due domande che chi legge dovrebbe porsi su questi numeri: da dove vengono, e se li abbiamo tarati sui dati. Sono stati impostati a mano, ereditati da una versione precedente della nostra memoria costruita per un prodotto diverso, e non sono stati tarati su nessuno dei dati di questo articolo. Nulla, qui sotto, è stato ottimizzato per tentativi o tarato sui dati; l'unica modifica che abbiamo apportato al punteggio è nata da un errore che potevamo individuare con precisione, non da una ricerca, ed è stata il filtro, non un peso. Il filtro ha due eccezioni: nessuna domanda (allora la recenza è tutto ciò che resta), e nessuna corrispondenza (allora il passato recente è l'offerta onesta migliore).
Due cose che le cronologie reali hanno aggiunto
Le ripetizioni collassano. In una materia reale, 161 domande degli studenti erano 56 frasi distinte, «cos'è una cellula» chiesto nove volte in tre mesi. Nove copie sono un solo ricordo, ricordato nove volte, quindi il richiamo unisce gli episodi identici e riporta per quanti sta il superstite. Il tempo è un filtro, non un indizio. «Cosa abbiamo trattato a luglio?» viene analizzato come una finestra temporale e il richiamo agisce prima al suo interno; se la finestra è vuota, il blocco lo dichiara esplicitamente (vedi § onestà). I nomi dei mesi funzionano nelle lingue in cui scrivono i nostri studenti, così come «la settimana scorsa» e «ieri».
La mappa concettuale
I passaggi rispondono a «cosa dice il file qui»; una mappa risponde a «di cosa è fatta questa materia, e cosa si basa su cosa». Ogni file viene letto una sola volta da un passaggio del modello che restituisce un elenco limitato di concetti, nome, sintesi in una frase, una breve definizione, i concetti su cui si basa dalla sua stessa lista, le pagine in cui il file lo spiega. I titoli delle sezioni ("Introduzione", "Errori comuni") vengono rifiutati da un validatore; un nome che in realtà è un titolo di capitolo è l'arredamento del file, non le idee della materia.
I concetti si uniscono tra i file tramite una chiave canonica (un nome normalizzato, che tiene conto della scrittura) e tramite una similarità di embedding sopra 0.86. La provenienza si accumula: un capitolo che rispiega l'osmosi si aggiunge a un unico nodo invece di crearne un secondo, e ogni file che ha contribuito resta elencato con le sue pagine. Un prerequisito che il file presuppone ma non spiega mai diventa un nodo solo quando due concetti lo presuppongono, allora la lacuna è reale e vale la pena mostrarla; un caso isolato viene registrato sul concetto come "presupposto" e non viene disegnato in nessun punto. Il primo documento normativo che abbiamo letto ha trasformato 11 concetti in 34 nodi, prima che questa regola esistesse.
Dalla mappa derivano tre numeri. La centralità è un PageRank pesato sugli archi (un prerequisito su cui tutto si basa è un nodo cardine). La preparazione per concetto segue quattro fasce, 0.35 solo nominato, 0.60 spiegato da un file, 0.85 confermato da una verifica superata, 1.0 insegnato da una persona, e la preparazione della materia è la media pesata per centralità, quindi un nodo cardine che i file non spiegano costa più di una foglia. L'ordine di insegnamento è una stratificazione topologica: prima i prerequisiti, prima i nodi cardine all'interno di ogni livello; ha sostituito una chiamata al modello che prima delineava «cosa insegnare» a partire da quattordici passaggi.
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)
…
Il testo dell'intestazione è stato di per sé una lezione. La prima versione diceva «79% compreso», e un modello che la leggeva diceva tranquillamente a uno studente «dato il tuo livello di comprensione attuale del 79%…». Un numero di preparazione che può essere letto come la padronanza dello studente verrà letto così; la riga ora dice di cosa parla.
Insegnare la materia
Una persona può aggiungere alla mappa parlandole. «Ricorda che nella nostra classe chiamiamo i mitocondri la centrale energetica della cellula» allega una nota d'insegnamento al concetto che nomina (instradamento per nome, solo con corrispondenza esatta), porta la preparazione di quel concetto a 1.0, scrive un episodio d'insegnamento e inserisce la nota nella sintesi. Quando la frase non nomina nessun concetto esistente, viene creato un nuovo nodo al livello d'insegnamento con un nome breve, mai l'intera frase. Le domande non insegnano mai; solo un esplicito «ricorda che», «considera X come», o il suo equivalente nella lingua dello studente, lo fa.
Convinzioni che conservano la propria storia
Una convinzione è ciò che il tutor pensa attualmente di questo studente su questo concetto, «ha difficoltà con l'osmosi», «comprende il citoplasma», con una confidenza e gli episodi che la sostengono. La regola che conta: le righe non vengono mai aggiornate per diventare un'affermazione diversa. Quando il tutor cambia idea, la vecchia riga resta esattamente com'era, ne viene inserita una nuova, e quella vecchia punta a quella nuova. Il richiamo legge solo le righe che nulla ha sostituito; un rapporto può risalire la catena quando qualcuno chiede cosa è cambiato e perché. Conservazione e attualità sono proprietà diverse, e una memoria che mantiene entrambe è una su cui si può costruire un rapporto.
Le convinzioni sono economiche dove conta: circa venti token ciascuna, e una vale per decine di episodi. È questo rapporto, non una finestra più grande, il vero significato di «ricordare più di quanto entri nel contesto». Gli episodi non vengono scartati, sono ciò con cui una convinzione viene verificata, ma arrivano secondi e chi chiama spende su di loro il budget che resta.
A quale argomento si riferisce una convinzione?
Questa è stata la parte che i dati reali hanno rotto per prima. In modalità insegnamento, l'«argomento» di una verifica era le parole stesse dello studente, così le verifiche riprodotte generavano convinzioni come comprende ask me the questions e ha difficoltà con bueno ahora explícame todos los pasos. Ora l'argomento di una verifica viene instradato a un concetto per nome, e quando la stringa dell'argomento è una frase, tramite il testo di valutazione del tutor stesso (che di solito nomina il concetto), solo con corrispondenza esatta del nome. Un argomento che non corrisponde a nulla e si legge come un'espressione parlata, parole interrogative, verbi del chiedere, pronomi, riempitivi, nelle lingue usate dai nostri studenti, viene conservato come prova ma non diventa mai una convinzione. Un cambiamento di regola come questo richiede un modo per riderivare: ritirare le convinzioni attuali (mai eliminarle), riprodurre le verifiche registrate secondo le regole di oggi, senza toccare alcun episodio.
Un turno, dentro un budget
Ogni turno di chat chiede al "cervello" un blocco, costruito fuori dal percorso della richiesta con un tetto di tempo rigido. Su 155 turni il blocco ha impiegato 295 ms alla mediana, 403 ms al 90° percentile e 445 ms al 95°, con una sola costruzione oltre il secondo e nessuna oltre il tetto di 2.5 s, superato il quale il pacchetto viene scartato anziché atteso, così che una memoria lenta non si metta mai davanti al primo token. Un unico embedding della domanda serve sia per l'instradamento che per il richiamo. Il blocco entra nello slot di memoria già esistente nel prompt, prima dei passaggi del materiale, e nulla altro nel prompt cambia.
===== 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'ordine all'interno del blocco si è rivelato importante quanto il contenuto. Per una domanda ordinaria la mappa viene prima. Per una domanda sullo storico: «cosa ho sbagliato finora», «cosa abbiamo studiato», «ماذا أخطأت», le convinzioni e il lavoro precedente vengono prima e la mappa per ultima, con una prima riga esplicita che dice che lo studente sta chiedendo del proprio storico. Lo abbiamo imparato da un fallimento: il prompt portava anche una sezione legacy «risultati delle valutazioni» che inizia con «NESSUN TENTATIVO DI QUIZ registrato», e il modello ha risposto a uno studente che aveva risposto a ventotto verifiche in conversazione con «non hai ancora tentato nessun quiz». Un modello legge la prima affermazione autorevole su uno storico e si ferma. Il blocco di memoria ora precede quella sezione, una nota di collegamento le unisce, e una sezione di valutazione che dice solo «niente registrato» viene eliminata quando il blocco di memoria esiste.
Studente: Cosa ho sbagliato nelle verifiche finora, e cosa dovrei rivedere?
Tutor: Cosa hai sbagliato nelle verifiche: 1. Verifica su cos'è una cellula: parzialmente corretto, l'hai descritta come "è come una piccola cosa?", il che è incompleto. Risposte scorrette: hai risposto "sì" e "aqua" in occasioni separate, segnate come sbagliate. 2. Verifica sugli enzimi: hai affermato correttamente che gli enzimi sono "proteine che scompongono il cibo per facilitarne la digestione". Revisioni suggerite: data la tua difficoltà con cos'è una cellula: struttura cellulare (procariote vs eucariote)… componenti di una cellula… per esempio, i mitocondri rilasciano energia dal glucosio, cosa che hai imparato in classe.
Dire "non ne ho traccia"
Il fallimento più istruttivo di tutto il progetto è stato uno scenario che avevamo scritto per farlo passare: seminare una conversazione di luglio, chiedere «cosa abbiamo trattato a luglio su X», controllare la risposta. La risposta iniziava con «A luglio abbiamo trattato X…» ed era fluente, ancorata al file, e completamente inventata, la memoria di luglio non aveva raggiunto il prompt, e il modello aveva narrato luglio a partire dall'impostazione della domanda. Due cause. La modalità domanda-sullo-storico aveva conservato solo verifiche e quiz e aveva scartato la conversazione che era lo storico stesso; e le narrazioni precedenti del tutor stesso («A luglio abbiamo trattato…», salvate come episodi di risposta) venivano richiamate come se fossero ricordi di luglio, il cervello che si ricordava di aver ricordato.
prima "A giugno abbiamo trattato l'argomento della Membrana Cellulare, che viene descritta come segue: la membrana cellulare è un doppio strato di fosfolipidi…"
dopo "Non ho nessuna registrazione di ciò che abbiamo trattato specificamente a giugno riguardo alla membrana cellulare. Posso però fornirti informazioni sulla membrana cellulare a partire dai materiali che abbiamo…"
Entrambi i casi sono ora scenari in un esecutore ripetibile: quello di luglio passa solo se le memorie di luglio sono nel prompt (verificato sugli id di memoria salvati del messaggio, non sulla formulazione della risposta), e quello del mese vuoto passa solo se la risposta dichiara di non avere alcuna registrazione e non descrive una sessione.
La memoria come citazione
La nostra chat aveva già un pannello di provenienza: ogni affermazione in una risposta viene ricondotta a una riga nei file dello studente, e una risposta con troppe poche affermazioni ricondotte viene marcata come perlopiù non ancorata. Quel tracciatore conosceva solo i file. Un corretto «a luglio abbiamo trattato X, e hai fatto giusto il secondo esempio» sarebbe quindi risultato come non presente nei tuoi appunti: la funzione che definisce falsa un'affermazione vera. Così le memorie che sono state ricordate al tutor vengono salvate sulla risposta, e il tracciatore tratta ogni episodio richiamato come un'altra fonte, etichettata con il momento in cui è accaduto.
Lo stesso risultato di ancoraggio assegna a ogni episodio di risposta uno stato: risposto, parziale, o impossibile, salvato a posteriori. È così che il rapporto scopre a quali domande i file non hanno potuto rispondere, senza una seconda chiamata al modello e senza una riga di controllo nascosta nello stream, cosa che abbiamo provato e scartato: nella modalità di risposta semplice nulla filtra lo stream, quindi una riga nascosta sarebbe arrivata allo studente.
Una memoria che si verifica da sola
Una memoria che non può verificare se stessa diventa più sicura e meno corretta col tempo. Poiché le prove di una risposta registrano l'impronta del file al momento, la verifica è una ricerca, non una chiamata al modello: regge: il file citato è ancora lì, invariato; mutata: è stato sostituito o rimosso, e la nota dice quale; non verificabile: la memoria non cita nessun file (una conversazione, una verifica). Questa terza risposta è un risultato di prima classe, non un errore; segnalare una memoria conversazionale come «regge» sarebbe il vero difetto. Un episodio richiamato arriva al prompt già etichettato: "[nota: il file citato qui è stato sostituito o rimosso da allora]".
Il ciclo notturno
Una volta a notte, per ogni coppia studente-materia attiva nell'ultimo giorno, viene eseguito un ciclo deterministico senza chiamate al modello: comprimere la giornata in un episodio di consolidamento (conteggi per tipo, il totale delle verifiche, gli argomenti, i cinque titoli più salienti; una giornata tranquilla non scrive nulla, e la nota non riassume mai il proprio stesso genere); far decadere del 15% qualsiasi convinzione non toccata per 45 giorni e segnalarla perché la prossima verifica la confermi; calibrare la padronanza che il tutor aveva previsto prima di ogni verifica rispetto all'esito; verificare un lotto limitato di citazioni, cominciando da quelle mai controllate; ricostruire il piccolo insieme di lavoro; ricomporre il modello di sé.
La calibrazione è il controllo di onestà sulla confidenza del tutor: prima di ogni verifica sappiamo quale padronanza ha previsto; dopo, sappiamo l'esito. Suddivisa in fasce, questo dà una curva di affidabilità e un errore di calibrazione atteso, e il modello di sé riporta «calibrato» solo a partire da cinque verifiche con una previsione. Fino a quel momento, i suoi limiti lo dichiarano, trattare la confidenza come una classifica, non come una probabilità.
Cosa ci hanno insegnato le cronologie reali
Gli scenari dimostrano i meccanismi; non dimostrano che la cosa funziona nel modo in cui le persone parlano davvero. Così abbiamo costruito una riproduzione: prendere le cronologie studente-materia reali più ricche, solo in lettura, ricostruire ciascuna in una copia isolata della piattaforma, costruire il "cervello" per essa, e porre tre domande a forma reale attraverso l'effettivo endpoint della chat, impersonando quell'utente. Sei coppie, 65–142 messaggi ciascuna, 13–32 esiti in modalità insegnamento ciascuna, una in spagnolo. Non sono un campione casuale e non vanno lette come tale. Abbiamo scelto cronologie con almeno quaranta messaggi, al massimo due per studente, escludendo gli account di test e interni, preferendo quelle con più risposte valutate, perché una cronologia senza nulla dentro non mette alla prova nulla. Questo distorce ogni numero qui a favore degli utenti intensivi. La materia di un utente poco attivo darebbe alla memoria meno da richiamare e meno su cui sbagliare.
Ha prodotto anche le tre correzioni descritte sopra: convinzioni su frasi degli studenti; lo storico risposto dalla mappa invece che dallo storico; la riga legacy «nessun tentativo di quiz» che guidava le risposte; e una conferma che siamo stati felici di vedere: un consolidamento ha segnalato undici memorie il cui file citato non esisteva più. Il verificatore che faceva il suo lavoro.
| Materia (reale, riprodotta) | Messaggi | Verifiche | Concetti | Convinzioni dopo la nuova derivazione | Preparazione della mappa |
|---|---|---|---|---|---|
| Modulo di algebra | 142 | 32 | 16 | 0, l'argomento di ogni verifica era una frase e nessuna valutazione nominava un concetto; le verifiche restano nello storico e il rapporto lo dice | 0.60 |
| Unità di letteratura | 97 | 14 | 10 | 3, tutte associate a un concetto | 0.68 |
| Informatica e risoluzione di problemi | 91 | 29 | 7 | 4, tutte associate a un concetto | 0.60 → 0.81 |
| Biología (spagnolo) | 88 | 31 | 15 | 6 (5 associate a un concetto), soprattutto «ha difficoltà con…» dopo una serie di risposte sbagliate | 0.62 |
| Triple Science | 75 | 13 | 16 | 2, entrambe associate a un concetto | 0.64 |
| Quaderno di religione | 65 | 18 | 12 | 6 (5 associate a un concetto) | 0.72 |
La riga dell'algebra è quella onesta. Trentadue verifiche e nessuna convinzione, perché nessuna poteva essere collegata a un concetto: lo studente rispondeva con l'aritmetica, le risposte del tutor non nominavano mai i concetti del capitolo, e un'espressione parlata non è un argomento. Il rapporto per quello studente dice «32 verifiche sono registrate, ma nessuna poteva ancora essere collegata a un concetto nella mappa» invece di «ancora nessuna verifica». Niente è stato inventato, nemmeno la padronanza.
Un benchmark, non una demo
Tutto quanto sopra è una misurazione o un campione: quanto tempo richiedono le cose, cosa ha prodotto la riproduzione, risposte che ci sono piaciute. Nulla di tutto ciò dimostra che la memoria meriti il suo posto, perché non è stato confrontato nulla con lo stesso tutor senza di essa. Per questo abbiamo eseguito il confronto. Un insieme di domande pre-registrato, quattro versioni dello stesso tutor che differiscono solo per ciò che raggiunge il prompt, e valutatori che sono confronti di stringhe e id piuttosto che opinioni, così che la stessa risposta ottenga sempre lo stesso punteggio.
Le domande sono generate per materia a partire dai dati effettivamente registrati per quella materia, ed è questo che le rende valutabili: una domanda su cosa lo studente ha sbagliato viene verificata rispetto alle verifiche realmente registrate, una domanda su un prerequisito rispetto a un collegamento reale nella mappa concettuale, una domanda su un mese rispetto ai mesi in cui quella materia è stata effettivamente attiva. Dove una materia ne supporta più di una, ne riceve più di una, quindi tre concetti e tre mesi vuoti anziché uno di ciascuno. Sei categorie, 420 domande valutate per versione, su 45 storici reali di studenti riprodotti in una copia isolata della piattaforma e poste tramite l'endpoint di chat ordinario come quello studente.
Le quattro versioni
Tutte e quattro eseguono lo stesso recupero sugli stessi file. Recupero semplice è il tutor senza alcuna memoria. Finestra è la soluzione a cui la maggior parte delle persone ricorre per prima: gli ultimi venti turni di conversazione, inseriti senza alcun ordine. Episodi è il recupero ordinato del solo registro degli episodi, senza mappa concettuale, senza convinzioni e senza una gestione speciale delle domande sullo storico. Memoria completa è tutto ciò che questo articolo descrive.
Cosa dice la tabella
Nel complesso il tutor passa da 168 su 420 a 383, ovvero dal 40 percento al 91. Il valore medio è il dato meno interessante qui; la forma della differenza è la vera scoperta.
Una finestra più grande non basta. Inserire nel prompt gli ultimi venti turni fa passare dal 40 percento al 65, ed è tutto quello che si ottiene. Risponde correttamente a 5 su 32 domande su cosa lo studente ha sbagliato, perché non è nei venti turni di chat che si trova quell'informazione, e sbaglia ancora sul mese vuoto più spesso di quanto no. È la risposta «basta mettere più conversazione», qui misurata anziché soltanto affermata.
Il recupero ordinato fa quasi tutto. Il registro degli episodi da solo raggiunge l'83 percento. Se dovete costruire una sola cosa, costruite questa: un registro a sola aggiunta, valutato per rilevanza, è la maggior parte del valore di questo articolo.
La mappa e le convinzioni valgono le altre 33 domande, e le guadagnano in due punti specifici piuttosto che ovunque. Quando si chiede cosa ripassare prima di un argomento, le versioni senza mappa concettuale rispondono correttamente circa il 55 percento delle volte e la memoria completa il 96, perché i prerequisiti sono collegamenti e un registro degli episodi non ne ha nessuno. Quando si chiede cosa lo studente ha sbagliato, le convinzioni e il ramo dello storico portano da 24 su 32 a 30. Quando si chiede di spiegare un concetto, la mappa non aggiunge nulla: 100 in entrambi i casi.
recupero semplice, un mese senza attività 1 risposta corretta su 132. Quando le si chiede cosa è stato trattato in un mese in cui lo studente non è mai stato attivo, descrive il materiale e vi associa quel mese, quasi ogni singola volta.
memoria completa, stessa domanda 128 su 132. Dichiara di non avere alcuno storico di quel periodo e offre quello che ha.
Cosa è costato ottenerlo
Cosa questo benchmark non mostra
L'ultimo di questi numeri è quello da tenere a mente leggendo il resto. Abbiamo posto alla memoria completa le stesse identiche 420 domande una seconda volta, e 44 di esse hanno ottenuto un punteggio diverso. Quindi il rumore da un'esecuzione all'altra è di circa un decimo, il divario di 33 domande tra le due versioni migliori è ben al di fuori di quel margine, mentre il divario di 2 domande tra loro sul mese vuoto non lo è: su quella categoria sono in parità, e non affermeremo il contrario.
Una categoria si è rivelata inutile e la lasciamo nel grafico invece di rimuoverla silenziosamente. Un mese in cui lo studente era attivo ottiene 44 su 44 per ogni versione, inclusa quella senza alcuna memoria. Non riesce a distinguere un ricordo fondato da una descrizione plausibile che per caso riporta il mese giusto, che è esattamente il difetto che la sua categoria gemella individua. Un test che tutti superano non misura nulla.
I valutatori sono confronti di stringhe scritti dalle stesse persone che hanno costruito la funzionalità. Premiano una risposta che riutilizza le parole registrate e non riescono a riconoscere una risposta corretta formulata in modo completamente diverso, e ci sono costati caro una volta: le domande sui prerequisiti erano generate con la direzione del collegamento invertita, così per molto tempo questa categoria è sembrata la più debole della memoria, mentre il tutor stava dando la risposta esatta secondo la mappa e veniva segnato come sbagliato. È la categoria più forte della mappa. L'abbiamo scoperto leggendo i fallimenti invece dei totali, che è l'unico modo in cui questi errori emergono.
E la popolazione non è casuale. Si tratta di 45 storici reali scelti per avere qualcosa al loro interno: almeno quindici messaggi, file allegati, e per le categorie che richiedono risposte valutabili, almeno cinque di queste. Uno studente che ha appena iniziato metterebbe alla prova molto meno di tutto questo, e vedrebbe una differenza molto più ridotta.
Cosa non è
Quattro cose per cui viene scambiato, e cos'è invece.
- Non una finestra di contesto più grande. Il costo per turno è limitato e non cresce con la lunghezza della conversazione. Il benchmark mette un numero su questa differenza: la finestra ingenua ha risposto correttamente al 65 percento di 420 domande, contro il 91 della memoria.
- Non un riassunto. Nulla viene riscritto. Gli episodi sono immutabili, una correzione è una nuova riga che punta a quella precedente, e la convinzione di marzo resta leggibile anche dopo che agosto l'ha sostituita.
- Non una ricerca vettoriale sul registro della chat. L'indice vettoriale è uno dei quattro pool, e la classifica applica un filtro sulla rilevanza prima che recenza, salienza o frequenza abbiano voce in capitolo.
- Non un profilo dello studente scritto da un modello. Nessuna scansione della cronologia produce una descrizione dello studente. Ogni convinzione è una fascia calcolata a partire dalle risposte valutate, con gli id delle prove allegati e una catena di sostituzioni alle spalle.
Cos'è: una lettura limitata su un registro immutabile, un grafo del materiale estratto una volta per file, e convinzioni che portano con sé le proprie prove.
I principi che abbiamo mantenuto
- Niente è inventato. La padronanza deriva solo da verifiche, quiz e partite; un concetto esiste solo perché un file lo ha spiegato o una persona lo ha insegnato; un periodo vuoto lo dichiara.
- Prove, o non è accaduto. Ogni convinzione, ogni riga di rapporto, ogni lacuna porta gli id di ciò su cui si basa, e il pannello delle citazioni mostra le memorie accanto alle pagine.
- La conservazione non è attualità. Conserva per sempre la convinzione di marzo; non ancorarti mai a essa una volta che agosto l'ha sostituita. Una correzione è una nuova riga con un collegamento, mai una modifica.
- La pertinenza prevale sulla recenza. Allarga prima di restringere; filtra, non limitarti a pesare.
- La narrazione del tutor stesso non è memoria. Una risposta che racconta lo storico viene marcata al momento della scrittura e non viene mai richiamata come memoria della materia.
- L'ordine è contenuto. Un modello legge la prima affermazione autorevole su uno storico e si ferma; metti lo storico prima di qualsiasi cosa che potrebbe essere confusa con esso.
- Un'espressione parlata è una prova, mai un argomento. «Ask me the questions» può essere giusta o sbagliata; nessuno la comprende.
- Una memoria deve poter verificare se stessa. Registra l'impronta al momento; verifica tramite ricerca; considera «non verificabile» come una risposta.
Il tutto è poche migliaia di righe, per la maggior parte ordinarie: un registro, un grafo, una funzione di punteggio, un renderer con un budget, e un job notturno. La parte difficile non è stato il codice, ma decidere, ogni volta che il modello diceva qualcosa di fluente e sbagliato, che la correzione appartenesse alla memoria, non al tono di voce del prompt.