Hoe ik meet of een AI-agent echt werkt
De meeste operators slaan evaluaties helemaal over en nemen gewoon aan dat hun agents werken. Mijn framework: bouw een golden set van 5–10 bekende inputs met verwachte outputs, definieer geslaagd/gezakt-criteria in gewone taal en controleer logs wekelijks. Bouw geen uitgebreid evaluatiesysteem voordat je 10 echte uitvoeringen hebt — dat is de val die momentum vernietigt.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Inhoudsopgave
Bijgewerkt mei 2026.
TL;DR: De meeste operators slaan evaluaties helemaal over en nemen gewoon aan dat hun agents werken. Mijn framework: bouw een golden set van 5–10 bekende inputs met verwachte outputs, definieer geslaagd/gezakt-criteria in gewone taal en controleer logs wekelijks. Bouw geen uitgebreid evaluatiesysteem voordat je 10 echte uitvoeringen hebt — dat is de val die momentum vernietigt.
[Operator-perspectief] Ik beheer meer dan 30 productie-AI-agents voor mijn adviesbureau en Pickleland, een pickleballfaciliteit in Pflugerville, TX. Op een gegeven moment besefte ik dat ik meer tijd besteedde aan zorgen maken over het afdrijven van agents dan aan het daadwerkelijk gebruiken ervan. Dit is het evaluatieframework waar ik op uitgekomen ben — geen PhD vereist, geen aangepast evaluatieplatform, geen Python.
Het probleem waarover niemand praat: agents driften stilletjes weg
Als een menselijke medewerker zijn werk verkeerd begint te doen, merk je dat meestal. Als een AI-agent rommel begint te produceren, blijft hij rommel produceren — stil, op grote schaal, totdat er iets zo erg kapotgaat dat een mens eindelijk kijkt.
Ik had een content-agent die na een modelupdate disclaimers “Als AI-taalmodel” begon toe te voegen. Ik had een event-promoter-agent die ophield met het opnemen van ticketlinks omdat een promptvariabelenaam was veranderd. Geen van beide faalde luid. Beide degradeerden gewoon.
De oplossing is niet het bouwen van een NASA-waardige bewakingssysteem. Het is het hebben van een eenvoudige, herhaalbare controle die afdrijving opspoort voordat het zich opstapelt.
Wat een evaluatie echt is (voor operators)
Ingenieurs gebruiken het woord “eval” voor het uitvoeren van een benchmark op een model. Voor operators bedoel ik iets eenvoudiger: een herhaalbare test die je vertelt of je agent nog steeds doet waarvoor je hem gebouwd hebt.
Drie componenten:
- Golden set — 5–10 echte inputs die je al eerder hebt gezien, met verwachte outputs waarvan je al weet dat ze goed zijn
- Geslaagd/gezakt-criteria — regels in gewone taal voor wat telt als geslaagd
- Een geplande controle — jij of je assistent voert de test daadwerkelijk uit op een cadans
Dat is alles. Je hebt geen framework nodig. Je hebt discipline nodig.
Je golden set bouwen
Put uit je productielogs. Vind 5–10 echte inputs waarbij je al weet hoe een goede output eruitziet. Dit zijn je basiswaarheid.
Voor mijn content-pipeline-agent is de golden set 5 gepubliceerde berichten die mijn stijlchecklist doorstonden toen ik ze handmatig schreef. Voor mijn Pickleland-event-promoter zijn het 5 eerdere Facebook-berichten met bovengemiddelde betrokkenheid (reacties + shares, niet alleen likes).
Regels voor een goede golden set:
- Echte inputs, geen hypothesen die je verzonnen hebt
- Minstens één randgeval opnemen (een lastige input, een korte, een met ongewone opmaak)
- Verwachte outputs gedocumenteerd houden — een screenshot, een tekstbestand, een rij in een spreadsheet
- Nooit verwijderen uit de golden set; alleen toevoegen
Toen de agent voor het laatst bevestigd goed werkte, noteer precies hoe “goed” eruitzag. Dat wordt je verwachte output.
Geslaagd/gezakt-criteria definiëren
Vage criteria zijn nutteloos. “De output moet goed zijn” slaagt altijd omdat je het rationaliseert.
Schrijf je criteria als checklistitems die een niet-expert zou kunnen evalueren. Hier zijn de werkelijke criteria die ik gebruik voor mijn content-pipeline-agent:
Geslaagd/gezakt-checklist voor de content-agent:
- Bericht heeft een TL;DR in de eerste 100 woorden
- Geen zinnen als “in de snel veranderende wereld van vandaag” of “Als AI”
- Minstens één concreet getal of statistiek
- Aantal woorden tussen 800 en 2000
- Alle interne links lossen op (geen 404-fouten)
Voor de Pickleland-event-promoter:
Geslaagd/gezakt-checklist voor de event-promoter:
- Evenementnaam komt overeen met de bronkalender
- Datum en tijd zijn correct
- Ticketlink is aanwezig en niet kapot
- Tekst is onder de 280 woorden
- Bericht gebruikt geen generieke opvullende zinnen
Als 4 van de 5 checklistitems slagen, is de uitvoering geslaagd. Als 3 of minder slagen, is het gezakt en onderzoek ik het vóór de volgende uitvoering.
Claude gebruiken als rechter
Voor agents met lange of complexe outputs gebruik ik Claude Sonnet als geautomatiseerde rechter. Dit is sneller dan handmatige beoordeling en detecteert dingen die ik zou overslaan.
Dit is de rechtersprompt die ik gebruik voor de content-agent:
You are evaluating a blog post written by an AI agent. Your job is to check whether it meets the operator's standards.
Evaluate the following post against these criteria:
1. Starts with a direct answer or TL;DR in the first 100 words (YES/NO)
2. Contains at least one concrete number or specific example (YES/NO)
3. Free of AI-speak filler ("As an AI", "in today's fast-paced world", "delve", "it's worth noting") (YES/NO)
4. Word count is between 800 and 2000 words (YES/NO)
5. Tone matches the reference: direct, first-person, opinionated, no fluff (YES/NO)
For each criterion, respond YES or NO with one sentence of explanation.
At the end, output PASS if 4 or 5 criteria are YES, FAIL otherwise.
Post to evaluate:
---
{{post_content}}
---Ik voer dit uit als een Cloudflare Worker die de nieuwste versie ophaalt, deze prompt afvuurt en het resultaat schrijft naar een Google Sheet. Het hele proces duurt 8 seconden en kost ongeveer $0,003 per uitvoering.
Voor de event-promoter is de rechtersprompt eenvoudiger:
You are checking an AI-generated Facebook event post for accuracy and quality.
Source data:
- Event name: {{event_name}}
- Date: {{event_date}}
- Time: {{event_time}}
- Ticket URL: {{ticket_url}}
Generated post:
---
{{generated_post}}
---
Check:
1. Does the post correctly state the event name? (YES/NO)
2. Does the post correctly state the date and time? (YES/NO)
3. Does the post include the exact ticket URL? (YES/NO)
4. Is the post under 280 words? (YES/NO)
5. Is the tone inviting without using generic filler phrases? (YES/NO)
Output PASS if all 5 are YES, FAIL if any are NO. List which items failed.Waar te kijken: Cloudflare Worker-logs
Als je agents uitvoert op Cloudflare Workers (wat ik doe voor de meeste van mijn lichtgewicht agents), is de ingebouwde log tail je beste vriend. Je hebt geen externe logboekdienst nodig om te beginnen.
Wat ik controleer bij wekelijkse steekproefbeoordelingen:
- Fouten en uitzonderingen — alles wat crashte of een timeout had
- Token-tellingen — als een uitvoering plotseling 3x de normale tokens gebruikt, is er iets veranderd
- Latentiepieken — een plotselinge vertraging betekent meestal dat de prompt langer is geworden of het model moeite heeft
- Afdrijving van outputlengte — als de gemiddelde output van 600 naar 200 woorden daalde, heeft de agent zijn gedrag veranderd
Ik besteed elke maandagochtend 15 minuten hieraan. Ik heb een eenvoudige checklist in Notion: logs openen voor elke agent, anomalieën noteren, tokengebruik vergelijken met de basislijn van vorige week. Dat is het hele proces.
De spreadsheet-evaluatie: lelijk maar het werkt
Voordat ik enige automatisering had, voerde ik evaluaties uit in een Google Sheet. Ik gebruik dit nog steeds voor nieuwe agents in de eerste 4 weken.
Structuur:
| Uitvoeringsdatum | Input | Verwachte output (samenvatting) | Werkelijke output (samenvatting) | Geslaagd/Gezakt | Opmerkingen |
|---|---|---|---|---|---|
| 2026-05-01 | ”Schrijf een bericht over AI-agents” | Direct, eigenzinnig, 1000+ woorden, TL;DR aanwezig | 950 woorden, TL;DR aanwezig, sterke stem | Geslaagd | Iets kort |
| 2026-05-08 | Hetzelfde | Hetzelfde | 400 woorden, generiek, geen TL;DR | Gezakt | Modelafdrijving na update |
Vijf rijen per week. Duurt 10 minuten. Als je twee opeenvolgende gezakten hebt, stop je de agent en corrigeer je de prompt voordat je verdergaat.
Dit is beschamend low-tech. Het is ook hoe ik drie promptregressies heb ontdekt voordat ze in productie gingen.
Wat je NIET moet doen
Bouw het evaluatiesysteem niet voordat je 10 echte uitvoeringen hebt. Ik heb oprichters twee weken zien besteden aan het bouwen van een geavanceerde evaluatiepijplijn voor een agent die ze maar twee keer hadden uitgevoerd. Je weet niet genoeg over hoe “goed” eruitziet totdat je echte productiedata hebt.
Evalueer niet met synthetische inputs die je verzonnen hebt. Synthetische testcases missen de vreemde randgevallen die productie naar je gooit. Begin altijd met echte logs.
Evalueer niet alles. Kies de 3–5 agents waarbij falen echt pijn zou doen — klantgerichte outputs, alles wat publiekelijk post, alles dat een betaling activeert. Sla interne hulpagents over totdat je ruimte hebt.
Automatiseer niet te vroeg. Een spreadsheet die je echt gebruikt, verslaat een Datadog-dashboard dat je vergeet te controleren. Begin handmatig, automatiseer nadat je de controle 10 keer hebt uitgevoerd en weet wat je echt zoekt.
De conclusie van de operator
Evaluaties hoeven geen engineeringskwaliteit te hebben om nuttig te zijn. Een golden set van 5–10 echte inputs, een checklist met geslaagd/gezakt-criteria en 15 minuten logcontrole elke maandag zullen 80% van de agentafdrijving opsporen voordat het zich opstapelt. Begin daar. Als je nog steeds agents uitvoert zonder enige evaluatie, vlieg je blind — en uiteindelijk zal er iets zo publiekelijk mislukken dat je wenste dat je de 20 minuten had besteed.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Ontvang het AI-playbook in je inbox
Elke woensdag. 28.400+ operators. Geen opvulling.
Check your inbox.
We sent you a confirmation email — click the link inside to complete your subscription. Check spam if you don't see it within a minute.
You're subscribed.
Welcome — the next edition lands in your inbox soon.
You're already on the list — look for it every Wednesday.