ai-agents-for-beginners

AI agenti v produkcii: Pozorovateľnosť a hodnotenie

AI agenti v produkcii

Keď sa AI agenti presúvajú z experimentálnych prototypov do reálnych aplikácií, schopnosť pochopiť ich správanie, monitorovať ich výkon a systematicky hodnotiť ich výstupy sa stáva kľúčovou.

Ciele učenia

Po absolvovaní tejto lekcie budete vedieť/rozumieť:

Cieľom je vybaviť vás znalosťami, ktoré premenia vašich “čiernych skrinkových” agentov na transparentné, spravovateľné a spoľahlivé systémy.

Poznámka: Je dôležité nasadzovať AI agentov, ktorí sú bezpeční a dôveryhodní. Pozrite si lekciu Budovanie dôveryhodných AI agentov.

Traces a Spans

Nástroje na pozorovateľnosť, ako napríklad Langfuse alebo Azure AI Foundry, zvyčajne reprezentujú behy agentov ako traces a spans.

Strom trace v Langfuse

Bez pozorovateľnosti môže AI agent pôsobiť ako “čierna skrinka” – jeho vnútorný stav a uvažovanie sú nepriehľadné, čo sťažuje diagnostiku problémov alebo optimalizáciu výkonu. S pozorovateľnosťou sa agenti stávajú “sklenenými skrinkami,” čo poskytuje transparentnosť, ktorá je nevyhnutná na budovanie dôvery a zabezpečenie správneho fungovania.

Prečo je pozorovateľnosť dôležitá v produkčnom prostredí

Prechod AI agentov do produkčného prostredia prináša nové výzvy a požiadavky. Pozorovateľnosť už nie je len “pekný doplnok,” ale kľúčová schopnosť:

Kľúčové metriky na sledovanie

Na monitorovanie a pochopenie správania agenta by sa mal sledovať rad metrík a signálov. Hoci konkrétne metriky sa môžu líšiť v závislosti od účelu agenta, niektoré sú univerzálne dôležité.

Tu sú niektoré z najbežnejších metrík, ktoré nástroje na pozorovateľnosť monitorujú:

Latencia: Ako rýchlo agent reaguje? Dlhé čakacie doby negatívne ovplyvňujú používateľskú skúsenosť. Mali by ste merať latenciu pre úlohy a jednotlivé kroky sledovaním behov agenta. Napríklad agent, ktorý potrebuje 20 sekúnd na všetky volania modelu, by mohol byť zrýchlený použitím rýchlejšieho modelu alebo paralelným spustením volaní modelu.

Náklady: Aké sú náklady na jeden beh agenta? AI agenti sa spoliehajú na volania LLM spoplatnené na základe tokenov alebo externé API. Časté používanie nástrojov alebo viacero promptov môže rýchlo zvýšiť náklady. Napríklad, ak agent volá LLM päťkrát pre marginálne zlepšenie kvality, musíte posúdiť, či sú náklady opodstatnené, alebo či by ste mohli znížiť počet volaní alebo použiť lacnejší model. Monitorovanie v reálnom čase môže tiež pomôcť identifikovať neočakávané nárasty (napr. chyby spôsobujúce nadmerné slučky API).

Chyby požiadaviek: Koľko požiadaviek agent zlyhal? To môže zahŕňať chyby API alebo zlyhané volania nástrojov. Aby bol váš agent robustnejší v produkcii, môžete nastaviť záložné riešenia alebo opakovania. Napríklad, ak je poskytovateľ LLM A nedostupný, prepnite na poskytovateľa LLM B ako zálohu.

Spätná väzba od používateľov: Implementácia priameho hodnotenia používateľmi poskytuje cenné poznatky. To môže zahŕňať explicitné hodnotenia (👍palec hore/👎dole, ⭐1-5 hviezdičiek) alebo textové komentáre. Konzistentná negatívna spätná väzba by vás mala upozorniť, pretože to je znak, že agent nefunguje podľa očakávaní.

Implicitná spätná väzba od používateľov: Správanie používateľov poskytuje nepriamu spätnú väzbu aj bez explicitných hodnotení. To môže zahŕňať okamžité preformulovanie otázky, opakované dotazy alebo kliknutie na tlačidlo opakovania. Napríklad, ak vidíte, že používatelia opakovane kladú tú istú otázku, je to znak, že agent nefunguje podľa očakávaní.

Presnosť: Ako často agent produkuje správne alebo žiaduce výstupy? Definície presnosti sa líšia (napr. správnosť riešenia problému, presnosť získavania informácií, spokojnosť používateľa). Prvým krokom je definovať, čo pre vášho agenta znamená úspech. Presnosť môžete sledovať prostredníctvom automatizovaných kontrol, hodnotiacich skóre alebo označení dokončenia úlohy. Napríklad označenie traces ako “úspešné” alebo “neúspešné”.

