Інжынерыя абвязкі агента: стан, праверка і кантроль вакол мадэлі
Погляд на прадакшн-агентаў з боку выканання: чаму промптаў і кантэксту недастаткова і як устойлівы стан, прымусовыя правілы, праверка і назіральнасць закрываюць гэты разрыў.
Крыніцы: Agent Harness Engineering: The Runtime Architecture Behind Reliable AI Agents
Калі супернейкі модэлі все ж такі не функцыонуюць
Уявіце агента, які распаўляе найлепшую модэль на рынку, адто ўзгаданы сістэмны прампт, дзесяткі інструментаў і вікно кантэксту, больш зацягнутае для цэлага кодавай базы. Ён усё равно можа зазнаць нядачы пад час віканання задачы, якую кожны кампетэнтны інжынер спачатку вважаў бы рутынай. Ён выбірае правыя дзеяння, але выканае іх неправільна. Ён знаходзіць ключовую інфармацыю, але губіць яе, калі кантэкст перазначаецца. Ён правільна рэдагуе дзесяць файлаў, але пад час рэдагавання адзінаго ўвельцяе тыхую рэгрэсію. Ён вітрачае гадзіну на дэбагаванне проблемы, якую сам створыў. Ён нават можа напісаць пераканлівы аповешчэння пра тое, што работа завершана, калі на самай працы нічога не пераканалі.
Звычная рэакція — працаваць над запітам: яшчэ адна інструкцыя, яшчэ адны прыклад, больш кантэксту, просьба быць адзяржлівым. Гэта дапамагае на час, а потым ужо не дапамагае. Глэбэйшая прычына крыўці лежыць у ментальным модэле, які спрыяе розгляду модэлю як агента, а усяго навакола — як налаштоўкаў. Што такое падход рушае, калі агенту трэба неперывна працаваць у рэальным сераўысе.
Агент для выканання задач — гэта не проста мадэль, абы ў яе быў патракт. Цэлая гэта сістэма выканання: яна зберагае стан, выпалюе дзеяння, ведае справу з зовнішнімі сістэмамі, справляецца з неудачамі, прымае адзывы і патрабуе спосабоў для вяснавання, пераканання і керавання. Дысціпліна, якая формуецца навакола такой сістэмы выканання, называецца інжынерыяю крэплення агента. Пораўняйце яе з работай з патрактамі. Інжынерыя патрактаў спрацоўвае над тым, як паведаміць мадэль, калі яй варыта дзеяць, тады як інжынерыя крэплення агента спрацоўвае над тым, як стварыць срэду, у якой мадэль можа надзеяйна досягнуць меты. Гэта не проста паспрабоўка падборкі патракта. Цэлая іншая абстракцыя, якая пакрывае не толькі тое, што пішае мадэль, але і тое, што можа рабіць сістэма, што застоіцца пасля неудачы, шта дазволена і што лічыцца завершаным.
Сістэма выканання навакола верыятнаснай мадэлі
Самая простая карціна агента — гэта мадэль з запітам і калькольніма інструментамі. Гэта падходзіць для разумеўння аднароднага вывода, але недастаткова для прыменнага агента, які лепей вважаць сістэмай выканання, пабудованай на верыятковай модэлі.
Модэль выконвае логічныя расчынання. Сістэма керавання вялічыць умовы, пад якімі гэтыя расчынання перацвачаюць у выкананне: што бачыць модэль, да чаго ёй можна дасягнуць, якія дзеяння дазволены, які стан застаёцца і якія доказы патрэбны, каб можна было адзначыць успех.
Вікорыстайце агента для кодування, які спочатку перэвірае архітэктуру, потым запускае тэсты і не втручаецца у непов’язані компоненты. Ці інструкціі візначаюць намір і не накладаюць жодніх обмежэнь. Конструкція можа зробіты певні файлі чытабельнімі, а іншы — ні, запускаты перэвірку пасля кожноі зміні, блокуваты заборонені операціі, зберыгаты прогрэс і відмовлятыся закрываты задачы без підтверджэння. Такім чыном, інструкція візначае, што мае робіты агент, тоды як конструкція вірышуе, што дозволіць сістэма і што вважатымецца завершэнім.
Тры рывні інжэнерыі
Інжэнерыя агента проходыць праз тры етапі абстракціі: інструкціі, потым кантэкст, а потым конструкція.
Інжыніярство запросаў заключаецца у вопытанні пра тое, што мае робіць мадэль. Ён паспрыяўляе прагрэсу ў інструкцыях, прыкладах, апісаннях інструментоў і межах ўжытку, і для простых задач работае выключна эфкарысна. Але запрос — гэта проста інструкцыя, якая не мае можлівасці прымуса. Агент, якому сказана адрабатваць тэсты, все равна можа стварыць вражанне успеху, не адрабатваючы іх. Сказаць яму не чапацца за файлы, якія вікорыстоўваюцца у працэсе, малая значыць, калі сістэма надае яму необмежаны доступ. Прабава паспрацаваць з тым, каб ён запамятаў рашэнне на шасць гадзін, ставяе этота патрабунак у працоўную супернацыю з усім іншым, што прабраўся ў кантэкст.
Інжыніерыя кантэкста раз’бірае наступную проблему – а самае, калі самэй модэлю трэба ведаць у момент прыняцця рашэння. Адзысканне інфармацыі, навыкі, памяць, рэзультаты інструментаў, структураваны стан, поступовая адкрыць і скапсулявання – усе гэта стварае лепшы кантэкст для прыняцця рашэння, і мета пераходзіць ад большага колькасці кантэксту да якось лепшага. Інакоўсі, модэль можа выбраць неправільную дзеянне, паспэўна зіпсаваць стан, прыхіліцца да перакрыцця паўтарэння або занадта рана прызнаць успех.
У тым моменце пачынаецца праця над інжынерным рашэнням, калі вастае пытанне: які сістэмны механізм трэба выкарыстоўваць для таго, каб задача была выканана надзеямо. Ён забезпечвае тое, чаго не можа даць сама інструкцыя або кантэкст: стойкі стан сістэмы, обмежаныя інструменты, правы прызначэння, ізоляцію, перакананне ў правільнасці рашэння, можлівасць вярнуцца да пачатку, аналіз і можлівасць стэрагування. Ён таксама змінюе цыкл інжынерскай працы. Працоўная непаспэльнасць больш не вымагае толькі перапісву інструкцыі; ёй супакоўвае пытанне, які элемент кантролю быў нехватны, а адпаведным рашэнням можа быць валідатар, строгейшыя правіла вікорыстоўвання інструментаў, часткі правілаў, пункты перагляду, стратэгія вярнуцца да нормальнага стану або лепшая можлівасць стэрагування. Кожная непаспэльнасць завершаецца змянамі ў сістэме.
Рэзультатам являецца рачэтка для мацавання: абярачэнне, пасля чаго — нехватка кантролю, пасля чаго — палённе мацавання, пасля чаго — перакананне, пасля чаго — аднавегледзейшыя стандарты. Інжынерыя запроса палённе тое, што гаворыцца модэлю, а інжынерыя кантэкста — тое, што ён знае. Інжынерыя мацавання палённе умовы, пад якімі працуе модэль, і робіць сістэму стабільна менш спрыяючай таму, каб абярачэнне выйшла два разы.
За шта адпавядае час выканання
Якшчы як перыядаць запросы, інструменты, памяць і код каралізацыі, корыстнейша ўсунуць назвы адпаведных абавясакоў часу выканання.
- Кантэкст вялічыць, што модэлю патрэбна ведаць для свайго наступнага рашэння: інструкцыі, запрашаны матэрыял, навыкі, рэлевантны выхід інструмента і тэкушчыя спазырэнні.
Гэта не сім незалежніх функцій, і іх не обов’язково мае буты сім сервісів. Разом яны утворуюць контрольній цыкл навколо ймовірнісноі мадэлі. Колі гэты цыкл працюе годынамі, а не хвілінамі, долаючы обмежэння кантэксту, збоі, повторні спробі і зміні працівніків, архітэктура почынае нагадуваты шчось, што інжэнеры ужо добрэ знаюць — розподылену сістэму.
Вікно кантэксту — гэта не сховішчэ стану
Одніею з найпростышых помілок у праектуванні агентаў ёсць спрыйнятця вікна кантэксту як памяці.
Гэта спакучная прычка. Мадэль можа бачыць весь дыялог, пакульніе вызовы інструментаў, рашэнні і промежуточныя рынкты, таму дадзенне ўсё большых даных здаецца безнэбяжным. Аднак гэты фарватэр — гэта рабочы набор, а не база дадзеных. Ніч гэтага ня ўтрывочна: перзапуск, скорачэнне або працэс кампактавання можа зменшыць яго або цалкам заменіць. Пашырэнне даўа большую ўместнасць, але утрывочнасць застаецца такой жа, як і раней.
Для агента, які працуе дзялейна, автантыфікаваны стан задачы павінен знаходзіцца ў іншым месцы: цэль, завершаная і незавершаная работа, рашэнні, рэзультаты, контрольныя пункты, рынкты аправарэння і паказывачы на зовнішнія рэсурсы. Кантэкст пасля чаго перабудовваецца на аднойчынку з гэтага стану, ў завіснасты ад таго, калі гэтак мадэль патрэбуе. Разлік просты: кантэкст — гэта тое, што бачыць мадэль, а стан — гэта тое, што знае сістэма.
Компактаванне чыніць гэта явным. Агент, які паспелаў тры гадзіны на змяну рэпазітарыю, можа скарыстацца сотнямі вызоў інструментаў, абанованымі падходамі і зафіксаванымі спазырамі. Скорачэнне гэтай історыі можа зробіць наступны кантэкст прыдатным, але падсумак заўсёды ёсцца інтэрпрэтацыяю таго, што адбылася, таму крытычны стан не павінен залежаць ад таго, што залішыў компактавальнік. У замен харнес можа створыць чысты кантэкст на адной з моцных станоўсцей, па следуючай прыродзе: стан задачы, актуальныя артыфакты, ныякія спазыры, навыкі, і нарэшце кантэкст мадэлі.
Контрольныя точкі пры выключэнні працэсаў застосоўваюць той самы прынцып, а структураваныя перадачы — між агентамі чы робітнікамі. Наступніку патрэбны стан, неабходны для правільнага продазву, а не весь ход дыялогу поперэдніка. Архітэктурны вопыт стае такім: якую інфармацыю трэба, каб яна засталася незалежна ад кантэксту, і калі гэты вопыт задаецца, кантроль кантэксту ператвараецца на проблему кантролю стану.
Дзейныя даверы ў длігі час — гэта распадзеленыя сістэмы
Калі агент працуе гадзіны або дні, звычны модэль запыт-адказ прыпыняе работаць. Процэс можа занікнуць. Інструмент можа выйсці за межы часу адпаведзяў. Рабочы элемент можа знікнуць пасля завершэння аперацыі, але перш чым адзвярнуцца. Два рабочыя элементы можа прыjąць адну і тую ж задачу. Кантэкст модэля можа знікнуць на паўпацёгу. Нічога з гэтага не ёсць экзотычным, адколі гэта класычныя проблемы распадзеленых сістэм, і пры дзейнасці агента працы, які трывае дзяўно, патрэбны явныя семантыкі выканання, каб іх рашыць.
Калі роба можа перазісці свога віконавца, то неабходныя ёсць меры контролю за ёю. Лізынг дазволяе віконавцу прыjąць задачу на павярэнны час, а сігналы жыцця даюць стороннему спостэрагучыму элементу інформацыю пра тое, што віконавець жывы. Калі віконавець занікае, лізынг выканання выгорае, і іншы віконавець можа прыjąць задачу з тыямства, якое засталося.
Павтаральныя спробы выканання паказваюць значэнне для адаковай апёлкі. Уявіце агента, які выканаў запуск, але час апёлкі выйшаў перад тым, як было можна побачыць які-лібо рэзультат. Неконтрольваная павтаральная спроба могла б запустыць працэс два разы. Таму інструменты агента патрабуюць тых жа гарантый, якія існуюць у іншых распадзічных сістэмах: ідэнтыфікаторы операцый, ідэмпотэнцыя, чысткія статусы абяканняў і чысткі власнік, які керуе павтаральнымі спробамі.
Далей ідзе практыка абрання працы з таму, дзе яна была застаўлена. Доўгая задача павінна выкладвацца як стойкае прыбыце на парадку, а не як перадача даных у памяці, пры чым выконваецца цыкл: стварэнне контрольных пунктав, выконанне, аналіз, зберэжэнне і продажчыка працы. Калі выконанне зупініцца на паўпацёку, сістэма павінна выявіць, чы можна без апасцерагання пракатаваць тэкушчы крок, чы ён ужо завершаны, часткова адкрыты чы патрабуе компенсаціі. Абранне працы не значыць перагляду всіх даных; гэта значыць стварэнне мінімальнага стану, неабходнага для безпечнага продажчыка працы. Перадача задач таксама выконваецца за аднаковым прынцыпам: новы працоўнік отрымае цялевую мету, рашэння, рэзультаты працы, стан парадкі верыфікаціі і незавершаную працу, але не історыю чату іншага працоўніка.
Гэта вялічыць центральныя межы надзеямнасці. Калі агент можа прыжыць своему працэсу, тады працэс больш не ёсць елементам надзеямнасці — ягою стае сама стойкая задача.
Перакананне ў правільнасці — другая половіна агентства
Агент можа післяваць код, запускаць розпаведзенне, ствараць запыт да базы дадзэння або змяніць інфраструктуру. Стварэнне чаго-небудзь — гэта не тое ж сама, што правільна рэалізацыя, і небяспечным ёсць тое, калі агент застаецца едыным тым, хто вяршыць або ні рашэнне пра тое, чыя яго самастая работа успелася, напрыклад, калі ён паведамляе, што працэс аўтэнтыфікаціі завершаны і всі тэсты праходзяць. Сістэма керавання не павінна спрыймаць гэта як доказ. Яе трэба запускаць тэсты. Так сама, заява пра тое, што сервіс у стане «здаровя», павінна спрычыняць перакананне пра яго стан, а не завершваць задачу; кроме таго, міграцыю дадзэння трэба ацэніваць на адпаведнасць схеме і незменным элементам дадзэння, а не на паслявяданнях самага мадэлі пра своіыя вызовы інструментаў. Перакананне агента пра тое, што ён успелі, не являецца надзеяным сігналам пра завершэнне работы.
Самэтле ў працэсе вырабаткі выкарыстоўваюцца тры адзеленыя ролі. Планавальнік выбірае, што трэба здзейсніць. Выканавальнік выпрацоўвае адзінаковы частаку работы. Атрыбутавальнік выявляе, чыя стан сістэмы паспелаў да выканання трэбаванняў. Адны мадэль можа выпалняць усі тры ролі, але ўсё ж іх адпаведальнасці застаюцца разнымі.
Парабяранне должна быць апоўнена дакументамі, якія можна спазіраць, а дэтэрміністычныя доказы ўжоўцяюцца праўей выборам, калі яны ёсць у наявнасці: компайляры, працоўнікі тэстаў, верыфікацыйныя прыстроі для схем, перагляд стану сістэмы, статус развяртання, перагляд правілаў або простыя тверджэння. Класыфікацыя на аднойчыне з модэлем ёсць корыстная, калі правільнасць ў сваёй сутнасі ёсць семантычная, але яй патрабуюцца конкрэтныя крытэрыя, а не расплывчатыя запытанні пра тое, чы рэзультат выглядае добра. Тады завершэнне стае атрыбутам самай сістэмы, а не чымсь, што кажа модэль: выпаняныя трэбованні, прынятая верыфікацыя, наявныя неабходныя элементы, праўіллі пераглянуты, і толькі пасля гэтага заданне вважаецца завершаным. Іншымі словамі, парабяранне дае дакументы, а адмацавальнік яны чытае, каб выявіць, чы можа экзекуцыя працаваць далей; такім чынам адмацавальнік выступае як датчык у цыкле зворотнага зв’язку. Агент стварае прыступ, а сістэма забезпечвае дакументы.
З інструкцыйяў да выканання
Агенту можа быць сказана не робіць чаго-небудзь, але ён не павінен стаць неспроможным гэта зрабіць. Фразы на кшталт „Не мяніце продукцыю“, „Пісаць толькі ў рабочай зоне“ і „Ніколі не адкрываць даныя абавесы“ ёсць корыстнымі, пры тым жадна з іх не ўтварае межы безпекі, калі сам працэўны час все ўсё дазволяе такую дзейнасць. Інструкцыі выражаюць намер, а выкананне стварае незменныя правілы.
Дзеянне праектавання інструментоў чытра паказвае гэтыя разлікі. Калі да агента даць стандартны метод execute_sql(), яго можлівасці дзеяння зовсім не супаноўваюцца з можлівасцямі агента, якому даўна інтэрфейс для запытанняў з абмежэнамі толькі для чытання. Інтэрфейс з абмежэннямі дазваляе пераканацца ў автарызацыі, прабавіць параметры, аўдытуваць дзеянні і зменшыць ўплыв на сістэму. Інструменты MCP, API, файлавыя сістэмы, шэлі і зовнішнія сервісы працуюць так сама: мадэль прымае рашэнне, а кансоль вяршыць выбіранне, чы можа дзеянне адбыцца і пад якім ідэнтыфікаторам, з якімі правамі, у якой асяроддзі і па якай політыцы.
Практычны прыем памагае сортаваць абмежэння за ўскладненасцю:
- Калі нарушэнне абмежэння ўзьяцца, можа хапіць толькі інструкцыя.
- Калі нарушэнне ёсць цэнаўым, трэба дадаць перакананне.
- Калі нарушэнне ёсць небяпечным, яго трэба прымусова застосаваць на граніцы.
Сандбоксінг адаптуюць прыемы к абстрактным сцэнарыям. Автарызацыя выявляе, чы роба дазволена. Сандбокс карбуе, што будзе, калі агент пачынае неправільна дзеяць. Межы на файловай сістэме і сеткі, ліміты рэсурсоў і строго адмежаваныя крантычнасці прыменшаюць наследкі нечаканага паведання. Болей зрэлыя рашэнні таксама контролююць пераходы між рабочымі практыкамі, а не толькі адзінаковыя вызовы інструментаў. Розгортанне ў працэсе можа застацца недаступным, пакуль не пройдуць тэсты, стэйджынг будзе стабільны і хтось яго не затвердзіць. Мадэль можа запропанаваць такі пераход, але правілы часовага адклэювання выявляюць яго законнасць. Гэта больш прыемліва для машыннага становага машыны, чым доверлівасць да рэчы, напісанай на нейтральнай мове. Мета — не стрымваць інтэлект, а стрымваць можлівасці і амплітуду ўплыву.
Нельга кераваць тым, чаго не можна спазіраваць
Звычная ступень спостэржальнасці выявляе, чы праца сервісу нормальная, дзе зрастае затрымка і якія залежнасці не функцыонуюць. Сістэмам з агентамі патрэбна ўзлегка іншая ступень. Калі агент не функцыонуе, важна з’ясавіць, што сталося і чаму самэўжо ёго розвіт прывёл да гэтага. Чаго ён намагаўся досягнуць? Які кантэкст ён меў? Калія інструменты ён выкорыстоўваў? Калія правілы дазволілі чы заблокавалі гэтыя выклікі? Які стан зменіўся? Калія доказы пераканалі яго, што ён выконаў сваю задачу? Гэта і ёсць ступень спостэржальнасці за траекторыяй розвіту.
Стандартныя паказнікі LLM, такія як токены, час адпаведзбы, вартасць, версія модэлі, а таксама вхідныя і выходныя даны, ёсць неабяжлівымі, але недастатковымі, таму што адзін вызов модэлі — гэта адзіны эпізод у большай ланцуговой структуры: намерэнне, кантэкст, рашэнне, дзеянне, абсарбаванне інфармацыі, стан, перакананне ў правільнасці і рэзультат. Падазроўваючы, што агент пасвяціў чатырнаццаць хвілін на міграцыю сервісу, а потым зазнаў няудачы, інформацыя пра тое, што было выкарыстана 80K токенав, майжэ нічога не паведамляе. Корыстны аналіз мог бы паказаць, што інструмент выкарыстоўваў застарэлыя інструкціі па міграцыі, агент выбраў неактуальную API, тэхнічна розгортанне успела, але перакананні ў правільнасці інтэграцыі зазналі няудачы, а працэс вярнення до стану праблемы практычна перадарав тую ж стратэгію. Гэта ўжо справжня дыягноза.
Гэта значыць, што для кантэксту неабходна праеўказальная інфармацыя: спосаб дазнацца, якія навыкі, дакументы, стан і рэзультаты працы з адпаведнымі інструментамі паўтарылі адпаведнае рашэнне. Для вызоў інструментам таксама неабходны прычынна-наследны кантэкст, які включае крок задання, яным гэты вызов быў спрычынены, ідэнтыфікатор, які быў выкарыстоўваны, правілле, якое было ацэнена, і наследкі. Таксама павінны быць відны рашэнні, здзейсненыя на адпаведным правілле, і пераходы стану, а таксама дзеянні, якія увесь час мяжуцца. Найболей інформатыўнымі показначальнікамі выявляюцца тые, якія стосуюцься поведэння: практычны рыхласць задання, адмовы ў перакананні, успех у вяселенні, прычыннае завершэння, адмовы правілля, патэрны паўтаральных адмов, перадача заданняя людзям і колькасць крокаў за адна успешна завершаная задання.
Возможнае назіранне — гэта тое, што дапамагае павернуць прыбор у робочы стан. Адказа на неудачу павінна выклікваць больш, чым проста запіс у журнале. Іё траекторыя павінна дазволіць класіфікаваць тое, што пайшло не так, і назваць элемент керавання, якога не хватала — будзь то істочнік кантэксту, атрыбутацыйны прыстрой, правіла, межы інструмента, пункт перапрацоўкі чы стратэгія вярнення. Цель — сістэма, якая не можа падвайна паспэўніцца таму ж самым спосабом.
Новая дысціпліна сістэм
Калі запытаюць, як падняць карэнтабельнасць агентаў у працы, адказ становіцца шырэй ў меру зростання автонаміі. Інжынерыя інструкцый налаштовуе самі інструкцыі. Інжынерыя кантэксту налаштовуе інформацыю, якая ёсць на момент прыняцця рашэння. Інжынерыя прыбора налаштовуе всю траекторыю выканання: стан, дзеянні, межы, адзворотны зв’язак, вярненне, перакананне і можлівае назіранне. Яны не заменяюць адна другую, а проста ёсць все шырэйшымі сферамі дзеяння.
Прыгматычны распад обавяннаеў стварае адлогічную структуру: мадэль адпавядае за рассуджэнне ў супэрнечы, а час адработкі — за інварыянты. Файл, які ніколі не павінен змяніцца, абмежваецца межамі файлавой сістэмы. Сістэма, якая не павінна быць змінена, праходзіць перакананні ў адпаведнасці. Міграцыя, якая павінна выйсці ўспехам, пераканваецца па рэзультатны стан, а стан задання, які павінен застацца пасля перзапуску, зберагаецца. Гарантыі таго, што час адработкі зможа аддаўаць мэжовае дапамога, не павінны быць выкарыстоўваныя ад модэлі.
Агенты вырабаткі будуць збывацца, а прамёнам зрэлага прыстрою ёсць тое, што яны рабяць далей. Кожна неудача вплывае на час выканання. Калі тая ж памылка продовжваеяцца, яна атрымуе свога сабе оценювальніка. Якшо які-то дзеянне выявляецца рызыкавым, можлівасці, якія стояць за ўсім гэтым, становяцца скудней. Якшо працэўнае прыбліжэнне было втрачана, з’яўляецца пункт перапаказу там, дзе яго не было, а якшо восстанавленне продовжвае збывацца, прыемліваецца політыка падвышэння рангу. Выкананне стварае доказы, гэтыя доказы адкрываюць відсутныя контралі, а тые контралі робяць наступны запуск моцнейшым.
Гэта таксама змінюе спосаб пры ацэнкаванні агентаў. Пытанне больш не стоіць у тым, насколькі хораша мадэль, а становіцься у тым, насколькі надзеямоўна весь сістэма выкананае гэтую катэгорыю задач. Inżынерыя керування — гэта не проста ўзраўнавальная праметка. Гэта дысцыпліна сістэм, якая памагае зробіць верыгодную прыбліжнае інтэлектуальнае рашэння. Дамаўка паказвае, што агент можа зрабіць калісьцо ўсё. Але прыменны сістэма павінна робіць гэта надзеямоўна, па верыфікацыі, з можлівасцю вяснавання і паступова, пры чым кожны неудачны рэзультат павінен спрыяць паліпшэнню наступнага выканання. Большая частка самых складных задач зараз знаходзіцца пад самым запітам, у архітэктурэ стану, зворотнага звязку, верыфікацыі, вяснавання і ціклаў керування, якія ператвараюць рашэнні агентаў у стойкую прыменную дзеяльнасць.