Ako hodnotiť AI agentov: testovacie množiny, hodnotitelia a regresné kontroly

Praktický návod v šiestich krokoch na hodnotenie AI agentov – od definovania úspechu a vytvárania testovacích množín zo skutočných zlyhaní až po výber hodnotiteľov, spúšťanie regresných kontrol a monitorovanie v produkcii.

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

Za každým skvelým produktom AI stojí dôkladný proces hodnotenia AI agentov, známy ako evaly, ktorý včas zachytí chyby a zabezpečí správne fungovanie agenta. Evaly sú kľúčové pre AI agentov, ktorí v mene niekoho vykonávajú vysoko rizikové akcie, napríklad vrátenie peňazí.

Vybudovanie takého procesu si vyžaduje určité technické znalosti a zručnosti v analýze dát. Nie je to však ani zďaleka také náročné či neprístupné, ako by sa mohlo zdať. Aby sme vám uľahčili začiatok, pripravili sme šesť praktických krokov na hodnotenie AI agentov a prehľad bežných mylných predstáv, ktoré tento proces narúšajú.

Čo znamená hodnotiť AI agenta?

Hodnotiť AI agenta znamená posúdiť, ako správne plní úlohy a či jeho rozhodnutia spĺňajú požiadavky organizácie. V praxi sú hodnotenia AI agentov, čiže evaly, konkrétne metriky, ktoré organizáciám pomáhajú určiť, či agent funguje dostatočne spoľahlivo na rolu, ktorú má plniť.

Predstavte si AI nákupného agenta vo výrobnom závode, ktorý kontroluje zásoby náhradných dielov a pripravuje požiadavky na ich doplnenie. Ak schválený diel nie je k dispozícii alebo sú informácie o dodávateľovi zastarané, upozorní agent na problém, alebo odporučí neschválenú náhradu?

A ak na vyriešenie tohto problému zmeníte jeho systémový prompt, ako zistíte, že ste nespôsobili iný?

Bez zavedeného hodnotenia produktovým manažérom v podstate neostáva nič iné, len hádať. Evaly preto poskytujú spätnú väzbu, pomocou ktorej možno merať výkon, odhaľovať opakujúce sa problémy a s väčšou istotou testovať zmeny.

Zároveň platí, že hodnotenie agenta môže skúmať viacero aspektov jeho behu:

  • Kvalitu konečného výsledku
  • Informácie, ktoré agent použil
  • Nástroje, ktoré volal
  • Či dodržal pravidlá, ktoré upravujú jeho správanie

Bežné metriky hodnotenia AI agentov

Evaly pracujú s kvalitatívnymi aj kvantitatívnymi dátami. Kvalitatívne hodnotenie vám pomáha pochopiť, čo sa deje a prečo, a zahŕňa aj manuálnu kontrolu rozhodnutí agenta. Kvantitatívne hodnotenie premieňa tieto pozorovania na merateľné signály, napríklad spočítaním frekvencie konkrétnych typov zlyhaní alebo výpočtom miery úspešnosti úloh.

Tu je zoznam základných metrík hodnotenia AI agentov:

  • Úspešnosť úlohy meria, či agent dosiahol zamýšľaný výsledok; zvyčajne sa vyjadruje ako percento behov, ktoré prinesú platné výsledky.
  • Správnosť akcií meria, či agent používal nástroje primerane, zvolil platné argumenty a rešpektoval oprávnenia.
  • Kvalita odpovede posudzuje, či je konečný výstup presný, úplný a užitočný. Môže zahŕňať faktickú správnosť, dodržiavanie pokynov a to, či agent svoje rozhodnutia podkladá dostupnými informáciami.
  • Spoľahlivosť meria konzistentnosť pri opakovaných pokusoch, rôznych vstupoch a hraničných prípadoch.
  • Náklady a latencia merajú zdroje potrebné na dosiahnutie úspešného výsledku vrátane času vykonávania, spotreby tokenov a volaní nástrojov.

V závislosti od toho, čo meriate, môžu evaly posudzovať celkový (end-to-end) výkon agenta, trajektóriu jeho vykonávania alebo jednotlivé komponenty, ako sú volania nástrojov a kroky vyhľadávania informácií.

