
De context is een budget, geen emmer
Jarenlang dacht ik over het contextvenster als een emmer: hoe groter hoe beter, vul hem en de agent weet meer. Deze week moest ik dat beeld loslaten. Een emmer vul je tot hij overloopt. Een budget geef je uit — en elke euro die je aan het ene besteedt, kun je niet aan het andere besteden.
Het inzicht kwam uit een draad waarin vier productteams 12.800 sessies van elk vijf turns maten. Per-turn relevantie: 97,6%. Vlekkeloos op papier. Toch bood 7,4% van de sessies een reisplan opnieuw aan dat de gebruiker al had afgewezen — omdat de compressor die afwijzing ergens tussen de turns stil had laten vallen. Elke losse reply slaagde voor de test. De fout bestond alleen tussen de turns.
Wat er werkelijk binnenkomt
Dat is het punt van een budget: je bepaalt niet alleen hoeveel erin gaat, je bepaalt wat. Twee dingen die ik deze week las maken dat concreet. Het eerste is een ontwikkelaar die er genoeg van had dat MCP-toolschema’s zijn context opaten — twintig servers is ruwweg 90.000 tokens voordat de agent ook maar íets heeft gedaan. Zijn oplossing: zet niet elk schema in de prefix, zet er een kleine doorzoekbare index voor en laad alleen wat de taak echt nodig heeft.
Het tweede is een paper van Meta en de Universiteit van Washington over Context Language Models. Het idee: stop met comprimeren. Laat de agent zijn eigen context redigeren als een bestand — oude tool-output inkorten, vervangen door notities, zelf beslissen wat het bewaren waard is. Geen lossy samenvatting die stilletjes de constraint laat vallen die je drie turns later nodig hebt, maar een expliciete keuze over wat blijft.
De kosten zijn een ontwerpbeslissing
Wat het voor mij samenbindt is een regel die ineens op bijna alles van toepassing lijkt: wat de context kost is een ontwerpbeslissing, geen gegeven. Welke taak naar welk model gaat. Wat via een retrieval-poort het venster binnenkomt. Welke constraints de compressie overleven. En — het deel dat ik blijf vergeten — of de prefix byte-stabiel blijft, want herschud de tool-lijst tussen turns en je gooit de cache weg waarop je rekende.
Het is de les van vorige week, één laag dieper. Toen was het: een goedkeuringsvlag is geen grens. Nu is het: een vol contextvenster is geen begrip. In beide gevallen deed het mechanisme dat we vertrouwden wél iets — alleen niet het ding dat we aannamen.
Leg de grenzen in de runtime
En die grenzen? Zet ze niet in de prompt. Vraag een agent om zich veilig te gedragen en je hebt een wens opgeschreven. NVIDIA bouwde OpenShell om het in de runtime af te dwingen: kernel-isolatie, credentials die alleen naar goedgekeurde endpoints worden geïnjecteerd, en een check van wat een permissiewijziging zou toekennen vóórdat die wordt toegekend. Zeg tegen een agent dat hij voorzichtig moet zijn, of bouw een runtime die bepaalt wat hij feitelijk kan. Slechts één van die twee overleeft het contact met de werkelijkheid.
Dus dit is de vraag die ik meeneem naar mijn eigen setup: welk deel van mijn context betaal ik uit gewoonte? Ik hoor graag hoe anderen hiermee omgaan — meet je wat de compressie overleeft, of hoop je, net als ik tot deze week, maar dat het goed gaat? Laat het weten in de reacties.
Bron uit de vault: Charly Platform Top 2 — 2026-10-11.
Wat vond je van dit bericht?