Jak hodnotit AI agenty: testovací sady, hodnotitelé a regresní kontroly

Praktický průvodce hodnocením AI agentů v šesti krocích – od definování úspěchu a sestavení testovacích sad ze skutečných selhání přes výběr hodnotitelů a spouštění regresních kontrol až po monitorování v produkci.

An AI agent evaluation detects an unapproved spare-part recommendation and verifies the corrected result after a fix.

Za každým skvělým AI produktem stojí důkladný proces evaluace AI agentů, známý jako evals, který včas odhalí chyby a zajistí správné fungování agenta. Evaluace jsou zásadní pro AI agenty, kteří v zastoupení druhých provádějí vysoce rizikové úkony, jako je vracení peněz.

Vybudování takového procesu vyžaduje určité technické znalosti a dovednosti v oblasti analýzy dat. Zdaleka to ale není tak děsivé ani nepřístupné, jak by se mohlo zdát. Abychom vám usnadnili začátek, připravili jsme šest praktických kroků pro evaluaci AI agentů a přehled častých mylných představ, které celý proces narušují.

Co znamená evaluace AI agenta?

Evaluace AI agenta znamená posouzení toho, jak správně plní úkoly a zda jeho rozhodnutí splňují požadavky organizace. V praxi jsou evaluace AI agentů, neboli evals, konkrétní metriky, které organizacím pomáhají určit, zda agent funguje dostatečně spolehlivě pro roli, ke které je určen.

Představte si nákupního AI agenta ve výrobním závodě, který kontroluje zásoby náhradních dílů a připravuje požadavky na jejich doplnění. Pokud schválený díl není k dispozici nebo jsou informace o dodavateli zastaralé, upozorní agent na problém, nebo doporučí neschválenou náhradu?

A pokud tento problém vyřešíte změnou jeho systémového promptu, jak poznáte, že jste nezpůsobili jiný?

Bez evaluace produktovým manažerům v podstatě nezbývá než hádat. Evaluace proto poskytují zpětnou vazbu, díky které lze měřit výkon, odhalovat opakující se problémy a s větší jistotou testovat změny.

Zároveň platí, že evaluace agenta může zkoumat několik aspektů jeho běhu:

  • Kvalitu konečného výsledku
  • Informace, které agent použil
  • Nástroje, které volal
  • Zda dodržel pravidla, která řídí jeho chování

Běžné metriky pro evaluaci AI agentů

Evaluace pracují s kvalitativními i kvantitativními daty. Kvalitativní evaluace vám pomáhá pochopit, co se děje a proč, a zahrnuje i ruční kontrolu rozhodnutí agenta. Kvantitativní evaluace převádí tato pozorování na měřitelné signály, například četnost konkrétních typů selhání nebo míru úspěšnosti úkolů.

Zde je přehled základních metrik pro evaluaci AI agentů:

  • Úspěšnost úkolu měří, zda agent dosáhl zamýšleného výsledku; obvykle se vyjadřuje jako procento běhů, které přinesou platné výsledky.
  • Správnost akcí měří, zda agent používal nástroje vhodně, volil platné argumenty a respektoval oprávnění.
  • Kvalita odpovědi posuzuje, zda je konečný výstup přesný, úplný a užitečný. Může zahrnovat faktickou správnost, dodržování pokynů a to, zda agent svá rozhodnutí opírá o dostupné informace.
  • Spolehlivost měří konzistenci napříč opakovanými pokusy, různými vstupy a hraničními případy.
  • Náklady a latence měří zdroje potřebné k dosažení úspěšného výsledku, včetně doby provádění, spotřeby tokenů a volání nástrojů.

Podle toho, co měříte, mohou evaluace posuzovat celkový (end-to-end) výkon agenta, trajektorii jeho provádění nebo jednotlivé komponenty, například volání nástrojů a kroky vyhledávání informací.

Krok 1: Rozhodněte, jak vypadá úspěšný běh agenta

Nejprve výslovně popište, čeho má agent dosáhnout – tedy produktové požadavky. Zní to samozřejmě, a přesto to může být překvapivě obtížné. Tento problém má dokonce svůj název: mezera ve specifikaci.

Takto k tomu doporučuje přistupovat Andrey Khomutov, náš senior data scientist:

„Začněte dvěma otázkami: ‚Co by se dalo považovat za splnění úkolu?‘ a ‚Co by učinilo zdánlivě úspěšný běh nepřijatelným?‘

U agentů to z technického hlediska znamená kontrolovat jak výsledek, tak cestu, kterou se k němu agenti dostali.“

