Cum să evaluați agenții AI: seturi de teste, evaluatori și verificări de regresie

Un ghid practic în șase pași pentru evaluarea agenților AI, de la definirea succesului și crearea seturilor de teste pornind de la eșecuri reale, până la alegerea evaluatorilor, rularea verificărilor de regresie și monitorizarea în producție.

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

În spatele oricărui produs AI de succes se află un proces solid de evaluare a agenților AI, cunoscut sub denumirea de evals, care detectează erorile din timp și asigură funcționarea corectă a agentului. Evaluările sunt esențiale pentru agenții AI care execută acțiuni cu risc ridicat, cum ar fi rambursările în numele cuiva.

Construirea acestui proces necesită anumite cunoștințe tehnice și abilități de analiză a datelor. Dar nu este nici pe departe atât de intimidant sau de inaccesibil pe cât ar putea părea. Pentru a vă ajuta să începeți, am prezentat șase pași practici pentru evaluarea agenților AI, precum și concepțiile greșite frecvente care compromit procesul.

Ce înseamnă să evaluezi un agent AI?

Evaluarea unui agent AI înseamnă analizarea performanței sale în îndeplinirea corectă a sarcinilor și a măsurii în care deciziile sale respectă cerințele organizației. În termeni practici, evaluările agenților AI, sau evals, sunt metrici specifice care ajută organizațiile să stabilească dacă agentul funcționează suficient de fiabil pentru rolul căruia îi este destinat.

Gândiți-vă la un agent AI de achiziții dintr-o fabrică, care verifică stocul de piese de schimb și pregătește cereri de reaprovizionare. Dacă o piesă aprobată nu este disponibilă sau informațiile despre furnizor sunt depășite, va semnala agentul problema sau va recomanda un înlocuitor neaprobat?

Și dacă îi modificați promptul de sistem pentru a remedia acea problemă, de unde știți că nu ați introdus alta?

Fără un proces de evaluare, managerii de produs sunt practic nevoiți să ghicească. Astfel, evaluările oferă un semnal de feedback pentru a măsura performanța, a identifica problemele recurente și a testa modificările cu mai multă încredere.

Acestea fiind spuse, o evaluare a agentului poate examina mai multe aspecte ale unei rulări:

  • Calitatea rezultatului final
  • Informațiile folosite de agent
  • Instrumentele pe care le-a apelat
  • Dacă a respectat regulile care îi guvernează comportamentul

Metrici frecvente pentru evaluarea agenților AI

Evaluările se bazează pe date calitative și cantitative. Evaluarea calitativă vă ajută să înțelegeți ce se întâmplă și de ce, inclusiv prin analizarea manuală a deciziilor agentului. Evaluarea cantitativă transformă aceste observații în semnale măsurabile, cum ar fi numărarea frecvenței anumitor tipuri de eșec sau calcularea ratelor de succes ale sarcinilor.

Iată lista metricilor fundamentale pentru evaluarea agenților AI:

  • Succesul sarcinii măsoară dacă agentul a obținut rezultatul dorit; de obicei, se exprimă ca procent al rulărilor care produc rezultate valide.
  • Corectitudinea acțiunilor măsoară dacă agentul a folosit instrumentele în mod adecvat, a selectat argumente valide și a respectat permisiunile.
  • Calitatea răspunsului evaluează dacă rezultatul final este exact, complet și util. Poate include corectitudinea faptică, respectarea instrucțiunilor și măsura în care agentul își fundamentează deciziile pe informațiile disponibile.
  • Fiabilitatea măsoară consecvența în cadrul încercărilor repetate, al datelor de intrare variate și al cazurilor-limită.
  • Costul și latența măsoară resursele necesare pentru a obține un rezultat reușit, inclusiv timpul de execuție, consumul de tokenuri și apelurile de instrumente.

