ai-agents-for-beginners

AI агенти у производњи: Посматрање и процена

AI агенти у производњи

Како AI агенти прелазе из експерименталних прототипова у примене у стварном свету, способност разумевања њиховог понашања, праћења учинка и систематског процењивања њихових резултата постаје важна.

Циљеви учења

Након завршетка ове лекције, знаћете како/разумети:

Циљ је да вас опремимо знањем како да трансформишете ваше „црне кутије“ агенте у транспарентне, управљиве и поуздане системе.

Напомена: Важно је применити AI агенте који су безбедни и поуздани. Погледајте и лекцију Изградња поузданих AI агената.

Трагови и сегменти

Алати за посматрање као што су Langfuse или Microsoft Foundry обично представљају извршавање агената као трагове и сегменте.

Дрво трага у Langfuse

Без посматрања, AI агент може деловати као „црна кутија“ – његово унутрашње стање и разлози су нејасни, што отежава дијагнозу проблема или оптимизацију учинка. Са посматрањем, агенти постају „прозирне кутије“, нудећи транспарентност важну за изградњу поверења и осигуравање да раде како је предвиђено.

Зашто је посматрање важно у производним окружењима

Прелазак AI агената у производна окружења уводи нови скуп изазова и захтева. Посматрање више није „лепо имати“ већ критична способност:

Кључни показатељи за праћење

За праћење и разумевање понашања агената треба пратити низ метрика и сигнала. Иако се специфичне метрике могу разликовати у зависности од сврхе агента, неке су универзално важне.

Ево неких од најчешћих метрика које алати за посматрање прате:

Латенција: Колико брзо агент реагује? Дуги периоди чекања негативно утичу на корисничко искуство. Треба мерити латенцију задатака и појединачних корака праћењем извршавања агента. На пример, агент који потроши 20 секунди на све позиве модела може се убрзати коришћењем бржег модела или паралелним позивима.

Трошкови: Колико кошта један извршени задатак агента? AI агенти се ослањају на LLM позиве који се наплаћују по току или на спољне API-је. Учестало коришћење алата или више упита могу брзо повећати трошкове. На пример, ако агент позове LLM пет пута ради минималног побољшања квалитета, мора се проценити да ли су трошкови оправдани или би број позива требало смањити или користити јефтинији модел. Праћење у реалном времену такође помаже да се открију неочекивани скокови (нпр. багови који узрокују вишеструке позиве API-ја).

Грешке при захтевима: Колико захтева је агентом није успешно извршено? Ово укључује API грешке или неуспеле позиве алата. Да бисте учинили агента робуснијим у производњи, онда можете поставити резервне опције или поновне покушаје. На пример, ако је LLM провајдер А недоступан, прећи ћете на провајдера Б као резерву.

Кориснички повратне информације: Имплементација директне корисничке процене пружа вредне увиде. Ово може укључити јасне оцене (👍палец горе/👎доле, ⭐1-5 звездица) или текстуалне коментаре. Конзистентно негативне повратне информације треба да вас упозоре јер то значи да агент не ради како се очекује.

Индиректне корисничке повратне информације: Корисничко понашање пружа индиректну повратну информацију чак и без јасних оцена. Ово може укључити тренутно преиспитивање питања, поновљене упите или кликање на дугме за поновни покушај. На пример, ако уочите да корисници више пута постављају исто питање, то је знак да агент не функционише како треба.

Тачност: Колико често агент производи исправне или пожељне резултате? Дефиниције тачности варирају (нпр. исправност решавања проблема, тачност претраживања информација, задовољство корисника). Први корак је дефинисати шта успех значи за вашег агента. Можете пратити тачност аутоматизованим проверама, оценама или ознакама завршетка задатка. На пример, означавањем трагова као „успешан“ или „неуспешан“.

Аутоматизоване метрике процене: Такође можете поставити аутоматизоване процене. На пример, можете користити LLM да оцени излаз агента, нпр. да ли је корисан, тачан, или није. Постоји више open source библиотека које помажу у процени различитих аспеката агента. Нпр. RAGAS за RAG агенте или LLM Guard за откривање злонамерног језика или уметање упита.

У пракси, комбинација ових метрика пружа најбољи увид у здравље AI агента. У овом поглављу примеру нотебука показаћемо како ове метрике изгледају у стварним примерима, али прво ћемо научити како типичан процес процене изгледа.

