Oltre il muro dei token: perché i compagni AI soffrono di degrado del contesto
La maggior parte dei compagni AI parte in quarta e poi si fa vaga. Non è il modello a perdere interesse: è la conversazione che esce dalla finestra che riesce a vedere.
L’illusione della memoria
La prima ora con un compagno AI qualsiasi ha qualcosa di inquietante. Riprende il filo, ricorda il nome di tua sorella, torna sulla discussione avuta due scene prima. Ti fa sentire davvero conosciuto.
Poi, da qualche parte intorno al trentesimo messaggio, comincia a deragliare. Ti chiede qualcosa a cui hai già risposto. Un personaggio uscito dalla stanza torna improvvisamente a parlare. La ferita di ieri è guarita senza che nessuno l’abbia curata.
Non si è rotto nulla. Hai semplicemente raggiunto il limite di ciò che il modello riusciva a vedere.
Un modello linguistico non ha memoria tra una chiamata e l’altra. Ogni turno è una richiesta nuova che porta con sé l’intera conversazione, e quella richiesta ha una dimensione massima: la finestra di contesto. Quando la superi, il materiale più vecchio viene eliminato. Le prime scene scivolano fuori dal retro e, dal punto di vista del modello, non sono mai esistite.
Come si manifesta davvero il degrado del contesto
Nella maggior parte delle app per compagni AI, il cedimento è raramente spettacolare. È una lenta perdita di specificità, ed è per questo che è così facile attribuirla alla presunta “pigrizia” del modello.
- I nomi si confondono. Due personaggi secondari si fondono in uno, oppure un nome viene riutilizzato per qualcun altro.
- Le promesse evaporano. Un personaggio che aveva giurato di incontrarti al porto non ha idea di cosa tu stia parlando.
- La posta in gioco si azzera. Il debito, la ferita, il segreto che qualcuno sta custodendo: la trama torna silenziosamente a uno stato neutro.
- I fatti stabiliti cambiano. Un personaggio che non sa nuotare va a nuotare.
Presi singolarmente, fanno alzare le spalle. Insieme, segnano la differenza tra una storia e una serie di scene piacevoli ma scollegate. E spiegano perché i roleplay lunghi spesso si spengano invece di arrivare a una conclusione.
Quattro modi per non perdere il passato
Oggi si usano quattro approcci, e ciascuno cede in un punto diverso.
| Approccio | Come conserva il passato | Dove si rompe |
|---|---|---|
| Finestra scorrevole | Gli ultimi N messaggi, parola per parola | Tutto ciò che è più vecchio sparisce. Ricordo perfetto dentro la finestra, amnesia totale al di fuori. |
| Finestra molto ampia | Decine o centinaia di migliaia di token, parola per parola | Costi e latenza crescono a ogni turno, mentre l’attenzione si dirada nel mezzo di un contesto lungo: il modello può vedere un dettaglio e comunque non dargli il giusto peso. |
| Recupero vettoriale (RAG) | Messaggi passati trasformati in embedding e cercati per similarità | Restituisce testi che sembrano pertinenti. Non sa cosa sia vero in quel momento, quindi un fatto e la sua successiva correzione gli appaiono ugualmente validi. |
| Stato strutturato della storia | Fatti, personaggi, relazioni ed eventi messi per iscritto man mano che accadono | Richiede un lavoro concreto di manutenzione ed è valido solo quanto ciò che viene annotato: quello che non viene registrato è perduto. |
Volevo un mondo che mettesse le cose per iscritto. Quando lei ricorda la vostra terza sera insieme, è perché l’ha vissuta davvero.
Fondatore, projectDigo
Perché una finestra più ampia non è la soluzione
La soluzione più ovvia è rendere enorme la finestra. È anche la più costosa, e non fa ciò che ci si aspetta.
L’intero contesto viene inviato e riletto a ogni singolo turno. Così una conversazione con centomila token di storia paga di nuovo per tutto a ogni messaggio e aspetta più a lungo ogni risposta. Peggio ancora, un modello che legge un contesto molto lungo non lo legge in modo uniforme: ciò che il tuo personaggio ha detto quaranta scene fa può essere tecnicamente presente e praticamente invisibile.
Una finestra ampia compra tempo. Non cambia la forma del problema, perché il problema non è la capacità: è che nulla decide che cosa conta davvero.
Cosa facciamo invece
projectDigo conserva un resoconto della storia.
Ciò che conta — chi esiste, cosa è successo tra i personaggi, cosa è vero in questo momento — viene mantenuto come stato della storia, invece di restare in una conversazione destinata prima o poi a uscire dalla finestra. Le scene successive vengono scritte a partire da quello stato. La scena quattrocento sa che cosa è stato stabilito nella scena tre, perché la scena tre è stata registrata e non semplicemente pronunciata.
Il modo in cui costruiamo questo resoconto, lo teniamo aggiornato e lo rimettiamo in circolo è l’aspetto su cui abbiamo lavorato più a lungo — e quello che continuiamo a tenere per noi. Il risultato, però, è semplice da capire: una continuità che regge per tutta la durata del gioco.
Il compromesso, senza sconti
Non è gratis. Conservare un resoconto richiede più lavoro per scena che inoltrare una trascrizione, e una storia può ricordare solo ciò che valeva la pena registrare: tutto ciò che sfugge va perduto, proprio come accadrebbe con una finestra scorrevole.
In cambio, la storia si accumula. Dopo dieci ore, il mondo ha un passato che puoi indicare, e i personaggi si comportano come persone che lo hanno vissuto.
Le domande che ci fanno
Perché non usare semplicemente un modello con una finestra di contesto da un milione di token?
Perché paghi l’intero contesto a ogni turno, in termini di denaro e latenza, e perché l’attenzione si dirada nel mezzo di un contesto molto lungo: un dettaglio può essere presente e venire comunque ignorato di fatto. Una finestra ampia rimanda il degrado del contesto, ma non lo elimina.
È la stessa cosa del RAG?
Sono approcci collegati, ma non sono la stessa cosa. Il recupero trova passaggi che assomigliano alla richiesta: è utile per cercare informazioni, ma poco affidabile per capire cosa sia vero in quel momento, perché un fatto e la sua successiva correzione appaiono entrambi come buoni risultati. Un resoconto della storia conserva lo stato — ciò che è vero ora — invece di testi dal suono simile.
Quanto indietro può ricordare davvero un personaggio?
In projectDigo, fino all’inizio della sessione. A persistere è lo stato della storia, non la formulazione di ogni messaggio, quindi il ricordo non si deteriora man mano che la sessione si allunga.
Il modello può mai contraddire la propria memoria?
Può succedere: per questo projectDigo controlla la coerenza prima che una scena arrivi a te. Di solito la correzione avviene senza che tu la veda. Nulla intercetta ogni errore, ma il problema passa dall’essere un deragliamento costante a uno scivolone occasionale.