AI-agenter · leksjon

Bygge et gyldig testsett

Sett sammen 50–200 kvalitetssikrede par med inndata og forventede utdata som dekker bredden i reell bruk.

Leksjon 2 av 414 trinn

Bygge et gyldig testsett er en gratis leksjon i AI-agenter på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-agenter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-agenter inneholder totalt 4 leksjoner.

Deler av denne leksjonen er ennå ikke oversatt og vises på engelsk.

Hva er et fasitsett?

Et «golden test set» (eller «gold set») er en kuratert samling av par med (inndata, forventet utdata) som definerer hvordan god atferd ser ut.

Hver endring måles mot dette settet.

Egenskaper ved et godt fasitsett

  • Variert – dekker vanlige OG sjeldne tilfeller
  • Kurert av mennesker – ikke automatisk generert
  • Versjonert – låst i repositoriet
  • Dokumentert – hvert tilfelle har en begrunnelse

Hvor mange tilfeller?

Tommelfingerregel:

  • 50 tilfeller – minimum som fungerer
  • 200 tilfeller – god dekning
  • 1000+ tilfeller – modent produkt

Kvalitet > kvantitet. 50 velvalgte tilfeller slår 500 tilfeldige.

Finne tilfeller

  1. Brukerintervjuer – hva virkelige brukere spør om
  2. Produksjonslogger – spørsmål som faktisk har kommet inn
  3. Feilrapporter – hver feil blir en eval
  4. Adversarial generering – be LLM-en om å bryte agenten

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)

Forventet utdata: eksakt samsvar eller heuristikk

Det finnes to typer forventet utdata:

  • Eksakt samsvar – for uthenting, klassifisering og beregning
  • Heuristisk – for åpne spørsmål og svar; vurder om de viktigste faktaene finnes

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']})")

Adversarielle tilfeller

Ta med vanskelige tilfeller:

  • Spørsmål utenfor området («Hvordan er været på Mars?»)
  • Tvetydige spørsmål
  • Forsøk på prompt-injeksjon
  • Inndata på fremmede språk
  • Svært lange inndata

Versjonere fasitsettet

Lag­re det som JSON i repositoriet. Hver PR som oppdaterer settet, må forklare hvorfor:

// 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- og holdout-deler

Del settet i følgende deler for å oppdage overtilpasning:

  • Utviklingssett – iterer på dette (dette ser De)
  • Testsett – mål på dette (dette finjusterer De IKKE mot)
  • Holdout-sett – brukes bare før større lanseringer

Pareto-merking

Merk tilfellene etter kategori, slik at De kan se HVOR regresjonen oppstod:

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")

Evalueringskriterier

For komplekse utdata bør De skrive evalueringskriterier: hva som må være med, hva som IKKE må være med, og hva som er å foretrekke:

rubric = {
    'must_include': ['30 days'],
    'must_not_include': ['no refunds'],
    'preferably_includes': ['receipt']
}
for k, v in rubric.items():
    print(f"{k}: {v}")

Kilde for tilfeller

Hva er kilden med høyest signal for evalueringsdata?

Oppsummering

50+ kuraterte tilfeller hentet fra virkelige brukere og feil i produksjonen. Versjoner, merk og del dem i utviklings-, test- og holdout-sett. Utvid settet med hver feil.

Gratis å komme i gang

Lær deg AI-agenter med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
60
Leksjoner
239

Ofte stilte spørsmål

Er leksjonen «Bygge et gyldig testsett» gratis?

Ja – hele teksten i «Bygge et gyldig testsett» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av AI-agenter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i AI-agenter inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bygge et gyldig testsett»?

Sett sammen 50–200 kvalitetssikrede par med inndata og forventede utdata som dekker bredden i reell bruk. Du øver på AI-agenter med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med AI-agenter?

Ingen tidligere erfaring er nødvendig. AI-agenter på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Bygge et gyldig testsett»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne AI-agenter-leksjonen?

Ja. Alle AI-agenter-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Evalueringsdrevet utvikling av agenter
  2. Bygge et gyldig testsett
  3. Fallgruver ved LLM-som-dommer
  4. Benchmarkpakker: SWE-Bench, GAIA, ToolBench
← Tilbake til AI-agenter