Je agent is niet het model

Ik hoor vaak dat mensen de woorden 'agent' en 'model' door elkaar gebruiken, waarbij ze bijvoorbeeld naar Claude verwijzen als beide. Daarom dacht ik dat het nuttig zou zijn om een korte referentie te schrijven over de terminologie die we hier gebruiken, om ons te helpen preciezere gesprekken te voeren.

Laten we beginnen met een overzicht van de richting waarin we opgaan: het agentsysteem.

Het agentsysteem

Een agentsysteem bestaat uit verschillende lagen:

Het model In de kern bevindt zich een model. Denk aan Sonnet, Opus of Gemini. Deze zijn getraind op enorme hoeveelheden tekst en data en zijn in essentie grote collecties floating-point-getallen die op een specifieke manier met elkaar verbonden zijn.

De inferentieservice Frontier-modellen zijn computationeel veel te duur voor de meeste van ons om op volle schaal lokaal te draaien; ze vereisen veel meer RAM dan aanwezig is op de meeste lokale machines. Daarom hebben we een andere plek nodig om ze uit te voeren. Dat is de inferentieservice, zoals AWS Bedrock of de API van Anthropic. De inferentieservice ontvangt je API-aanvragen, voert deze in het model in en houdt ook de kosten bij.

De harness De service draait het model in een inference engine, maar dat is nog vrij basaal: tekst erin, tekst eruit. Denk aan hoe ChatGPT werkte toen het voor het eerst werd gelanceerd. De interactielaag, het onderdeel dat een prettige manier biedt om met de API te communiceren, wordt de harness genoemd. In zijn eenvoudigste vorm is dit gewoon een lichtgewicht wrapper. Andere voorbeelden van harnesses zijn Claude Desktop of de Claude CLI.

Hier wordt het interessant. Functies zoals MCP en Skills maken primair deel uit van de harness-laag. Het model weet inherent niets van een MCP-server of een Skill; de harness bepaalt welke context en tools er aan het model worden gepresenteerd.

Kortom: een agentsysteem is een harness (een set tools en logica voor het verwerken van inputs) die een inferentieservice aanroept, die op zijn beurt een model draait. Dat is de volledige stack.

Praktijkvoorbeelden

Hieronder zie je hoe de stack is opgebouwd voor enkele veelgebruikte tools:

Agent-systeemHarness (UI, logica, tooling)InferentieserviceModel
Claude DesktopClaude Desktop (UI + MCP + lokale logica)Inferentieservice van AnthropicSonnet / Opus / Haiku
Claude CLIClaude CLI (tool parsing + file I/O)Inferentieservice van AnthropicSonnet / Opus / Haiku
CursorCursor editor (context assembly + tool routing)Inferentielaag van Cursor (diverse providers)Sonnet / GPT / Gemini / etc.
ChatGPTChatGPT UI (geschiedenis + orchestratie)Inferentieservice van OpenAIGPT-modellen
Custom agent (LangChain)Jouw LangChain-code (prompt templates + tool definities)Jouw gekozen provider (Bedrock, OpenAI, etc.)Jouw gekozen model

Let op het patroon: de harness is waar jouw logica leeft. De inferentieservice is de gehoste laag die het model draait. Het model is het wiskundige object dat tekst produceert. Hetzelfde model, bijvoorbeeld Sonnet, kan in meerdere agentsystemen worden gebruikt met volledig verschillende harnesses, en het zal zich anders gedragen omdat de harness de inputs vormgeeft en de outputs interpreteert.

Een metafoor

Stel dat we een huis bouwen. We hebben een bouwploeg op de locatie. Zij nemen een blauwdruk, bestellen materialen, beheren het materieel en bepalen de volgorde van de werkzaamheden. Zij zijn de enigen die daadwerkelijk de grond kunnen raken: beton storten, spijkers slaan, dat soort zaken.

Maar als er iets gebeurt waarbij hersenkracht nodig is, bellen ze een architect. Ze kunnen echter niet direct met de architect praten; ze moeten via het bureau dat hen beiden in dienst heeft. Het bureau regelt de planning en de facturatie. De architect is zeer specifiek: je geeft een briefing en krijgt papierplannen terug. Niets meer.

In deze metafoor is de bouwploeg de harness. Zij zijn het deel dat daadwerkelijk de buitenwereld kan aanraken en de plannen van de architect kan omzetten in acties. Het bureau is de inferentieservice: de gateway die de logistiek en de kosten beheert. En de architect is het model: puur, begrensd en briljant in zijn specifieke taak.

Wanneer je dus iets gebruikt als de Claude CLI, is de CLI de harness. Deze maakt gebruik van de inferentieservice van Anthropic, die hun modellen (Sonnet en Opus) draait. Een interessant gevolg hiervan is dat naarmate modellen slimmer worden, sommige huidige harness-logica (zoals Skills of MCP) minder nuttig kan worden. De manier waarop we nu harnesses bouwen, is mogelijk niet toekomstbestendig.

De kernpunten

Laten we expliciet zijn in onze termen:

  • Model: De wiskundige functie die input-tokens transformeert naar output-tokens.
  • Inferentieservice: De gehoste service die het model draait en het gebruik bijhoudt.
  • Harness: De logica die inputs vormgeeft, outputs interpreteert en contact heeft met de buitenwereld.
  • Agent-systeem: De combinatie van deze drie onderdelen.

Wanneer we zeggen "mijn model doet dit of dat", praten we meestal over wat de harness aan het orchestreren is. De modellen zelf zijn slechts ondoorgrondelijke wiskundige objecten die we kunnen aanroepen.

Dit onderscheid is cruciaal. Als er iets misgaat of als we zaken willen verbeteren, moeten we weten waar we moeten kijken. Geeft het model slechte antwoorden? Misschien heeft het betere context nodig van de harness. Is het te traag of te duur? Dat ligt waarschijnlijk aan de inferentieservice of de onderliggende rekenkracht. Worden tools niet correct gebruikt? Dan formateert de harness ze waarschijnlijk verkeerd of worden de antwoorden niet goed geparsed.

Als je de laag kunt benoemen, kun je de laag repareren. Dat is het hele punt van precisie; het gaat niet om pedanterie, maar om het vermogen om dingen sneller en effectiever te verbeteren.

Symptomen en waarschijnlijke oorzaak

SymptoomWaarschijnlijke laag
Slechte redenering / kennisModel of context geleverd door harness
Ontbrekende contextHarness
Tool is niet beschikbaarHarness / tool-integratie
Tool-aanroep is malformedHarness of model
Tool voert actie onjuist uitTool / harness
Trage inferentieInferentie-infrastructuur
Hoge kostenModelkeuze / inferentieservice
Zelfde model gedraagt zich andersHarness / context / tooling