ai-agents-for-beginners

AI-agentide tootmine: jälgitavus ja hindamine

AI-agentide tootmine

Kui AI-agentid liiguvad eksperimentaalsetelt prototüüpidelt pärismaailma rakendustesse, muutub oluliseks nende käitumise mõistmine, nende jõudluse jälgimine ja nende väljundite süsteemne hindamine.

Õpieesmärgid

Pärast selle õppetüki läbimist oskad sa/sa mõistad:

Eesmärk on varustada sind teadmistega, et muuta sinu “mustad kasti” agentid läbipaistvateks, hallatavaks ja usaldusväärseteks süsteemideks.

Märkus: Oluline on juurutada AI-agente, mis on turvalised ja usaldusväärsed. Vaata ka Usaldusväärsete AI-agentide loomine õppetükki.

Jäljed ja ulatused

Jälgitavuse tööriistad nagu Langfuse või Microsoft Foundry kujutavad tavaliselt agentide jooksud jälgedena ja ulatustena.

Jälgede puu Langfuse'is

Ilma jälgitavuseta võib AI-agent tunduda nagu “must kast” - selle sisemine olek ja loogika on hägused, mistõttu on keeruline vigu diagnoosida või jõudlust optimeerida. Jälgitavusega muutuvad agentid “klaaskastideks”, pakkudes läbipaistvust, mis on otsustava tähtsusega usalduse ehitamiseks ja nende oodatud toimimise tagamiseks.

Miks jälgitavus tootmiskeskkonnas oluline on

AI-agentide viimine tootmiskeskkondadesse seab nende jaoks uued väljakutsed ja nõuded. Jälgitavus ei ole enam “hape”, vaid kriitilise tähtsusega võimekus:

Peamised jälgitavad mõõdikud

Agentide käitumise jälgimiseks ja mõistmiseks tuleks jälgida mitmeid mõõdikuid ja signaale. Kuigi konkreetseid mõõdikuid võib varieeruda vastavalt agentide eesmärgile, on mõned universaalselt olulised.

Siin on mõned jälgitavad kõige levinumad mõõdikud:

Latentsus: Kui kiiresti agent vastab? Pikad ooteajad mõjuvad kasutajakogemusele negatiivselt. Latentsust peaks mõõtma ülesannete ja üksikute sammude kaupa, jälgides agentide jooksusid. Näiteks agent, kes kulutab kõikide mudelikõnede jaoks 20 sekundit, võiks kiirendada, kasutades kiirem mudelit või tehes mudelikõned paralleelselt.

Kulud: Kui palju maksab agentide üks jooks? AI-agentid sõltuvad LLM-i kõnedest, mille eest arvestatakse tasu tokeni või välise API-ühenduse eest. Tihe tööriistade kasutus või mitmed prompt’id võivad kiiresti kulusid tõsta. Näiteks kui agent kutsub LLM-i viis korda marginaalse kvaliteedi paranduse nimel, tuleb hinnata, kas kulud on õigustatud või kas kõnede arvu võiks vähendada või kasutada odavamat mudelit. Reaalaegne jälgimine aitab avastada ootamatuid kulutõuse (nt vead, mis tekitavad liigseid API-loope).

Päringuvead: Kui palju päringuid agent ebaõnnestus? See võib hõlmata API-vigu või ebaõnnestunud tööriistakõnesid. Et muuta agent tootmises vastupidavamaks, saab selliste vigade vastu seadistada varuplaanid või korduskatsed. Näiteks kui LLM-i pakkuja A on maas, lülitad varuvariandina üle pakkujale B.

Kasutajate tagasiside: Otsepäringute hindamise rakendamine annab väärtuslikku infot. See võib hõlmata selgesõnalisi hinnanguid (👍heaks/👎halvaks, ⭐1-5 tärni) või tekstilisi kommentaare. Pidev negatiivne tagasiside peaks sind hoiatama, sest see on märk, et agent ei toimi ootuspäraselt.

