Практычныя прытамулкі: Інжынерыя запрэгоў: аднойчыны падстава надзеяных АІ-агентаў
Практычныя прыказкі: Інжынерыя Harness – адна з базаў надзеяных AI-агентаў: контракты, перакрыцчы і слоты для коду, якія можна прыўязаць для команд, якіе викорыстоўваюць гэты патэрн.
У гэтым карыце парадоксальнае шлях ад сыр'ёў да рабочай системы для: Harness Engineering: The Foundation of Reliable AI Agents. Акцэнт ставіцца на практычныя крокі, чысткія перакананні та код, які можна прыўязаць да репазітария без неабязковасці здогадвацца пра мету.
Введэнне
На стадіі введэння неабходна з'явіць вхідныя даны, адпаведальнага за крок та критэрыя завершэння пры перамены коду. Аперацыйныя працавнікі должны магчымае перадзваніць крок з вядомай точкі контролю без неабязковасці здагадвацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехацкага рэзультата должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Автентыфікуйцеся на в'язку та практыкуйце пераверыце правыя на роўні дадзенняў. Толькі токэн-носільцы не є межай арендаванага ресурсу.
1. Першы крок: Чаму ёсць LLM?
У першым этапе, які ўсё спачатку, перш чым зменяць код, неабходна визначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчыма ўвайсці крок з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрыяйце цэму этапу як даговору між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, визначыце перакананні успеху і адмовіцеся ад тыхняга частковага завершэння без паведамлення. Калі наступны крок — це код або вызов інструмента, валідаванне за дапамою схемы краща, чым вільны формат тэксту.
2. Чым ёсць AI-агент?
Для пункта 2: перш чым змяніць код, неабходна ясная вяскапленасць таго, што такое стадія, ваказаные вхідныя даны, адпаведальная особа за кожны крок і критэрыі завершэння. Аперацыямі неабходна можлівасць парадзейсаваць крок з вядомага контрольнага пункту, не прыпускаючы стану, які залишаецца незрозумелым. Неабходна фіксацыя часу выкарыстоўвання, а таксама вартосці токена чы то запиту, праз адзначэнне іх разам з функцыональнымі рэзультатамі. Відразувыя даны пра вартасці запобегаюць неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спакульную.
3. Што такое Harness?
Для стадіі „3 So What“ неабяжна практыка адзначыць вхідныя данні, адпаведальнага за крок і критэрыя завершэння пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Канфігурацыю трэба захаваць пазначыльна ад коду прыемлікі. Файлы сяродавішча, хранальнікі секрэтных дадзеных і флагі функцый належаць у аднам месца, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў. Автентыфікацыя павінна выканацца на воратах, а пераправенне праваў — на роўні дадзеных. Толькі токэн-носіцель не ёстся межай тэнантства.
USER
|
v
+---------------+
| Agent Harness |
+---------------+
| | |
| | |
Context Tools Memory
| | |
+-----+-----+
|
v
LLM
|
v
Decision / Action
|
v
Tool / External System
|
v
Result
|
+------> Back to Agent
4. Чаму мы не можем проста выкарыстоўваць LLM?
Для этапа «4 чырвоныя прычыны» неабходна прадзеянне, апрацоўчык крока і крэтарыі выходу пры змяне коду. Апрацоўчыкі должны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнасці. Перапрыбуткі, людзкія перакрыцця і обработка некоректных паведамленняў є частью продукту, а не дадатковым фінішным практыкам. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходны данні з перакананням схемы, чым вольныя тэкстовыя апісанні. Для этапа «4 чырвоныя прычыны» неабходна прадзеянне, апрацоўчык крока і крэтарыі выходу пры змяне коду. Апрацоўчыкі должны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце цэму этапу як кантракту межа прадзеяннямі і перакананымі выходнымі даннемі. Назвайце артыфакты, задаць крэтарыі успеху і адмовіцеся ад беззвучнага частковага завершэння.
User request
↓
LLM decides:
"I need to transfer money."
↓
Permission check
↓
Human confirmation
↓
Banking API
↓
Transaction result
↓
LLM explains result
5. Цыкл агента
Калі працуеце з 5 стадзямі «Цыкл агента», спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі список дапамагае заліцварваць можлівыя змены ў кодзе. Запісваюце час выканання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразувая відомасць костаў запобiegае неспакойным рахункам, калі праця пераходзіць з дэмаверсіі ў спакульнаныя среды. Запісваюце назву інструмента, хэш аргументаў, час затрымкі і рэзултат кожнага вызову. Без такога лёгкага следу вылечванне цыклаў агента губіць гадзіны.
Observe
↓
Decide
↓
Act
↓
Observe result
↓
Decide again
↓
Stop
Шаг 1 — Абсалютваць
Калі вы працуеце на стадыі «Абсарбаванне» 1-го крока, спачатку запісайце умовы контракта: неабяжлівыя даны, сигнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список контроля дапамагае заліцварыць будучыя змены коду. Зберагаеце настройкі пазыроў з кодам прыемлі. Файлы сераўнавання сяродовысці, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжлівага чытання всей структуры. Запісвайце назву інструмента, хэш параметраў, час адклікання і рынак кожнага вызову. Без такога лёгкага следу дэбагаванне агента губіць гадзіны.
2-й крок — Адлучыць рашэнне
Калі працуеце над стадзіяй «2. Аджыранне», спачатку запісайце умовы кантракту: неабяжлівыя данні, сигнал працэйскага успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зявляйце логі з назвай інструмента, хэшам параметраў, часам адклікання і рэзультатам кожнага вызову. Без такога следу дэбагаванне губіць гадзіны. Калі працуеце над стадзіяй «2. Аджыранне», спачатку запісайце умовы кантракту: неабяжлівыя данні, сигнал працэйскага успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Спрыятлівайце гэтай стадзіі як кантракту межаў уваходных дадзеных і перакананых выходных рэзультатаў. Назвайце элементы, задаць правілы пераканання пра успех і адмовіцеся ад мовчазнага частковага завершэння.
Стадзія 3 — Дзеянне
Этап дзеяння Крок 3 работае наўпершыя, калі яго спрыята розглядаць як вимерную паверхню. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Запісвайце часы выканання і вартасць токеноў або запытак па боку функцыйнальных рэзультатаў. Відразлівае паказанне вартасцей запобегае неспадзяваным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя сераўы. Адкройце інструменты з вузкімі схемамі і чыткімі пазначкамі пра побачныя эфекты. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць іх.
Крок 4 — Абсалютвацыя
Этап 4 «Абсарбаванне» работае наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адна «золатая» транскрыпцыю, адин прыклад неудачы і запіс пра вярнэнне да поперадньага стану пры расшырэнні масштаба. Зберагайце настройкі пазырочна ад коду прыемліка. Файлы сяродавішча, хранільнікі секрэтных дадзеных і пазначкі функцый канальна знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх дадзеных. Адкройце інструменты з вузкімі схемамі та чысткімі пазначкамі пабочных эфектаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць іх.
Этап 5 — Адлічэнне
Этап «5. Адзінкцыя» працюе наўсёрэдзей, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку па атрыбуцыі да пачатку ранейшага стану, прычым расширваючы сферу дзеяння. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Абявляйце аб інструментах з вузкімі схемамі та чысткімі пазначэннямі пабочных эфектаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны будуць автаматычна затверджвацься. Этап «5. Адзінкцыя» працюе наўсёрэдзей, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку па атрыбуцыі да пачатку ранейшага стану, прычым расширваючы сферу дзеяння. Спрыявайце гэтам этапу як кантракту межаў вхідных дадзеных і перакананых выходных рэзультатаў. Назвайце артыфакты, задаць критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Этап 6 — Зупінка
Для стадіі «Зупніцца» на кроку 6 неабяжна ўскладніць вхідныя даны, адпаведальную особу за крок і критэрыі завершэння пры перадзеяванні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Запісваць трэба час выконання і вартасць токена або запыту разам з функцыйнальнымі рэзултатамі. Відразувыя даны пра вартасць запобегаюць неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спяльнаваныя сераўеры.
6. Матэматычны падход
Для стадіі 6 «Матэматычны праглед» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння перад зменым коду. Аперацыяныя працавнікі павінны магчымаецца перазапускаць крок з вядомага пункта контролю, не спрабоўваючы з’ясаваць захаваны стан. Конфігурацыю трэба залічыць параду ад коду прыкладнення. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцыйяў павінны знаходзіцца ў адном месцы, якое аперацыяныя працавнікі могу пераглядаць, не чытаючы весь ланцуг задач.
7. Чаго на самай працэ практычна кантролюе Harness?
Для этапа «7 What Does the stage» неабяжнае падзеліцьце — задаць вхідныя даны, адміністратара крока і критэрыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабяжна дакументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Автентыфікуйцеся на воратах і паўторна автарызуйцеся на роўні дадзенняў. Толькі токэн-носіцель не є межай аренды. Для этапа «7 What Does the stage» неабяжнае падзеліцьце — задаць вхідныя даны, адміністратара крока і критэрыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрацоўвайце гэты этап як кантракт між вхіднымі данымі і паўнастацэннымі выходнымі результатамі. Даць назвы артыфактам, задаць перакрыцця успеху і адмовіцца ад беззвучнага частковага завершэння.
Кантэкст
Калі працуеце на стадыі Context, спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Запісвайце час выканання і кост токена або запыту праза функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі праця пераходзіць з дэмаверсіі ў спакульнаныя сераўы. Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рэзултат кожнага вызову. Без такога лёгкага следу дэбагаванне агента займае гадзіны.
User request
+
Previous conversation
+
Retrieved document
+
Tool result
+
System instructions
Інструменты
Калі працюеце на стадыі «Інструменты», спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Зберагаюце настройкі паза кодам прыемлі. Файлы сераўнавальнага сераўса, хранілішчы секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабяжлівага чытання всей структуры. Запісуйце назву інструмента, хэш аргументаў, час затрымкі і рынак кожнага вызову. Без такога следу дэбагаванне агента губіць гадзіны.
Памяць
Калі працуеце на стадыі «Памяць», спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць на частыя неудачы. Такі список пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам. Зявляйце логі з назвай інструмента, хэшам параметраў, часам адклікання і рэзультатам кожнага вызову. Без такога следу дэбаггінг агента губіць гадыны. Калі працуеце на стадыі «Памяць», спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць на частыя неудачы. Такі список пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрыймайце гэтую стадыю як контракт між вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Даўце назвы элементам, задайце критэрыя успеху і не прымайце тыхню частую роботу без падтверджэння.
Нормы
Этап Guardrails працюе найкраща, калі яго розглядаць як вимерную паверхню. Запісаце адна «золатая» транскрыпцыя, адзін прыклад неудачы і прыметку паўрануці, перш чым расширваць масштабы. Запісвайце часы выканання і кост токенаў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівасць костаў з самага пачатку запобегае неспакою, калі процес пераходзіць з дэмавайнага режыма ў спяльныя сераўры. Адкрывайце інструменты з вузкімі схемамі та чысткімі пазначэннямі пабочных эфектаў. Хостам неабходна знать, якія вызовы мутуюць стан, перш чым вони автаматычна схваляюць іх.
Can read customer information: YES
Can create support ticket: YES
Can delete customer account: NO
Умовы зупнення
Этап умов зупнення працюе найэфектыўней, калі яго розглядаць як вимерную паверхню. Зафіксавайце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра відкатанне перш чым расширваць сферу дзеяння. Зберагаюце настройкі пазыроўна ад коду прыемліка. Файлы сераўнавання, хранільнікі секрэтных дадзеных і пазнакі функцый крануцца на адным месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх дадзеных. Адкройце інструменты з вузкімі схемамі та чытальнымі пазначкамі пабочных эфектаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым вони автаматычна схваляюць іх.
Maximum iterations = 5
8. Просты прыклад
Этап «8 A Simple Example» працюе найкраща, калі яго розглядаць як меркавыя плошча. Зберажыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Дакументавайце як шлях успеху, так і шлях вярнэння да нормальнага стану. Перапрыбуткі, людзкія перакрыцці та обробка некоректных паведамленняў є частью продукту, а не чымсь, што дадзецца дагэўна пазніяй. Адкройце інструменты з вузкімі схемамі та чыткімі пазначэннямі побачных наследкаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць ўпрацоўкі. Этап «8 A Simple Example» працюе найкраща, калі яго розглядаць як меркавыя плошча. Зберажыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Разглядайце гэты этап як кантракт межа вхіднымі даннымі та перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху та адмовіцеся ад мовчанкавага частковага завершэння.
User
↓
Agent
↓
Search Bristol population
↓
Result
↓
Search Bath population
↓
Result
↓
Calculator
↓
Comparison
↓
Final answer
9. Дзе ўжыткавыя інжынерыя Harness?
Для стадіі 9 «Дзеясць Harness» неабходна прадварычная дэфініцыя вхідных даных, адпаведальнага за крок і крэтарыяў выходу пры змены коду. Аператары должны магчымае перзапускать крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць трываласць выконання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразлівасць костаў з самага пачатку запобегае неспадзяваным рахункам, калі траекторыя пераходзіць з дэмавай версіі ў спяльныя среды. Автентыфікацыя выканаць у шлюзе, а прабачэнне прав на выкарыстоўвання — у плоскасці дадзеных. Толькі токен-несучы не є межай арэны выкарыстоўвання.
9. Дзе практычны Harness Engineering?
Для стадіі «9 Where is Harness» неабяжна практыка — адыначэ гадзіць параметры вхідных даных, абяронца крока і крэтырыя выходу пры змены коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Конфігурацыю трэба знаходзіць за межамі коду прыемліка. Файлы сераўіснага сераўісу, хранілішчы секрэтных дадзеных і флагі функцый належыць у аднам месца, якое аператары можаць пераглядаць, не чытаяўшы весь ланцуг задач.
Адказка кліянтам
Для этапу падкістку кляўэнта неабходна перад змянай коду вызначыць даны, якія будуць вводзіцца, адпаведальнага за шаг і крэтыяры завершэння. Аператары должны магчымае перадзванаць шаг з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення да нормальнасці. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.