Agent může dospět ke správné odpovědi tím, že získá přístup k uniklému klíči správných odpovědí, nebo může při plnění úkolu provádět neoprávněné akce. Khomutov upozorňuje, že únik odpovědí a nebezpečné akce během evaluací jsou konkrétní důvody, proč neposuzovat pouze konečnou odpověď.

„Očekávám, že se kontrola trajektorie stane standardní součástí sad evaluací agentů, a ne něčím, co děláme jen tehdy, když výsledek vypadá podezřele,“ dodává.

Poté zapojte odborníka na danou oblast, který ověří vaše kritéria úspěchu. Lidé s praktickými znalostmi oboru dokážou posoudit, zda podmínky stanovené pro AI agenta skutečně odpovídají úspěšnému výsledku.

Krok 2. Vytvořte testovací sadu z reálných úkolů a selhání

Prozkoumejte skutečné chování agenta, abyste pochopili, jak vypadá dobrý a špatný výkon. Odolejte pokušení začít generováním desítek testů založených jen na tom, co by se podle vás mohlo pokazit.

Hamel Husain, ML inženýr ve společnosti Parlance Lab, a Shreya Shankar, výzkumnice v oblasti ML systémů a evaluací aplikované AI, doporučují začít analýzou chyb, technikou převzatou ze strojového učení a datové vědy. Proces začíná kvalitativní analýzou záznamů průběhu (traces) agenta – tedy zápisů, které ukazují vstup uživatele, volání nástrojů, získané informace a výstup agenta.

  1. Projděte jednotlivé záznamy průběhu a anotujte chyby (otevřené kódování). Nechte odborníka na danou oblast prozkoumat běhy agenta a sepsat krátké postřehy o tom, co se pokazilo. Zaměřte se na první podstatnou chybu.
  2. Seskupte postřehy do typů selhání (axiální kódování). Jakmile budete mít dostatek poznámek, nechte LLM navrhnout kategorie pro podobné chyby. Mohou mezi ně patřit doporučení nekompatibilních dílů, nepřesné načtení stavu zásob nebo neúspěšné předání člověku.
  3. Spočítejte výskyty. Přiřaďte každý postřeh ke kategorii a pak pomocí tabulkového procesoru nebo kontingenční tabulky spočítejte, jak často se jednotlivé typy selhání objevují.
  4. Určete, co řešit přednostně, s ohledem na četnost i závažnost.
  5. Z důležitých selhání vytvořte testovací případy. Uložte příslušný vstup, výchozí podmínky, očekávaný výsledek a hodnoticí kritéria, aby bylo možné agenta znovu otestovat na stejném scénáři.

Kolik záznamů průběhu byste měli prozkoumat? Zhruba 100, ale žádné magické číslo neexistuje. Skončete dříve, jakmile dosáhnete teoretické saturace: bodu, kdy kontrola dalších záznamů přestává odhalovat podstatné nové vzorce selhání.

Ještě jste aplikaci nespustili? Syntetické příklady mohou pomoci vytvořit počáteční testovací sadu, ale jakmile budou k dispozici skutečná uživatelská data, měla by z nich vycházet.

Využití benchmarků při evaluaci AI agentů

Kromě vytváření vlastních testovacích případů můžete k posouzení schopností agenta využít existující sady standardizovaných evaluačních úloh, známé jako benchmarky.

Benchmarky však nejsou neomylné. Audity SWE-bench, revize benchmarků od Epoch AI a správné odpovědi původně zamítnuté v TheoPhysEval ukazují, jak mohou chybné úlohy nebo očekávané odpovědi zkreslit výsledky evaluace.

Khomutov radí vybírat aktuální benchmarky relevantní pro vaši oblast a překvapivé úspěchy či selhání prošetřit dříve, než budete skóre považovat za spolehlivý důkaz výkonu agenta.

Krok 3. Spouštějte agenta v opakovatelném testovacím prostředí

Opakovatelné testovací prostředí je řízené nastavení, ve kterém můžete AI agenta spouštět na stejných testovacích případech za stejných výchozích podmínek a porovnávat výsledky. Patří sem složka s testovacími případy, skript v Pythonu, který agenta spouští, nebo sada kontrol, které výsledky vyhodnocují.

Můžete začít tím, že reprezentativní vstupy uložíte jako soubory JSON a pomocí skriptu v Pythonu spustíte pracovní postup agenta a jeho výstupy ověříte pomocí asercí. Pro agenta spravujícího zásoby v našem výrobním závodě by opakovatelné testovací prostředí mohlo vypadat takto:

Při nastavení opakovatelného testovacího prostředí postupujte takto:

  1. Uložte reprezentativní vstupy. Ukládejte skutečné události nebo testovací případy ve stejné struktuře, v jaké je vaše aplikace přijímá v produkčním prostředí. V našem scénáři byste jako soubor JSON uložili požadavek na údržbu obsahující ID stroje, potřebný náhradní díl a datum údržby spolu se snímkem dat o zásobách a schválených dílech.
  2. Spusťte pracovní postup. Nechte agenta zpracovat každý vstup, včetně kroků vyhledávání informací, volání nástrojů a generování odpovědi.
  3. Zaznamenejte výsledek i průběh. Zachyťte konečný výstup a relevantní mezikroky (například vyhledávání v zásobách), abyste viděli nejen to, zda agent selhal, ale také kde.
  4. Opakujte případy podle závažnosti a četnosti selhání a podle toho, jak obtížné je problém opravit. Aplikace založené na LLM jsou nedeterministické (ze stejných vstupů mohou generovat různé výsledky), takže jeden úspěšný běh nezaručuje, že uspěje i ten další. Uvádějte podíl úspěšných pokusů a selhání prozkoumejte.

K tomu Khomutov doporučuje měřit pass@1 (jak často agent uspěje na první pokus) a pass@k (pravděpodobnost, že uspěje alespoň jednou v rámci stanoveného počtu pokusů). Pokud uvádíte pass@k, uveďte i počet pokusů, protože jedna správná odpověď z několika neznamená, že agent ví, kterou z nich zvolit.

S růstem aplikace používejte k organizaci a spouštění testů testovací framework, jako je pytest, a zvažte ukládání rozsáhlých testovacích datových sad a výsledků do databáze.

Krok 4. Zvolte pro každou kontrolu správného hodnotitele

Hodnotitel (často také nazývaný evaluátor) je mechanismus v podobě kódu, LLM řízeného hodnoticí rubrikou nebo lidského posuzovatele, který kontroluje výstup či akci agenta podle definovaného kritéria. Hodnotitel vrací verdikt vyhověl/nevyhověl a vysvětlení s uvedením relevantních důkazů.

Informace: Hodnoticí rubrika je soubor kritérií a pokynů, které definují, co se považuje za správný nebo přijatelný výsledek.

Správný typ hodnotitele závisí na tom, co se snažíte ověřit. Zde je srovnání všech tří přístupů:

Hodnotitel

Nejvhodnější pro

Příklad

Hlavní omezení

Založený na kódu

Přesné, ověřitelné podmínky

Byl doporučený náhradní díl na seznamu schválených kompatibilních dílů?

Nedokáže spolehlivě posoudit každé subjektivní rozhodnutí

LLM jako soudce

Posouzení závislá na kontextu

Vysvětlil agent, proč nemohl doporučit náhradu?

Jeho úsudky mohou být chybné nebo nekonzistentní

Člověk

Oborově specifické znalosti a nejednoznačné případy

Považuje vedoucí údržby doporučení agenta za vhodné?

Nákladné při použití ve velkém měřítku

Různé aspekty téhož běhu mohou někdy vyžadovat různé metody evaluace, takže může být nutné hodnotitele kombinovat.

Jak hodnotitele kombinovat?

Položte si otázku: „Lze výsledek ověřit podle známého pravidla nebo očekávané hodnoty, nebo vyžaduje úsudek podobný lidskému?“

  • Pokud lze výsledek ověřit přesně, začněte s hodnotitelem založeným na kódu. Hodnotitelé založení na kódu mohou ověřovat také strukturované výstupy, platné hodnoty polí, argumenty nástrojů nebo konečný stav databáze.
  • Pokud kontrola vyžaduje interpretaci kontextu, použijte přístup LLM jako soudce.
  • Pro oborově specifická nebo sporná rozhodnutí využijte lidské posuzovatele.

Důležité! Hodnotitel založený na LLM může chybně interpretovat důkazy nebo nesprávně použít rubriku. Proto potřebuje další krok evaluace: kalibraci podle lidských úsudků.

Kalibrujte hodnotitele založeného na LLM podle lidských úsudků.

Kalibrace v podstatě vyžaduje, aby odborník na danou oblast posoudil skutečné běhy agenta. Odborník pak porovná své úsudky s úsudky LLM a na základě neshod upřesní hodnoticí rubriku.