Инструментујте свог агента

Да бисте прикупили податке о трагању, морате инструментовати свој код. Циљ је инструментовати код агента да емитује трагове и метрике које платформа за посматрање може да ухвати, обради и визуелизује.

OpenTelemetry (OTel): OpenTelemetry се намetнула као индустријски стандард за посматрање LLM. Пружа скуп API-ja, SDK-ова и алата за генерисање, прикупљање и извоз телеметријских података.

Постоји много библиотека за инструментовање које обавијају постојеће агентске оквире и олакшавају извоз OpenTelemetry сегмената у алат за посматрање. Microsoft Agent Framework има нативну интеграцију са OpenTelemetry. Испод је пример инструментовања MAF агента:

from agent_framework.observability import get_tracer, get_meter

tracer = get_tracer()
meter = get_meter()

with tracer.start_as_current_span("agent_run"):
    # Извршење агента се аутоматски прати
    pass

Пример нотебука example notebook у овом поглављу демонстрираће како инструментовати ваш MAF агент.

Ручно креирање сегмената: Иако библиотеке за инструментовање пружају добру улазну тачку, често су потребне детаљније или прилагођене информације. Можете ручно креирати сегменте да бисте додали прилагођену логику апликације. Још важније, могу се обогатити аутоматски или ручно створени сегменти са прилагођеним атрибутима (познатим и као ознаке или метаподатци). Ови атрибути могу укључивати пословне специјалне податке, средње израчуне или сваки контекст који може бити користан за отстрањивање грешака или анализу, као што су user_id, session_id или model_version.

Пример ручног креирања трагова и сегмената уз Langfuse Python SDK:

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

Процена агента

Посматрање нам пружа метрике, али процена је процес анализе тих података (и извођења тестова) да се утврди колико добро AI агент ради и како се може побољшати. Другим речима, када имате трагове и метрике, како их користите да процените агента и донесете одлуке?

Редовна процена је важна јер AI агенти често нису детерминистички и могу еволуирати (путем ажурирања или промена у понашању модела) – без процене не бисте знали да ли ваш „паметни агент“ заиста добро обавља свој посао или је регресирао.

Постоје две категорије процена за AI агенте: онлајн процена и офлајн процена. Обе су вредне и допуњују се. Обично почињемо са офлајн проценом, јер је то минимални потребан корак пре увођења било ког агента.

Офлајн процена

Ставке скупа података у Langfuse

Ово укључује процену агента у контролисаном окружењу, обично коришћењем тест скупова података, а не живих корисничких упита. Користите куриране скупове података где знате шта је очекивани излаз или исправно понашање, па онда покрећете агента на тим скупима.

На пример, ако сте направили агента за решавање математичких проблема на речима, можда имате тест скуп од 100 проблема са познатим одговорима. Офлајн процена се често ради током развоја (и може бити део CI/CD цевовода) да би се провеле измене или спречили регреси. Предност је што је то поновљиво и добијате јасне метрике тачности јер имате експлицитне истине на располагању. Такође можете симулирати корисничке упите и мерити одговоре агента у односу на идеалне или користити аутоматизоване метрике као што је описано горе.

Главни изазов код офлајн процене је осигурати да је ваш тест скуп обухватан и да остане релевантан – агент може добро радити на фиксном тест скупу, али се суочити са потпуно другачијим упитима у производњи. Због тога треба редовно ажурирати тест скупове новим ивичним случајевима и примерима који одражавају стварне сценарије. Корисна је комбинација малих „смоке тест“ случајева и већих скупова за процену: мали скуп за брзе провере, већи за широку метрику учинка.

Онлајн процена

Преглед метрика посматрања

Ово се односи на процену агента у живом, стварном окружењу, дакле током стварне употребе у производњи. Онлајн процена подразумева праћење учинка агента на реалним корисничким интеракцијама и континуирано анализирање резултата.

На пример, можете пратити стопе успеха, оцене задовољства корисника или друге метрике на живом саобраћају. Предност онлајн процене је што она ухвати ствари које не бисте могли предвидети у лабораторијским условима – можете посматрати промене у понашању модела током времена (ако ефективност агента опада како се обрасци уноса мењају) и приметити неочекиване упите или ситуације које нису били у вашем скупу података. Даје праву слику понашања агента у стварности.

