Je bent een uur bezig met een AI-assistent aan een projectplan. Halverwege vraag je om de opzet aan te passen op basis van wat je in het begin hebt aangeleverd. Het antwoord klopt niet. Het model verwijst naar iets dat je nooit hebt gezegd en negeert de eis die je in je tweede bericht duidelijk hebt genoemd.
Dat is geen storing. Het begin van het gesprek past niet meer.
De werkruimte van één gesprek
Een taalmodel heeft geen geheugen zoals wij dat bedoelen. Het krijgt bij elke beurt de hele stapel tekst opnieuw aangeleverd en berekent daaruit het volgende antwoord. Die stapel heeft een maximum, en dat maximum heet het context window.
In die stapel zit meer dan je denkt:
- je huidige vraag
- alle eerdere berichten in dit gesprek, van jou en van het model
- de inhoud van bestanden die je hebt toegevoegd
- verborgen instructies van de aanbieder over hoe de assistent zich moet gedragen
- de ruimte die het antwoord zelf nodig heeft
Alles bij elkaar moet passen. Past het niet, dan moet er iets weg, en dat is bijna altijd het oudste deel.
De maat waarin dit wordt uitgedrukt is de token: een stukje tekst van gemiddeld drie of vier letters. Een woord is vaak één token, soms twee. Een pagina tekst is ruwweg vijfhonderd tokens.
Wat er gebeurt als het vol is
Twee dingen, afhankelijk van de dienst.
Bij de simpelste aanpak valt het oudste bericht er gewoon uit. Het model heeft dat deel van het gesprek niet meer voor zich en doet alsof het nooit is gezegd. Vandaar de herhaling: het stelt een vraag die je al beantwoord hebt, of het introduceert opnieuw iets dat al was afgesproken.
Bij de slimmere aanpak maakt de dienst een samenvatting van het oudere deel en zet die samenvatting in de plaats van de originele tekst. De grote lijn blijft dan bewaard en de details verdwijnen. Dat is meestal prettiger in gebruik en tegelijk verraderlijker, want het model klinkt nog steeds alsof het alles weet.
Er is nog een derde effect, dat minder bekend is: modellen presteren merkbaar minder goed op informatie die in het midden van een heel lange invoer staat. Het begin en het eind wegen zwaarder. Een belangrijke eis die je halverwege een lang document hebt genoemd, kan technisch nog binnen het venster vallen en toch onderbelicht blijven.
Vergeten is niet wissen
Hier zit het misverstand dat er voor privacy toe doet.
Als het model het begin van je gesprek niet meer kan zien, is het niet weg. De tekst staat gewoon in je gespreksgeschiedenis, op de servers van de aanbieder, met de bewaartermijn die daar geldt. Wat er is veranderd, is alleen wat het model op dit moment kan raadplegen om een antwoord te maken.
Dat onderscheid loopt vaak door elkaar in gesprekken over AI en gegevens. "De AI is het vergeten" klinkt geruststellend en zegt niets over waar je tekst staat. Wat er wél met je geschiedenis gebeurt, staat in wat een chatgeschiedenis technisch gezien is.
En er is nog een laag. Het context window gaat over één gesprek. Daarnaast hebben veel assistenten een aparte geheugenfunctie die dingen bewaart tússen gesprekken door, en die werkt volgens heel andere regels. Zie onthoudt AI wat je typt.
Waarom een groter venster geen oplossing is
De vensters worden elk jaar groter. Waar een gesprek eerst na een paar pagina's begon te haperen, passen er nu hele rapporten in.
Dat lost het geheugenprobleem deels op en maakt het gegevensprobleem groter. Zolang er maar weinig in past, knip je vanzelf. Past er een heel dossier in, dan plak je een heel dossier, want dat is sneller dan de relevante alinea opzoeken. Het aantal gevoelige gegevens dat in één handeling de organisatie verlaat, stijgt mee met de grootte van het venster.
Dat is dezelfde beweging als bij bestanden: zie wat gebeurt er als je een pdf uploadt naar een chatbot.
Wat dit praktisch betekent
Drie gewoontes die het antwoord beter maken en het risico kleiner, in dezelfde beweging:
- Begin een nieuw gesprek bij een nieuw onderwerp. Je krijgt scherpere antwoorden, en oude gegevens reizen niet mee naar een context waar ze niets te zoeken hebben.
- Plak het deel, niet het geheel. Als je twee alinea's nodig hebt, geef dan twee alinea's. Dat is beter voor het antwoord en het scheelt precies de gegevens die je niet wilde delen.
- Zet het belangrijkste vooraan of achteraan. Wat in het midden van een lange invoer staat, krijgt minder gewicht.
Wie dit eenmaal doorheeft, kijkt anders naar een lang gesprek. Het is geen archief waar de assistent in bladert, het is een stapel tekst die elke beurt opnieuw wordt voorgelezen. En alles wat je erin hebt gezet, wordt bij elke volgende vraag opnieuw meegestuurd, ook als het toen alleen even handig was.