Een taalmodel onthoudt niets van de ene vraag naar de andere. Bij elk antwoord leest het alles opnieuw wat het krijgt: de instructie, de geschiedenis van het gesprek, de passages uit documenten en de nieuwe vraag. Het contextvenster is de grens van wat het in één keer kan lezen. Het wordt gemeten in tokens, stukjes van woorden, en verschilt sterk van model tot model.
Wat het venster vult
In een bedrijfsassistent vult het venster zich bij elk bericht met verschillende elementen:
- De systeeminstructie: de rol, toon en regels van de assistent, beschreven in de prompt
- De geschiedenis van het gesprek: de vorige vragen en antwoorden, zodat het model de draad volgt
- De passages die in de kennisbank teruggevonden werden om de vraag te beantwoorden
- De vraag van de bezoeker en, als de assistent kan handelen, de beschrijving van de beschikbare tools
- Het antwoord zelf, dat tijdens het schrijven ook een deel van het venster inneemt
Gaat het geheel over de grens van het venster, dan moet er iets weg. Goed ontworpen systemen vatten eerst oude berichten van het gesprek samen of laten ze vallen, en beperken daarna het aantal passages, in plaats van de instructie in te korten.
Hoe groot, in de praktijk?
De eerste modellen voor het grote publiek lazen enkele duizenden tokens, enkele pagina's. Recente modellen aanvaarden honderdduizenden tokens, en sommige gaan boven het miljoen, het equivalent van meerdere boeken. Die cijfers veranderen met elke generatie modellen en staan in de documentatie van de leverancier.
Een groot venster betekent niet dat u het moet vullen. Hoe langer de verzonden tekst, hoe duurder en trager het antwoord, en hoe groter de kans dat het model een passage verwaarloost die midden in een lange context verdrinkt. Onderzoekers stelden vast dat modellen informatie aan het begin en het einde van de context vaak beter gebruiken dan informatie in het midden.
Alles meesturen of selecteren?
Met vensters van honderdduizenden tokens bestaan er twee benaderingen om documenten aan het model te geven:
- Alle nuttige kennis meesturen: bij een bescheiden kennisbank, zoals die van een kmo, gaan de documenten volledig in het venster. Het model ziet elke regel met haar volledige context, en geen zoekstap kan de juiste passage missen
- Passages selecteren: bij een omvangrijke kennisbank kiest een zoekopdracht, vaak op betekenis dankzij RAG, de meest relevante passages, en alleen die gaan in het venster
De eerste benadering kost meer tokens per vraag, maar vermijdt gemiste passages of passages zonder hun context. De tweede is onmisbaar zodra de documenten groter zijn dan het venster en verlaagt de kost, ten koste van een zoekstap die zich kan vergissen. In beide gevallen blijven tegenstrijdige of verouderde documenten de grootste bron van fouten: de kennisbank sorteren telt meer dan de methode.
Contextvenster en geheugen
Het contextvenster is geen blijvend geheugen. Wanneer een gesprek eindigt, bestaat de inhoud ervan niet meer voor het model. Wat de assistent bij een nieuw gesprek "weet" over een bezoeker, komt uit een apart mechanisme, zoals het contactgeheugen, dat enkele gekozen gegevens bewaart en ze op het juiste moment opnieuw in het venster zet.
Die scheiding is nuttig voor gegevensbescherming: wat niet uitdrukkelijk bewaard wordt, verdwijnt met het gesprek, en wat bewaard wordt, kan geraadpleegd, gecorrigeerd of verwijderd worden.
Wat dat verandert voor een kmo
Voor een organisatie die een assistent online zet, heeft het contextvenster vooral praktische gevolgen:
- Lange gesprekken kunnen hun eerste berichten verliezen; de assistent moet dan informatie opnieuw vragen of op een samenvatting steunen
- Zeer lange documenten worden best in duidelijke secties gestructureerd, zodat het zoeken de juiste passages vindt
- De gebruikskost hangt deels af van de hoeveelheid verzonden tekst; een beknopte instructie en goed gekozen passages verlagen ze
In KernChat stuurt elk bericht de missie van de assistent, de nuttige geschiedenis van het gesprek en de bronnen van zijn kennisruimtes naar het model, volledig en in prioriteitsvolgorde, binnen een groottegrens die per assistent vastligt. Gaan de bronnen boven die grens, dan komen eerst die met de meeste gemeenschappelijke woorden met de vraag aan bod. De grote vensters van de huidige modellen maken die aanpak mogelijk voor de documentatie van een kmo, met antwoorden die hun bron citeren.