În funcție de ceea ce măsurați, evaluările pot analiza performanța de ansamblu (end-to-end) a unui agent, traiectoria sa de execuție sau componente individuale, cum ar fi apelurile de instrumente și etapele de regăsire a informațiilor.

Pasul 1: Stabiliți cum arată o rulare reușită a agentului

Mai întâi, descrieți explicit ce ar trebui să realizeze agentul — cerințele produsului. Pare evident, dar poate fi surprinzător de dificil. Există chiar și un nume pentru asta: decalajul de specificație.

Iată cum puteți aborda această etapă, potrivit lui Andrey Khomutov, senior data scientist în echipa noastră:

„Începeți cu două întrebări: «Ce ar însemna că sarcina a fost îndeplinită?» și «Ce ar face ca o rulare aparent reușită să fie inacceptabilă?»

În cazul agenților, din punct de vedere tehnic, asta înseamnă verificarea atât a rezultatului, cât și a modului în care agenții au ajuns la el.”

Un agent ar putea produce răspunsul corect accesând o cheie de răspunsuri scursă sau ar putea efectua acțiuni neautorizate în timp ce își îndeplinește sarcina. Khomutov subliniază că scurgerea răspunsurilor și acțiunile nesigure din timpul evaluărilor sunt motive concrete pentru a nu judeca doar răspunsul final.

„Mă aștept ca inspecția traiectoriei să devină o parte standard a suitelor de evaluare a agenților, nu ceva ce facem doar atunci când un rezultat pare suspect”, adaugă el.

Apoi, implicați un expert în domeniu pentru a vă valida criteriile de succes. Persoanele cu experiență practică în domeniu pot spune dacă condițiile stabilite pentru un agent AI reflectă un rezultat reușit.

Pasul 2. Construiți un set de teste pornind de la sarcini și eșecuri reale

Examinați comportamentul real al agentului pentru a înțelege cum arată o performanță bună și una slabă. Rezistați tentației de a începe prin a genera zeci de teste bazate doar pe ceea ce credeți că ar putea merge prost.

Hamel Husain, inginer ML la Parlance Lab, și Shreya Shankar, cercetătoare în sisteme ML și evaluări pentru AI aplicată, recomandă să începeți cu analiza erorilor, o tehnică preluată din învățarea automată și știința datelor. Procesul începe cu analiza calitativă a traseelor de execuție ale agentului — înregistrări care arată datele introduse de utilizator, apelurile de instrumente, informațiile regăsite și rezultatul agentului.

  1. Analizați traseele individuale și adnotați erorile (codificare deschisă). Rugați un expert în domeniu să inspecteze rulările agentului și să noteze observații scurte despre ce a mers prost. Concentrați-vă pe prima eroare semnificativă.
  2. Grupați observațiile în tipuri de eșec (codificare axială). Când aveți suficiente note, folosiți un LLM pentru a sugera categorii pentru erorile similare. Acestea ar putea include recomandări de piese incompatibile, regăsirea inexactă a datelor de inventar și transferuri eșuate către operatori umani.
  3. Numărați aparițiile. Atribuiți fiecare observație unei categorii, apoi folosiți o foaie de calcul sau un tabel pivot pentru a calcula cât de des apare fiecare tip de eșec.
  4. Stabiliți prioritățile de remediere, ținând cont atât de frecvență, cât și de gravitate.
  5. Transformați eșecurile importante în cazuri de testare. Salvați datele de intrare relevante, condițiile inițiale, rezultatul așteptat și criteriile de evaluare, astfel încât agentul să poată fi testat din nou pe același scenariu.

Câte trasee ar trebui să examinați? Aproximativ 100, dar nu există un număr magic. Opriți-vă mai devreme dacă ajungeți la saturația teoretică: punctul în care analizarea unor trasee suplimentare nu mai dezvăluie tipare de eșec noi și semnificative.

Nu ați lansat încă aplicația? Exemplele sintetice vă pot ajuta să construiți un set inițial de teste, însă datele reale ale utilizatorilor ar trebui să-l fundamenteze de îndată ce devin disponibile.

