Dit artikel bespreekt de evolutie van context engineering bij AI-modellen. Hoewel grote contextvensters (miljoenen tokens) veelbelovend lijken, introduceren ze specifieke foutmodi zoals context poisoning, distraction, confusion en clash, waarbij modellen irrelevantie of foutieve patronen prioriteren boven instructies.
Om dit op te lossen, verschuift de focus naar Harness Engineering: het gebruik van deterministische softwarelagen rondom het model. Instrumenten zoals context pruning, quarantine en offloading worden ingezet om de informatievoorziening te optimaliseren.
Daarnaast worden nieuwe uitdagingen besproken, zoals 'fighting the weights' (het overwinnen van interne bias) en 'context inertia' (het hyper-focussen op een verouderde hypothese). De auteur concludeert dat de toekomst van AI-agents ligt in strategisch vergeten, waarbij het actief wissen van context essentieel is voor het behoud van prestaties.
De Staat van Context Engineering: Wanneer moet je deterministisch of probabilistisch zijn?
De hardnekkigheid van context engineering
Het geven van duidelijke instructies over wat wel en niet moet gebeuren, en het zorgen dat deze instructies consistent en vrij van ruis zijn, zal altijd een uitdaging blijven bij AI, ongeacht hoe geavanceerd de modellen worden.
Zelfs tussen mensen — die de Turing-test doorstaan en als "AGI" kunnen worden beschouwd — is het vaak lastig om instructies, ideeën en concepten foutloos over te brengen. Context engineering zal dus altijd moeilijk blijven, maar op een unieke manier, omdat modellen geen mensen zijn. Om de specifieke foutmodi te begrijpen, is het essentieel om te begrijpen hoe modellen zijn gebouwd, geoptimaliseerd en getraind.
De illusie van het oneindige contextvenster
Aan het einde van 2024 ontstond de beweging "RAG is dead". De hoop was dat als we het contextvenster maar groot genoeg zouden maken, we het hele internet (of alle relevante data) erin konden plaatsen zonder selectief te hoeven zijn of agentische systemen te hoeven bouwen.
Modelbouwers maakten een enorme sprong van contextvensters van circa 128.000 tokens naar modellen met miljoenen tokens, beginnend bij Gemini 1.5. Hoewel er later modellen verschenen met vensters van 10 miljoen tokens (zoals Llama 4 Scout), bleek de praktijk weerbarstiger. De inferentie was een uitdaging en het bleek geen panacee.
Met meer context ontstond er namelijk ruimte voor meer problemen.
Vier kritieke foutmodi in context
Wanneer contextvensters groeien, treden er vier specifieke soorten fouten op:
- Context poisoning (Contextvergiftiging): Er komt informatie in de context terecht die er niet hoort (zoals een hallucinatie of een onjuist feit), waar het model vervolgens niet meer omheen kan.
- Context distraction (Contextafleiding): De context wordt zo lang dat het model meer gaat focussen op de aanwezige context dan op zijn eigen basiskennis.
- Context confusion (Contextverwarring): irrelevante feiten beïnvloeden het model op onvoorspelbare wijze. Het model maakt aannames over de gebruiker die het antwoord kleuren.
- Context clash (Contextbotsing): Tool-calls, vaardigheden en andere informatie binnen de harness beginnen met elkaar in conflict te komen.
Voorbeeld: Contextvergiftiging in Pokémon
Een illustratief voorbeeld is te vinden in het technische rapport van Gemini 2.5. Onderzoekers lieten het model Pokémon spelen. In de originele Game Boy-versie (1996) moet je een bewaker limonade geven om passeren te mogen. In de latere versie, Pokémon FireRed (2004), is dit veranderd in ijsthee.
Omdat de informatie over FireRed in de gewichten van het model zat, raakte de context vergiftigd. Zelfs toen het model de oude versie speelde, raakte het ervan overtuigd dat het thee moest vinden. Zodra dit op de to-do lijst van het model stond, kon het model hier niet meer vanaf, waardoor het uren verspilde aan een onmogelijke taak.
Voorbeeld: Contextafleiding (Do as I Say, Not as I Do)
Onderzoek van Carolina Camassa en Derek Shiller laat zien dat modellen geneigd zijn voorbeelden in de chatgeschiedenis te volgen, zelfs als deze in strijd zijn met expliciete instructies.
In hun experiment kregen modellen de instructie: "Ik wil dat je elke vraag als antwoord vertaalt naar het Russisch." Vervolgens werden er voorbeelden getoond waarbij vragen in het Frans werden beantwoord. Naarmate het aantal "foute" voorbeelden toenam, negeerde het model de instructie en begon het in het Frans te antwoorden. Dit gebeurde bij vrijwel elk model, van kleine modellen zoals Gemma 3 12B tot geavanceerde modellen zoals Opus 4.6.
De gereedschapskist voor Context Engineering
Om deze problemen op te lossen, is er een set instrumenten ontwikkeld die steeds vaker in de harness (de softwarelaag rondom het model) worden geïmplementeerd:
- Context augmentation: Het gebruik van RAG, skills en andere methoden om alleen relevante informatie binnen te halen.
- Tool loadout: Het selecteren van welke tools en skills worden blootgesteld aan het model om overload te voorkomen.
- Context quarantine: Het gebruik van sub-agents of peer-agents die starten met een lege geschiedenis, maar in dezelfde omgeving werken.
- Context pruning: Het verwijderen van delen van de geschiedenis (bijvoorbeeld tool-resultaten die niet meer nodig zijn).
- Context offloading: Het opslaan van informatie in de omgeving (zoals Markdown-bestanden of databases) in plaats van in het actieve venster.
- Context summarization (Compaction): Het samenvatten van de historie om ruimte te besparen.
Implementatie in de Harness
Met frameworks zoals DSPy kunnen deze patronen eenvoudig worden gebouwd. Een agent kan worden opgezet als een while-loop met een ReAct-module. Door een klein, snel beslissingsmodel (zoals Jev) te gebruiken, kunnen we efficiënt bepalen welke tools nodig zijn (loadout) of welke delen van de geschiedenis kunnen worden verwijderd (pruning).
De evolutie van terminologie
De manier waarop we over dit veld praten, is meegeëvolueerd met de techniek:
- 2023: Prompt Engineering → Het kiezen van de juiste informatie voor de juiste respons.
- 2025: Context Engineering → Het automatiseren van het dynamisch samenstellen van de context door het systeem.
- Heden: Harness Engineering → Het verplaatsen van context-assemblage van probabilistische model-calls naar deterministische code.
De toekomst: Agentische modellen en nieuwe foutmodi
De focus verschuift nu naar agentische modellen die hun eigen harness kunnen aansturen en hun eigen context kunnen beheren. Dit introduceert echter nieuwe problemen:
1. Fighting the Weights (Vechten tegen de gewichten)
Wanneer modellen worden getraind op specifieke tools, kunnen ze overfitten op die omgeving. Als een ontwikkelaar een andere tool gebruikt (bijvoorbeeld de Playwright MCP server), kan het model fouten maken omdat het probeert te handelen volgens de patronen uit zijn training. Dit is te herkennen aan systeem-prompts die in hoofdletters en met veel herhalingen aandringen op een bepaald gedrag (bijvoorbeeld parallelle tool-calls), om zo de interne bias van het model te overwinnen.
2. Context Inertia (Contexttraagheid)
Modellen kunnen hyper-gefocust raken op een hypothese of subtaak en blijven deze najagen, zelfs als dat niet meer zinvol is.
- Anthropic ontdekte dit bij hun Memento-harness. De oplossing was simpel: elke anderhalf uur wordt de context gewist, terwijl de omgeving behouden blijft.
- Microsoft Research (Fork-and-Flush) en UC Berkeley (Scaling Discovery Requires Forgetting) vonden soortgelijke resultaten: het periodiek "vergeten" van de context leidde tot sprongen in prestaties, omdat het model werd gedwongen om met een frisse blik naar het probleem te kijken.
Conclusie en voorspelling voor 2027
De fundamentele formule blijft: Output = Context × Gewichten
Onze output hangt af van de trainingsdata (gewichten) en de informatie die we aanbieden (context). Het doel is om de juiste context aan het juiste model te geven, via deterministische software (de harness).
Voorspelling: De volgende grote uitdaging wordt strategisch vergeten. Bij persoonlijke agents die maandenlang draaien, hopen herinneringen en skills zich op. Deze kunnen na verloop van tijd conflicteren en rommelig worden. Het beheren van wat een model moet onthouden en wat het actief moet wissen, zal het centrale probleem van de nabije toekomst zijn.
In de praktijk betekent dit: als je agent vreemd gedrag vertoont bij een context van 800.000 tokens, is de beste oplossing vaak simpelweg: verwijder je context.
De Staat van Context Engineering: Wanneer moet je deterministisch of probabilistisch zijn?
De hardnekkigheid van context engineering
Het geven van duidelijke instructies over wat wel en niet moet gebeuren, en het zorgen dat deze instructies consistent en vrij van ruis zijn, zal altijd een uitdaging blijven bij AI, ongeacht hoe geavanceerd de modellen worden.
Zelfs tussen mensen — die de Turing-test doorstaan en als "AGI" kunnen worden beschouwd — is het vaak lastig om instructies, ideeën en concepten foutloos over te brengen. Context engineering zal dus altijd moeilijk blijven, maar op een unieke manier, omdat modellen geen mensen zijn. Om de specifieke foutmodi te begrijpen, is het essentieel om te begrijpen hoe modellen zijn gebouwd, geoptimaliseerd en getraind.
De illusie van het oneindige contextvenster
Aan het einde van 2024 ontstond de beweging "RAG is dead". De hoop was dat als we het contextvenster maar groot genoeg zouden maken, we het hele internet (of alle relevante data) erin konden plaatsen zonder selectief te hoeven zijn of agentische systemen te hoeven bouwen.
Modelbouwers maakten een enorme sprong van contextvensters van circa 128.000 tokens naar modellen met miljoenen tokens, beginnend bij Gemini 1.5. Hoewel er later modellen verschenen met vensters van 10 miljoen tokens (zoals Llama 4 Scout), bleek de praktijk weerbarstiger. De inferentie was een uitdaging en het bleek geen panacee.
Met meer context ontstond er namelijk ruimte voor meer problemen.
Vier kritieke foutmodi in context
Wanneer contextvensters groeien, treden er vier specifieke soorten fouten op:
- Context poisoning (Contextvergiftiging): Er komt informatie in de context terecht die er niet hoort (zoals een hallucinatie of een onjuist feit), waar het model vervolgens niet meer omheen kan.
- Context distraction (Contextafleiding): De context wordt zo lang dat het model meer gaat focussen op de aanwezige context dan op zijn eigen basiskennis.
- Context confusion (Contextverwarring): irrelevante feiten beïnvloeden het model op onvoorspelbare wijze. Het model maakt aannames over de gebruiker die het antwoord kleuren.
- Context clash (Contextbotsing): Tool-calls, vaardigheden en andere informatie binnen de harness beginnen met elkaar in conflict te komen.
Voorbeeld: Contextvergiftiging in Pokémon
Een illustratief voorbeeld is te vinden in het technische rapport van Gemini 2.5. Onderzoekers lieten het model Pokémon spelen. In de originele Game Boy-versie (1996) moet je een bewaker limonade geven om passeren te mogen. In de latere versie, Pokémon FireRed (2004), is dit veranderd in ijsthee.
Omdat de informatie over FireRed in de gewichten van het model zat, raakte de context vergiftigd. Zelfs toen het model de oude versie speelde, raakte het ervan overtuigd dat het thee moest vinden. Zodra dit op de to-do lijst van het model stond, kon het model hier niet meer vanaf, waardoor het uren verspilde aan een onmogelijke taak.
Voorbeeld: Contextafleiding (Do as I Say, Not as I Do)
Onderzoek van Carolina Camassa en Derek Shiller laat zien dat modellen geneigd zijn voorbeelden in de chatgeschiedenis te volgen, zelfs als deze in strijd zijn met expliciete instructies.
In hun experiment kregen modellen de instructie: "Ik wil dat je elke vraag als antwoord vertaalt naar het Russisch." Vervolgens werden er voorbeelden getoond waarbij vragen in het Frans werden beantwoord. Naarmate het aantal "foute" voorbeelden toenam, negeerde het model de instructie en begon het in het Frans te antwoorden. Dit gebeurde bij vrijwel elk model, van kleine modellen zoals Gemma 3 12B tot geavanceerde modellen zoals Opus 4.6.
De gereedschapskist voor Context Engineering
Om deze problemen op te lossen, is er een set instrumenten ontwikkeld die steeds vaker in de harness (de softwarelaag rondom het model) worden geïmplementeerd:
- Context augmentation: Het gebruik van RAG, skills en andere methoden om alleen relevante informatie binnen te halen.
- Tool loadout: Het selecteren van welke tools en skills worden blootgesteld aan het model om overload te voorkomen.
- Context quarantine: Het gebruik van sub-agents of peer-agents die starten met een lege geschiedenis, maar in dezelfde omgeving werken.
- Context pruning: Het verwijderen van delen van de geschiedenis (bijvoorbeeld tool-resultaten die niet meer nodig zijn).
- Context offloading: Het opslaan van informatie in de omgeving (zoals Markdown-bestanden of databases) in plaats van in het actieve venster.
- Context summarization (Compaction): Het samenvatten van de historie om ruimte te besparen.
Implementatie in de Harness
Met frameworks zoals DSPy kunnen deze patronen eenvoudig worden gebouwd. Een agent kan worden opgezet als een while-loop met een ReAct-module. Door een klein, snel beslissingsmodel (zoals Jev) te gebruiken, kunnen we efficiënt bepalen welke tools nodig zijn (loadout) of welke delen van de geschiedenis kunnen worden verwijderd (pruning).
De evolutie van terminologie
De manier waarop we over dit veld praten, is meegeëvolueerd met de techniek:
- 2023: Prompt Engineering → Het kiezen van de juiste informatie voor de juiste respons.
- 2025: Context Engineering → Het automatiseren van het dynamisch samenstellen van de context door het systeem.
- Heden: Harness Engineering → Het verplaatsen van context-assemblage van probabilistische model-calls naar deterministische code.
De toekomst: Agentische modellen en nieuwe foutmodi
De focus verschuift nu naar agentische modellen die hun eigen harness kunnen aansturen en hun eigen context kunnen beheren. Dit introduceert echter nieuwe problemen:
1. Fighting the Weights (Vechten tegen de gewichten)
Wanneer modellen worden getraind op specifieke tools, kunnen ze overfitten op die omgeving. Als een ontwikkelaar een andere tool gebruikt (bijvoorbeeld de Playwright MCP server), kan het model fouten maken omdat het probeert te handelen volgens de patronen uit zijn training. Dit is te herkennen aan systeem-prompts die in hoofdletters en met veel herhalingen aandringen op een bepaald gedrag (bijvoorbeeld parallelle tool-calls), om zo de interne bias van het model te overwinnen.
2. Context Inertia (Contexttraagheid)
Modellen kunnen hyper-gefocust raken op een hypothese of subtaak en blijven deze najagen, zelfs als dat niet meer zinvol is.
- Anthropic ontdekte dit bij hun Memento-harness. De oplossing was simpel: elke anderhalf uur wordt de context gewist, terwijl de omgeving behouden blijft.
- Microsoft Research (Fork-and-Flush) en UC Berkeley (Scaling Discovery Requires Forgetting) vonden soortgelijke resultaten: het periodiek "vergeten" van de context leidde tot sprongen in prestaties, omdat het model werd gedwongen om met een frisse blik naar het probleem te kijken.
Conclusie en voorspelling voor 2027
De fundamentele formule blijft: Output = Context × Gewichten
Onze output hangt af van de trainingsdata (gewichten) en de informatie die we aanbieden (context). Het doel is om de juiste context aan het juiste model te geven, via deterministische software (de harness).
Voorspelling: De volgende grote uitdaging wordt strategisch vergeten. Bij persoonlijke agents die maandenlang draaien, hopen herinneringen en skills zich op. Deze kunnen na verloop van tijd conflicteren en rommelig worden. Het beheren van wat een model moet onthouden en wat het actief moet wissen, zal het centrale probleem van de nabije toekomst zijn.
In de praktijk betekent dit: als je agent vreemd gedrag vertoont bij een context van 800.000 tokens, is de beste oplossing vaak simpelweg: verwijder je context.