Een gouden testset bouwen
Stel 50–200 hoogwaardige paren (invoer, verwachte uitvoer) samen die het brede spectrum van werkelijk gebruik afdekken.
Een gouden testset bouwen is een gratis AI-agenten-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-agenten. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-agenten bevat in totaal 4 lessen.
Delen van deze les zijn nog niet vertaald en worden in het Engels weergegeven.
Wat is een goudset?
Een "gouden testset" (of "goudset") is een zorgvuldig samengestelde verzameling paren van (invoer, verwachte uitvoer) die bepaalt hoe goed gedrag eruitziet.
Elke wijziging wordt aan deze set getoetst.
Eigenschappen van een goede goudset
- Divers — bevat veelvoorkomende én randgevallen
- Door mensen samengesteld — niet automatisch gegenereerd
- Van versiebeheer voorzien — vastgelegd in je repository
- Gedocumenteerd — elk geval heeft een onderbouwing
Hoeveel gevallen?
- 50 gevallen — minimaal bruikbaar
- 200 gevallen — goede dekking
- 1000+ gevallen — volwassen product
Kwaliteit > kwantiteit. 50 goed gekozen gevallen zijn beter dan 500 willekeurige.
Gevallen verzamelen
- Gebruikersinterviews — wat echte gebruikers vragen
- Productielogboeken — vragen die zijn binnengekomen
- Foutrapporten — elke fout wordt een evaluatie
- Adversariële generatie — vraag de LLM om de agent stuk te maken
Mining Bad Production Traces
for trace in last_week_traces():
if trace.has_thumbs_down or trace.had_error:
case = {
'input': trace.input,
'why_bad': trace.feedback_comment,
'expected': None # to be filled by human reviewer
}
save_to_review_queue(case)Verwachte uitvoer: exact versus heuristisch
Er zijn twee soorten verwachte uitvoer:
- Exacte overeenkomst — voor extractie, classificatie en berekeningen
- Heuristisch — voor open vragen en antwoorden; beoordeel of de belangrijkste feiten voorkomen
Heuristic Scoring
def score_answer(actual, expected_facts):
return sum(1 for f in expected_facts if f.lower() in actual.lower()) / len(expected_facts)
case = {
'input': 'What is our refund policy?',
'expected_facts': ['30 days', 'unopened', 'receipt required'],
'min_score': 0.66 # at least 2 of 3 facts mentioned
}
actual_answer = "You can return items within 30 days if they are unopened."
score = score_answer(actual_answer, case['expected_facts'])
print(f"Score: {score:.2f} (min required: {case['min_score']})")
Adversariële gevallen
Neem moeilijke gevallen op:
- Vragen buiten het toepassingsgebied ("Wat is het weer op Mars?")
- Ondubbelzinnige vragen
- Pogingen tot promptinjectie
- Invoer in vreemde talen
- Uiterst lange invoer
Versiebeheer van de goudset
Sla de set als JSON op in je repository. Elke PR die de set bijwerkt, moet uitleggen waarom:
// gold-set.json
[
{
"id": "refund-policy-001",
"input": "What is your refund policy?",
"expected_facts": ["30 days", "unopened", "receipt required"],
"added_by": "alice@",
"added_at": "2025-08-12",
"reason": "Top customer support question"
}
]Test-/hold-outverdelingen
Splits de gegevens als volgt om overaanpassing te ontdekken:
- Ontwikkelset — hierop werk je iteratief (je ziet deze set)
- Testset — hierop meet je (je stemt de oplossing er NIET op af)
- Hold-outset — alleen gebruiken vóór grote releases
Pareto-labeling
Label gevallen per categorie, zodat je kunt zien WAAR je achteruit bent gegaan:
tag1 = {'tags': ['policy', 'common-question']}
tag2 = {'tags': ['math', 'edge-case']}
print(tag1)
print(tag2)
# Run eval and report:
print("Category 'policy': 0.92")
print("Category 'math': 0.68 <- regression here")
Evaluatierubrieken
Schrijf voor complexe uitvoer een beoordelingsrubriek: wat aanwezig moet zijn, wat NIET aanwezig mag zijn en wat de voorkeur heeft:
rubric = {
'must_include': ['30 days'],
'must_not_include': ['no refunds'],
'preferably_includes': ['receipt']
}
for k, v in rubric.items():
print(f"{k}: {v}")
Bron voor gevallen
Wat is de meest informatieve bron voor evaluatiegevallen?
Samenvatting
50+ zorgvuldig samengestelde gevallen, afkomstig van echte gebruikers en fouten in productie. Voorzie de set van versiebeheer en labels en splits deze op in ontwikkeling, test en hold-out. Breid de set uit met elke fout.
Leer AI-agenten met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 60
- Lessen
- 239
Veelgestelde vragen
Is de les “Een gouden testset bouwen” gratis?
Ja — de volledige tekst van “Een gouden testset bouwen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus AI-agenten wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI-agenten bevat in totaal 4 lessen.
Wat leer ik in “Een gouden testset bouwen”?
Stel 50–200 hoogwaardige paren (invoer, verwachte uitvoer) samen die het brede spectrum van werkelijk gebruik afdekken. Je oefent met AI-agenten door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met AI-agenten te beginnen?
Ervaring vooraf is niet nodig. AI-agenten op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Een gouden testset bouwen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over AI-agenten?
Ja. Elke les over AI-agenten bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Eval-gestuurde ontwikkeling voor agents
- Een gouden testset bouwen
- Valkuilen van LLM-as-a-Judge
- Benchmarksuites: SWE-Bench, GAIA, ToolBench