Utilizarea benchmark-urilor în evaluarea agenților AI

Pe lângă crearea propriilor cazuri de testare, puteți folosi colecții existente de sarcini de evaluare standardizate, cunoscute sub denumirea de benchmark-uri, pentru a evalua capabilitățile agenților.

Dar benchmark-urile nu sunt infailibile. Auditurile SWE-bench, analizele de benchmark-uri realizate de Epoch AI și răspunsurile corecte respinse inițial în TheoPhysEval ilustrează modul în care sarcinile sau răspunsurile așteptate eronate pot distorsiona rezultatele evaluării.

După cum recomandă Khomutov, alegeți benchmark-uri actualizate, relevante pentru domeniul dvs., și investigați reușitele sau eșecurile surprinzătoare înainte de a considera scorurile drept dovezi fiabile ale performanței agentului.

Pasul 3. Rulați agentul într-un mediu de testare repetabil

Un mediu de testare repetabil este o configurație controlată în care puteți rula un agent AI pe aceleași cazuri de testare, în aceleași condiții inițiale, și puteți compara rezultatele. Acesta include un folder cu cazuri de testare, un script Python care rulează agentul sau un set de verificări care evaluează rezultatele.

Puteți începe prin a stoca date de intrare reprezentative sub formă de fișiere JSON și prin a folosi un script Python pentru a executa fluxul de lucru al agentului și a-i verifica rezultatele cu aserțiuni. Pentru agentul de inventar al fabricii noastre, un mediu de testare repetabil ar putea arăta astfel:

Pentru a configura un mediu de testare repetabil, urmați acești pași:

  1. Salvați date de intrare reprezentative. Stocați evenimente reale sau cazuri de testare în aceeași structură pe care aplicația dvs. o primește în producție. În scenariul nostru, ați salva ca fișier JSON o cerere de mentenanță care conține ID-ul utilajului, piesa de schimb necesară și data mentenanței, împreună cu un instantaneu al datelor de inventar și al pieselor aprobate.
  2. Executați fluxul de lucru. Treceți fiecare set de date de intrare prin agent, inclusiv prin etapele de regăsire a informațiilor, apelurile de instrumente și generarea răspunsului.
  3. Înregistrați rezultatul și traseul. Capturați rezultatul final și acțiunile intermediare relevante (cum ar fi interogările de inventar), astfel încât să puteți vedea nu doar dacă agentul a eșuat, ci și unde.
  4. Repetați cazurile în funcție de gravitatea și frecvența eșecului, precum și de dificultatea remedierii problemei. Aplicațiile LLM sunt nedeterministe (pot produce rezultate diferite pentru date de intrare identice), așa că o rulare reușită nu garantează că și următoarea va reuși. Raportați proporția încercărilor reușite și inspectați eșecurile.

În acest scop, Khomutov recomandă măsurarea pass@1 (cât de des reușește agentul la o singură încercare) și pass@k (probabilitatea de a reuși cel puțin o dată într-un număr specificat de încercări). Dacă raportați pass@k, specificați numărul de încercări, deoarece faptul că agentul produce un răspuns corect dintre mai multe nu înseamnă că știe pe care să-l aleagă.

Pe măsură ce aplicația dvs. crește, folosiți un framework de testare precum pytest pentru a organiza și rula testele și luați în considerare stocarea seturilor mari de date de testare și a rezultatelor într-o bază de date.

Pasul 4. Alegeți evaluatorul potrivit pentru fiecare verificare

Un grader (numit frecvent și evaluator) este un mecanism — o secvență de cod, un LLM ghidat de o grilă de evaluare sau un evaluator uman — care verifică rezultatul sau acțiunea unui agent în raport cu un criteriu definit. Un evaluator returnează un verdict de tip promovat/respins și o explicație care indică dovezile relevante.