Онлајн процена често укључује прикупљање индиректних и директних повратних информација корисника, као и покретање сенка тестова или A/B тестова (где нова верзија агента ради паралелно ради поређења са старом). Изазов је што је тешко добити поуздане ознаке или оцене за живе интеракције – можда се ослањате на повратне информације корисника или прометне метрике (нпр. да ли је корисник кликнуо резултат).

Комбинација ова два приступа

Онлајн и офлајн процене нису искључиве; оне се одлично допуњују. Увиди из онлајн мониторинга (нпр. нове врсте корисничких упита где агент слабо ради) могу се користити за обогаћивање и побољшање офлајн тест скупова. С друге стране, агенти који добро пролазе офлајн тестове могу се са више поверења пустити у производњу и праћени онлајн.

Заправо, многи тимови примењују петљу:

офлајн процена -> имплементација -> онлајн праћење -> прикупљање нових случајева неуспеха -> додавање у офлајн скуп -> усавршавање агента -> понављање.

Уобичајени проблеми

Како уводите AI агенте у производњу, можете наићи на различите изазове. Ево неких уобичајених проблема и могућих решења:

Проблем Могуће решење
AI агент који не обавља задатке доследно - Унапредите упит (prompt) послат AI агенту; будите јасни у циљевима.
- Идентификујте где дељење задатака на подзадатке и додела различитим агентима може помоћи.
AI агент улази у бесконачне петље - Обезбедите јасне услове и правила за завршетак процеса тако да агент зна када да престане.
- За сложене задатке који захтевају размишљање и планирање, користите већи модел специјализован за те задатке.
Позиви алата AI агента не раде добро - Тестирајте и проверавајте излаз алата ван система агента.
- Унапредите дефинисане параметре, упите и именовања алата.
Мулти-агентски систем не ради доследно - Унапређујте упите за сваког агента како би били специфични и различити један од другог.
- Изградите хијерархијски систем користећи „рутирајућег“ или контролни агент да одреди који је агент прави.

Многи од ових проблема могу бити ефикасније идентификовани уз посматрање. Трагови и метрике које смо раније поменули помажу да се тачно одреди где у радном процесу агента проблем настаје, чинећи отстрањивање грешака и оптимизацију много ефикаснијом.

Управљање трошковима

Ево неких стратегија за управљање трошковима имплементације AI агената у продукцију:

Коришћење мањих модела: Мали језички модели (SLMs) могу добро функционисати у одређеним агенцијским сценаријима и значајно ће смањити трошкове. Као што је раније поменуто, изградња система за евалуацију који одређује и пореди перформансе у односу на веће моделе је најбољи начин да се разуме колико ће добро SLM функционисати у вашем случају. Размотрите коришћење SLM-ова за једноставније задатке као што су класификација намере или извлачење параметара, док веће моделе задржите за сложено закључивање.

Коришћење рутер модела: Слична стратегија је коришћење различитих модела и величина. Можете користити LLM/SLM или серверлес функцију за усмеравање захтева према сложености ка моделима који најбоље одговарају. Ово такође помаже у смањењу трошкова и осигурава перформансе на правим задацима. На пример, усмерите једноставне упите ка мањим, бржим моделима, а скупе велике моделе користите само за сложене задатке резоновања.

Кеширање одговора: Идентфиковање уобичајених захтева и задатака и пружање одговора пре него што прођу кроз ваш агенцијски систем је добар начин да се смањи обим сличних упита. Можете чак имплементирати ток да идентификује колико је захтев сличан вашим кешираним захтевима користећи једноставније AI моделе. Ова стратегија може значајно смањити трошкове за често постављана питања или уобичајене радне токове.

Хајде да видимо како ово ради у пракси

У примеру нотебука из овог одељка, видећемо примере како можемо користити алате за посматрање и евалуацију нашег агента.

Имате још питања о AI агентима у продукцији?

Придружите се Microsoft Foundry Discord-у да упознате друге ученике, присуствујете „office hours“ и добијете одговоре на ваша питања о AI агентима.

Претходна лекција

Образац дизајна метакогниције

Следећа лекција

Агентски протоколи


Изјава о одрицању одговорности: Овај документ је преведен коришћењем услуге за аутоматски превод Co-op Translator. Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.