Automatizované hodnotiace metriky: Môžete tiež nastaviť automatizované hodnotenia. Napríklad môžete použiť LLM na hodnotenie výstupu agenta, napr. či je užitočný, presný alebo nie. Existuje aj niekoľko open-source knižníc, ktoré vám pomôžu hodnotiť rôzne aspekty agenta. Napr. RAGAS pre RAG agentov alebo LLM Guard na detekciu škodlivého jazyka alebo injekcie promptov.

V praxi kombinácia týchto metrík poskytuje najlepšie pokrytie zdravia AI agenta. V príkladovom notebooku tejto kapitoly vám ukážeme, ako tieto metriky vyzerajú v reálnych príkladoch, ale najprv sa naučíme, ako vyzerá typický hodnotiaci pracovný postup.

Inštrumentácia vášho agenta

Na zhromažďovanie údajov o trace budete musieť inštrumentovať svoj kód. Cieľom je inštrumentovať kód agenta tak, aby emitoval traces a metriky, ktoré môžu byť zachytené, spracované a vizualizované platformou na pozorovateľnosť.

OpenTelemetry (OTel): OpenTelemetry sa stal priemyselným štandardom pre pozorovateľnosť LLM. Poskytuje sadu API, SDK a nástrojov na generovanie, zhromažďovanie a export telemetrických údajov.

Existuje mnoho knižníc na inštrumentáciu, ktoré obalujú existujúce rámce agentov a uľahčujú export OpenTelemetry spans do nástroja na pozorovateľnosť. Nižšie je príklad inštrumentácie agenta AutoGen pomocou knižnice OpenLit:

import openlit

openlit.init(tracer = langfuse._otel_tracer, disable_batch = True)

Príkladový notebook v tejto kapitole ukáže, ako inštrumentovať vášho agenta AutoGen.

Manuálne vytváranie spanov: Zatiaľ čo knižnice na inštrumentáciu poskytujú dobrý základ, často existujú prípady, keď sú potrebné podrobnejšie alebo vlastné informácie. Môžete manuálne vytvárať spans na pridanie vlastnej aplikačnej logiky. Dôležitejšie je, že môžu obohatiť automaticky alebo manuálne vytvorené spans o vlastné atribúty (známe aj ako tagy alebo metadáta). Tieto atribúty môžu zahŕňať obchodne špecifické údaje, medzivýpočty alebo akýkoľvek kontext, ktorý by mohol byť užitočný na ladenie alebo analýzu, ako napríklad user_id, session_id alebo model_version.

Príklad manuálneho vytvárania traces a spans pomocou Langfuse Python SDK:

from langfuse import get_client
 
langfuse = get_client()
 
span = langfuse.start_span(name="my-span")
 
span.end()

Hodnotenie agenta

Pozorovateľnosť nám poskytuje metriky, ale hodnotenie je proces analýzy týchto údajov (a vykonávania testov) na určenie, ako dobre AI agent funguje a ako ho možno zlepšiť. Inými slovami, keď máte traces a metriky, ako ich využijete na posúdenie agenta a prijímanie rozhodnutí?

Pravidelné hodnotenie je dôležité, pretože AI agenti sú často nedeterministickí a môžu sa vyvíjať (prostredníctvom aktualizácií alebo zmeny správania modelu) – bez hodnotenia by ste nevedeli, či váš “inteligentný agent” skutočne plní svoju úlohu dobre alebo či sa zhoršil.

Existujú dve kategórie hodnotení AI agentov: offline hodnotenie a online hodnotenie. Obe sú hodnotné a navzájom sa dopĺňajú. Zvyčajne začíname s offline hodnotením, pretože to je minimálny potrebný krok pred nasadením akéhokoľvek agenta.

Offline hodnotenie

Položky datasetu v Langfuse

Toto zahŕňa hodnotenie agenta v kontrolovanom prostredí, zvyčajne pomocou testovacích datasetov, nie živých používateľských dotazov. Používate kurátorské datasety, kde viete, aký je očakávaný výstup alebo správne správanie, a potom na nich spustíte svojho agenta.

Napríklad, ak ste vytvorili agenta na riešenie slovných matematických úloh, môžete mať testovací dataset so 100 úlohami s známymi odpoveďami. Offline hodnotenie sa často vykonáva počas vývoja (a môže byť súčasťou CI/CD pipeline) na kontrolu zlepšení alebo ochranu pred regresiami. Výhodou je, že je opakované a môžete získať jasné metriky presnosti, pretože máte pravdu. Môžete tiež simulovať používateľské dotazy a merať odpovede agenta voči ideálnym odpovediam alebo použiť automatizované metriky, ako je popísané vyššie.

Hlavnou výzvou pri offline hodnotení je zabezpečiť, aby bol váš testovací dataset komplexný a zostal relevantný – agent môže dobre fungovať na pevnej testovacej sade, ale naraziť na veľmi odlišné dotazy v produkcii. Preto by ste mali testovacie sady aktualizovať o nové hraničné prípady a príklady, ktoré odrážajú reálne scenáre​. Kombinácia malých “smoke test” prípadov a väčších hodnotiacich sád je užitočná: malé sady na rýchle kontroly a väčšie na širšie metriky výkonu​.