Zde je pětikrokový proces kalibrace hodnotitele:

  1. Shromážděte příklady vstupů a výstupů agenta a příslušné záznamy průběhu.
  2. Nechte odborníka na danou oblast nezávisle posoudit, zda každý příklad splňuje evaluační kritérium.
  3. Spusťte na těchto příkladech hodnotitele založeného na LLM.
  4. Porovnejte úsudky člověka a modelu.
  5. Prošetřete neshody a upřesněte rubriku hodnotitele, než ho otestujete na nových příkladech.

Khomutov také zdůrazňuje, že je důležité samostatně testovat konzistenci hodnotitele založeného na LLM:

„Předložte mu několikrát přesně stejný uložený běh a soubory, aniž byste agenta spouštěli znovu. Díky tomu oddělíte variabilitu v práci agenta od variability v hodnocení.“

Pokud stejný výstup dostane různé verdikty, nepředpokládejte, že každá změna skóre jde na vrub agenta. Místo toho prozkoumejte matici záměn, která ukazuje, kdy hodnotitel chyby správně identifikoval, kdy je přehlédl a kdy nesprávně označil přijatelné výstupy.

Lidská kontrola zůstává nezbytná pro stanovení referenčních úsudků, řešení sporných případů a odhalování nových typů selhání, k jejichž detekci stávající hodnotitelé nebyli navrženi.

Krok 5. Porovnávejte verze a provádějte regresní kontroly

Předpokládejme, že analýza chyb odhalí, že váš agent pro správu zásob často doporučuje neschválené náhradní díly. Upravíte jeho systémový prompt tak, aby vyžadoval explicitní kontrolu kompatibility. Původně neúspěšný případ nyní projde. Jak ale poznáte, že změna neovlivnila jiné úkoly?

Právě k tomu slouží regresní testování.

Regresní testování znamená opětovné spuštění dříve úspěšných testovacích případů po změně promptu, modelu nebo pracovního postupu agenta, aby se ověřilo, že změna nezpůsobila nová selhání.

  1. Reprodukujte původní selhání pomocí uloženého vstupu z testovací sady.
  2. Proveďte cílenou změnu promptu, modelu nebo pracovního postupu.
  3. Znovu spusťte neúspěšný test a ověřte, zda je problém vyřešen.
  4. Spusťte ostatní testy a ověřte, že změna nenarušila dříve fungující chování.
  5. Zkontrolujte výsledky a prošetřete všechna nová selhání.

Abyste získali přesné výsledky, porovnejte výchozí a aktualizovanou verzi agenta na stejných testovacích případech a se stejnými hodnoticími kritérii.

Krok 6: Monitorujte výkon AI agenta v produkci

Hodnocení agenta nasazením aplikace nekončí. Jak vysvětlují Husain a Shankar, stejné hodnotitele, které používáte během vývoje, můžete spouštět i na skutečných produkčních datech a měřit, jak si váš agent vede v průběhu času.

Tomuto přístupu se říká online hodnocení a je součástí širšího procesu monitorování v produkci, který pomáhá odhalovat opakující se i dosud neznámá selhání.

Tento proces je iterativní a zahrnuje čtyři vzájemně se doplňující činnosti:

  • Spouštějte kalibrované LLM soudce na produkčních trasách. Vybírejte vzorky skutečných interakcí agenta a použijte na ně hodnotitele, které jste již ověřili porovnáním s lidským posouzením.
  • Sledujte míru selhání v průběhu času. Pomocí kategorií selhání stanovených během analýzy chyb kvantifikujte opakující se problémy.
  • Pokračujte v ručním procházení tras. Automatizovaní hodnotitelé odhalí jen ty problémy, k jejichž identifikaci byli navrženi. Ručně kontrolujte vzorky skutečných interakcí agenta, abyste odhalili nové chyby nebo neobvyklé požadavky uživatelů.
  • K měření obchodních výsledků používejte A/B testování (pouze tehdy, je-li to vhodné). Porovnávejte různé prompty, modely nebo pracovní postupy pomocí metrik, jako je dokončení úkolu, spokojenost uživatelů a doba do vyřešení. Tento proces pomáhá určit, zda změna zlepšuje skutečný zážitek z produktu, nikoli jen to, zda projde jednotlivými testy.

Jedna důležitá poznámka: evaluace nemusí být dotažené k dokonalosti. Stačí, aby byly dost dobré na to, aby vám pomohly zlepšit produkt.