Krok 1: Rozhodnite, ako vyzerá úspešný beh agenta

Najprv výslovne opíšte, čo má agent dosiahnuť – teda požiadavky na produkt. Znie to samozrejme, no môže to byť prekvapivo náročné. Tento problém má dokonca aj svoj názov: medzera v špecifikácii.

Takto k tomu odporúča pristupovať Andrey Khomutov, náš senior dátový vedec:

„Začnite dvoma otázkami: ‚Čo by sa považovalo za splnenie úlohy?‘ a ‚Čo by spravilo zdanlivo úspešný beh neprijateľným?‘

Pri agentoch to z technického hľadiska znamená kontrolovať výsledok aj to, ako sa k nemu agenti dostali.“

Agent môže dospieť k správnej odpovedi tak, že získa prístup k uniknutému kľúču so správnymi odpoveďami, alebo pri plnení úlohy vykoná nepovolené akcie. Khomutov upozorňuje, že únik odpovedí a nebezpečné akcie počas hodnotenia sú konkrétne dôvody, prečo neposudzovať iba konečnú odpoveď.

„Očakávam, že kontrola trajektórie sa stane štandardnou súčasťou sád evalov pre agentov, a nie niečím, čo robíme len vtedy, keď výsledok vyzerá podozrivo,“ dodáva.

Potom zapojte odborníka na danú oblasť, ktorý overí vaše kritériá úspechu. Ľudia s praktickými znalosťami danej oblasti dokážu posúdiť, či podmienky, ktoré sme pre AI agenta stanovili, zodpovedajú úspešnému výsledku.

Krok 2. Zostavte testovaciu sadu zo skutočných úloh a zlyhaní

Preskúmajte skutočné správanie agenta, aby ste pochopili, ako vyzerá dobrý a zlý výkon. Odolajte pokušeniu začať generovaním desiatok testov len na základe toho, čo by sa podľa vás mohlo pokaziť.

Hamel Husain, ML inžinier v Parlance Lab, a Shreya Shankar, výskumníčka v oblasti ML systémov a evalov aplikovanej AI, odporúčajú začať analýzou chýb – technikou prevzatou zo strojového učenia a dátovej vedy. Proces sa začína kvalitatívnou analýzou záznamov behu agenta (tzv. traces) – teda záznamov, ktoré ukazujú vstup používateľa, volania nástrojov, získané informácie a výstup agenta.

  1. Prejdite jednotlivé záznamy behu a anotujte chyby (otvorené kódovanie). Nechajte odborníka na danú oblasť preskúmať behy agenta a zapísať krátke postrehy o tom, čo sa pokazilo. Zamerajte sa na prvú podstatnú chybu.
  2. Zoskupte pozorovania do typov zlyhaní (axiálne kódovanie). Keď budete mať dostatok poznámok, nechajte LLM navrhnúť kategórie pre podobné chyby. Môže ísť napríklad o odporúčania nekompatibilných dielov, nepresné načítanie stavu zásob či neúspešné odovzdanie úlohy človeku.
  3. Spočítajte výskyty. Priraďte každé pozorovanie ku kategórii a potom pomocou tabuľkového procesora alebo kontingenčnej tabuľky vypočítajte, ako často sa jednotlivé typy zlyhaní vyskytujú.
  4. Stanovte, čo riešiť prioritne, s ohľadom na frekvenciu aj závažnosť.
  5. Premeňte dôležité zlyhania na testovacie prípady. Uložte príslušný vstup, počiatočné podmienky, očakávaný výsledok a kritériá hodnotenia, aby bolo možné agenta znova otestovať v rovnakom scenári.

Koľko záznamov behu by ste mali preskúmať? Približne 100, no žiadne magické číslo neexistuje. Skončite skôr, keď dosiahnete teoretickú saturáciu: bod, keď kontrola ďalších záznamov už neodhaľuje nové významné vzorce zlyhaní.

Ešte ste aplikáciu nespustili? Syntetické príklady môžu pomôcť zostaviť počiatočnú testovaciu sadu, no hneď ako budú k dispozícii skutočné údaje používateľov, mali by ste z nich vychádzať.

