Zpět na domů

Evals pro AI-agenty: hodnocení sumarizace

Článek popisuje systémový přístup k evals pro AI-agenty pro sumarizaci schůzek. Od error analysis a code-based assertions po LLM-as-Judge. Klíčové metriky: faithfulness, action accuracy, completeness. Příklady kódu a taxonomy failure modes.

Jak nastavit evals pro stabilní AI-agenty
Advertisement 728x90

Evals pro AI-agenty: Systematický přístup k hodnocení kvality shrnutí schůzek

AI-agenté pro zpracování schůzek často poskytují nestabilní výsledky: halucinace, vynechané úkoly, nadbytečný text. Evals řeší tento problém tím, že poskytují objektivní metriky kvality. Jde o testy pro nedeterministické systémy, podobné jednotkovým testům v tradičním kódu. Odpovídají na klíčové otázky: kde se agent porouchá, zda se zlepšil po změnách a zda není porušena funkčnost.

V článku jsou rozebrány typy evals, analýza chyb, code-based assertions a metriky pro shrnutí schůzek. Přístup je založen na doporučeních expertů jako Hamel Husain a Eugene Yan.

Typy evals: od jednoduchých kontrol k LLM-as-Judge

Eval je funkce f(output) → score, která hodnotí výstup agenta. Tři úrovně složitosti:

Google AdInline article slot
  • Code-based assertions: Deterministické kontroly formálních vlastností (délka, struktura, klíčová slova). Rychlé, zdarma, ale omezené.
  • Human evaluation: Nuancované hodnocení člověkem. Přesné, ale drahé a neškálovatelné.
  • LLM-as-Judge: LLM hodnotí podle kritérií. Škálovatelné, levné, vyžaduje validaci.

Zlaté pravidlo je kombinovat všechny typy. Code-based pro každý požadavek, LLM-as-Judge na vzorcích, human pro kalibraci.

Pro shrnutí schůzek definujeme metriky podle priority:

  • Faithfulness: Každé tvrzení je potvrzeno přepisem.
  • Action item accuracy: Úplné úkoly s vlastníkem a termínem.
  • Completeness: Pokrytí klíčových témat.
  • Conciseness: Délka <30% přepisu, hustota 0.15 entit/token.
  • Coherence: Logická struktura.

Error analysis: základ pro efektivní evals

Ruční analýza chyb je první krok, který předchází automatizaci. Bez ní jsou evals zbytečné: týmy budují metriky, ignorujíce reálné problémy.

Google AdInline article slot

Proces error analysis

Shromážděte 20–50 párů „přepis → shrnutí“ z produkce nebo syntetiky. Čtěte, zaznamenávejte problémy bez klasifikace:

  • Halucinace: „Máša převezme refactoring“ místo „může se podívat“.
  • Vynechání action items na konci dlouhého přepisu.
  • Nedostatečná komprese: shrnutí delší než přepis.

Seskupte do taxonomie failure modes:

FAITHFULNESS FAILURES:

Google AdInline article slot
  • Halucinace závazků.
  • Nesprávná atribuce.

COMPLETENESS FAILURES:

  • Ztráta action items.
  • Vynechání rozhodnutí.

CONCISENESS FAILURES:

  • Převyprávění místo shrnutí.

Spočítejte frekvenci: 2–3 hlavní chyby určují prioritu evals. Čas: půl dne–týden, ROI maximální.

Code-based assertions: rychlé pass/fail kontroly

Princip: binary pass/fail, bez gradací 1–5. Nutí jasně definovat přijatelnost.

Příklady pro shrnutí schůzek:

interface Transcript {
  text: string;
  duration_minutes: number;
  participants: string[];
}

interface Summary {
  text: string;
  action_items: ActionItem[];
  decisions: string[];
}

interface ActionItem {
  description: string;
  owner?: string;
  deadline?: string;
}

interface AssertionResult {
  name: string;
  pass: boolean;
  reason: string;
}

function runAssertions(transcript: Transcript, summary: Summary): AssertionResult[] {
  const results: AssertionResult[] = [];
  
  // Kompresní poměr: shrnutí < 30% přepisu
  const transcriptTokens = transcript.text.split(' ').length;
  const summaryTokens = summary.text.split(' ').length;
  const ratio = summaryTokens / transcriptTokens;
  results.push({
    name: 'Compression ratio',
    pass: ratio < 0.3,
    reason: `Ratio: ${ratio.toFixed(2)}`
  });
  
  // Action items mají vlastníka a termín
  const aiComplete = summary.action_items.every(ai => ai.owner && ai.deadline);
  results.push({
    name: 'Action items completeness',
    pass: aiComplete,
    reason: aiComplete ? 'OK' : 'Missing owner/deadline'
  });
  
  return results;
}

Další assertions:

  • Přítomnost sekce action_items.
  • Žádný small talk ve shrnutí.
  • Správný JSON-formát structured output.

LLM-as-Judge a pokročilé scorers

Pro nuanced metriky použijte LLM-as-Judge s prompty pro faithfulness, completeness. V Mastra 16 scorers: faithfulness, completeness, conciseness.

Příklad promptu pro faithfulness:

Ohodnoť faithfulness shrnutí k přepisu. Každé tvrzení musí být potvrzeno. Score 0–1.
Přepis: [text]
Shrnutí: [text]
Score:```

Integrujte do CI: spouštějte na 50 test cases před nasazením. Metrika zlepšení: faithfulness z 0.64 na 0.78.

**Co je důležité:**
- Začněte s error analysis: 2–3 failure modes pokrývají 60% problémů.
- Kombinujte code-based (rychle), LLM-as-Judge (škálovatelně), human (validace).
- Priorita: faithfulness > action accuracy > completeness.
- Binary pass/fail pro jasná rozhodnutí.
- Automatizujte v CI pro systematické zlepšení.

— Editorial Team

Advertisement 728x90

Číst dál