AutoSaddler: агенты, які перапісваюць свае седлаўкі
Нехай агенты працююць над практычным удосконаленнем під час процедуры адзынакоўвання, каб сама модифікацыя заставалася вимероўванай.
Існавайце гэта як пераклад ідэй з кантэнту “AutoSaddler: Teaching AI Agents to Improve Their Own Harness” для працаваючых з апаратамі: чыстыя этапы, арранжаваныя блакіты коду і прыметкі па восстанавлэнню, якія застаюцца пасля перадачы. Адгляд работае найкраща, калі яго розглядаць як меравальную плошчу. Запісаўце адна ідеальная транскрыпцыю, адзін прыклад неудачы і прыметкі па адвярнэнню, перш чым расширваць масштаб. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшаў, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцужок задач.
Проблема: агенты не выкананяюць задачы з прычын, якія не стосуюцца толькі модэлю
Ёнколі проблема заключаецца ў тым, што агенты не функцыонуюць з болейшых, чым толькі модельныя, прычын, перад зменай коду неабходна задаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыі должны магчымаць перзапуск кроку з вядомай точкі контролю без неабясненняя схованага стану. Спрыятлівае ставленне да гэтага этапу як да кантракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назваць элементы, задаць перакананні на успех і адмовіцца ад беззвучнага частковага завершэння. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакананнем схэмы, чым вольнае пісьменне выражэння.
AI Agent
│
┌──────────┴──────────┐
│ │
Model Harness
│
┌─────────────────┼─────────────────┐
│ │ │
Prompts Tools Middleware
│ │ │
└─────────────────┼─────────────────┘
│
Agent Loop Logic
│
▼
Execution
│
▼
Trace
Ад інжынеріі запрошэнняў да інжынеріі выкарыстоўвання
Дыя працэй з запрашамі да інжынерыі выкарыстоўвання рэсурсаў, пярш чым зменіць код, неабходна адзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымае перзапускать крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць час выконання і кост токенаў або запытаў разам з функцыйнальнымі рэзултатамі. Відразы костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з паўнай пераверкай схемы, чым вольныя тэкстовыя форматы.
Кераванне патчамі
Для патчаў Steering неабходна перад змянай коду адзначыць вхідныя даны, адпаведальнага за выкананне кроку та критэрыя завершэння. Аператары должны магчымае перзапускати крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Конфігурацыю трэба знаходзіць паза кодам прыкладнення. Файлы сераў, сховішчы секрэтных даных та флагі функцый належыць у аднам месца, якое аператары можаць пераглядаць, не чытаяўшы весь ланцуг задач. Автентыфікуйцеся на в’язку та практыкуйце пераверыданне на роўні дадзенняў. Сам токен-носіцель не є межай аренды. Для патчаў Steering неабходна перад змянай коду адзначыць вхідныя даны, адпаведальнага за выкананне кроку та критэрыя завершэння. Аператары должны магчымае перзапускати крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Валідзіце маленькія, тэставаныя елементы замест большых скрыптаў. Калі крок не выкананы, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцуг задач.
Патчы можнасцяў
Калі працуеце з патчамі для расшырэння можлівасцей, спачатку запісайте угоду: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрэтывайцеся да гэтага этапу як да угоды межа вхіднымі данымі та перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць тэсты на успех і не падзеўляйцеся частковым завершэнням без паведамлення. Запісвайце назву інструмента, хэш аргументаў, час затрымкі та рэзультат кожнага вызову. Без такога лёгкага следу дэбагаванне губіць гады часу.
Следы выканання стаюць сигналамі для навчання
Калі працуеце з адазамы выканання, якія стаюць сигналамі для навчання, спачатку запісайце умовы: неабяжлівыя даны, сигнал успеху і тое, што выходзіць пад частыя неудачы. Такі список дапамагае заліцьварацца з пазнейшымі змянамі ў коде. Запісвайце час выканання і вартась токенаў або запытак пад функцыйнальнымі рэзултатамі. Відразы вартасей з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмавайнтароў у спяльныя среды. Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рэзултат кожнага вызову. Без такога следу дэбагаванне агента, які ціркулюе без канца, можа забраць гады часу.
Task
↓
Model reasoning / response
↓
Tool selection
↓
Tool arguments
↓
Tool result
↓
Middleware
↓
Next model action
↓
Final answer
↓
Evaluation
Task failed
│
▼
Agent never inspected repository metadata
│
▼
Why?
│
▼
Tool existed but description didn't expose its purpose
│
▼
Diagnosis
│
▼
Update tool description
│
▼
Evaluate again
Цикл оптымізацыі AutoSaddler
Калі працуеце з цыклам аптимізацыі AutoSaddler, спачатку запісайте умовы працы: неабяжлівыя данні, сигнал успеху і тое, што выходзіць на частыя неудачы. Такі список дапамагае заліцварваць пазнейшыя змены ў коде. Зберагаюце настройкі паза кодам прыемлі. Файлы сераўнавання, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць пераглядаць іх без неабяжлівага чытання всей структуры. Запісуйце назву інструмента, хэш аргументаў, час адпаведзі і рынак кожнага вызову. Без такога лёгкага адстэйпнага спосабу дэбаггаванне агента займае гадзіны. Калі працуеце з цыклам аптимізацыі AutoSaddler, спачатку запісайте умовы працы: неабяжлівыя данні, сигнал успеху і тое, што выходзіць на частыя неудачы. Такі список дапамагае заліцварваць пазнейшыя змены ў коде. Валічыце маленькія, тэставаныя елементы замест большых скрыптаў. Калі якісь крок не выйшоў, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаную лінію обработкі.
Training Cases
│
▼
Run Agent
│
▼
Execution Traces
│
▼
┌───────────────────┐
│ Diagnosis-Patch │
│ │
│ Find root cause │
│ Propose patch │
└─────────┬─────────┘
│
▼
New Candidate
│
▼
Evaluate
│
┌─────────┴─────────┐
│ │
Improved Regressed
│ │
└─────────┬─────────┘
▼
Reflection
│
▼
Reusable Lessons
│
▼
EvoDAG
│
▼
Candidate Evolution
│
▼
Development Gate
│
▼
Best Generalizing Harness
1. Дыягназа-Пэч: выявленне рэальнай проблемы
- Дыягназа-Пэч: выявленне рэальнай проблемы дае найлепшыя результаты, калі яго рассматрываць як вимерную паверхню. Зберыце адны ідеальны прыклад работы, адны прыклад неудачы і запіс пра вярненне да пачатковага стану перш чым расширваць масштабы. Рассматрайце гэты этап як кантракт межа вхіднымі даннымі і пераканаленымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце критэрыі успеху і не падзейвайцеся частым, непূরным выкананнем задачы. Адкройце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных наследкав. Адпрацоўвальнікам неабходна знать, якія вызовы мутуюць стан, перш чым яны автаматычна схваляць іх.
2. Размышленне: выучэнне на адохідзе з рэзультатаў
- Анаіз: найэфектыўнейша метода навучання на адпаведнасці рэзультатаў — гэта калі яе спрыяваць як мерыемую велічыну. Запісайце адны ідеальны прыклад, адну справу з неудачай і прыметку па поверненню да пачатковага стану пры расшырэнні масштаба. Запісвайце часы выканання і косты токеноў або запытак па боку функцыйнальных рэзультатаў. Відразлівая візуабільнасць костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя сераўы. Актуалізуйце інструменты з вузкімі схемамі і чыткімі пазначкамі пра побачныя эфекты. Адпаведальным адправільцам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць іх.
Patch:
Add stronger instruction to inspect repository metadata.
Observed:
✓ Fixed cases A, B, C
✓ Existing cases remain stable
✗ Case D still failsLesson:
Instruction improves metadata discovery,
but does not address downstream tool selection.
3. Эвалюяцыя: не забывайце тое, што працавало
- Эвалюяцыя: не забывайце, што тое, што працавала лепшым чынам, калі яго расследжваць як мерыемую величыну. Зберагачыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Храніце настройкі пазыром ад коду прыемліка. Файлы сяродавішчыны, базы секрэтных даных і пазнакі функцый должны знаходзіцца ў адном месцы, куды аператары можаць адрабатаваць без неабяжнага чытання всіх дадзеных.
- Эвалюяцыя: не забывайце, што тое, што працавала лепшым чынам, калі яго расследжваць як мерыемую величыну. Зберагачыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Вядчыжайце маленькія, тэставаныя елементы над вялікімі скрыптамі. Калі якісь крок не выйшае, прычына неудачы должна вказываць на адну конкрэтную прычыну, а не на заплутаную сістэму.
Patch 1 → Patch 2 → Patch 3
Base
/ | \
/ | \
P1 P2 P3
│ / \ │
│ / \ │
P4 P5 P6 P7
\ /
\ /
P8
Найважнейшы захад: гэналізацыя
Для найважнейшага захада – гэналізацыі – пяред зменым коду неабходна ясная дэфініцыя вхідных дадзеных, адпаведнага власніка крока і крэтарыяў завершэння. Аперацыйныя працавнікі должны магчымае перайсці цей крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Цей этап трэба спрыяць як кантракту межа вхіднымі дадзенымі і перакананымі выходнымі рэзультатамі. Назваць всі неабходныя элементы, задаць крэтарыяў успеху і не падзеляцца на часткавыя рэзультаты без паўнага завершэння. Аутентыфікацыя павінна выконвацца на входзе, а прабачэнне на выходзе – у роўні дадзеных. Толькі токэн-носіцель не ёст кантактная межа аб’екта.
Training cases
│
▼
Generate candidate
│
▼
Evaluate
│
▼
Development split
│
▼
Does the improvement generalize?
│
┌──┴──┐
│ │
Yes No
│ │
▼ ▼
Keep Reject
Чаму важна стойкая екзекуцыя
Ёнколі важліва стойкае выкананне, перш чым зменяць код, неабходна дэфініцыя вхідных даных, адпаведальнага за крок і крэтарыяў завершэння. Аперацыйныя працавнікі должны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць трэба час выканання і кост токена або запыту разам з функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмавай версіі ў спяльныя среды. Автентыфікацыя выкананае ў шлюзе, а прабачэнне прав на выкананне — у роўні дадзеных. Толькі токен-носіцель не є межой адпаведальнасці.
Run
│
▼
Append-only Events
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Candidates Evaluations Sessions
│ │ │
└─────────────┼─────────────┘
▼
Snapshot
│
▼
Final Result
Возможнае павтарэнне выканання спробаў лічыцца прыоритэтным пытаннем
Колькі хто важліва ўзворотна адтварэння, неабходна прайшоўці ўваходныя даны, адпаведальнага за крок і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Конфігурацыю трэба знаходзіць за межамі коду прыемленае. Файлы сераўіса, храненні секрэтных дадзенаў і флагі функцыйяй павінны быць у адном месца, якое працавнікі можу пераглядаць, не чытаяўшы весь ланцуг. Аутентифікацыя павінна выконвацца на воратах, а пераправерка — на роўні дадзенаў. Толькі токен-носіцель не є межай адпаведальнасці. Колькі хто важліва ўзворотна адтварэння, неабходна прайшоўці ўваходныя даны, адпаведальнага за крок і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехарактэрыстыкі павінна вказываць на адну конкрэтную адпаведальнасць.
этага заплутанай трубопрацоўкі.Candidate A
│
├── Prompt version X
├── Harness commit Y
├── Dataset revision Z
└── Model configuration M
V1 проты V2
Калі працуеце над V1 проты V2, спачатку запісайте угоду: неабяжныя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрыятлівае ставленне да гэтага этапу як да угоды межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць правіла пераканання успеху і не падзеўляйцеся частковым завершэнням без паведамлення. Запісвайце назву інструмента, хеш аргументаў, час адклікання і рэзультат кожнага вызову. Без такога следу дэбагаванне губіць гадзіны.
V1
Калі працуеце над V1, спачатку запісайте угоду: неабяцковыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Запісвайте час выканання і косць токена або запиту праза функцыональныя рэзультаты. Відразувая візуабельнае прадставлення косцоў запобiegае неспакойным рахункам, калі праця пераходзіць з дэмаверсіі ў спакульнаныя сераўры. Запісвайце назву інструмента, хэш аргументаў, затрымку і рэзультат кожнага вызову. Без такога лёгкага следу дэбагаванне агента займае гадзіны.
V2
Калі працуеце над V2, спачатку запісайте умовы працы: неабяжлівыя данні, сигнал успеху і тое, што выходзіць на частыя неудачы. Такі список дапамагае заліцварваць пазнейшыя змены ў кодзе. Зберагаюце настройкі паза кодам прыемлі. Файлы сераўнавання, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць пераглядаць іх без неабяжлівага чытання всей структуры. Запісуйце назву інструмента, хэш аргументаў, час адклікання і рэзультат кожнага вызову. Без такога лёгкага адстэйпнага спосабу дэбаггаванне можа зайняць гады. Калі працуеце над V2, спачатку запісайте умовы працы: неабяжлівыя данні, сигнал успеху і тое, што выходзіць на частыя неудачы. Такі список дапамагае заліцварваць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач.
AutoSaddler Core
│
Scenario Plugin
│
┌───────────────┼───────────────┐
▼ ▼ ▼
Harness Benchmark Evaluator
│ │ │
└───────────────┼───────────────┘
▼
Evidence Builder
│
▼
Optimizer Engine
Плагіны дапамагаюць розширваць ідею
Плагіны дапамагаюць рэалізаваць ідею пры ўзгадванні, калі яе спрыяюць рассматрываць як меравальную плошчу. Запісайце адны ідеальны прыклад, адну справу з бягам і прыметку па поверненню да пачатковага стану пры расширэнні масштаба. Спрыяюць рассматрываць гэты этап як кантракт межу вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце критэрыя успеху і не падзеўляйцеся частым, некомплектным выкананнем задачы. Адкройце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных наследкаў. Адпаведальныя за хоставанне должны знать, якія вызовы мутуюць стан, перш чым автаматычна схваліць іх.
AutoSaddler
│
┌───────────┼───────────┐
▼ ▼ ▼
Agent A Agent B Agent C
│ │ │
Plugin A Plugin B Plugin C
Што робіць AutoSaddler адным з унікальных?
Што робіць AutoSaddler адзінаковым? Ён працюе найэфектывней, калі яго розглядаць як вимерную паверхню. Запісаце адна «золатая» транскрыпцыя, адзін прыклад неудачы і прыметку па поверненні да пярвоначальнага стану пры расшырэнні масштаба. Запісвайце часы выконання і кост токеноў або запытаў праза функцыйнае рэзультат. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмовай среды ў спяльнаваныя сераўы. Актуалізуйце інструменты з вузкімі схемамі і чыткімі пазначкамі пра пабочныя эфекты. Хостам неабходна знать, якія вызовы мутуюць стан, перш чым вони автаматычна схваляюць іх.
1. Ён оптымізуе весь комплект інструментаў
- Ця система оптымізуе ўсю структуру, калі яе розглядаць як вимерную паверхню. Перш чым расширваць масштабы, неабходна зафіксаваць адны ідеальны прыклад роботы, адны прыклад неудачі і прыметку па вярнэнню да пачатковага стану. Конфігурацыю трэба знаходзіць пазначкі за межамі коду прыемлі. Файлы сераўнавання, хранільнікі секрэтных данных і пазначкі функцый належыць у аднам месца, куда аператары можуць аудытаваць іх без неабяжнага чытання всіх дадзеных.
- Ця система оптымізуе ўсю структуру, калі яе розглядаць як вимерную паверхню. Перш чым расширваць масштабы, неабходна зафіксаваць адны ідеальны прыклад роботы, адны прыклад неудачі і прыметку па вярнэнню да пачатковага стану. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшаў, прычына неудачы должна быць адносна адной конкрэтнай функцыі, а не цэлагі заплутаны процес.
2. Ця система діаганалізуе прычыны перш чым вносить змяны
Для пункта 2: спачатку выконуецца діагназа, пасля чаго, перш чым зменіць код, неабяжна визначыць вхідныя даны, адміністратара крока та критэрыя завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрыяйце цім этапу як даговору межа вхіднымі данымі та перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, визначыце критэрыі успеху та не падтрымайце безсловесная частковая завершэння. Аутентыфікуйцеся на в’язку та практыкуйце пераверыць правыя на роўні дадзенняў. Толькі токэн-носіцель не є межай аренды.
3. У яго выкарыстоўваюцца структураваныя втручанні
Для пункта 3. У яго выкарыстоўваюцца структураваныя інтэрвенціі: перад зменым коду неабходна адзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць трэба час выконання і кост токена або запыту разам з функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спадзеленыя сераўеры. Аутентыфікацыя выканаліцаецца на воратах, а паўтарная автарызацыя — на роўні дадзенняў. Сам токен-носіцель не є межай адпаведнае часткі системы.
4. Яго навчаецца на адхылэннях
Для пункта 4. Ён выучваецца на адхуксіях: перад зменым коду неабходна дэфініцыя вхідных даных, адміністратара крока і крэтэрыяў завершэння. Аператары должны магчымае перайсці канкрэтны крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Конфігурацыю трэба заставляць праза код аплікацыі. Файлы сераўнавання, храненні секрэтных данных і флагі функцияў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь ланцуг. Аутентыфікацыя выконвалася ў шлюзе, а паўторная автарызацыя — у роўні дадзеных. Толькі токэн-носіцель не є межай арендавання. Для пункта 4. Ён выучваецца на адхуксіях: перад зменым коду неабходна дэфініцыя вхідных даных, адміністратара крока і крэтэрыяў завершэння. Аператары должны магчымае перайсці канкрэтны крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Валідзіце маленькія, тэставаныя елементы працоўнікаў у працоўніку, а не вялікія скрыпты. Калі крок збываецца, прычына нехтарактару должна вказываць на адну адпаведальнасць, а не на заплутаны ланцуг задач.
5. Ён оптымізуецца для гэналізацыі
Калі працуеце над пунктам 5. Ён оптымізуецца для гэналізацыі, спачатку запісайце умовы: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць пад частым неудачам. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Спрэцьвачыце гэты этап як угоду межаў між вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць тэсты на успех і не падзеўляйцеся частым, неконтрольаваным завершэнням. Запісвайце назву інструменту, хэш параметраў, час адпаведзі і рэзультат кожнага вызову. Без такога лёгкага следу дэбагаванне агента губіць гадзіны.
6. Ён зберагае історыю эвалюцыі
Калі працуеце над пунктам 6, які стосуюцца зберагчэння эвалюятывальнай історыі, спачатку запісаце кантракт: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі список контроля дапамагае заліцьварыць пасляэйшныя змены коду. Запісвайце часы выканання і кост токена або запиту праз ці рэзультаты функцыйнальнай працы. Відразувая візуабельнае прадставленне костаў запобегае неспакойным рахункам, калі працэўнае сераўеры пераходзяць з дамовай среды ў спакойную. Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рэзультат кожнага вызову. Без такога лёгкага следу дэбагаванне агента займае гадзіны.
7. Ён стойкі
Калі працуеце над пунктам 7. Ён є стойкім, спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага абякання. Такій чэрт-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі. Зберагаеце настройкі за межамі коду прыемлі. Файлы сераўнавання, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжлівага чытання всей структуры. Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рынак кожнага вызову. Без такога следу дэбагаванне агента займае гадзіны. Калі працуеце над пунктам 7. Ён є стойкім, спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага абякання. Такій чэрт-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок абякае, абяканне должна паказваць на адну адпаведальнасць, а не на заплутаны ланцужок задач.
Што можа быць далей?
Што можа быць далей? Ця методыка працюе наўсёх краща, калі яе расследжваць як мерыемую паверхню. Запісаце адна ідеальная версія роботы, адзін прыклад неудачы і прыметкі па поверненню да пярвоначальнага стану, прычым расширяючы сферу дзеяння. Расследжвайце гэты этап як кантракт межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і не падтрымайце тыхню частковую завершэннасць без адзначэння. Актуалізуйце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных наследкаў. Адпавядаючым аб’ектам неабходна знати, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць роботу.
Постаўнае оптымізаванне крэатывных средоў
Аптимізацыя канвесу працюе наўсёрэдзе, калі яе розглядаюць як вимерную плошчу. Зберагучы адны ідеальны прыклад, адзін кейс абярэння і прыметку па вярненню да пачатковага стану, перш чым расширваць сферу дзеяння. Запісвайце часы выконання і косты токеноў або запытак праза функцыйнае рэзультат. Відразлівасць костаў з самага пачатку запобегае неспакою, калі траекторыя пераходзіць з дэмаверсіі ў спакульнаныя сераўысы.
Автаматычная эвалюцыя інструментаў
Автаматычная эвалюцыя інструментаў працюе наўсёрэдзе, калі яе розглядаюць як вимерную плошчу. Зберагучы адны ідеальны прыклад, адзін кейс абярэння і прыметку па вярненню да пачатковага стану, перш чым расширваць сферу дзеяння. Хавайце настройкі за межамі коду прыемлівача. Файлы сераўыса, хранільнікі секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабясненага чытання всей структуры.
Аптимізацыя мідлвэра
Навчанне між-агентамі
Оптымацыя з урахоўваннем костаў
Quality
+
Reliability
+
Latency
+
Token Cost
+
Tool Cost