Využitie benchmarkov pri hodnotení AI agentov

Okrem vytvárania vlastných testovacích prípadov môžete na posúdenie schopností agenta použiť aj existujúce kolekcie štandardizovaných hodnotiacich úloh, známe ako benchmarky.

Benchmarky však nie sú neomylné. Audity SWE-bench, revízie benchmarkov od Epoch AI a správne odpovede, ktoré boli v TheoPhysEval pôvodne zamietnuté, ukazujú, ako môžu chybné úlohy alebo očakávané odpovede skresliť výsledky hodnotenia.

Ako radí Khomutov, vyberajte aktuálne benchmarky relevantné pre vašu oblasť a skôr, než začnete skóre považovať za spoľahlivý dôkaz výkonu agenta, preskúmajte prekvapivé úspechy či zlyhania.

Krok 3. Spúšťajte agenta v opakovateľnom testovacom prostredí

Opakovateľné testovacie prostredie je kontrolované nastavenie, v ktorom môžete spúšťať AI agenta na rovnakých testovacích prípadoch za rovnakých počiatočných podmienok a porovnávať výsledky. Patrí sem priečinok s testovacími prípadmi, skript v jazyku Python, ktorý spúšťa agenta, alebo sada kontrol, ktoré vyhodnocujú výsledky.

Môžete začať tým, že reprezentatívne vstupy uložíte ako súbory JSON a pomocou skriptu v jazyku Python spustíte pracovný postup agenta a jeho výstupy skontrolujete pomocou asercií. Pre agenta na správu zásob v našom výrobnom závode by opakovateľné testovacie prostredie mohlo vyzerať takto:

Ak chcete nastaviť opakovateľné testovacie prostredie, postupujte takto:

  1. Uložte reprezentatívne vstupy. Ukladajte skutočné udalosti alebo testovacie prípady v rovnakej štruktúre, akú vaša aplikácia prijíma v produkcii. V našom scenári by ste ako súbor JSON uložili požiadavku na údržbu obsahujúcu ID stroja, požadovaný náhradný diel a dátum údržby spolu so snímkou údajov o zásobách a schválených dieloch.
  2. Spustite pracovný postup. Nechajte agenta spracovať každý vstup vrátane krokov vyhľadávania informácií, volaní nástrojov a generovania odpovede.
  3. Uložte výsledok a záznam behu. Zachyťte konečný výstup a relevantné medzikroky (napríklad vyhľadávanie v zásobách), aby ste videli nielen to, či agent zlyhal, ale aj kde.
  4. Opakujte prípady podľa závažnosti a frekvencie zlyhania a náročnosti opravy problému. Aplikácie LLM sú nedeterministické (z rovnakých vstupov môžu vytvárať rôzne výsledky), takže jeden úspešný beh nezaručuje, že uspeje aj ďalší. Uvádzajte podiel úspešných pokusov a preskúmajte zlyhania.

Pri vykazovaní výsledkov Khomutov odporúča merať pass@1 (ako často agent uspeje na prvý pokus) a pass@k (pravdepodobnosť, že uspeje aspoň raz v rámci určeného počtu pokusov). Ak uvádzate pass@k, uveďte aj počet pokusov, pretože jedna správna odpoveď spomedzi viacerých ešte neznamená, že agent vie, ktorú z nich zvoliť.

S rastom aplikácie používajte na organizáciu a spúšťanie testov testovací framework, napríklad pytest, a zvážte ukladanie veľkých testovacích dátových sád a výsledkov do databázy.

Krok 4. Pre každú kontrolu zvoľte správneho hodnotiteľa

Hodnotiteľ (často nazývaný aj evaluátor) je mechanizmus v podobe kódu, LLM riadeného hodnotiacou rubrikou alebo ľudského posudzovateľa, ktorý kontroluje výstup alebo akciu agenta podľa definovaného kritéria. Hodnotiteľ vracia verdikt úspech/neúspech a vysvetlenie s uvedením relevantných dôkazov.

Info: Hodnotiaca rubrika je súbor kritérií a pokynov, ktoré definujú, čo sa považuje za správny alebo prijateľný výsledok.

Správny typ hodnotiteľa závisí od toho, čo sa snažíte overiť. Tu je porovnanie týchto troch prístupov:

