Kihagyás

11 – Evaluation alapok

AI rendszereket könnyű érzés alapján javítani, és nehéz bizonyíték alapján.

Egy prompt demóban jobbnak tűnhet, miközben valós eseteken rosszabbul teljesít.

Az evaluation erre válaszol:

Tényleg jobb lett a rendszer?

Miért nem elég a normál unit testing?

A hagyományos teszt gyakran ilyen:

assert add(2, 2) == 4

Egy LLM-válasznál sok érvényes output létezhet.

Kérdés:

Summarize this support ticket in one sentence.

Több különböző summary is lehet helyes.

Ezért az AI evaluation általában kombinál:

  • deterministic checkeket,
  • reference example-öket,
  • semantic checkeket,
  • model-based judgingot,
  • human review-t.

Kezdj reprezentatív datasettel

Készíts valós vagy realisztikus inputokból olyan halmazt, amely reprezentálja a taskot.

Példa support classificationre:

input                                      expected
-------------------------------------------------------------
"I was charged twice"                    billing
"The app crashes when I sign in"         technical
"Please change my email address"         account

Egy jó datasetben easy case és edge case is van.

Ne csak azokon a példákon evaluálj, amelyeket a prompt írásakor használtál.

Golden examples

A golden dataset ismert elvárt behaviourrel rendelkező példákat tartalmaz.

Extraction példa:

{
  "input": "Invoice INV-42 total 120 EUR",
  "expected": {
    "invoice_number": "INV-42",
    "currency": "EUR",
    "total": 120
  }
}

Classificationnél exact expected label jól használható.

Open-ended generationnél egyetlen exact answer helyett gyakran hasznosabb elvárt propertyket definiálni.

Determinisztikus evaluation

Ha maga a requirement determinisztikus, használj deterministic checket.

Példák:

Schema correctness

Valid az output a required schema szerint?

Classification accuracy

predicted category == expected category

Required citations

Minden factual answer tartalmaz legalább egy source reference-t?

Safety rules

Hívott a rendszer restricted toolt authorization nélkül?

Ezek olcsók, repeatable-ek és könnyen érthetők.

Exact match

Exact match hasznos például:

  • ID-knál,
  • labeleknél,
  • boolean decisionöknél,
  • normalized value-knál,
  • structured extractionnél.

Példa:

expected: "billing"
actual:   "billing"

Natural-language generationnél általában túl szigorú.

Két helyes válasz teljesen eltérő megfogalmazást használhat.

Property-based evaluation

A teljes answer összehasonlítása helyett teszteld a kötelező propertyket.

Generated email esetén:

- 150 szónál rövidebb legyen
- említse az order ID-t
- ne ígérjen refundot
- professional tone-t használjon

Néhány property determinisztikusan ellenőrizhető, mások semantic evaluationt igényelnek.

Semantic evaluation

A semantic check a jelentést értékeli, nem az exact textet.

Példák:

  • megőrizte a válasz a kulcs tényeket?
  • kihagyott a summary fontos problémát?
  • megválaszolta a user kérdését?
  • támogatja a választ a retrieved context?

Ehhez használható embedding, classifier, evaluator model vagy human review.

LLM-as-a-judge

Egy másik modell explicit criteria alapján értékelheti az outputot.

Példa evaluator instruction:

Score the answer from 1 to 5 for factual consistency with the provided source.
Do not score writing style.
Return only the score and a short reason.

Ez jobban scale-elhet a manual review-nál, de a judge maga is probabilisztikus.

Ezért:

  • definiálj világos rubricot,
  • teszteld a judge-ot human labelhez képest,
  • ahol lehet, használj deterministic checket,
  • ne kezeld a judge-ot ground truthként.

Rubrics

A rubric explicitté teszi a szubjektív criteriát.

Példa RAG-answer rubric:

5 - teljesen válaszol, minden factual claim supported
4 - helyes, de egy kisebb detail hiányzik
3 - részben helyes vagy gyengén supported
2 - jelentős hibák
1 - többnyire helytelen vagy unsupported

Rubric nélkül az evaluator score-ok nehezebben hasonlíthatók össze időben.

Human evaluation

Human review továbbra is hasznos, amikor:

  • a quality erősen szubjektív,
  • domain expertise kell,
  • fontos safety consequence van,
  • az automatic evaluation nem elég trustworthy.

Human reviewból létrejöhet az a labeled dataset is, amellyel később automatizálható az evaluation.

Evaluáld külön a komponenseket

Egy AI application több külön komponens miatt hibázhat.

Példa RAG system:

query
 ↓
retrieval
 ↓
context
 ↓
generation

Egy rossz answer oka lehet:

  • a retrieval rossz dokumentumot talált,
  • a releváns dokumentum túl alacsonyra rankelt,
  • a context truncated lett,
  • a modell ignorálta a helyes contextet,
  • a modell hallucinated.