Kaudne kasutajate tagasiside: Kasutajate käitumine annab kaudset tagasisidet ka ilma selgesõnaliste hinnanguteta. See võib tähendada kohest küsimuse ümber sõnastamist, korduvaid päringuid või uuesti proovi nupule klõpsamist. Näiteks, kui näed, et kasutajad esitavad sama küsimust korduvalt, on see märk, et agent ei toimi ootuspäraselt.

Täpsus: Kui tihti agent annab õigeid või soovitud vastuseid? Täpsuse definitsioonid varieeruvad (näiteks probleemilahenduse õigsus, info pärimise täpsus, kasutaja rahulolu). Esimene samm on määratleda, mis on sinu agendi jaoks edu. Sa võid jälgida täpsust automatiseeritud kontrollide, hindamisskooride või ülesande täitmise siltide kaudu. Näiteks märkides jäljed “õnnestunud” või “ebaõnnestunud”.

Automaatse hindamise mõõdikud: Sa võid seadistada ka automaatseid hindamisi. Näiteks võid kasutada LLM-i, et hinnata agendi väljundit, kas see on kasulik, täpne või mitte. On ka mitmeid avatud lähtekoodiga raamistikke, mis aitavad hinnata agendi erinevaid aspekte. Näiteks RAGAS RAG-agentide jaoks või LLM Guard, mis avastab kahjulikku keelt või promptide süstimist.

Praktikas annab nende mõõdikute kombinatsioon parima ülevaate AI-agendi seisundist. Selle peatüki näitenootebookis näitame, kuidas need mõõdikud reaalsetes näidetes välja näevad, ent esmalt õpime tüüpilise hindamisprotsessi.

Instrumenteerige oma agent

Jälgede andmete kogumiseks tuleb oma koodi instrumendistada. Eesmärk on instrumendistada agentide kood, et saata jälgi ja mõõdikuid, mida jälgitavuse platvorm suudab salvestada, töödelda ja visualiseerida.

OpenTelemetry (OTel): OpenTelemetry on kujunenud LLM-i jälgitavuse tööstusstandardiks. See pakub API-sid, SDK-sid ja tööriistu telemeetriaandmete genereerimiseks, kogumiseks ja eksportimiseks.

Paljud instrumendistamise raamatukogud sisaldavad olemasolevaid agentide raamistikke ja muudavad OpenTelemetry ulatuste eksportimise jälgitavuse tööriistasse lihtsaks. Microsoft Agent Framework integreerub OpenTelemetry-ga loomulikult. Allpool on näide MAF agenti instrumendist:

from agent_framework.observability import get_tracer, get_meter

tracer = get_tracer()
meter = get_meter()

with tracer.start_as_current_span("agent_run"):
    # Agendi täitmist jälgitakse automaatselt
    pass

Selle peatüki näitenootebook demonstreerib, kuidas instrumendistada oma MAF agenti.

Manuaalne ulatuste loomine: Kuigi instrumendistamise raamatukogud pakuvad head alust, on sageli kohtasid, kus on vaja detailsemaid või kohandatud andmeid. Sa võid manuaalselt luua ulatusi, lisades kohandatud rakenduse loogikat. Veel olulisem, saad rikastada automaatselt või käsitsi loodud ulatusi kohandatud omadustega (tuntud ka kui sildid või metaandmed). Need võivad sisaldada ärispetsiifilisi andmeid, vahepealseid arvutusi või mis tahes konteksti, mis võib aidata vigu parandada või analüüsida, näiteks user_id, session_id või model_version.

Näide jälgede ja ulatuste manuaalsest loomise kohta Langfuse Python SDK abil:

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

Agendi hindamine

Jälgitavus annab meile mõõdikuid, aga hindamine on andmete analüüsimise protsess (ja testide läbiviimine), et määrata, kui hästi AI-agent töötab ja kuidas seda saaks paremaks teha. Teisisõnu, kui sul on need jäljed ja mõõdikud olemas, kuidas neid kasutada agendi hindamiseks ja otsuste tegemiseks?

Regulaarne hindamine on oluline, sest AI-agentid on tihti mittetäpsed ja võivad areneda (versiooniuuenduste või mudelikäitumise muutumise kaudu) – ilma hindamiseta ei tea sa, kas sinu “tark agent” teeb oma tööd hästi või on ta regressioonis.