Hodnotiteľ

Najvhodnejší pre

Príklad

Hlavné obmedzenie

Založený na kóde

Presné, overiteľné podmienky

Bol odporúčaný náhradný diel na schválenom zozname kompatibility?

Nedokáže spoľahlivo posúdiť každé subjektívne rozhodnutie

LLM ako sudca

Posúdenia závislé od kontextu

Vysvetlil agent, prečo nemohol odporučiť náhradu?

Jeho úsudky môžu byť nesprávne alebo nekonzistentné

Človek

Odborné znalosti v danej oblasti a nejasné prípady

Považuje manažér údržby odporúčanie agenta za vhodné?

Nákladné pri použití vo veľkom rozsahu

Rôzne aspekty toho istého behu si niekedy vyžadujú rôzne metódy hodnotenia, takže možno budete musieť hodnotiteľov kombinovať.

Ako kombinovať hodnotiteľov?

Položte si otázku: „Dá sa výsledok overiť podľa známeho pravidla alebo očakávanej hodnoty, alebo si vyžaduje úsudok podobný ľudskému?“

  • Ak môžete výsledok presne overiť, začnite hodnotiteľom založeným na kóde. Hodnotitelia založení na kóde dokážu overiť aj štruktúrované výstupy, platné hodnoty polí, argumenty nástrojov alebo konečný stav databázy.
  • Ak si kontrola vyžaduje interpretáciu kontextu, použite LLM ako sudcu.
  • Pri rozhodnutiach špecifických pre danú oblasť alebo sporných rozhodnutiach využite ľudských posudzovateľov.

Dôležité! LLM hodnotiteľ môže dôkazy nesprávne interpretovať alebo rubriku nesprávne uplatniť. Preto potrebuje ďalší krok hodnotenia: kalibráciu podľa ľudských úsudkov.

Kalibrujte LLM hodnotiteľa podľa ľudských úsudkov.

Kalibrácia v podstate vyžaduje, aby odborník na danú oblasť posúdil skutočné behy agenta. Odborník potom porovná svoje úsudky s úsudkami LLM a na základe nezhôd upresní hodnotiacu rubriku.

Tu je päťkrokový proces kalibrácie hodnotiteľa:

  1. Zhromaždite príklady vstupov a výstupov agenta a relevantných záznamov behu.
  2. Nechajte odborníka na danú oblasť nezávisle posúdiť, či každý príklad spĺňa hodnotiace kritérium.
  3. Spustite LLM hodnotiteľa na týchto príkladoch.
  4. Porovnajte úsudky človeka a modelu.
  5. Preskúmajte nezhody a pred testovaním na nových príkladoch upresnite rubriku hodnotiteľa.

Khomutov zároveň zdôrazňuje, aké dôležité je samostatne testovať konzistentnosť LLM hodnotiteľa:

„Dajte mu niekoľkokrát presne ten istý uložený beh a súbory bez toho, aby ste agenta spúšťali znova. Tak dokážete oddeliť variabilitu v práci agenta od variability v hodnotení.“

Ak ten istý výstup dostane rôzne verdikty, nepredpokladajte, že každá zmena skóre pochádza od agenta. Namiesto toho preskúmajte maticu zámen, ktorá ukazuje, kedy hodnotiteľ správne identifikoval chyby, kedy ich prehliadol a kedy nesprávne označil prijateľné výstupy.

Ľudská kontrola zostáva nevyhnutná na stanovenie referenčných úsudkov, riešenie sporných prípadov a odhaľovanie nových typov zlyhaní, na ktorých zachytenie existujúci hodnotitelia neboli navrhnutí.

Krok 5. Porovnávajte verzie a spúšťajte regresné kontroly

Predpokladajme, že analýza chýb odhalí, že váš agent na správu zásob často odporúča neschválené náhradné diely. Upravíte jeho systémový prompt tak, aby vyžadoval výslovnú kontrolu kompatibility. Pôvodne zlyhávajúci prípad teraz prejde. Ako však viete, že zmena neovplyvnila iné úlohy?

Práve tu prichádza na rad regresné testovanie.