Ha csak a final answert evaluálod, nehezebb diagnosztizálni a failure-t.

Retrieval evaluation

Gyakori kérdések:

Megtaláltuk a releváns dokumentumot?
Benne volt a top K-ban?
Mennyi irreleváns contextet hoztunk be?

Lehetséges metric:

  • precision,
  • recall,
  • hit rate,
  • ranking metrics.

Kezdetben kevésbé fontos a pontos metric, mint hogy a retrieval qualityt külön kezeld az answer qualitytől.

Tool-use evaluation

Tool-enabled agentnél evaluáld:

  • a megfelelő toolt választotta?
  • helyesek voltak az argumentumok?
  • hívott felesleges toolt?
  • jó időben állt meg?
  • megsértett permission boundaryt?
  • helyesen recoverelt tool failure-ből?

Példa test case:

User: "What is the status of order 123?"
Expected tool: get_order
Forbidden tool: cancel_order

Trajectory evaluation

Multi-step agentnél a final answer lehet helyes úgy is, hogy az út ineffektív vagy veszélyes volt.

Trajectory:

search
 ↓
read file
 ↓
search again
 ↓
run test
 ↓
edit
 ↓
run test

Ne csak a final resultot evaluáld, hanem:

  • step count,
  • unnecessary calls,
  • repeated calls,
  • risky actions,
  • cost,
  • recovery behavior.

Ez később agentic loopnál különösen fontos lesz.

Regression testing

Minden prompt-, model-, retrieval- vagy tool-change módosíthatja a behaviourt.

Kezeld az AI change-et software changeként:

change
 ↓
run evaluation suite
 ↓
compare against baseline

Példa:

Version A
accuracy: 87%
avg latency: 1.8 s
avg cost: $0.012

Version B
accuracy: 91%
avg latency: 3.6 s
avg cost: $0.031

B pontosabb, de a trade-off nem biztos, hogy megéri.

Baselines

Mindig hasonlíts valamihez.

Lehetséges baseline:

  • previous prompt,
  • previous model,
  • simple keyword classifier,
  • deterministic rule system,
  • human performance,
  • no-RAG model answer.

Baseline nélkül egy metricnek kevés contextje van.

Offline vs online evaluation

Offline

Ismert test case-ek futtatása release előtt.

Jó:

  • regression testhez,
  • model comparisonhöz,
  • prompt experimenthez.

Online

Valódi production behaviour mérése.

Példák:

  • user satisfaction,
  • escalation rate,
  • tool failure rate,
  • task completion rate,
  • correction rate,
  • latency és cost.

Offline evaluation védi a release-t. Online evaluation mutatja meg, hogy a product a valóságban működik-e.

Példa: classification change

Tegyük fel, módosítod a support-classification promptot.

Gyenge process:

try 5 examples manually
 ↓
looks better
 ↓
deploy

Jobb:

200 labeled historical tickets
 ↓
run old prompt
 ↓
run new prompt
 ↓
compare accuracy by category
 ↓
inspect regressions
 ↓
measure latency and cost
 ↓
decide whether to deploy

Példa: coding agent

Evaluation dataset:

20 small repository tasks

Metrics:

- tests passing
- compilation success
- task completion
- number of files unnecessarily modified
- tool calls
- total tokens
- elapsed time

Ez sokkal hasznosabb, mint megkérdezni, hogy a generated code „jól néz-e ki”.

Kerüld az egyszámos evaluationt

AI system gyakran több dimenziót optimalizál:

quality
latency
cost
safety
user experience

Egy modell, amely 1% qualityt nyer, de 10x costot okoz, rosszabb product decision lehet.

Egyetlen mágikus metric helyett használj kis scorecardot.

Építs evaluationt korán

Gyakori hiba:

build entire AI product
 ↓
then think about evaluation

Jobb:

define task
 ↓
collect representative examples
 ↓
define success criteria
 ↓
build
 ↓
evaluate continuously

Az evaluation lesz az AI engineering feedback loopja.

Gyakorlati első evaluation setup

Új AI feature esetén:

  1. gyűjts 20–100 reprezentatív case-t,
  2. definiáld az expected outputot vagy propertyket,
  3. először deterministic checkeket adj hozzá,
  4. evaluator modelt csak oda, ahol szükséges,
  5. ments baseline metricet,
  6. futtasd a suite-ot prompt/model change után,
  7. nézd át kézzel a failure-öket,
  8. production failure-ből folyamatosan bővítsd a datasetet.

Mentális modell

AI development without evals
        =
manual guessing at scale

Jobb loop:

hypothesis
 ↓
change
 ↓
evaluation
 ↓
error analysis
 ↓
next change

Az evaluation célja nem annak bizonyítása, hogy a modell tökéletes. Hanem hogy az AI development mérhető, összehasonlítható és kevésbé anecdote-driven legyen.