Online hodnotenie

Prehľad metrík pozorovateľnosti

Toto sa týka hodnotenia agenta v živom, reálnom prostredí, t. j. počas skutočného používania v produkcii. Online hodnotenie zahŕňa monitorovanie výkonu agenta na reálnych interakciách používateľov a neustálu analýzu výsledkov.

Napríklad môžete sledovať miery úspešnosti, skóre spokojnosti používateľov alebo iné metriky na živom prenose. Výhodou online hodnotenia je, že zachytáva veci, ktoré by ste v laboratórnom prostredí nemuseli predvídať – môžete pozorovať drift modelu v priebehu času (ak sa účinnosť agenta znižuje, keď sa menia vzory vstupov) a zachytiť neočakávané dotazy alebo situácie, ktoré neboli vo vašich testovacích údajoch​. Poskytuje skutočný obraz o tom, ako sa agent správa v reálnom svete.

Online hodnotenie často zahŕňa zhromažďovanie implicitnej a explicitnej spätnej väzby od používateľov, ako bolo diskutované, a prípadne spúšťanie tieňových testov alebo A/B testov (kde nová verzia agenta beží paralelne na porovnanie so starou). Výzvou je, že môže byť zložité získať spoľahlivé označenia alebo skóre pre živé interakcie – môžete sa spoliehať na spätnú väzbu používateľov alebo downstream metriky (napríklad či používateľ klikol na výsledok).

Kombinácia oboch

Online a offline hodnotenia sa navzájom nevylučujú; sú vysoko komplementárne. Poznatky z online monitorovania (napr. nové typy používateľských dotazov, kde agent funguje zle) môžu byť použité na rozšírenie a zlepšenie offline testovacích datasetov. Naopak, agenti, ktorí dobre fungujú v offline testoch, môžu byť potom s väčšou istotou nasadení a monitorovaní online.

V skutočnosti mnoho tímov prijíma cyklus:

hodnotiť offline -> nasadiť -> monitorovať online -> zhromažďovať nové prípady zlyhania -> pridať do offline datasetu -> zdokonaliť agenta -> opakovať.

Bežné problémy

Pri nasadzovaní AI agentov do produkcie sa môžete stretnúť s rôznymi výzvami. Tu sú niektoré bežné

Mnohé z týchto problémov je možné identifikovať efektívnejšie, ak je zavedená pozorovateľnosť. Trasy a metriky, o ktorých sme hovorili skôr, pomáhajú presne určiť, kde v pracovnom postupe agenta dochádza k problémom, čo robí ladenie a optimalizáciu oveľa efektívnejšími.

Riadenie nákladov

Tu sú niektoré stratégie na riadenie nákladov pri nasadzovaní AI agentov do produkcie:

Používanie menších modelov: Malé jazykové modely (SLM) môžu dobre fungovať pri určitých agentických prípadoch použitia a výrazne znížia náklady. Ako sme už spomenuli, najlepším spôsobom, ako pochopiť, ako dobre bude SLM fungovať vo vašom prípade použitia, je vytvorenie hodnotiaceho systému na určenie a porovnanie výkonu oproti väčším modelom. Zvážte použitie SLM na jednoduchšie úlohy, ako je klasifikácia zámerov alebo extrakcia parametrov, pričom väčšie modely si ponechajte na zložité uvažovanie.

Používanie modelu smerovača: Podobnou stratégiou je použitie rôznych modelov a veľkostí. Môžete použiť LLM/SLM alebo serverless funkciu na smerovanie požiadaviek na základe zložitosti k najvhodnejším modelom. To tiež pomôže znížiť náklady a zároveň zabezpečiť výkon pri správnych úlohách. Napríklad smerujte jednoduché dotazy k menším, rýchlejším modelom a drahé veľké modely používajte iba na zložité úlohy vyžadujúce uvažovanie.

Ukladanie odpovedí do vyrovnávacej pamäte: Identifikácia bežných požiadaviek a úloh a poskytovanie odpovedí ešte predtým, ako prejdú vaším agentickým systémom, je dobrý spôsob, ako znížiť objem podobných požiadaviek. Môžete dokonca implementovať tok na identifikáciu, ako podobná je požiadavka vašim uloženým požiadavkám, pomocou základnejších AI modelov. Táto stratégia môže výrazne znížiť náklady na často kladené otázky alebo bežné pracovné postupy.

Pozrime sa, ako to funguje v praxi

V príkladovom notebooku tejto sekcie uvidíme príklady, ako môžeme použiť nástroje pozorovateľnosti na monitorovanie a hodnotenie nášho agenta.

Máte ďalšie otázky o AI agentoch v produkcii?

Pripojte sa k Azure AI Foundry Discord, kde sa môžete stretnúť s ďalšími študentmi, zúčastniť sa konzultačných hodín a získať odpovede na vaše otázky o AI agentoch.

Predchádzajúca lekcia

Metakognitívny návrhový vzor

Nasledujúca lekcia

Agentické protokoly


Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Aj keď sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.