Regresné testovanie znamená opätovné spustenie predtým úspešných testovacích prípadov po zmene promptu, modelu alebo pracovného postupu agenta s cieľom overiť, že zmena nespôsobila nové zlyhania.

  1. Zreprodukujte pôvodné zlyhanie pomocou uloženého vstupu z testovacej sady.
  2. Urobte cielenú zmenu v prompte, modeli alebo pracovnom postupe.
  3. Znova spustite zlyhávajúci test a overte, či sa problém vyriešil.
  4. Spustite ostatné testy, aby ste overili, že zmena nenarušila predtým úspešné správanie.
  5. Skontrolujte výsledky a preskúmajte všetky nové zlyhania.

Aby ste dosiahli presné výsledky, porovnajte základnú a aktualizovanú verziu agenta pomocou rovnakých testovacích prípadov a hodnotiacich kritérií.

Krok 6: Monitorujte výkon AI agenta v produkcii

Hodnotenie agenta sa nasadením aplikácie nekončí. Ako vysvetľujú Husain a Shankar, tie isté hodnotiace nástroje, ktoré používate počas vývoja, môžete spúšťať aj na skutočných produkčných dátach a merať tak, ako sa výkon vášho agenta v čase mení.

Tento prístup sa nazýva online hodnotenie a je súčasťou širšieho procesu monitorovania v produkcii, ktorý pomáha odhaliť opakujúce sa aj doteraz neznáme zlyhania.

Tento proces je iteratívny a zahŕňa štyri vzájomne sa dopĺňajúce činnosti:

  • Spúšťajte kalibrovaných LLM sudcov na produkčných záznamoch behu. Vyberte vzorku skutočných interakcií agenta a použite hodnotiace nástroje, ktoré ste už overili oproti ľudským posudkom.
  • Sledujte mieru zlyhaní v čase. Na kvantifikáciu opakujúcich sa problémov použite kategórie zlyhaní stanovené počas analýzy chýb.
  • Naďalej manuálne kontrolujte záznamy behu. Automatizovaní hodnotitelia odhalia iba tie problémy, na ktorých identifikáciu sú navrhnutí. Manuálne kontrolujte vzorky skutočných interakcií agenta, aby ste odhalili nové chyby alebo nezvyčajné požiadavky používateľov.
  • Na meranie obchodných výsledkov používajte A/B testovanie (iba ak je to vhodné). Porovnávajte rôzne prompty, modely alebo pracovné postupy pomocou metrík, ako sú dokončenie úloh, spokojnosť používateľov a čas do vyriešenia. Tento proces pomáha určiť, či zmena zlepšuje skutočný zážitok z produktu, nielen to, či prejde jednotlivými testami.

Jedna dôležitá poznámka: hodnotenia nemusia byť dotiahnuté do dokonalosti. Stačí, aby boli dostatočne dobré na to, aby zlepšili váš produkt.

Časté mylné predstavy o hodnotení AI agentov

  • Hodnotenia sú len jednotkové testy. Nie je to tak; jednotkové testy sú malé automatizované kontroly, ktoré predstavujú iba jednu časť hodnotenia. Hodnotenia zahŕňajú aj kvalitatívnu analýzu chýb, ľudské posudky, monitorovanie v produkcii a experimenty na meranie kvality aplikácie.
  • Platforma na hodnotenie urobí všetko za vás. Hotové nástroje dokážu automatizovať niektoré kontroly, ale nedokážu určiť, na ktorých typoch zlyhaní (druhoch chýb alebo nežiaduceho správania agenta) vo vašom produkte záleží.
  • Hodnotenie všetkého môžete nechať na LLM. To je veľký omyl. Analýza chýb vedená ľuďmi a kalibrácia hodnotiteľov zostávajú nevyhnutné, pretože LLM nemajú obchodný kontext potrebný na odhalenie všetkých problémov.
  • A/B testovanie alebo jednoduché používanie agenta nahrádza hodnotenia. Nie je to pravda. A/B testy dokážu ukázať, ktorá verzia dosahuje lepšie výsledky vo zvolených metrikách, ale samy osebe nedokážu vysvetliť príčiny problémov.

Časté otázky o hodnotení AI agentov