Informații: O grilă de evaluare este un set de criterii și instrucțiuni care definesc ce se consideră un rezultat corect sau acceptabil.

Tipul potrivit de evaluator depinde de ceea ce încercați să verificați. Iată cum se compară cele trei abordări:

Evaluator

Cel mai potrivit pentru

Exemplu

Principala limitare

Bazat pe cod

Condiții exacte, verificabile

Piesa de schimb recomandată se afla pe lista de compatibilitate aprobată?

Nu poate evalua fiabil fiecare decizie subiectivă

LLM-as-a-judge

Evaluări dependente de context

Agentul a explicat de ce nu a putut recomanda o piesă de înlocuire?

Judecățile sale pot fi greșite sau inconsecvente

Uman

Expertiză specifică domeniului și cazuri incerte

Consideră managerul de mentenanță că recomandarea agentului este adecvată?

Costisitor de aplicat la scară largă

Uneori, diferite aspecte ale aceleiași rulări pot necesita metode de evaluare diferite, așa că ar putea fi nevoie să combinați evaluatorii.

Cum combinați evaluatorii?

Vă întrebați: „Poate fi verificat rezultatul pe baza unei reguli cunoscute sau a unei valori așteptate ori necesită o judecată de tip uman?”

  • Dacă puteți verifica rezultatul în mod exact, începeți cu un evaluator bazat pe cod. Evaluatorii bazați pe cod pot verifica și rezultate structurate, valori valide ale câmpurilor, argumentele instrumentelor sau starea finală a unei baze de date.
  • Dacă verificarea necesită interpretarea contextului, folosiți LLM-as-a-judge.
  • Apelați la evaluatori umani pentru deciziile specifice domeniului sau contestate.

Important! Un evaluator LLM poate interpreta greșit dovezile sau poate aplica incorect o grilă de evaluare. De aceea, are nevoie de o etapă suplimentară de evaluare: calibrarea în raport cu judecățile umane.

Calibrați evaluatorul LLM în raport cu judecățile umane.

În esență, calibrarea presupune ca un expert în domeniu să evalueze rulări reale ale agentului. Expertul își compară apoi judecățile cu cele ale LLM-ului și rafinează grila de evaluare pe baza dezacordurilor.

Iată un proces de calibrare a evaluatorului în cinci pași:

  1. Colectați exemple de date de intrare, rezultate și trasee relevante ale agentului.
  2. Rugați un expert în domeniu să stabilească independent dacă fiecare exemplu îndeplinește criteriul de evaluare.
  3. Rulați evaluatorul LLM pe aceste exemple.
  4. Comparați judecățile umane cu cele ale modelului.
  5. Investigați dezacordurile și rafinați grila evaluatorului înainte de a-l testa pe exemple noi.

Khomutov subliniază, de asemenea, importanța testării separate a consecvenței evaluatorului LLM:

„Dați-i de mai multe ori exact aceeași rulare salvată și aceleași fișiere, fără a rula din nou agentul. Astfel, puteți separa variația din munca agentului de variația din evaluare.”

Dacă același rezultat primește verdicte diferite, nu presupuneți că fiecare modificare a scorului provine de la agent. În schimb, examinați o matrice de confuzie care arată când evaluatorul a identificat corect erorile, când le-a omis sau când a marcat incorect rezultate acceptabile.

Evaluarea umană rămâne esențială pentru stabilirea judecăților de referință, rezolvarea cazurilor contestate și descoperirea unor noi tipuri de eșec pe care evaluatorii existenți nu au fost concepuți să le detecteze.

Pasul 5. Comparați versiunile și efectuați verificări de regresie

Să presupunem că analiza erorilor arată că agentul de inventar recomandă frecvent piese de schimb neaprobate. Îi modificați promptul de sistem pentru a impune o verificare explicită a compatibilității. Cazul care eșua inițial trece acum. Dar de unde știți că modificarea nu a afectat alte sarcini?

Aici intervine testarea de regresie.

