Je agent werkt vandaag. Maar werkt hij nog na je volgende prompt-aanpassing, model-update of nieuwe tool? Wie dat op gevoel beoordeelt, ziet regressies pas als gebruikers klagen. In deze gids bouw je een evaluatie-harness: een script dat je agent langs vaste testcases draait en een helder slaag/faal-overzicht print. Lokaal, met LangChain, Ollama en Qwen, dus zonder API-kosten.
Stap 1: zet de lokale basis klaar
Installeer Ollama en haal een Qwen-model binnen (ollama pull qwen3). Installeer daarna LangChain v1 met de Ollama-koppeling: pip install "langchain>=1.0.0" langchain-ollama. Het model speelt straks twee rollen: het drijft de agent aan én treedt op als judge (Bron: freeCodeCamp).
💡 Beginner-tip: nog nooit een agent gebouwd? Begin dan eerst met onze gids je eerste AI-agent bouwen in Python en kom daarna terug — een harness heeft pas zin als er iets te testen valt.
Stap 2: definieer testcases als data
De kern van de harness is een lijst testcases, los van je code. Per case: de input-vraag, wat er hard in het antwoord moet staan, en welke tool de agent hoort te gebruiken.
TEST_CASES = [
{
"vraag": "Hoeveel woorden telt de zin 'AI verandert alles'?",
"moet_bevatten": ["3"],
"verwachte_tool": "word_count",
},
{
"vraag": "Hoe laat is het nu?",
"moet_bevatten": [],
"verwachte_tool": "current_time",
},
]
Begin klein: vijf tot tien cases die je belangrijkste gedrag afdekken, inclusief één vraag waarbij de agent juist géén tool hoort te gebruiken.
Stap 3: combineer harde checks met een judge
Per testcase draait de harness twee soorten controles. Eerst de regelgebaseerde: staat elk verplicht element in het antwoord, en is de juiste tool aangeroepen? Die zijn goedkoop en onbetwistbaar. Daarna de LLM-as-a-judge: je geeft het judge-model de vraag, het agent-antwoord en criteria, en vraagt om een JSON-oordeel.
JUDGE_PROMPT = """Beoordeel of dit antwoord de vraag correct en volledig beantwoordt.
Vraag: {vraag}
Antwoord: {antwoord}
Geef alleen JSON terug: {{"verdict": "pass" of "fail", "reden": "..."}}"""
De harness behandelt je agent als gesloten systeem: hij stopt er een vraag in en beoordeelt wat eruit komt. Je hoeft dus niets aan je agent te veranderen om hem testbaar te maken (Bron: freeCodeCamp).
⚡ Gevorderden: judge-modellen hebben meetbare biases — ze belonen bijvoorbeeld langere antwoorden. Verklein dat effect door per criterium een aparte, binaire vraag te stellen (“bevat het antwoord een concreet getal: ja/nee”) in plaats van één holistisch oordeel, en door de judge-temperatuur op 0 te zetten voor reproduceerbaarheid.
Stap 4: draai de harness bij elke wijziging
Laat het script eindigen in een samenvatting: aantal cases, geslaagd, gefaald, en per gefaalde case de reden van de judge. Draai hem na elke prompt-wijziging, model-swap of nieuwe tool. Zo zie je in seconden of een “kleine verbetering” ergens anders iets sloopt — precies het soort borging waar in de agent-wereld steeds meer nadruk op ligt, zoals ook blijkt uit het bredere nieuws over AI-agents op hetlaatsteainieuws.nl.
Checklist: ben je klaar?
- Ollama geïnstalleerd en een Qwen-model lokaal gepulled
- LangChain v1 + langchain-ollama geïnstalleerd
- 5-10 testcases gedefinieerd als data, los van je code
- Regelgebaseerde checks voor harde eisen (inhoud + tool-keuze)
- Judge-prompt met JSON-output en temperatuur 0
- Harness draait automatisch na elke agent-wijziging