Časté mylné představy o hodnocení AI agentů

  • Evaluace jsou jen jednotkové testy. Nejsou – jednotkové testy jsou malé automatizované kontroly, které tvoří jen jednu část hodnocení. Evaluace zahrnují také kvalitativní analýzu chyb, lidské posouzení, monitorování v produkci a experimenty k měření kvality aplikace.
  • Evaluační platforma za vás udělá všechno. Hotové nástroje dokážou automatizovat některé kontroly, ale nedokážou určit, které způsoby selhání (typy chyb nebo nežádoucího chování agenta) jsou pro váš produkt důležité.
  • Hodnocení všeho můžete přenechat LLM. To je velký omyl. Analýza chyb vedená lidmi a kalibrace hodnotitelů zůstávají nezbytné, protože LLM postrádají obchodní kontext potřebný k odhalení všech problémů.
  • A/B testování nebo pouhé používání agenta nahrazuje evaluace. Není tomu tak. A/B testy mohou ukázat, která verze si podle zvolených metrik vede lépe, ale samy o sobě nedokážou vysvětlit příčiny problémů.

Časté dotazy k hodnocení AI agentů

1. Jaký je rozdíl mezi hodnocením AI agentů a hodnocením LLM?

Hodnocení LLM měří, jak dobře jazykový model zvládá daný úkol, například zodpovězení otázky, shrnutí dokumentu nebo extrakci informací. Hodnocení AI agentů posuzuje systém, který k dokončení úkolu samostatně provádí více kroků.

Na rozdíl od běžného hodnocení LLM zkoumá hodnocení agentů jak konečný výsledek, tak posloupnost akcí, které k němu vedly, včetně volání nástrojů, rozhodnutí a dodržování předem definovaných pravidel.

2. Klíčové metriky pro hodnocení AI agentů

Metriky hodnocení AI agentů se dělí do dvou hlavních kategorií:

  • Metriky technického výkonu: míra úspěšnosti úkolů, správnost akcí, kvalita odpovědí, spolehlivost (pass@1 a pass@k), latence, spotřeba tokenů a náklady na jeden úspěšně dokončený úkol.
  • Obchodní metriky a metriky uživatelského zážitku: spokojenost zákazníků (CSAT), míra vyřešení problémů, míra eskalace, konverzní poměr, doba dokončení úkolu a další výsledky specifické pro roli agenta.

Například agenta zákaznické podpory lze hodnotit podle úspěšného řešení problémů a spokojenosti zákazníků, zatímco u nákupního AI agenta lze měřit přesnost požadavků na doplnění zásob, míru schválení a délku nákupního cyklu.

Správně zvolené metriky by měly odrážet, jak spolehlivě agent pracuje a zda jeho práce zlepšuje obchodní výsledky.

3. Jaké jsou nejlepší nástroje pro hodnocení AI agentů?

Mezi běžné možnosti patří:

  • Testovací frameworky: Aserce jazyka Python a pytest se hodí ke spouštění opakovatelných testovacích případů a ověřování přesných podmínek, například zda agent vybral správný nástroj nebo vrátil platné ID dílu.
  • Frameworky pro hodnocení AI agentů: DeepEval a agent-eval toolkit od společnosti Google podporují složitější hodnocení, včetně tras provádění, hodnotitelů založených na LLM a automatizovaného regresního testování.
  • Platformy pro hodnocení a pozorovatelnost: LangSmith, Arize Phoenix a MLflow pomáhají týmům zkoumat chování agentů, spravovat evaluační datové sady, porovnávat verze agentů a monitorovat výkon v produkci.

4. Jak automatizovat hodnocení AI agentů?

Hodnocení AI agentů můžete automatizovat tak, že vytvoříte opakovatelné testy, použijete automatizované hodnotitele a začleníte tyto kontroly do vývojových a produkčních pracovních postupů:

  1. Vytvořte evaluační datovou sadu: Shromážděte reprezentativní uživatelské úkoly, očekávané výsledky, známá selhání a trasy provádění agenta. Zahrňte i okrajové případy, jako jsou neúspěšná volání nástrojů, chybějící informace a neoprávněné akce.
  2. Automatizujte spouštění testů a hodnocení: Pomocí frameworků jako pytest nebo DeepEval spouštějte testovací případy a používejte kontroly založené na kódu nebo LLM hodnotitele. Než se začnete spoléhat na skóre LLM hodnotitelů, ověřte je vůči lidskému posouzení.
  3. Začleňte hodnocení do CI/CD: Automaticky znovu spouštějte regresní testy, kdykoli vývojáři aktualizují prompty, modely, nástroje nebo pracovní postup agenta. Porovnávejte výsledky s výchozím stavem a stanovte prahové hodnoty kvality, které zabrání vydání, pokud kritické kontroly selžou.
  4. Použijte kalibrované hodnotitele na vzorky produkčních tras, sledujte míru selhání a další metriky výkonu a nové chyby prošetřujte pomocí ruční kontroly.