Harness (AI)

Wat is een harness?

Een harness is de software rond een taalmodel die ervoor zorgt dat het model echt werk kan uitvoeren. Het taalmodel zelf kan maar één ding: tekst ontvangen en tekst teruggeven. De harness voegt alles toe wat daarrond nodig is: tools aanroepen, resultaten terug aan het model geven, context bijhouden en beslissen wanneer de taak klaar is.

Het woord betekent letterlijk tuig of gareel, zoals bij een trekpaard: het tuig zet de kracht van het dier om in bruikbare trekkracht. Softwaretesters gebruiken de term al decennia voor de hulpcode waarmee je tests uitvoert (een test harness). In AI-context is de harness de opstelling die de ruwe kracht van een taalmodel omzet in afgewerkte taken.

Een handige vuistregel uit de praktijk: een AI-agent is een model plus een harness. Zonder harness heb je een model dat mooi kan antwoorden; met harness heb je een systeem dat bestanden aanpast, systemen bevraagt en meerstaps werk aflevert.

De onderdelen van een harness

Elke harness lost dezelfde reeks problemen op, hoe verschillend de producten er ook uitzien. Microsoft heeft die lijst voor zijn Agent Framework expliciet opgeschreven, en ze dekt vrij nauwkeurig wat de andere harnesses ook doen.

  • De lus. Het model wordt telkens opnieuw aangeroepen: het kiest een actie, de harness voert ze uit, het resultaat gaat terug naar het model. Dat herhaalt zich tot de taak af is, met een instelbaar maximum aantal rondes zodat een agent zichzelf niet eindeloos blijft aanroepen.

  • Toolintegratie. De harness bepaalt welke tools het model mag gebruiken (bestanden lezen, code uitvoeren, API's aanspreken) en vertaalt de vraag van het model naar een echte actie.

  • Contextbeheer. Wat gaat er precies in het context window, en wat gebeurt er wanneer dat vol loopt. Een harness vat de geschiedenis dan samen en werkt verder vanaf die samenvatting, wat context compaction heet.

  • Geheugen en status. Takenlijsten, tussenresultaten en notities die over meerdere beurten en sessies bewaard blijven. Dat is agent memory, en het staat los van wat er toevallig nog in het context window zit.

  • Permissies en foutafhandeling. Welke acties mogen automatisch en welke vragen eerst goedkeuring van een mens, en wat er gebeurt als een tool een fout teruggeeft. Een harness die daar goed in is, onthoudt je antwoord ook, zodat je niet bij elke lees-actie opnieuw op ja moet klikken.

  • Logging. Een spoor van elke modelaanroep en elke tool call. Microsoft zet daar standaard OpenTelemetry onder, precies omdat je dat spoor achteraf nodig hebt.

Harness, framework en agent: het verschil

Harness versus model en agent

Het model is het brein, de harness is het lichaam eromheen, en samen vormen ze de agent. Dat verklaart ook waarom hetzelfde model in twee producten anders presteert: de harness bepaalt welke tools het model krijgt, hoe context beheerd wordt en hoeveel ruimte het krijgt om door te werken. Anthropic schrijft zelf dat het voor onderzoek, security-analyse en code review aparte harnesses bovenop Claude Code moest bouwen om er het maximum uit te halen, met exact dezelfde modellen eronder.

Harness versus framework

Een framework is een bibliotheek met bouwstenen waarmee ontwikkelaars zelf iets assembleren. LangGraph omschrijft zichzelf uitdrukkelijk als low-level: het regelt de orkestratie en laat prompts en architectuur volledig aan jou. Een harness is het draaiende eindresultaat, met de keuzes al gemaakt. Het onderscheid loopt niet per leverancier: Microsoft levert in zijn Agent Framework allebei, de losse bouwstenen en daarnaast een kant-en-klare harness-agent die ze al aan elkaar geknoopt heeft.

Harness versus scaffolding

Scaffolding slaat op de gedragslaag: de systeeminstructies, de beschrijving van de tools, de manier waarop antwoorden verwerkt worden. De harness is de uitvoeringslaag die dat laat draaien. In de praktijk lopen beide woorden door elkaar. Microsoft gebruikt in zijn eigen documentatie letterlijk het woord scaffolding om een harness te omschrijven.

Harnesses in de praktijk

Claude Code van Anthropic is een harness rond de Claude-modellen: een agent in de terminal die bestanden bewerkt, commando's uitvoert en voor gevoelige acties eerst toestemming vraagt. Anthropic verkoopt diezelfde laag ook als bibliotheek, de Claude Agent SDK, met volgens de documentatie dezelfde tools, dezelfde agent-lus en hetzelfde contextbeheer als Claude Code zelf. Dat maakt meteen tastbaar wat een harness is: het stuk dat overblijft wanneer je het model weglaat.

Codex van OpenAI speelt dezelfde rol rond de modellen van OpenAI, met een CLI, een IDE-extensie en een cloudvariant die taken in aparte omgevingen parallel laat lopen. Microsoft Agent Framework levert een harness-agent die je op je eigen model zet, met takenlijst, contextcompactie, bestandstoegang en goedkeuringsregels standaard aan.

Daarnaast bouwen bedrijven eigen harnesses op de SDK's van modelleveranciers, bijvoorbeeld een interne assistent die alleen de eigen kennisbank en het ticketsysteem als tools krijgt. De harness is dan meteen de plek waar je vastlegt wat de agent wel en niet mag.

Zelf bouwen of een bestaande harness gebruiken?

Een bestaand product zoals Claude Code werkt meteen en wordt onderhouden door de leverancier, maar de werking ligt grotendeels vast. Zelf bouwen geeft volledige controle over tools, permissies en logging, maar je onderhoudt alles zelf: elk nieuw model, elke gewijzigde API komt op jouw bord.

Anthropic raadt ontwikkelaars zelf aan te beginnen met rechtstreekse API-aanroepen, omdat je veel patronen in een handvol regels code schrijft en een framework je zicht op de werking ontneemt. Diezelfde volgorde werkt in de praktijk: start met een bestaande harness of een eenvoudige aanroep zonder lus, en bouw pas iets eigen wanneer je botst op iets wat je echt nodig hebt, zoals eigen permissieregels of een koppeling met interne systemen. Een agent is in de kern niet meer dan een model dat in een lus tools gebruikt op basis van wat het terugkrijgt; de complexiteit die je daarbovenop zet, moet je ook zelf beheren.

Waar moet je op letten bij het gebruik van een harness

Permissies op onomkeerbare acties. Een agent die mails kan versturen of records kan verwijderen, heeft een goedkeuringsstap nodig. Een goede harness maakt dat instelbaar per actie. Let er wel op dat een lijst met verboden commando's gemak is en geen beveiliging; Microsoft zet die waarschuwing zelf in zijn voorbeeldcode. Wie een agent echt wil afschermen van het onderliggende systeem, heeft een agent sandbox nodig.

Kosten en grenzen. Elke ronde in de lus is een aparte modelaanroep, en elke aanroep stuurt de hele voorgeschiedenis opnieuw mee. Zonder plafond op stappen of budget kan één vastgelopen taak flink oplopen in kosten.

Logging. Je wil achteraf kunnen reconstrueren welke tools de agent aanriep en waarom. Zeker wanneer een agent klantendata raakt, is dat spoor je enige houvast bij een discussie of audit.

FAQ over harnesses

1. Is een harness hetzelfde als een agent-framework?
Nee. Een framework levert onderdelen waarmee je zelf bouwt; een harness is het afgewerkte, draaiende systeem. Vergelijk het met een doos legoblokken tegenover een gemonteerd bouwwerk. Eén leverancier kan wel allebei aanbieden.

2. Heb ik een harness nodig voor een gewone chatbot?
Nee. Eén vraag, één antwoord kan met een rechtstreekse aanroep van het model. Een harness wordt pas nodig zodra het model meerdere stappen moet zetten of tools moet gebruiken.

3. Waarom presteert hetzelfde model anders in een andere harness?
Omdat de harness bepaalt wat het model te zien krijgt en wat het mag doen. Betere toolbeschrijvingen, slimmer contextbeheer en ruimere werklimieten halen meer uit exact hetzelfde model. Dat is ook de reden waarom modelleveranciers voor specifieke taken eigen harnesses bouwen in plaats van een ander model te nemen.

Laatst Bijgewerkt: July 20, 2026 Terug naar Woordenboek
Trefwoorden
harness agent harness ai-agent llm large language model agentic ai context window tool calling agent memory context compaction agent sandbox subagent claude code tokens ai