Практычныя прытамулі: Агентна ШІ ў практыцы: Даследжэнне на прыкладзе мульті-агентскай системы
Практычныя прыказкі: Агентна ШІ на практыцы: даследжэнне прыкладу мнагаагентнай системы: контракты, перакантрольвання та слоты для коду для команд, якія використоўваюць гэты патэрн.
Існавайце гэта як перапрацоўаны варыянт ідэй з кніги “Agentic AI in Practice: A Case Study in Multi-Agent System Design” для аператараў: чыткія этапы, аранжаваныя блакі для коду і прыметкі па вяснаванню, якія застаюцца пасля перадачы.
Введэнне
Этап введэння будзе працаваць наякша, якщо яго спрыяваць як меркаваную плошчу. Запісаце адну ідеальную транскрыпцыю, адзін прыклад неудачы і прыметкі па адкату перш чым расширваць масштаб. Дакументаваце як успішны, так і патовы шляхы. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є частью продукту, а не наступным этапам дапрацоўкі. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блакі маскуюць, який вузел запісаў канкрэтны поле, і спакшуюць продовжэнне роботы пасля перерываў.
Формулюванне проблемы
Этап анаізу проблемы работае найкраща, калі яго спрыяваюць як мерыемую структуру. Запісаўце адна ідеальная версія коду, адзін прыклад неудачы і запіс пра можлівасць вярнуцься да пачатковага стану, прычаму расшырэння масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты обработкі дадзеных павінны быць простымі та з адначытаемым типам. Вярнутыя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакшуюць продовжэнне выконання пасля перерываў.
З проблемы да архітектуры
Этап «Адаптация проблемы даўжыню архітектуры» работае наякша, калі яго спрацоўваюць як вимерную плошчу. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрацоўвайце гэты этап як кантракт межаў вхідных дадзеных і перакананых выходных рэзультатаў. Дайце назвы артыфактам, задаць критэрыя успеху і адмовіцеся ад тыхнай частковай роботы без паведамлення. Зберагаюце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакшуюць продажчэнне роботы пасля перарываў.
Тэхналогічны стак AI — што ўсередзіне, шта знадварава і чаму
Этап AI Tech Stack працюе найкраща, калі яго розглядаць як меркавыя показнікі. Запісаце адна ідеальная версія роботы, адзін прыклад неудачы і прыметкі па поверненню да пярвоначальнага стану пры расшырэнні масштаба. Запісвайце часы выконання і косты токенав або запытак праз адныя з функцыйнальных рэзультатаў. Відразлівае паказанне костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмавай версіі ў спяльныя среды. Храніце стан графа ў простам і типаваным формате. Вкладзеныя структуры маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакшваюць продовжэнне роботы пасля перарываў.
Выборы дизайну, якія справаўлялі рэальны адроз.
Этап «Выборы дизайна» працюе найкраща, калі яго спрыяваць як мерыемую паверхню. Зберагачыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Зберагачыце настройкі пазначэнныя окола коду прыемлі. Файлы серавэра, хранілішча секретных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можуць адбавляць аудыт без неабяжнага чытання всіх дадзеных. Зберагачыце стан графа ў простам і типаванам формате. Вярстакаваныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перарываў. Этап «Выборы дизайна» працюе найкраща, калі яго спрыяваць як мерыемую паверхню. Зберагачыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцоўкі задач.
Спостерагальнасць — тое, што адзначае пратыпак з системай
Для стадії «Здатна даць можлівасць абсалютнага назірства» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры зміне коду. Аперацыйныя системы павінны магчымаць перзапуск кроку з вядомай точкі контролю, не прабуючы спадарожваць схованы стан. Спрыяйце цій стадії як даговору межаў вхідных даных і перакананых выходных рэзультатаў. Даць назвы артыфактам, узначыць перакананні ў успеху і не прабаваць прыймаць часткова завершаны рэзультаты без падтверджэння. Заставіць людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Компіляцыйныя налашчанні не є адпаведнікамі пачатковай цэлесапраўленасці бізнесу.
Што на самай працоўцы значыць «хораша» якасць у агентным ІІ
Для стадіі «Што на самай працо значыць» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры перадзеі коду. Аперацыйныя працавнікі павінны магчымае перадзеі крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць час выконання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразлівасць костаў з самага пачатку запобегае неспакою, калі процес пераходзіць з дэмавай версіі ў спяльныя среды. Пры кроках, якіе витрачаюць грошы або зменяюць даны ў працоўнай среде, неабяжна быць людскама апраўдзеннем. Прыўязка на час компілявання не ўзначае полнайсткі бізнес-процэсу.
Чек-ліст для аперацый
Працуючы над чек-лістам для аперацый, спачатку запісваюць угоду: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага абякання. Такі чек-ліст дапамагае заставаць пазнейшыя змены коду чыстымі і прозрачнымі.
Запісвайце адно часовы шлях і шлях вярнення ў нормальны стан. Практыкі перапрыбутку, людзкія контралеры і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Зробіце контрольны пункт пасля дорогіх крокаў. Функцыя продазвучання не должна знову нараховваць плата за той самы вызыв LLM, калі аператар перапрыбуе пазнейшы вузел.
Зафіксавайце версіі залежнасцяў і запісвайце хэш адпаведнага зображэння, якое викорыстоўвалася для дэманстрацыі. Возможнасць перадарабаткі важлівейшая за традыцыйныя знання.
Валічыце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок збягае, прычына бягу должна быць відносаваная да адной конкрэтнай адпаведальнасці, а не да заплутанага ланцоўка дзеянняў.
Зробіце контрольны пункт пасля дорогіх крокаў. Функцыя продазвучання не должна знову нараховваць плата за той самы вызыв LLM, калі аператар перапрыбуе пазнейшы вузел.
Перш чым запускать стак, заморозьце версіі, зафіксавайце «золаты» транскрыпты для критичных лянцоў і паказвайце спосабы атрыбуцыі. У спадзяльных средах неабходны ліміты частоты запытоў, пераканання ў правільнасці арендавання ресурсоў і чыста вялічына власніка для ротацыі секрэтных дадзеных. Валіце простую надзяйнасць працы над крэатіўнымі, адзінразовымі дамэ.
Прымечанне для 93e11f80bfb6: не кладзіце ключы прадаўцаў у репазітарый, задаце верхнюю межу токенаў на кожную сесію і зберагачыце транскрыпты празаўсёды пад фікстурамі для ацэнкі, каб пазнейшыя замены модэляў заставаліся пораўнанымі.
Калі працуеце над пунктам 0 адносна зміцнення захоўнай системы, спачатку запісуйце умовы: неабходныя данні, сігнал успеху і тое, што выходзіць на падчасныя абыекты. Такі чэк-ліст дапамагае заставаць пазнейшыя змены коду чыстымі. Зберагачыце настройкі празаўсёды за межамі коду аплікацыі. Файлы среды, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабходнасці чытання всей структуры.
Дзеянне паўжасткі 0/865: звярніце увагу на час выканання, клас памылкі і колькасць выкарыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.
Этап 1 паўжасткі працюе найэфектывней, калі яго розглядаць як меравальную плошчу. Запісаце адну ідеальную версію, адзін прыклад памылкі і зьязначэння пра адвярненне змян, перш чым расширваць сферу дзеяння. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісьць кроку не выходзіць, памылка должна адносіцца да конкрэтнай адпаведальнасьці, а не да заплутанага ланца задач.
Дзеянне паўжасткі 1/865: звярніце увагу на час выканання, клас памылкі і колькасць выкарыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.
Для другага этапа пры гэрмаванні неабяжна пазначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры зміне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць час выконання і вартасць токена або запыткаў праза функцыйнальныя рэзултаты. Відразлівасць вартасцей з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмавайнага сераўера у спяльныя сераўеры.
Дзеянні гэрмавання 2/865: змяроўваць час выконання, класі каштоўкаў і вартасць токена для гэтага пункту, а потым вырашыць, чы рашыцца застаўіць змяну, стварыўшы фіксаваны набор пытанняў, а не на базе індывідуальных спазыроў.
Калі працуеце над 3-й стадзіяю прыемкі з паўнейшага захавання, спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выходзіць на частым неудачам. Такі список контролю дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць частью продукту, а не пазнейшым дапрацоўкам.
Дзялённе 3/865 прыемкі з паўнейшага захавання: вымерайце час выконання, класію памылак і витрату токенав для гэтай прыемкі, а потым выявіце, чы хацеце застаўіць змену на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.
3-я стадзія прыемкі з паўнейшага захавання работае лепей, калі яе спрыямаць як вымерную плошчу. Запісайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярненне да пачатковага стану, перш чым расширваць масштаб.
Спрыяйце гэтай стадзіі як угоды межаў між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назвайце артыфакты, задаць критэрыя успеху і адмовіцеся ад тыхнай частковай, неконтрольаванай завершэння.
Дзеянне паўжасткі 4/865: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага зьвісткі, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.
Для 5-го этапа паўжасткі неабходна перад змянай коду чытача апісацыю вхідных дадзенняў, адпаведальнага за крок і крэатарыяў завершэння. Аперацыйныя працавнікі павінны магчымае перадзьвіжваць крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Канфігурацыю трэба зберагчы за межамі коду прыемленае. Файлы сяродавішча, хранільнікі секрэтных дадзенняў і флагі функцияў павінны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь граф.
Дзеянне паўжасткі 5/865: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага зьвісткі, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўіць змяну.
Калі працуеце над 6-ю стадзіяй забезпечэння безпекі, спачатку запісайце умовы кантракта: неабяжлівыя даны, сігнал успеху і тое, што выходзіць на частым неудачам. Такі список контроля дапамагае залічваць пазнейшыя змены ў кодзе чыста і прозрачна. Валіце маленькія, тэставаныя елементы замест вялікіх скрыптав. Калі якась стадзія не выйшла, неудача должна вказваць на адну конкрэтную прычыну, а не на заплутаную сістэму.
Дзялянка забезпечэння безпекі 6/865: замерайце час выканання, класію каштоўкаў і колькасць токенаў, якія былі выкарыстаны для гэтай стадзіі, а пасля выберайце, чы робіць змены на адной фіксаванай базе пытанняў, а не на адной лічбе прыкладаў.
7-я стадзія забезпечэння безпекі працуе лепей, калі яе спрыямаць як меравальную плошчу. Запісайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку па абратанні пазнейшых змэн, прычым не расширяючы сферу дзеяння. Запісвайце часы выканання і каштоўка токенаў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра каштоўкі з’являецца першымі і запобегае неспакойным рахункам, калі процес пераходзіць з дэмавайнага режыма ў спяльныя сервісы.
Дзеянне паўжчання 7/865: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.
Для 8-го этапу паўжчання неабходна перад змянай коду чытко визначыць вхідныя даны, адпаведальнага за этап і крэтырыя завершэння. Аперацыйныя працавнікі должны магчымае перадзвануць гэты этап з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабходна адначасова задокументаваць шлях успеху і шлях вярнення да нормальнага стану. Практыка павторных спроб, людзкія перакрыцця і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжчання 8/865: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.
Калі працуеце над 9-м падземам забезпечэння безпекі, спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць пад часты няудача. Такі список контроля дапамагае заліцьваты пазнейшыя змены коду. Спрэцьвуйце гэты падзем як контракт межа даннімі і перакананымі выходамі. Дайце назвы элементам, задаце критэрыі успеху і не прымайце частыя завершэння без паведамлення.
Дзеянні забезпечэння безпекі 9/865: вымерайце час выканання, класіяцыю памылак і колькасць выкорыстоўваных токенав для гэтага падзема, а потым выберайце, чы робіць змену на аднойчы заданых критэрыях, а не на асоціяцыях.
9-й падзем забезпечэння безпекі працюе лепей, калі яго спрэцьвоўваюце як вымерлія параметры. Запісайце адну ідеальную транскрыпцыю, адзін прыклад няудачы і запіску пра адвёртанне змены, перш чым расширваць сферу дзеяння. Зберагайце настройкі параду ўнутры коду прыемлівача. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Дзеянне паўжчання 10/865: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы рэшацца застаўляць змяну.
Для 11-й стадзіі паўжчання неабходна перад змянай коду чытко визначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыяныя працавнікі павінны магчымае перадзванаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес.
Дзеянне паўжчання 11/865: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы рэшацца застаўляць змяну.
Калі працуеце над 12-ю стадзіяй ударожэння, спачатку запісайце шаблон кантракта: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага абякання. Такі список контроля дапамагае заліцвачваць пазнейшыя змены коду. Запісвайце час выканання і вартась токенаў або запытак праза функцыйнае рэзультат. Відразлівае паказанне вартасей запобегае неспадзяваным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне ударожэння 12/865: замерайце час выканання, класію абяканняў і вартась токенаў для гэтага пункту, а потым выберайце, чы робіць змену на адной пазначанай базе пытанняў, а не на адной толькі прымітцы.
13-я стадзія ударожэння працюе лепей, калі яе спрыямаць як меравальную плошчу. Запісайце адну ідеальную транскрыпцыю, адзін прыклад абякання і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштаб. Дакументавайце як «вялікі» шлях, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка неканальных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам.
Дзеянне паўжыцьнявання 13/865: змерыце час выконання, класію памылак і колькасць выкорыстоўваных токенаў для гэтага зьязначэння, а пасля вырашыце, чы робіць змяну на аднойчы зафіксаванай сэтке пытанняў, а не на аднойчы інформацыі.
Для стадзіі паўжыцьнявання 14 неабходна з’явіць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перадзьвіжыць крок з вядомага пункта контролю без неабясненага вычыслення скрытых станоў. Што да гэтай стадзіі, яе трэба спрыятаць як кантракт між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назваце артыфакты, з’явіце перакананні на успех і адмовіцеся ад беззвучнага частковага завершэння.
Дзеянне паўжыцьнявання 14/865: змерыце час выконання, класію памылак і колькасць выкорыстоўваных токенаў для гэтага зьязначэння, а пасля вырашыце, чы робіць змяну на аднойчы зафіксаванай сэтке пытанняў, а не на аднойчы інформацыі.
Калі працуеце над стадзіяй 15 з адаптавання захоўнай системы, спачатку запісаце кантракт: неабходныя даны, сігнал успеху і тое, што выходзіць на частыя неудачы. Такі список дапамагае залічваць змяны ў кодзе чыста і адкрыта. Зберагайце настройкі пазыром ад коду прыемліка. Файлы сераўнавання, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць пераглядаць іх без неабходнасці чытання всей структуры.
Дакладнасць адаптавання 15/865: замеры часу выконання, класу падазроўных адхылэнняў і витрачання токеноў для гэтай стадзіі, пасля чаго прымкніце рашэнне пра тое, чы робіць змяну, на адной пазырнай сэтцы пытанняў, а не на асобістых спазырках.
Стадзія 16 з адаптавання захоўнай системы працюе лепей, калі яе спрыямаць як меравальную плошчу. Запісаце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок дзеянняў.
Дэталі зміцнення 16/865: звярніце увагу на час выканання, клас памялкі і колькасць викорыстоўваных токенав для гэтай змянкі, а пасля выберыце, чы хацеце застаўіць гэтую змяну, стварыўшы адпаведны набор пытанняў, а не на базе індывідуальных спазыраў.