AI-agentide hindamine jaguneb kahele kategooriale: online-hindamine ja offline-hindamine. Mõlemad on väärtuslikud ja täiendavad teineteist. Tavaliselt alustame offline-hindamisest, sest see on minimaalne samm enne agendi juurutamist.

Offline-hindamine

Dataseti elemendid Langfuse’is

See tähendab agendi hindamist kontrollitud keskkonnas, tavaliselt testandmestike abil, mitte päris kasutajate päringutega. Kasutatakse kureeritud andmestikke, kus on teada oodatud väljund või korrektne käitumine, ning tark agent jooksutatakse nende andmestike peal.

Näiteks kui oled ehitanud matemaatikaprobleemide agenti, võib sul olla testandmestik 100 ülesandega, mille vastused on teada. Offline-hindamist tehakse sageli arenduse käigus (ja see võib olla osa CI/CD töövoogudest), et kontrollida paranemisi või vältida regressioone. Selle eelis on, et see on korratav ja annab selgeid täpsuse mõõdikuid, kuna on olemas tõeline vastus. Samuti võib simuleerida kasutajate päringuid ja mõõta agendi vastuseid ideaalsete vastuste suhtes või kasutada automaatseid mõõdikuid nagu eespool kirjeldatud.

Offline-hindamise suurim väljakutse on tagada, et testandmestik oleks põhjalik ja ajakohane – agent võib sooritada hästi fikseeritud testikomplekti peal, kuid tootmises esineda väga erinevaid päringuid. Seepärast tuleks testkomplekte regulaarselt täiendada uute erandjuhtumite ja näidetega, mis peegeldavad pärismaailma olukordi. Kasulik on segada väikseid “hääletesti” juhtumeid ja suuremaid hindamiskomplekte: väikesi kiireks kontrolliks ja suuremaid laiemate jõudlusmõõdikute jaoks.

Online-hindamine

Jälgitavuse mõõdikute ülevaade

See tähendab agendi hindamist elavas, päriselulises keskkonnas ehk kasutamise ajal tootmises. Online-hindamine hõlmab agendi jõudluse jälgimist reaalsete kasutajate suhtlustel ja tulemuste pidevat analüüsi.

Näiteks võid jälgida õnnestumismäärasid, kasutajate rahulolu skooridest või muid mõõdikuid reaalsetel päringutel. Online-hindamise eelis on see, et see tabab asju, mida sa laborikeskkonnas ette ei näe – näiteks mudelite kõikumisi ajas (kui agendi tõhusus halveneb sisendmustrite muutudes) ning ootamatuid päringuid või olukordi, mis testandmestikus puudusid. See annab reaalse pildi, kuidas agent looduses käitub.

Online-hindamine hõlmab sageli kaudse ja otsese kasutajate tagasiside kogumist ning võib hõlmata varjatud teste või A/B-teste (kus uus agentide versioon töötab paralleelselt vana variandiga võrdluseks). Väljakutse on sageli see, et usaldusväärsete siltide või skooride saamine reaalsete päringute põhjal võib olla keeruline – toetuda võid kasutajate tagasisidele või alluvatele mõõdikutele (näiteks kas kasutaja klikib tulemusele).

Kahe hindamisviisi kombineerimine

Online- ja offline-hindamised ei ole üksteist välistavad; need täiustavad teineteist. Online-jälgimisega (nt uued kasutajate päringutüübid, kus agent toimib halvasti) saad täiendada ja parandada offline testandmestikke. Vastupidi, hästi offline-testides toimivad agentid saab seejärel enesekindlamalt juurutada ja online-keskkonnas jälgida.

Tegelikult kasutavad paljud meeskonnad järgmist tsüklit:

offline hindamine -> juurutamine -> online jälgimine -> uute rikete juhtumite kogumine -> lisamine offline andmestikku -> agendi täiustamine -> kordamine.

Levinud probleemid

AI-agentide tootmisse viies võid kokku puutuda mitme väljakutsega. Siin on mõned tavalised probleemid ja nende võimalikud lahendused:

Probleem Võimalik lahendus
AI-agent ei täida ülesandeid järjekindlalt - Täiusta agendile antud prompt’i, ole eesmärkides selge.
- Määratle kohad, kus ülesande jagamine osadeks ja nende haldamine mitme agenti poolt aitab.
AI-agent läbib lõputuid silmuseid - Tagada selged lõpetamise tingimused, et agent teaks, millal protsess peatub.
- Keerukatele, loogikut ja planeerimist nõudvatele ülesannetele kasuta suuremat mudelit, mis on mõeldud mõtlemise ülesannetele.
AI-agendi tööriistade kõned ei tööta korralikult - Testi ja kontrolli tööriista väljundit väljaspool agendi süsteemi.
- Täiusta määratletud parameetreid, prompt’e ja tööriistade nimetust.
Mitme agente süsteem ei toimi järjekindlalt - Täiusta iga agendi prompt’e, tagades, et need on spetsiifilised ja teineteisest erinevad.
- Ehita hierarhiline süsteem, kasutades “marsruutimise” või kontrolliva agenti, et määrata õige agent.

Paljusid neist probleemidest saab tõhusamalt tuvastada jälgitavust kasutades. Eelnevalt käsitletud jäljed ja mõõdikud aitavad täpselt tuvastada kohta agentide töövoos, kus probleemid ilmnevad, muutes veaparanduse ja optimeerimise palju tõhusamaks.

Kulude juhtimine

Siin on mõned strateegiad, kuidas hallata AI agentide tootmisse viimisega seotud kulusid:

Väiksemate mudelite kasutamine: Väikesed keelemudelid (SLMd) suudavad mõningatel agentuursetel juhtudel hästi toimida ning vähendavad oluliselt kulusid. Nagu varem mainitud, on parim viis mõista, kui hästi SLM teie kasutusjuhtumis toimib, ehitada hindamissüsteem, mis määrab ja võrdleb jõudlust suuremate mudelitega. Kaaluge SLM-de kasutamist lihtsamate ülesannete jaoks, näiteks kavatsuste klassifitseerimiseks või parameetrite väljavõtmiseks, samal ajal kui keerukama mõtlemise jaoks kasutage suuremaid mudeleid.

Marsruutimudeli kasutamine: Sarnane strateegia on kasutada mitmekesiseid mudeleid ja suurusi. Võite kasutada LLM-i/SLM-i või serverivaba funktsiooni, et suunata päringud keerukuse põhjal sobivaimatele mudelitele. See aitab ka kulusid vähendada ning tagab samal ajal jõudluse õigetel ülesannetel. Näiteks suunake lihtsad päringud väiksematele ja kiirematele mudelitele ning kasutage kallimaid suuri mudeleid ainult keerukate mõtlemist vajavate ülesannete jaoks.

Vastuste vahemällu salvestamine: Tuntud päringute ja ülesannete tuvastamine ning vastuste pakkumine enne agentuuri süsteemist läbi minemist on hea viis taoliste päringute mahtu vähendada. Võite isegi rakendada voogu, mis määrab, kui sarnane päring on teie vahemällu salvestatud päringutele, kasutades selleks lihtsamaid AI mudeleid. See strateegia võib oluliselt vähendada kulusid sagedasti esitatavate küsimuste või tavapäraste töövoogude puhul.

Vaatame, kuidas see praktikas töötab

Selle sektsiooni näitenootbukis näeme näiteid sellest, kuidas kasutada jälgimisvahendeid meie agendi jälgimiseks ja hindamiseks.

Kas sul on AI agentide tootmisse viimise kohta lisaküsimusi?

Liitu Microsoft Foundry Discordiga, et kohtuda teiste õppijatega, osaleda kõneaegadel ja saada vastused oma AI agentide küsimustele.

Eelmine õppetund

Metakognitsiooni disainimuster

Järgmine õppetund

Agentuurprotokollid


Lahtiütlus: See dokument on tõlgitud kasutades AI tõlketeenust Co-op Translator. Kuigi me püüdleme täpsuse poole, palun pange tähele, et automatiseeritud tõlgetes võib esineda vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlkega seotud eksimustest või valesti mõistmistest.