Назіральнасць карпаратыўных AI-агентаў з Langfuse і OCI
Чаму журналаў, метрык і трас не хапае для GenAI-агентаў і як трасіраваць промпты, выклікі інструментаў, токены і сесіі з адкрытым Langfuse на OCI Agents.
Крыніцы: Observability for Enterprise AI Agents: an open-source solution
Логі, метрыкі і трэсы не паведамяць вам, чаму агент корпаратыўскага AI даў паслабны адказ. Чыба зразумець гэтыя сістэмы, вам таксама неабходна адразу бачыць запіты, кантэкст, які перэдаецца модэлю, вызовы інструментаў, выкарыстоўванне токенаў, часы адпаведзей і якасць выходных даных. У гэтым артыкуле пояснюецца, чаму генератыўныя AI-сістэмы патрабуюць іншаг падходу да стварэння можлівасцяў аналізу, а пасля паказваецца конкрэтная наладка з выкарыстоўванням Langfuse, якая падключаецца да агентаў OCI Enterprise AI праз сумеснасць з API OpenAI Responses.
Чаму гэта важна
Тэрмін «агент» выкарыстоўваецца для будзь-якага рабочага працэсу, які вызывае адна або калькі большых мовных модэляў для падготавкі рэзультата. Гэта затуманюе справжнюе размежаванне. Праўы агент даўа автонамію, можлівасць выкарыстоўвання інструментаў і керавання кантэкстам, а разам з гэтым — значна большую операцыйную складнасць.
Другая проблема ў падпрыемствах ўсё болей актуальная. Увага зосераджваецца на „чарах“ ШЫ, тады як праца, неабходная для надзеянага, пад кантролем і высокай якосці функцыонавання гэтых сістэм, застаецца без увагі. Спостэрагальна здатнасць знаходзіцца на першым месцы ў гэтым спіску. Для складнага агента на базе генератыўнай ШЫ гэта не тэхнічная дробіца — гэта тое, што дазволяе разумець яго поведзенне, аналізаваць канфлікты, ацэніваць якосць адпаведзей і контролаваць вітраты і час адпаведзення.
Першая частка ніжэй апісвае спостэрагальную здатнасць і якое значэнне яна мае для генератыўнай ШЫ. Другая частка прадстаўляе настройку на адкрытым кодзе, якая лёгка адключаецца на OCI, з прыкладамі таго, што яна скарабатывае, і чаму гэтыя даныя ўжыткавы.
Што значыць спостэрагальная здатнасць
Спостарабельнасць — гэта атрыбут складных сістэм. Простаючы, сістэма ўважаецца спостарабельной, калі можна выявіць яе внутрэнюя дзеянню на адварота сігналаў, якія яна выдае, і якія можна збіраць і аналізаваць. Болей формальна, два разныя внутрэннія станы павінны быць розрозненныя на адварота зовнішніх сігналаў. Тое, што выдае сістэма, павінна надзеянна адкрываць тое, што відбываецца ўнутры.
З гэтага выліваюцца два наследкі. Спостарабельнасць мае вялікое значэнне там, дзе ёсць многа частак, залежнасцяў і взаімадзеянняў. А проста спазірванне з зовнішніх сторон недастатнія, таму што сістэма павінна быць спраектаваная і апранутая так, каб выдавала корыстную інфармацыю. Правільная праца чаго-небудзь у духу агента AI для падпрыемства значыць збір тэлеметрыі, якая адкрывае яго стан, дзеянню, анамаліі і канцэнтрацыю працы.
Сярод гэтага стаўкая здатнасць разлічыцца ад класычнага манітарынгу. Манітарынг адпавядае на запытанні, якія вы задумалі загадзя, такія як сколькі CPU выкарыстоўвае паслуга чы як медленна была запытка. Стаўкая здатнасць таксама павінна дазваляць вам расследаваць неспадзянанні, проблемы і запытанні, якіх ніхто не прыгадаў на этапе праектавання, якія часта называюцца «невядомымі невядомымі».
Стаўкая здатнасць да генератыўнага ІІ
«Традыцыяныя сістэмы» тут значыць прыкладнікі, створаныя да таго, як генератыўны ІІ стаў пашыроным, адносна да 2023 года. Іхня стаўкая здатнасць базавалася на трох відах дадзеных: логах, метрыках і трэсах.
Логі і метры ўжо знаёмы. Траец — гэта повнае апісанне аднароднага запіту чыстаў взаімадзеі, якое складаецца з спанаў, якія опісваюць адзінлівыя крокі. У архітэктураы мікросервісаў адзін траец можа павылікваваць цэлую транзакцыю прыкладнення, з спанамі для вызову API, запыту да базы дадзенаў чыстаў вызову званічнага сервіса. Ён мусіць быць эфектывным, таму ўсе неабходна сочыць за запытом у кожным з компонентаў, з якімі ён взаімаецца.
Для агентаў GenAI такая класычная модэль сама па сабе недастатня. Па-першае, па-друге, па-трэце, кроме логаў, метраў і траецаў, таксама неабходна сочыць за тым, што робіць модэль, які кантэкст яна отрымала, якія інструменты яна выклікала і насколькі хорашыя былі яе адпаведзі.
Што змініцца з GenAI
Звычныя програмы ў значныяй меры прыемлівыя. Сістэмы, створаныя на аснове генератыўнага ІІ, менш прыемлівыя, бясконечна калі у яных ёсць пэўная свабода прыймання рашэнняў. Рэзультат работы LLM залежыць не толькі ад даных, якія даў корыстнік, ад каштоўных фактараў, і ўсе яны павінны быць відны.
Схема абзірнасці для сістэмы LLM павінна фіксаваць прынеймна чатыры аспекты:
- мадэль і параметры вызову
- інструкцыі і фактычны запіт, які быў адправлены
- кантэкст, які быў заданы, укладаючы ў сябе паказнік пакананняў
- спосаб выканання сістэмы, укладаючы вызывы інструментаў, проміжныя рэзультаты, час адпаведзі і выкарыстоўванне токенаў
Адзін стварыты адпаведзь недастатковы. Ёсць можласць зрозумець сістэму GenAI, толькі якшо можна рэканструюваць, на адной паўтарэнні, усё, што спадабалася да адпаведзі.
Гэта ўсё болей правда, калі мадэль мае свабоду дзеяння. Калі яна можа выбіраць, які інструменты выкорыстоўваць, парадак дзеяння, якія джэрэлы аналізаваць чы ў калі зупініцца, тады запіты і рэзультаты недастатковы. Патрэбна ўвесь час адзірваць сам працэс прыемкі рашэння, укладаючы ў сябе последовнасць вызоваў інструментаў, час і проміжныя рэзультаты.
Нават цэлыя трэйсы часта не можу падказаць, чы рэзультат ёсць калі-небудзь годны. Для гэтага кожнаму трэйсу зазвычай патрэбны балы. Яны можу выйсці з традыцыянальнай логікі чы з іншага LLM, тэхнікі, якая зараз ў падзеўлі — „LLM-як-суддзя“.
Разглянем можлівасць ацэнкавання адказу RAG. Ён можа быць часткова правым, або здавацца правдападобным без падтрымкі з адзяваных джэрэгаў. Тады трэба разграніць прынеймна два аспекты: асновную прычыну, такую як адзяванне, перэранківанне або генераванне, і падтрымку, тыямо, чы рэальна адказ базуецца на адзяваных дакументах. Перакананні, якія не падтрымваюцца, выяўляюцца праз перакананні падтрымкі, і таму можа выступаць галюцынацыя.
Усё гэта значыць, што стандартная платформа для абзору не падойдзе для GenAI. Трэба інструмент, які можа натычна зафіксаваць гэтую інфармацыю і зменшыць зусілля з інструменталізацыі. Рэальная разліка — у масштабе. Для GenAI трэба сочыць за інфраструктурой і швальнасцю, як і раней, а таксама за кантэкстам, які бачыў модэль, прынятымі ям рашэннямі, якасцю таго, што ён стварыў, і стабільнасцю яго працы.
З тэорыі да рабочай наладкі
Таму абляваемасць для агентаў падпрыемстваяў должна включаць падказкі, кантэкст, вызывы інструментаў, часы адпаведзення, спрыт выкарыстоўвання токенаў, якасць выходных дадзеных і верагодныя прычыны бядэй калі чыста адпаведзенняя, паўстаючы на фоне класычных сігналаў. Практычны вопыт — як атрымаць усё гэта простым, эфектывным спосабам, які падходзіць для падпрыемстваяго сераўіса. Адпаведзенне ніжэй — гэта рашэнне на адкрытым кодзе, якое лёгка адмацаваць у OCI.
Langfuse
Сярод інструментаў адкрытага кода для стварэння прозрачнасці у працы LLM і агентаў, Langfuse выдзеляецца. Гэта платформа для трэйсінгу, стварэння прозрачнасці і ацэнкі (збірання балоў) прыкладнэнняў, базаваных на LLM, і яна пакрывае большую частку дадзэнняў, пра якія гаворылася вышэ: запіты, выходныя даны, трэйсы, метаданы, часы адпаведзей, выкарыстоўванне токенав, вызывы інструментаў і балы ацэнкі. Гэта не проста служба логавання. Яна дае вам структураваны візуальны апыт пра тое, як насправды працюе прыкладнэнне GenAI, організаваны ў адпаведнасці да трэйсаў і сесій, а не ў відношэні да простага строю радкоў тэксту, які трэба пераглядаць.
Чаму OCI спрыяе простаміну інтэграцыі
OCI Enterprise AI Agents адказвае API, які ўсунуто сумэсны з API OpenAI Responses. Гэта мае важлівэ значэнне не толькі з точкі зору зручнасці, адколькі гэта дазваляе вам павторна выкарыстоўваць інструменты, бібліятэкі і патэрны разработкі шырокага экосыстэмы, сумэснай з OpenAI. Для Langfuse гэта значна скарочвае час, неабходны для збору тэлеметрыі з вызоў модэляў і стварэння шару стэрагавання, таму больш часу застаецца на аналіз, а не на тэхнічныя налагоджэнні. Гэта ў значныяй меры адпавядае прычыне, чаму OCI і Langfuse чынна добра супрацоўнаюць у корпаратыўных умовах.
Швырак распаўдзенне на прыкладзе
Для праблематычнага тэставання Langfuse лёгкая ўстановіцца на OCI, напрыклад, на віртуальной машыне Linux, за дапамою афіцыйнага розмішчэння Docker Compose з рэпазітарыя Langfuse. Гэта не павінна быць выконваная архітэктура для прымесловага сераўера высокага рангу. Гэта болей чым дастатнья для парабавання ідэі, збору рэальных тэлеметрычных даных і адгледжэння, якія аналізы стануць можлівымі пасля інтэграцыі. На практыцы гэта быстра створыла рабочую платформу, якую можна адкрыць за дапамою браузера і якая гатова прымаць даны з прыкладакоў Python LLM.
Падключэнне коду
Калі працюе экзанпляр Langfuse, наступным крокам ёсць адаптаванне прыемкі так, каб тэліметрыя вызваў модэлю надходзіла аўтаматычна. З-за сумаспадобнасці з API Responses, гэта проста для прыемака на Python, якія ўжо напісаны на аднойчынку з вызвамі у стылі OpenAI. Прыемка продовжае вызываць модэль так, як і раней, а Langfuse фіксуе важлівыя дэталі.
Змяны ў меры незначныя:
- Установіце калькі змянных сяродавішча.
- Іспользуйце кліента, які падае з бібліятэкі Langfuse, які ўжо адаптаваны для збору і адправкі трагаў.
- Перадайце
conversation_idякsession_id, каб запыткі з адной розмовы былі з’ѐднаны ў адной сесіі. - Па выбору можна прымусіць адправку трага адразу, іншым чынам ён адправляецца аўтаматычна пасля калькі секунд.
Што збіраецца
Пасля інтэграцыя Langfuse аўтаматычна збірае багато корыстной інформацыі. Для агентаў гэта включае не толькі вхідныя і выходныя даны модэлю, але таксама і працэс екзекуцыі — проміжныя етапы, вызовы інструментаў і часы, якія дапамагаюць восстановіць, як быў атрыманы рэзультат.
Найболей значныя элементы ўключаюць:
- модэль і яго версію
- заданы прыказ
- генераваны выход
- метаданы, прыўязаныя да вызову
- структуру трэйсу і проміжныя етапы
- паказнікі затрымкі, укладаючы тыя, якія бачыць корыстнікі, напрыклад, час до першага токена
- колькасць токенаў у вхідных і выходных даных, якія вікорыстоўваюцца для аналізу вартасці
- вызовы інструментаў і ўсія ўсія дэталі гэтых вызоваў
- балы і ацэнкі, прыўязаныя да трэйсу
Не усё корыстнае прыходзіць аўтаматычна, і гэта такіяя задум, адколькі платформа не можа знайсці, што ваш бізнес счылі хорашым адказам. Рэйтынгі, спецыяльныя паказнікі і метаданыя бізнесу могу, а іноды і павінны, быць дадзеныяя прыкладнам. Спалучэнне аўтаматычнага збору даных і цялесапраўедзенага ўзбагачэння яго і ўчыняе гэты інструмент эфектывным.
Сесіі
Langfuse можа з’яўляць канект прынямнае следы з адной сесіі карыстальніка праз session_id. У такім разе размова ідэнтыфікуецца за дапамогою стандартнага conversation_id API для адказаў, таму заданне session_id на роўны ўжо існуючаму conversation_id спаўнаючы корэляцыю ўсіх запыткаў з той самай размовы. Пасля гэтага сесіі можна пераглядаць у інтэрфейсе, дзе кожная з іх мае калькі следаў.
Аналіз следу
Рэзультаты аналізу паказваюцца пад час выканання. Інтэрфейс Langfuse дазваляе дакладна аналізаваць кожную взаімадзею, выяўляючы тыя элементы, якія інакш былі бы рассеяны між логамі прыкладнення, неструктураванымі метаданнымі і кодам. Для аднаго траю цікавіцы можна побачыць фактычна адправленая запрос, мадэль, яе параметры, час выканання, колькасць вікорыстоўваных токенав, последовасць усіх вызоваў і рэзультаты на кожным этапе. Гэта ўсё бол важна, калі вы расследуеце незвычную працэздатнасць, проблемы з затрымкамі, стрымлівае падвышэнне віткоў чы адпаведзі незадовольніцкага калітэта. Напрыклад, медленная адпаведзь можа быць наследкам дужо дзейна ланцуга вызоваў інструментаў, занадта дзяўгаг запроса чы медленнага першага токена, і кожны з гэтых фактораў трэба ліквідаваць адначасова. Без паказу часу выканання на рэвэлі і колькасці токенав пашыроўна, вам давялося бы здагадвацца, які самэ ён.
Практычным навыкам, які выклікаюцца гэтым, ўскладніць тое, што кожную розмову трэба спрыятаць як чымсь, што можна празначы пазней. Калі паўтараючыся за тыдзень корыстнік паведамляе пра паслаблены адказ, вікна сесіі дазволяе ачыніць точныя лог-файлы, прачытаць асалівку і кантэкст і пазнакамліцца, які інструмент і што вернуў, замест таго, каб прабаваць відтворыць сітуацыю з памяці.
Меры, якія трэба мяць на увазе
Вжыванне Langfuse не рашае всіх проблем з аналізам і оцэнкай у сістэмах генератыўнага ІІ. Неабходныя ўсеоб’емныя лог-файлы з кантэкстам, але яны не завжды ўсё. Найкорыстнейшыя показнікі зазвычай залежаць ад сферы застосоўвання і ўсё ж трэба ўзяць ў расчыт намеравана. А рэальныя корпоратыўныя сераўыскі вымагаюць рэштыпранавання па канспектам безпекі, чулівых дадзэннях, збераганні тэлеметрыі, кантролі доступу і архітэктурэ развёртвання.
Нават так, платформа з адкрытым кодам паўсупрацоўнасці з API OCI стварае моцную базу для распрацоўкі конкрэтных рашэнняў з абзірнасці дзеянняў для корпаратыўных агентаў.
Усьго калі
Для корпаратыўных AI-агентаў абзірнасць — гэта не тэхнічны дэталі чы неабавязковая дапамога. Гэта праблематычная умова для розумэння ўзрасцоў, аналізу бядаў, ацэнкі якосці адпаведзей, а таксама для змены часу адпаведзей і вартасці ўпрацоўкі. Назіранне за інфраструктурой, логамі прыкладненняў і стандартнымі показнікамі недастатнья. Таксама патрэбны даны, якія ўзмацнююць розумэнне таго, што робіць агент: запіты, кантэкст, вызовы інструментаў, спрацоўкі токенаў, вялічына затрымкі, якую відчувае корыстнік, і балы ацэнкі.
Langfuse — гэта ўзначальнае варыянтнае рашэнне на адкрытым кодзе, калі ўважаць, што ён скарабляе і арганізуе вялікую частку такой тэліметрыі, а API, сумесны з OpenAI, у праграмах OCI Enterprise AI Agents, спрыяе простаміну інтэграцыі. Аднак жадная платформа сама па сабе не можа рашыць усе проблемы. Безпека, кераванне, апрацоўка чутлівых дадзэйнаў і стварэнне показнікаў, прызначаных для конкрэтных сфер, застаюцца нэпасылнымі элементамі.
Калі гэтыя агенты хочаць перайсці за межы дэмаварыянтоў і стаць надзеянымі часткамі рэальных сістэм, то можлівасць адзірвання ўсіх процэсаў не можа застаць на другім месцы. Іхню складнасць нельга адмахнуцца, але яе можна і трэба зробіць відной.
Прыродным наступным крокам ёсць адзагульненне паказнікаў за дапамогою показнікаў, які б болей сістэматычна ацэнілі якасць, у чыяму чысле показнікі, створаныя LLM як суддзёй, так што кожны паказнік будзе мець не толькі тэхнічныя даныя пра выкананне, але і ацэнкі якосці адпаведзі.
Супаўзаемыя матэрыялы
- Як памяць браузера таямніча псуе даны корыстніка і як яе запобiec — Згублены апдэты, застарэлыя кадры, змены схемы і вытэкі даных з спакульнага прыстрою можу паскандзіць даны localStorage без жадных памылак. Шаблоны для адкрэптавання, версіявання і пераканання правамі на власнасць.
- Практычныя прымечанні: RAG Systems: Полныя інструкцыі ад початку да канца (выданне 2026 года) — Паследовны апісанне Практычных прымечанняў: RAG Systems: Полныя інструкцыі ад початку да канца (выданне 2026 года): контракты, пераканання і шаблоны коду для команд, якія вікорыстоўваюць гэты падход.