Skip to main content

Voorbij de tokenmuur: waarom AI-metgezellen last krijgen van contextverval

De meeste AI-metgezellen beginnen scherp en worden gaandeweg vaag. Het model verliest niet zijn interesse — het gesprek valt buiten het venster dat het kan zien.

A line of glowing manuscript pages leads through a dark archive hall to a framed portrait of a woman, while the other pages dissolve into ash.

De illusie van geheugen

Het eerste uur met een doorsnee AI-metgezel is bijna unheimisch. Hij pikt de draad weer op, onthoudt de naam van je zus en verwijst terug naar de ruzie van twee scènes geleden. Het voelt alsof iemand je echt kent.

Maar ergens rond het dertigste bericht begint hij af te dwalen. Hij vraagt iets wat je al hebt beantwoord. Een personage dat de kamer heeft verlaten, begint ineens weer te praten. De wond van gisteren is genezen zonder dat iemand ernaar heeft omgekeken.

Er is niets stukgegaan. Je hebt simpelweg de grens bereikt van wat het model kon zien.

Een taalmodel heeft tussen twee aanroepen door geen geheugen. Elke beurt is een nieuw verzoek waarin het hele gesprek wordt meegestuurd, en dat verzoek heeft een maximale omvang: het contextvenster. Zodra je daar overheen gaat, valt het oudste materiaal weg. Je eerste scènes verdwijnen aan de achterkant, en vanuit het oogpunt van het model hebben ze nooit plaatsgevonden.

Hoe contextverval er echt uitziet

Bij de meeste companion-apps is de misser zelden spectaculair. Het is een langzaam verlies aan details, en juist daarom is het zo makkelijk om het model van "luiheid" te beschuldigen.

  • Namen vervagen. Twee bijpersonages vloeien samen tot één, of een naam wordt opnieuw gebruikt voor iemand anders.
  • Beloften verdampen. Een personage dat gezworen had je in de haven te ontmoeten, heeft geen idee waar je het over hebt.
  • De inzet valt weg. De schuld, de verwonding, het geheim dat iemand bewaart — het verhaal zakt ongemerkt terug naar een neutrale stand.
  • Vaststaande feiten slaan om. Een personage dat niet kan zwemmen, gaat zwemmen.

Op zichzelf kun je om elk van die dingen je schouders ophalen. Samen maken ze het verschil tussen een verhaal en een reeks aangename, losstaande scènes — en daarom loopt lange roleplay zo vaak langzaam leeg in plaats van dat het tot een einde komt.

Vier manieren om het verleden vast te houden

Er zijn vier gangbare aanpakken, en elk ervan loopt op een ander punt vast.

AanpakHoe het verleden wordt vastgehoudenWaar het misgaat
Schuivend vensterDe laatste N berichten, woordelijkAlles wat ouder is, verdwijnt simpelweg. Perfect geheugen binnen het venster, totale amnesie daarbuiten.
Een zeer groot vensterTientallen of honderdduizenden tokens, woordelijkKosten en wachttijd schalen mee met elke beurt, terwijl de aandacht in het midden van een lange context verslapt — het model kan een detail zien en het toch nauwelijks meewegen.
Vectorretrieval (RAG)Eerdere berichten worden als vectoren opgeslagen en op overeenkomst doorzochtLevert tekst op die relevant klinkt. Het weet niet wat op dit moment waar is, waardoor een feit en de latere correctie ervan even goede resultaten lijken.
Gestructureerde verhaalstaatFeiten, personages, relaties en gebeurtenissen worden vastgelegd terwijl ze zich ontvouwenHet kost echt werk om dit bij te houden, en de kwaliteit hangt volledig af van wat wordt vastgelegd — wat niet wordt genoteerd, gaat verloren.

Ik wilde een wereld die dingen vastlegt. Als zij jullie derde avond samen nog weet, komt dat doordat ze er echt bij was.

Oprichter, projectDigo

Waarom een groter venster niet de oplossing is

De voor de hand liggende oplossing is het venster enorm groot maken. Het is ook de duurste oplossing — en het doet niet wat mensen ervan hopen.

Bij elke beurt wordt de volledige context opnieuw verstuurd en gelezen. Een gesprek met honderdduizend tokens aan voorgeschiedenis betaalt daar dus bij elk bericht opnieuw voor — en wacht ook langer op elk antwoord. Erger nog: een model leest een zeer lange context niet overal even aandachtig. Wat je personage veertig scènes geleden zei, kan technisch aanwezig en praktisch onzichtbaar zijn.

Een groot venster koopt tijd. Het verandert de aard van het probleem niet, want het probleem is geen gebrek aan capaciteit — het is dat niets bepaalt wat ertoe doet.

Wat wij anders doen

projectDigo houdt het verhaal bij.

Wat ertoe doet — wie er bestaat, wat er tussen personages is gebeurd en wat er nu waar is — wordt bewaard als de eigen verhaalstaat, in plaats van te worden overgelaten aan een gesprek dat uiteindelijk uit beeld schuift. Latere scènes worden tegen die staat aan geschreven. Scène vierhonderd weet wat scène drie heeft vastgelegd, omdat scène drie is geregistreerd en niet alleen uitgesproken.

Hoe die staat wordt opgebouwd, actueel blijft en opnieuw wordt ingezet, is het onderdeel waar we het langst aan hebben gewerkt — en dat we voor ons houden. Wat het oplevert, is eenvoudig genoeg: continuïteit, hoe lang je ook speelt.

De eerlijke afweging

Dit is niet gratis. Een verhaalstaat bijhouden kost per scène meer werk dan een transcript doorsturen, en een verhaal kan alleen onthouden wat het waard was om vast te leggen — wat wordt gemist, gaat net zo zeker verloren als bij een schuivend venster.

Wat je ervoor terugkrijgt, is een verhaal dat zich opstapelt. Na tien uur heeft de wereld een geschiedenis waar je naar kunt verwijzen, en gedragen de personages zich als mensen die dat allemaal hebben meegemaakt.

Veelgestelde vragen

Waarom niet gewoon een model gebruiken met een contextvenster van één miljoen tokens?

Omdat je bij elke beurt voor de volledige context betaalt, in geld én wachttijd, en omdat de aandacht in het midden van een zeer lange context verslapt — een detail kan aanwezig zijn en toch effectief worden genegeerd. Een groot venster stelt contextverval uit, maar neemt het niet weg.

Is dit hetzelfde als RAG?

Verwant, maar niet hetzelfde. Retrieval vindt passages die op de vraag lijken. Dat is handig om iets op te zoeken, maar onbetrouwbaar om vast te stellen wat nu waar is: een feit en de latere correctie ervan zien er allebei uit als een goede overeenkomst. Een verhaalstaat houdt de toestand bij — wat nu waar is — in plaats van tekst die alleen maar vergelijkbaar klinkt.

Hoe ver terug kan een personage zich eigenlijk herinneren?

In projectDigo tot aan het begin van de sessie. Wat blijft bestaan, is de verhaalstaat en niet de formulering van elk bericht. Daardoor neemt het geheugen niet af naarmate de sessie langer wordt.

Spreekt het model zijn eigen geheugen weleens tegen?

Dat kan — daarom controleert projectDigo de consistentie voordat een scène bij jou terechtkomt. Meestal zie je alleen de correctie die daarop volgt. Niets vangt alles af, maar de fout verandert van een constante afwijking in een incidentele misstap.

← Alle artikelen