Context-window uitgelegd | EIGHTY8

Wat is een context-window? De hoeveelheid tekst die een model in één keer 'ziet'. Waarom het venster bepaalt wat een model kan onthouden per aanroep.

Het context-window is de totale hoeveelheid tekst die een taalmodel in één aanroep kan omvatten: je vraag, alle meegegeven documenten, eerdere wissels in het gesprek én het antwoord dat het model produceert, tezamen gemeten in tokens. Alles wat buiten dat venster valt, bestaat voor het model simpelweg niet. Het krijgt het letterlijk niet te zien.

Denk aan een bureau van beperkte grootte: wat er niet op past, ligt in de kast. Het venster is dat bureaublad. Moderne modellen nemen er veel op (hele boekdelen passen in de ruimste vensters) maar de grens is reëel, en alles telt mee: jouw instructies, meegeleverde bronnen, het gesprek tot nu toe en de ruimte voor het antwoord. Een vraag met een dik dossier ernaast vult het blad sneller dan je denkt.

Twee gevolgen volgen daaruit. Ten eerste: als een verzameling documenten groter is dan het venster, moet iemand kiezen wat erop gaat. En dat is precies waar RAG en chunking vandaan komen. Documenten worden in stukken verdeeld, op betekenis doorzocht, en alleen de relevante stukken krijgen een plek op het blad. Ten tweede: een gesprek dat langer wordt dan het venster moet worden afgekapt of samengevat, anders valt het begin buiten zicht.

En let op een subtiel gevolg: een groot venster garandeert geen aandacht. Modellen hebben de neiging om informatie in het midden van lange invoer minder goed te benutten dan wat vooraan en achteraan staat. Daarom is 'gooi alles erin' zelden een verstandige aanpak. Een samengestelde, kleine selectie relevante stukken presteert vaak beter dan een onverteerde hoeveelheid, óók als het venster technisch gezien wel zou passen.

Begrijpen loont bij drie praktische vragen: waarom een antwoord iets mist dat in jouw document stond, waarom een lang gesprek zijn draad verliest, en waarom de ene aanpak duurder uitvalt dan de andere. In alle drie is het venster de oorzaak, en is de oplossing hetzelfde: bewust kiezen wat het model per keer te zien krijgt in plaats van alles mee te sturen.

Niet nodig is het te bewaken als je taken klein en scherp zijn: een mail samenvatten, een alinea herschrijven, een label plakken op een korte tekst. Die passen ruim. Het wordt ook geen reden tot modelkeuze op basis van het getal alleen: een enorm venster met slordige selectie verliest het van een bescheiden venster met goede selectie. De selectie is het ontwerp, niet de omvang van het blad.

We behandelen het venster als schaarse ruimte die bewust verdeeld wordt: vaste instructies compact, relevante stukken via zoeklaag geselecteerd, en langlopende gesprekken samengevat zodat de draad blijft zonder dat het begin verloren gaat. Voor agents leggen we vast welke informatie tussen stappen wordt bewaard en hoe die wordt opgehaald. Het venster per stap is klein, het geheugen van de toepassing hoeft dat niet te zijn.

Waarom mist een model met een reusachtig context-window toch informatie die erin stond?

Omdat passen niet hetzelfde is als opgemerkt worden. De tekst staat wel in de invoer, maar modellen benutten informatie uit het midden van lange documenten merkelijk slechter dan wat vooraan of achteraan staat. Daarnaast is de kwaliteit van de selectie vaak het probleem: tussen tien relevante en twintig bijkomende stukken zakt de aandacht. De remedie is telkens hetzelfde (kleiner, scherper, relevanter) niet per se een groter venster.

Wat gebeurt er met een gesprek dat langer wordt dan het venster?

De oudste tekst valt buiten het zicht van het model, afhankelijk van hoe de toepassing het gesprek beheert: afsnijden, samenvatten of bewust opslaan. Zonder die maatregelen 'vergeet' een assistent plotseling wat eerder is afgesproken, en dat voelt als storing terwijl het gewoon de grens van het blad is. In serieuze toepassingen houden we daarom bij wat essentieel is en vatten de rest samen. De draad blijft, de ruimte ook.

Hoe houdt een agent informatie vast tussen twee stappen?

Niet door alles in het venster te proppen. Een agent werkt met een klein werkgeheugen per stap en slaat het overige bewust op buiten het model: tussenresultaten, lijstjes, status. Bij de volgende stap haalt de toepassing precies dat deel terug dat nodig is en levert het mee. Zo kan een taak met veel stappen toch betrouwbaar lopen. Dat onderscheid (werkgeheugen versus opslag) is een van de dingen die een ontworpen agent onderscheidt van een chatvenster.

Is een groter context-window automatisch duurder in gebruik?

Meestal wel, want providers rekenen af op de hoeveelheid tekst die per aanroep meegaat, en een groot venster nodigt uit om veel mee te sturen. De duurste toepassingen zijn niet die met het ruimste venster maar die met de slordigste vulling: het hele archief bij elke vraag. Zuinig ontwerp (zoeken, knippen, filteren) verlaagt de kosten vaak meer dan een modelkeuze. Wat jouw situatie maandelijks kost, schatten we vooraf in op nacalculatie en leggen we in de offerte vast.

EIGHTY8