Testarea de regresie înseamnă rularea din nou a cazurilor de testare care anterior au reușit, după modificarea promptului, a modelului sau a fluxului de lucru al unui agent, pentru a vă asigura că modificarea nu a introdus noi eșecuri.

  1. Reproduceți eșecul inițial folosind date de intrare salvate din setul de teste.
  2. Faceți o modificare țintită a promptului, a modelului sau a fluxului de lucru.
  3. Rulați din nou testul care eșua pentru a verifica dacă problema a fost rezolvată.
  4. Rulați celelalte teste pentru a verifica faptul că modificarea nu a stricat comportamentul care funcționa corect anterior.
  5. Examinați rezultatele și investigați eventualele eșecuri noi.

Comparați agentul de referință cu cel actualizat folosind aceleași cazuri de test și aceleași criterii de evaluare, pentru rezultate precise.

Pasul 6: Monitorizați performanța agentului AI în producție

Evaluarea agentului nu se oprește după ce v-ați implementat aplicația. După cum explică Husain și Shankar, aceiași evaluatori pe care îi folosiți în timpul dezvoltării pot rula și pe date reale din producție, pentru a măsura performanța agentului în timp.

Acest lucru se numește evaluare online și face parte dintr-un proces mai amplu de monitorizare în producție, care ajută la descoperirea eșecurilor recurente și a celor necunoscute anterior.

Procesul este iterativ și implică patru activități complementare:

  • Rulați judecători LLM calibrați pe trasee de execuție din producție. Eșantionați interacțiuni reale ale agentului și aplicați evaluatorii pe care i-ați validat deja în raport cu judecățile umane.
  • Urmăriți ratele de eșec în timp. Folosiți categoriile de eșec stabilite în timpul analizei erorilor pentru a cuantifica problemele recurente.
  • Continuați să analizați manual traseele de execuție. Evaluatorii automați detectează doar problemele pentru care au fost concepuți. Examinați manual eșantioane de interacțiuni reale ale agentului pentru a descoperi erori noi sau solicitări neobișnuite ale utilizatorilor.
  • Folosiți testarea A/B pentru a măsura rezultatele de business (doar atunci când este cazul). Comparați diferite prompturi, modele sau fluxuri de lucru folosind metrici precum finalizarea sarcinilor, satisfacția utilizatorilor și timpul de rezolvare. Acest proces vă ajută să determinați dacă o modificare îmbunătățește experiența reală cu produsul, dincolo de simpla trecere a testelor individuale.

O observație importantă: evaluările nu trebuie să fie șlefuite la perfecție. Trebuie doar să fie suficient de bune pentru a vă îmbunătăți produsul.

Concepții greșite frecvente despre evaluarea agenților AI

  • Evaluările sunt doar teste unitare. Nu este așa: testele unitare sunt verificări automate de mică amploare, care reprezintă doar o parte a evaluării. Evaluările implică, de asemenea, analiza calitativă a erorilor, judecăți umane, monitorizarea în producție și experimente care măsoară calitatea aplicației.
  • O platformă de evaluare poate face totul în locul dumneavoastră. Instrumentele gata făcute pot automatiza unele verificări, dar nu pot determina ce moduri de eșec (tipuri de erori sau comportamente nedorite ale agentului) contează pentru produsul dumneavoastră.
  • Puteți lăsa un LLM să evalueze totul. Este o mare iluzie. Analiza erorilor condusă de oameni și calibrarea evaluatorilor rămân esențiale, deoarece LLM-urilor le lipsește contextul de business necesar pentru a descoperi toate problemele.
  • Testarea A/B sau simpla utilizare a agentului înlocuiește evaluările. Fals. Testele A/B pot arăta care versiune are performanțe mai bune în raport cu metricile selectate, dar nu pot explica, singure, problemele de fond.

Întrebări frecvente despre evaluarea agenților AI

1. Care este diferența dintre evaluarea agenților AI și evaluarea LLM-urilor?

