Kako evaluirati AI agente: skupovi testova, ocenjivači i regresione provere
Praktičan vodič u šest koraka za evaluaciju AI agenata, od definisanja uspeha i pravljenja skupova testova na osnovu stvarnih grešaka do izbora ocenjivača, pokretanja regresionih provera i praćenja u produkciji.

Iza svakog odličnog AI proizvoda stoji snažan proces evaluacije AI agenata, poznat pod nazivom evals, koji rano otkriva greške i obezbeđuje da agent pravilno funkcioniše. Evaluacije su ključne za AI agente koji u nečije ime izvršavaju visokorizične radnje, poput povraćaja novca.
Izgradnja tog procesa zahteva određeno tehničko znanje i veštine analize podataka. Ali to nije ni približno toliko zastrašujuće ili nepristupačno koliko možda zvuči. Da bismo vam pomogli da započnete, izložili smo šest praktičnih koraka za evaluaciju AI agenata i česte zablude koje narušavaju ovaj proces.
Šta znači evaluirati AI agenta?
Evaluacija AI agenta podrazumeva procenu toga koliko dobro i ispravno izvršava zadatke i da li njegove odluke ispunjavaju zahteve organizacije. U praksi, evaluacije AI agenata, ili evals, jesu specifične metrike koje pomažu organizacijama da utvrde da li agent radi dovoljno pouzdano za ulogu kojoj je namenjen.
Zamislite AI agenta za nabavku u proizvodnom pogonu koji proverava zalihe rezervnih delova i priprema zahteve za njihovu dopunu. Ako odobreni deo nije dostupan ili su podaci o dobavljaču zastareli, da li će agent ukazati na problem ili preporučiti neodobrenu zamenu?
A ako promenite njegov sistemski prompt da biste rešili taj problem, kako znate da niste uveli neki drugi?
Bez evaluacije, menadžerima proizvoda u suštini ne preostaje ništa drugo nego da nagađaju. Zato evaluacije pružaju povratni signal za merenje performansi, uočavanje problema koji se ponavljaju i testiranje izmena sa većom sigurnošću.
Imajući to u vidu, evaluacija agenta može da ispita nekoliko aspekata jednog izvršavanja:
- Kvalitet konačnog rezultata
- Informacije koje je agent koristio
- Alati koje je pozvao
- Da li je poštovao pravila koja uređuju njegovo ponašanje
Uobičajene metrike za evaluaciju AI agenata
Evaluacije se zasnivaju na kvalitativnim i kvantitativnim podacima. Kvalitativna evaluacija pomaže vam da razumete šta se dešava i zašto, uključujući ručni pregled odluka agenta. Kvantitativna evaluacija pretvara ta zapažanja u merljive signale, na primer brojanjem učestalosti određenih vrsta grešaka ili izračunavanjem stope uspešnosti zadataka.
Evo liste osnovnih metrika za evaluaciju AI agenata:
- Uspešnost zadatka meri da li je agent postigao željeni ishod; obično se izražava kao procenat izvršavanja koja daju validne rezultate.
- Ispravnost radnji meri da li je agent na odgovarajući način koristio alate, birao validne argumente i poštovao dozvole.
- Kvalitet odgovora procenjuje da li je konačni izlaz tačan, potpun i koristan. Može da obuhvati činjeničnu tačnost, pridržavanje uputstava i to da li agent svoje odluke potkrepljuje dostupnim informacijama.
- Pouzdanost meri doslednost kroz ponovljene pokušaje, različite ulaze i granične slučajeve.
- Troškovi i latencija mere resurse potrebne za postizanje uspešnog rezultata, uključujući vreme izvršavanja, potrošnju tokena i pozive alata.
U zavisnosti od toga šta merite, evaluacije mogu da procene celokupne performanse agenta od početka do kraja, njegovu putanju izvršavanja ili pojedinačne komponente, kao što su pozivi alata i koraci pronalaženja informacija.
Korak 1: Odredite kako izgleda uspešno izvršavanje agenta
Najpre eksplicitno opišite šta agent treba da postigne – zahteve proizvoda. Zvuči očigledno, ali može biti iznenađujuće teško. Za to čak postoji i naziv: jaz u specifikaciji.
Evo kako da tome pristupite, prema savetu koji daje Andrey Khomutov, naš viši naučnik za podatke:
„Počnite sa dva pitanja: ‚Šta bi se smatralo uspešno obavljenim poslom?‘ i ‚Šta bi naizgled uspešno izvršavanje učinilo neprihvatljivim?‘
Kod agenata, iz tehničke perspektive, to znači proveru i rezultata i načina na koji su agenti do njega došli.“
Agent može da dođe do tačnog odgovora tako što pristupi procurelom ključu sa odgovorima ili da preduzme neovlašćene radnje dok izvršava zadatak. Khomutov ističe da su curenje odgovora i nebezbedne radnje tokom evaluacija konkretni razlozi da se ne sudi samo na osnovu konačnog odgovora.
„Očekujem da će pregled putanje postati standardni deo skupova evaluacija agenata, a ne nešto što radimo samo kada rezultat deluje sumnjivo“, dodaje on.
Zatim uključite stručnjaka za datu oblast da potvrdi vaše kriterijume uspeha. Ljudi sa praktičnim znanjem iz te oblasti mogu da procene da li uslovi koje postavljamo AI agentu odražavaju uspešan ishod.
Korak 2. Napravite skup testova na osnovu stvarnih zadataka i grešaka
Ispitajte stvarno ponašanje agenta da biste razumeli kako izgledaju dobre, a kako loše performanse. Odolite iskušenju da započnete generisanjem desetina testova zasnovanih samo na onome za šta mislite da bi moglo poći naopako.
Hamel Husain, ML inženjer u kompaniji Parlance Lab, i Shreya Shankar, istraživačica ML sistema i evaluacija primenjene veštačke inteligencije, preporučuju da se počne od analize grešaka, tehnike preuzete iz mašinskog učenja i nauke o podacima. Proces počinje kvalitativnom analizom tragova izvršavanja agenta – zapisa koji prikazuju unos korisnika, pozive alata, pronađene informacije i izlaz agenta.
- Pregledajte pojedinačne tragove i označite greške (otvoreno kodiranje). Neka stručnjak za datu oblast pregleda izvršavanja agenta i zapiše kratka zapažanja o tome šta je pošlo naopako. Usredsredite se na prvu značajnu grešku.
- Grupišite zapažanja u vrste grešaka (aksijalno kodiranje). Kada prikupite dovoljno beleški, upotrebite LLM da predloži kategorije za slične greške. One mogu da obuhvate preporuke nekompatibilnih delova, netačno preuzimanje podataka o zalihama i neuspešno prosleđivanje slučajeva ljudima.
- Prebrojte pojavljivanja. Svrstajte svako zapažanje u neku kategoriju, a zatim pomoću tabelarnog programa ili pivot tabele izračunajte koliko se često javlja svaka vrsta grešaka.
- Odredite šta prvo treba rešiti, uzimajući u obzir i učestalost i ozbiljnost.
- Pretvorite važne greške u test slučajeve. Sačuvajte relevantni ulaz, početne uslove, očekivani ishod i kriterijume ocenjivanja kako bi agent ponovo mogao da se testira na istom scenariju.
Koliko tragova treba da ispitate? Otprilike 100, ali ne postoji magičan broj. Zaustavite se ranije kada dostignete teorijsku zasićenost: tačku u kojoj pregled dodatnih tragova više ne otkriva značajne nove obrasce grešaka.
Još niste pokrenuli aplikaciju? Sintetički primeri mogu da pomognu u izradi početnog skupa testova, mada bi stvarni podaci korisnika trebalo da ga oblikuju čim postanu dostupni.
Upotreba benčmarkova u evaluaciji AI agenata
Osim kreiranja sopstvenih test slučajeva, za procenu sposobnosti agenata možete da koristite postojeće kolekcije standardizovanih evaluacionih zadataka, poznate kao benčmarkovi.
Ali benčmarkovi nisu nepogrešivi. Revizije benčmarka SWE-bench, pregledi benčmarkova kompanije Epoch AI i tačni odgovori koji su prvobitno odbijeni u benčmarku TheoPhysEval pokazuju kako neispravni zadaci ili očekivani odgovori mogu da iskrive rezultate evaluacije.
Kako savetuje Khomutov, birajte ažurne benčmarkove relevantne za vašu oblast i istražite neočekivane uspehe ili neuspehe pre nego što rezultate počnete da tretirate kao pouzdan dokaz performansi agenta.
Korak 3. Pokrenite agenta u ponovljivom test okruženju
Ponovljivo test okruženje je kontrolisano podešavanje u kojem možete da pokrećete AI agenta na istim test slučajevima pod istim početnim uslovima i da poredite rezultate. To može da obuhvata folder sa test slučajevima, Python skriptu koja pokreće agenta ili skup provera koje ocenjuju rezultate.
Možete da počnete tako što ćete reprezentativne ulaze čuvati kao JSON datoteke i koristiti Python skriptu za izvršavanje radnog toka agenta i proveru njegovih izlaza pomoću asercija. Za agenta za zalihe u našem proizvodnom pogonu, ponovljivo test okruženje moglo bi da izgleda ovako:
Da biste podesili ponovljivo test okruženje, pratite ove korake:
- Sačuvajte reprezentativne ulaze. Čuvajte stvarne događaje ili test slučajeve u istoj strukturi u kojoj ih vaša aplikacija prima u produkciji. U našem scenariju, sačuvali biste zahtev za održavanje koji sadrži ID mašine, potreban rezervni deo i datum održavanja kao JSON datoteku, zajedno sa snimkom stanja zaliha i podataka o odobrenim delovima.
- Izvršite radni tok. Provucite svaki ulaz kroz agenta, uključujući njegove korake pronalaženja informacija, pozive alata i generisanje odgovora.
- Zabeležite rezultat i trag. Sačuvajte konačni izlaz i relevantne međukorake (kao što su pretrage zaliha) kako biste videli ne samo da li je agent zakazao, već i gde.
- Ponavljajte slučajeve u zavisnosti od ozbiljnosti i učestalosti greške, kao i od toga koliko je teško rešiti problem. LLM aplikacije su nedeterminističke (mogu da daju različite rezultate za identične ulaze), pa jedno uspešno izvršavanje ne garantuje da će i sledeće biti uspešno. Navedite udeo uspešnih pokušaja i pregledajte neuspehe.
Za ovo drugo, Khomutov savetuje merenje metrika pass@1 (koliko često agent uspe iz prvog pokušaja) i pass@k (verovatnoća da uspe bar jednom u okviru zadatog broja pokušaja). Ako navodite pass@k, precizirajte broj pokušaja, jer jedan tačan odgovor među nekoliko njih ne znači da agent zna koji da izabere.
Kako vaša aplikacija raste, koristite okvir za testiranje kao što je pytest za organizovanje i pokretanje testova i razmislite o čuvanju velikih skupova test podataka i rezultata u bazi podataka.
Korak 4. Izaberite odgovarajućeg ocenjivača za svaku proveru
Ocenjivač (koji se često naziva i evaluator) jeste mehanizam u vidu dela koda, LLM-a vođenog rubrikom za ocenjivanje ili ljudskog recenzenta, koji proverava izlaz ili radnju agenta prema definisanom kriterijumu. Ocenjivač vraća ocenu prošao/nije prošao i objašnjenje u kojem navodi relevantne dokaze.
Napomena: Rubrika za ocenjivanje je skup kriterijuma i uputstava koji definišu šta se smatra tačnim ili prihvatljivim rezultatom.
Odgovarajući tip ocenjivača zavisi od toga šta pokušavate da proverite. Evo kako se ova tri pristupa porede:
Ocenjivač | Najprikladniji za | Primer | Glavno ograničenje |
Zasnovan na kodu | Tačni, proverljivi uslovi | Da li se preporučeni rezervni deo nalazio na odobrenoj listi kompatibilnosti? | Ne može pouzdano da proceni svaku subjektivnu odluku |
LLM kao sudija | Procene koje zavise od konteksta | Da li je agent objasnio zašto nije mogao da preporuči zamenu? | Njegove procene mogu biti pogrešne ili nedosledne |
Čovek | Stručnost u specifičnoj oblasti i nejasni slučajevi | Da li menadžer održavanja smatra preporuku agenta odgovarajućom? | Skupo za primenu u velikom obimu |
Ponekad različiti aspekti istog izvršavanja mogu zahtevati različite metode evaluacije, pa ćete možda morati da kombinujete ocenjivače.
Kako da kombinujete ocenjivače?
Zapitajte se: „Da li rezultat može da se proveri u odnosu na poznato pravilo ili očekivanu vrednost, ili zahteva procenu nalik ljudskoj?“
- Ako rezultat možete precizno da proverite, počnite sa ocenjivačem zasnovanim na kodu. Ocenjivači zasnovani na kodu mogu da provere i strukturisane izlaze, validne vrednosti polja, argumente alata ili konačno stanje baze podataka.
- Ako provera zahteva tumačenje konteksta, koristite LLM kao sudiju.
- Za odluke specifične za određenu oblast ili sporne odluke angažujte ljudske recenzente.
Važno! LLM ocenjivač može pogrešno da protumači dokaze ili netačno primeni rubriku. Zato mu je potreban dodatni korak evaluacije: kalibracija prema ljudskim procenama.
Kalibrišite LLM ocenjivača prema ljudskim procenama.
U suštini, kalibracija zahteva da stručnjak za datu oblast proceni stvarna izvršavanja agenta. Stručnjak zatim poredi svoje procene sa procenama LLM-a i dorađuje rubriku za ocenjivanje na osnovu neslaganja.
Evo procesa kalibracije ocenjivača u pet koraka:
- Prikupite primere ulaza i izlaza agenta, kao i relevantne tragove.
- Neka stručnjak za datu oblast nezavisno proceni da li svaki primer ispunjava kriterijum evaluacije.
- Pokrenite LLM ocenjivača na tim primerima.
- Uporedite procene čoveka i modela.
- Istražite neslaganja i doradite rubriku ocenjivača pre nego što ga testirate na novim primerima.
Khomutov takođe naglašava koliko je važno zasebno testirati doslednost LLM ocenjivača:
„Dajte mu potpuno isto sačuvano izvršavanje i iste datoteke nekoliko puta, bez ponovnog pokretanja agenta. Tako možete da razdvojite varijacije u radu agenta od varijacija u ocenjivanju.“
Ako isti izlaz dobije različite ocene, nemojte pretpostaviti da svaka promena rezultata potiče od agenta. Umesto toga, ispitajte matricu konfuzije koja pokazuje kada je ocenjivač ispravno prepoznao greške, kada ih je propustio, a kada je prihvatljive izlaze pogrešno označio kao problematične.
Ljudski pregled i dalje je neophodan za utvrđivanje referentnih procena, rešavanje spornih slučajeva i pronalaženje novih vrsta grešaka za čije otkrivanje postojeći ocenjivači nisu dizajnirani.
Korak 5. Uporedite verzije i sprovedite regresione provere
Pretpostavimo da analiza grešaka otkrije da vaš agent za zalihe često preporučuje neodobrene rezervne delove. Menjate njegov sistemski prompt tako da zahteva eksplicitnu proveru kompatibilnosti. Prvobitni neuspešni slučaj sada prolazi. Ali kako znate da izmena nije uticala na druge zadatke?
Tu na scenu stupa regresiono testiranje.
Regresiono testiranje podrazumeva ponovno pokretanje prethodno uspešnih test slučajeva nakon izmene prompta, modela ili radnog toka agenta, kako bi se osiguralo da izmena nije uvela nove greške.
- Reprodukujte prvobitnu grešku pomoću sačuvanog ulaza iz skupa testova.
- Napravite ciljanu izmenu prompta, modela ili radnog toka.
- Ponovo pokrenite neuspešni test da biste proverili da li je problem rešen.
- Pokrenite ostale testove da biste proverili da izmena nije narušila ponašanje koje je ranije bilo uspešno.
- Pregledajte rezultate i istražite sve nove greške.
Uporedite osnovnu i ažuriranu verziju agenta koristeći iste test slučajeve i kriterijume ocenjivanja kako biste dobili tačne rezultate.
Korak 6: Pratite performanse AI agenta u produkciji
Evaluacija agenta se ne završava kada postavite aplikaciju. Kao što objašnjavaju Husain i Shankar, isti evaluatori koje koristite tokom razvoja mogu se pokretati i nad stvarnim podacima iz produkcije da biste merili kakav je učinak vašeg agenta tokom vremena.
Ovo se naziva onlajn evaluacija i predstavlja deo šireg procesa praćenja u produkciji koji pomaže da se otkriju greške koje se ponavljaju, kao i one ranije nepoznate.
Proces je iterativan i obuhvata četiri komplementarne aktivnosti:
- Pokrenite kalibrisane LLM sudije nad tragovima iz produkcije. Uzmite uzorke stvarnih interakcija sa agentom i primenite evaluatore koje ste već validirali u odnosu na ljudske procene.
- Pratite stope grešaka tokom vremena. Koristite kategorije grešaka utvrđene tokom analize grešaka da biste kvantifikovali probleme koji se ponavljaju.
- Nastavite da ručno pregledate tragove. Automatizovani ocenjivači otkrivaju samo one probleme za čije su prepoznavanje dizajnirani. Ručno pregledajte uzorke stvarnih interakcija sa agentom kako biste otkrili nove greške ili neuobičajene zahteve korisnika.
- Koristite A/B testiranje za merenje poslovnih ishoda (samo kada je to prikladno). Uporedite različite promptove, modele ili radne tokove pomoću metrika kao što su završetak zadatka, zadovoljstvo korisnika i vreme do rešavanja. Ovaj proces pomaže da se utvrdi da li izmena poboljšava stvarno iskustvo sa proizvodom, a ne samo da li prolazi pojedinačne testove.
Jedna važna napomena: evaluacije ne moraju biti dovedene do savršenstva. Dovoljno je da budu toliko dobre da poboljšaju vaš proizvod.
Česte zablude o evaluaciji AI agenata
- Evaluacije su samo jedinični testovi. Nije tako: jedinični testovi su male, automatizovane provere koje čine samo jedan deo evaluacije. Evaluacije obuhvataju i kvalitativnu analizu grešaka, ljudske procene, praćenje u produkciji i eksperimente za merenje kvaliteta aplikacije.
- Platforma za evaluaciju može sve da uradi umesto vas. Gotovi alati mogu da automatizuju neke provere, ali ne mogu da odrede koji su obrasci neuspeha (vrste grešaka ili neželjenog ponašanja agenta) važni za vaš proizvod.
- Možete prepustiti LLM-u da evaluira sve. To je velika zabluda. Analiza grešaka koju vode ljudi i kalibracija ocenjivača ostaju ključne, jer LLM-ovima nedostaje poslovni kontekst potreban da bi otkrili svaki problem.
- A/B testiranje ili jednostavno korišćenje agenta zamenjuje evaluacije. Netačno. A/B testovi mogu da pokažu koja verzija daje bolje rezultate prema izabranim metrikama, ali sami po sebi ne mogu da objasne probleme koji su u osnovi.
Najčešća pitanja o evaluaciji AI agenata
1. Koja je razlika između evaluacije AI agenata i evaluacije LLM-ova?
Evaluacija LLM-ova meri koliko dobro jezički model izvršava određeni zadatak, kao što je odgovaranje na pitanje, sažimanje dokumenta ili izdvajanje informacija. Evaluacija AI agenata procenjuje sistem koji samostalno izvršava više koraka da bi obavio zadatak.
Za razliku od uobičajene evaluacije LLM-ova, evaluacija agenata ispituje i konačni rezultat i niz radnji preduzetih da bi se on postigao, uključujući pozive alata, odluke i usklađenost sa unapred definisanim pravilima.
2. Ključne metrike za evaluaciju AI agenata
Metrike za evaluaciju AI agenata dele se u dve široke kategorije:
- Metrike tehničkih performansi: stopa uspešnosti zadataka, ispravnost radnji, kvalitet odgovora, pouzdanost (pass@1 i pass@k), latencija, potrošnja tokena i trošak po uspešno obavljenom zadatku.
- Poslovne metrike i metrike korisničkog iskustva: zadovoljstvo korisnika (CSAT), stopa rešavanja problema, stopa eskalacije, stopa konverzije, vreme završetka zadatka i drugi ishodi specifični za ulogu agenta.
Na primer, agent za korisničku podršku može se ocenjivati prema uspešnom rešavanju problema i zadovoljstvu korisnika, dok se AI agent za nabavku može meriti prema tačnosti zahteva za dopunu zaliha, stopama odobrenja i trajanju ciklusa nabavke.
Prave metrike treba da odražavaju i koliko pouzdano agent radi i da li njegov rad poboljšava poslovne ishode.
3. Koji su najbolji alati za evaluaciju AI agenata?
Među uobičajenim opcijama su:
- Okviri za testiranje: Python asercije i pytest korisni su za pokretanje ponovljivih test slučajeva i proveru tačnih uslova, na primer da li je agent izabrao odgovarajući alat ili vratio važeći ID dela.
- Okviri za evaluaciju AI agenata: DeepEval i agent-eval toolkit kompanije Google podržavaju složenije evaluacije, uključujući tragove izvršavanja, ocenjivače zasnovane na LLM-ovima i automatizovano regresiono testiranje.
- Platforme za evaluaciju i opservabilnost: LangSmith, Arize Phoenix i MLflow pomažu timovima da pregledaju ponašanje agenata, upravljaju skupovima podataka za evaluaciju, upoređuju verzije agenata i prate performanse u produkciji.
4. Kako automatizovati evaluacije AI agenata?
Evaluacije AI agenata možete automatizovati tako što ćete napraviti ponovljive testove, primeniti automatizovane ocenjivače i integrisati te provere u radne tokove razvoja i produkcije:
- Napravite skup podataka za evaluaciju: prikupite reprezentativne korisničke zadatke, očekivane ishode, poznate greške i tragove izvršavanja agenta. Uključite granične slučajeve kao što su neuspeli pozivi alata, informacije koje nedostaju i neovlašćene radnje.
- Automatizujte izvršavanje testova i ocenjivanje: koristite okvire kao što su pytest ili DeepEval za pokretanje test slučajeva i primenu provera zasnovanih na kodu ili LLM ocenjivača. Validirajte LLM ocenjivače u odnosu na ljudske procene pre nego što se oslonite na njihove ocene.
- Integrišite evaluacije u CI/CD: automatski ponovo pokrećite regresione testove kad god programeri ažuriraju promptove, modele, alate ili radni tok agenta. Uporedite rezultate sa osnovnom verzijom i uspostavite pragove kvaliteta koji sprečavaju objavljivanje kada ključne provere ne prođu.
- Primenite kalibrisane ocenjivače na uzorke tragova iz produkcije, pratite stope grešaka i druge metrike performansi i istražujte nove greške ručnim pregledom.