Článok · Produkty
Agent, ktorý uspeje raz, nemusí uspieť vždy: ako ho testovať evalmi
Vercel a Hamel Husain ukazujú, ako testovať agentov opakovanými pokusmi a ako ladiť prah pri lacných rozhodovacích modeloch. Je to praktický postup pre firmy s agentmi.
O čo ide
Vercel v blogu vysvetľuje evals na príklade agenta, ktorý cez CLI sfbeans objednáva kávu v San Franciscu. Eval sa pýta, ako často a ako dobre úloha vychádza, nie iba to, či raz zafungovala. Agenti sú podľa Vercelu už používateľmi softvéru a pracujú v mene ľudí.
Problém je v tom, že logy môžu vyzerať v poriadku, hoci agent objednal zlý nápoj. Požiadavka prešla, no výsledok nie je ten, ktorý používateľ chcel. Výstupy LLM sa navyše medzi behmi líšia, takže ručná skúška nič nedokazuje.
Zdroj z blogu Hamela Husaina rieši inú vrstvu. Porovnáva rozhodovacie modely ako lacnú náhradu LLM sudcov pri automatických evaloch. Tieto články spája otázka, ako merať kvalitu práce agentov bez drahého ručného posudzovania.
Ako to funguje
Vercel delí testy podľa počtu volaní LLM: deterministické testy majú 0 volaní, evaly s 1 volaním kontrolujú jedno rozhodnutie a E2E evaly 2 a viac naprieč celou úlohou. Lacné a rýchle testy majú tvoriť väčšinu sady. E2E eval patrí tam, kde úspech závisí od celého sledu krokov.
E2E eval sa stavia v open-source nástroji Harbor, ktorý púšťa agentov v kontajneroch, kontroluje výsledky a zaznamenáva ich kroky. Každá úloha má zadanie, prostredie s rovnakým štartom a verifikátor, ktorý skóruje každé obmedzenie zvlášť. Odmena je 1 iba vtedy, keď prejdú všetky obmedzenia.
Vercel odlišuje metriky úspechu. Pass@k hovorí, či agent úlohu vôbec zvládne. Pass^k hovorí, či sa naňho dá spoľahnúť pri každom pokuse. Efektivitu, teda kroky, čas a cenu, meria iba na úspešných pokusoch.
Vo Vercel príklade uspeli 3 z 5 pokusov, teda 60 %. Pass@5 vychádza na 99 % a pass^5 na 8 %. Človek, ktorý si objednáva každý pracovný deň, tak dostane aspoň jednu zlú kávu v 92 % týždňov.
Limit je v tom, že pri malom počte pokusov znamená 100 % iba to, že sa zatiaľ nevyskytla chyba. Celkové priemery môžu skryť úlohu, ktorá zlyháva často, preto treba výsledky vždy pozerať po jednotlivých úlohách.
Čo to mení
Hamel Husain testoval Jev, Perplexity, Liquid, Cloudflare Clef a OpenAI Decisions na 100 logoch z agenta pre prenájom bytov. Úlohou bolo nájsť logy s chybou, napríklad neúspešnú rezerváciu alebo chýbajúce odovzdanie človeku.
Podľa neho mnohí nechávajú predvolený prah 0.50 bez overenia, či sa hodí na ich úlohu. Model, ktorý dáva chybám nižšie skóre, než je prah, by tak nezachytil nič, hoci pri nižšom prahu triedi dokonale.
Cena a výkon sa líšia. Perplexity stál 0.82 centa na 100 behov a dosiahol F1 0.79. OpenAI Decisions dosiahol F1 0.87 za 3.72 centa na 100 behov, teda približne 4.5 krát viac.
Zdroje sa líšia vrstvou, nie záverom. Vercel volí metriku podľa ceny zlyhania pre používateľa, Hamel volí kompromis medzi precision a recall podľa cieľov firmy. V týchto prípadoch samotné číslo nestačí.
Hamel zároveň upozorňuje, že výkon modelov sa medzi úlohami a dátami výrazne mení. Výsledky z cudzieho datasetu preto firma nemá preberať, ale si ich overiť na vlastných logoch.
Čo s tým vo firme
Ak vo firme nasadzujete agenta, ktorý za ľudí objednáva, fakturuje alebo vybavuje požiadavky, testujte ho opakovanými behmi, nie ručnou skúškou. Pri úlohách bez možnosti opravy rozhoduje spoľahlivosť pri každom pokuse, nie šanca, že to niekedy vyjde.
Pri slovenských zákazníkoch si pripravte testovacie úlohy v slovenčine a s lokálnymi okrajovými prípadmi, napríklad s diakritikou, cenami v eurách a slovenskými adresami. Zahrňte aj úlohu, pri ktorej má agent správne odmietnuť konať.
Strážte cenu opakovaných behov, lebo každý pokus stojí tokeny, a dáta v logoch, ktoré posielate externému modelu alebo sudcovi. Pri lacných rozhodovacích modeloch si overte aj dostupnosť v EÚ a spracovanie osobných údajov.
Krok: Vyberte úlohu, ktorú váš agent robí najčastejšie, a pustite ju opakovane s rovnakým štartom a automatickou kontrolou výsledku.
Zdroj: vercel.com · Potvrdzuje aj: hamel.dev