Evaluarea LLM-urilor măsoară cât de bine îndeplinește un model lingvistic o anumită sarcină, cum ar fi răspunsul la o întrebare, rezumarea unui document sau extragerea de informații. Evaluarea agenților AI analizează un sistem care execută independent mai mulți pași pentru a finaliza o sarcină.

Spre deosebire de o evaluare obișnuită a unui LLM, evaluarea agenților examinează atât rezultatul final, cât și succesiunea acțiunilor întreprinse pentru a-l obține, inclusiv apelurile de instrumente, deciziile și respectarea regulilor predefinite.

2. Metrici-cheie pentru evaluarea agenților AI

Metricile de evaluare a agenților AI se împart în două mari categorii:

  • Metrici de performanță tehnică: rata de succes a sarcinilor, corectitudinea acțiunilor, calitatea răspunsurilor, fiabilitatea (pass@1 și pass@k), latența, consumul de tokenuri și costul per sarcină reușită.
  • Metrici de business și de experiență a utilizatorului: satisfacția clienților (CSAT), rata de rezolvare a problemelor, rata de escaladare, rata de conversie, timpul de finalizare a sarcinilor și alte rezultate specifice rolului agentului.

De exemplu, un agent de asistență pentru clienți poate fi evaluat în funcție de rezolvarea cu succes a problemelor și de satisfacția clienților, în timp ce un agent AI pentru achiziții poate fi măsurat prin acuratețea cererilor de reaprovizionare, ratele de aprobare și durata ciclului de achiziție.

Metricile potrivite ar trebui să reflecte atât cât de fiabil funcționează agentul, cât și dacă munca sa îmbunătățește rezultatele de business.

3. Care sunt cele mai bune instrumente pentru evaluarea agenților AI?

Printre opțiunile uzuale se numără:

  • Framework-uri de testare: aserțiunile Python și pytest sunt utile pentru rularea unor cazuri de test repetabile și verificarea unor condiții exacte, cum ar fi dacă un agent a selectat instrumentul corect sau a returnat un ID de piesă valid.
  • Framework-uri de evaluare a agenților AI: DeepEval și agent-eval toolkit de la Google permit evaluări mai complexe, inclusiv analiza traseelor de execuție, evaluatori bazați pe LLM și testarea automată de regresie.
  • Platforme de evaluare și observabilitate: LangSmith, Arize Phoenix și MLflow ajută echipele să examineze comportamentul agenților, să gestioneze seturile de date de evaluare, să compare versiunile agenților și să monitorizeze performanța în producție.

4. Cum se automatizează evaluările agenților AI?

Puteți automatiza evaluările agenților AI construind teste repetabile, aplicând evaluatori automați și integrând aceste verificări în fluxurile de lucru de dezvoltare și de producție:

  1. Creați un set de date de evaluare: colectați sarcini reprezentative ale utilizatorilor, rezultate așteptate, eșecuri cunoscute și trasee de execuție ale agentului. Includeți cazuri-limită, cum ar fi apeluri de instrumente eșuate, informații lipsă și acțiuni neautorizate.
  2. Automatizați execuția testelor și evaluarea: folosiți framework-uri precum pytest sau DeepEval pentru a rula cazuri de test și a aplica verificări bazate pe cod sau evaluatori LLM. Validați evaluatorii LLM în raport cu judecățile umane înainte de a vă baza pe scorurile lor.
  3. Integrați evaluările în CI/CD: rulați automat din nou testele de regresie atunci când dezvoltatorii actualizează prompturile, modelele, instrumentele sau fluxul de lucru ale unui agent. Comparați rezultatele cu o versiune de referință și stabiliți praguri de calitate care blochează lansările atunci când verificările critice eșuează.
  4. Aplicați evaluatori calibrați pe eșantioane de trasee de execuție din producție, urmăriți ratele de eșec și alte metrici de performanță și investigați erorile noi prin analiză manuală.