1. Aký je rozdiel medzi hodnotením AI agentov a hodnotením LLM?

Hodnotenie LLM meria, ako dobre jazykový model plní danú úlohu, napríklad zodpovedanie otázky, zhrnutie dokumentu alebo extrakciu informácií. Hodnotenie AI agentov posudzuje systém, ktorý na dokončenie úlohy samostatne vykonáva viacero krokov.

Na rozdiel od bežného hodnotenia LLM skúma hodnotenie agenta konečný výsledok aj postupnosť krokov, ktoré k nemu viedli, vrátane volaní nástrojov, rozhodnutí a dodržiavania vopred definovaných pravidiel.

2. Kľúčové metriky na hodnotenie AI agentov

Metriky na hodnotenie AI agentov sa delia do dvoch hlavných kategórií:

  • Metriky technického výkonu: miera úspešnosti úloh, správnosť akcií, kvalita odpovedí, spoľahlivosť (pass@1 a pass@k), latencia, spotreba tokenov a náklady na jednu úspešne dokončenú úlohu.
  • Obchodné metriky a metriky používateľskej skúsenosti: spokojnosť zákazníkov (CSAT), miera vyriešenia problémov, miera eskalácie, konverzný pomer, čas dokončenia úlohy a ďalšie výsledky špecifické pre rolu agenta.

Napríklad agenta zákazníckej podpory možno hodnotiť podľa úspešnosti riešenia problémov a spokojnosti zákazníkov, zatiaľ čo nákupného AI agenta možno merať podľa presnosti požiadaviek na doplnenie zásob, miery schválení a dĺžky obstarávacieho cyklu.

Správne metriky by mali odrážať, ako spoľahlivo agent funguje a či jeho práca zlepšuje obchodné výsledky.

3. Aké sú najlepšie nástroje na hodnotenie AI agentov?

Medzi bežné možnosti patria:

  • Testovacie frameworky: asercie v jazyku Python a pytest sú užitočné na spúšťanie opakovateľných testovacích prípadov a kontrolu presných podmienok, napríklad toho, či agent zvolil správny nástroj alebo vrátil platné ID dielu.
  • Frameworky na hodnotenie AI agentov: DeepEval a sada nástrojov agent-eval od spoločnosti Google podporujú zložitejšie hodnotenia vrátane záznamov behu, hodnotiteľov založených na LLM a automatizovaného regresného testovania.
  • Platformy na hodnotenie a observabilitu: LangSmith, Arize Phoenix a MLflow pomáhajú tímom skúmať správanie agentov, spravovať hodnotiace dátové množiny, porovnávať verzie agentov a monitorovať výkon v produkcii.

4. Ako automatizovať hodnotenie AI agentov?

Hodnotenie AI agentov môžete automatizovať tak, že vytvoríte opakovateľné testy, použijete automatizovaných hodnotiteľov a začleníte tieto kontroly do vývojových a produkčných pracovných postupov:

  1. Vytvorte hodnotiacu dátovú množinu: Zhromaždite reprezentatívne používateľské úlohy, očakávané výsledky, známe zlyhania a záznamy behu agenta. Zahrňte aj hraničné prípady, ako sú neúspešné volania nástrojov, chýbajúce informácie a neoprávnené akcie.
  2. Automatizujte spúšťanie testov a hodnotenie: Na spúšťanie testovacích prípadov a uplatňovanie kontrol založených na kóde alebo LLM hodnotiteľov použite frameworky ako pytest alebo DeepEval. Skôr než sa začnete spoliehať na skóre LLM hodnotiteľov, overte ich oproti ľudským posudkom.
  3. Integrujte hodnotenia do CI/CD: Keď vývojári aktualizujú prompty, modely, nástroje alebo pracovný postup agenta, automaticky znova spúšťajte regresné testy. Porovnávajte výsledky so základnou úrovňou a stanovte prahy kvality, ktoré zabránia vydaniu, ak kritické kontroly zlyhajú.
  4. Používajte kalibrovaných hodnotiteľov na vzorky produkčných záznamov behu, sledujte mieru zlyhaní a ďalšie metriky výkonu a nové chyby skúmajte prostredníctvom manuálnej kontroly.