Галоўная / Артыкулы / Практычныя прытамулкі: Дзень, калі мае програмна аплякацыя для тэстав перестала слухаць — і мае агенты

Практычныя прытамулкі: Дзень, калі мае програмна аплякацыя для тэстав перестала слухаць — і мае агенты

Практычныя прытамулкі: Дзень, калі мае скрыпты для тэстав пересталі робіць увагу — і мае агенты: контракты, пераконтрольваннія і месцы для дадзення коду для команд, якія выкарыстоўваюць гэты патэрн.

2024 слоў

Наступныя прытамлівкі паказваюць практычны шлях адпрацоўкі тэмы «Дзень, калі мае скрыпты для тэстав пересталі робіць сваю работу — а моі агенты пачалі думаць...». Акцэнт ставяецца на контрактах, пераканальных кроках і місцях для вставкі коду, а не на мотывацыйных аспектах. Калі працуеце на стадыі агледзення, спачатку запісайце контракт: неабяжныя даны, сігнал успеху і тое, што вядзець у разы ўжо частковай нявыполненні. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Документавайце як «шчаслівы» шлях, так і шлях вяснавання. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам.

Момент, калі все стала ясна

Этап «Момент кліку» работае наяўней, калі яго спрыяваць як мерыемую паверхню. Запісаце адна «золатая» транскрыпцыю, адин прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры розшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа трэба зберагаць у простай форме з адзінаковым типам дадзеных. Вкладаныя структуры дадзеных масквуюць, який вузел запісаў канкрэтны поле, і спакойваюць працу пасля перерываў.

Автаматызація сёння проты автаматызаціі завтра

Этап «Automation Today» протыў «Automation» работае наякша, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрыяйце гэтым этапам як кантракту межу вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і адмовіцеся ад тыхняго частковага завершэння без паведамлення. Храніце стан графа ў простым і типаванам формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перарываў.

Чаму гэта так важна саме для аптэкты

Ўжэнне гэтага для стадый працюе найкраща, калі яго спрыяваць як меравальную паверхню. Зберагачыце адны ідеальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштабаў. Запісвайце часы выканання і косты токенаў або запытак па боку ад функцыйнальных рэзультатаў. Візуабельнасць костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмавайнага режыма ў спяльныя среды. Храніце стан графаў у простам і типаваным формате. Вярнутыя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакшваюць продовжэнне роботы пасля перарываў. Ўжэнне гэтага для стадый працюе найкраща, калі яго спрыяваць як меравальную паверхню. Зберагачыце адны ідеальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштабаў. Дакументавайце як успішны, так і вярнучы маршруты разам. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.

Загляд у внутрошняе працэсаванне: архітектура

Для этапа «Загледжванне пад крышку» неабяром да буду адзначаны вхідныя данні, адпаведальны за шаг і крэтарыя для завершэння працы перад зменым коду. Аперацыйныя працавнікі павінны магчымаць перзапуск шагу з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі шаг не выконваецца, прычына нехарактэрнай роботы павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач. Неабяром ставіць людскую апраўду ў тых моментах, калі выконваюцца расходы або зменяюцыся данні для працы. Компіляцыйныя налашчэння не ўзроўнаўцуюцься з полным адпаведненням задачам бізнесу.

User / Goal
     ↓
Agentic AI Layer (Reasoning + Planning)
     ↓
   ┌──────────┬──────────┬──────────┐
   │ Web Agent│ API Agent│ DB Agent │
   └──────────┴──────────┴──────────┘
     ↓            ↓            ↓
  Browser       APIs       Database
     ↓            ↓            ↓
        Validation / Result

Enter MCP: The Missing Connective Tissue

Для стадіі Enter MCP The Missing неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій стадіі як даговору межы вхіднымі і перакананымі выходнымі даннымі. Даўце назвы артыфактам, узначыце перакананні успеху і адмовіцеся ад тыхняга частковага завершэння без паведамлення. Автентыфікуйцеся на воратах і паўторна автарызавайцеся на роўні дадзенняў. Толькі токэн-носіцель не ёстся межай аренды.

Тэставанне API, пераадрасаванае як можлівасць

Для тэставання API, які выконваецца на адзінай стадыі, неабяжна практычна апранава: перад зменым коду трэба визначыць данні, якія будуць вводзіцца, адпаведальнага за кожны крок і критэрыя завершэння. Аператары должны магчымасць перапрыгнуць на гэты крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць трэба час выконання і кост токена або запыту разам з рэзультатамі функцыйналкі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спяльную. Апрацоўваць людскія атестацыі для тых крокаў, якія витрачаюць грошы або зменяюць данні ў працоўнай среды. Прыўязка на час компілявання не є гарантыяй полнай адпаведнасці продукту бізнес-трэбаванням. Для тэставання API, які выконваецца на адзінай стадыі, неабяжна практычна апранава: перад зменым коду трэба визначыць данні, якія будуць вводзіцца, адпаведальнага за кожны крок і критэрыя завершэння. Аператары должны магчымасць перапрыгнуць на гэты крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабяжна задокументаваць як «шчаслівы» шлях выконання, так і шлях вярнення ў нормальны стан. Перапрыбыранні, людскія атестацыі і обробка некоректных запытаў є часткай самага продукту, а не дадатковым элементам, якія дагэнаюцца пазней.

>
Testing Objective → API Agent → Send Request → Analyze Response
        → Validate Result → Pass Result to Workflow

Чаму агенты базы дадзэных ёсць незгледжаныя героі

Кал працуеце над этапам «Чаму агенты базы дадзэных ёсць героі», спачатку запішыце умовы: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца пад частым неудачам. Такі список контроля дапамагае заліцвачыць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Кал які-небудзь крок не выйшае, неудача павінна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцуг задач. Зробіце перапактаванне пасля дорогіх крокаў. Програма не павинна зноў выканаць той самы вызов LLM, калі аператар пракушае пазнейшы вузел.

UI → API → Business Logic → Database

Автаматызацыя вебу: ад ізольаванага скрыпта да команднага элемента

Калі працуеце над стадзіяй «Автаматызацыя на вебе: ад ізольаванага стану», спачатку запісайце угоду: неабяжлівыя даннэ, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцвачыць змяны коду пазнейша. Спрэтывайцеся да гэтай стадзіі як да угоды межа даннемі і перакананымі выходамі. Дайце назву рэзультатам, задаце критэрыі успеху і не прымайце часткова завершэння без паведамлення. Зробіце пераконтроль пасля дорогіх крокаў. Програма не должна занова платіць за той самы вызыв LLM, калі аператар прабуе зноў выканаць пазнейшы элемент.

Testing Goal → Agent → Web Interaction → Observation
     → Decision → Validation

Памяць: Навучэнне автаматызацыі памятаць

Калі працуеце над автаматызацыяю выкладкі ў стадію “Memory Teaching”, спачатку запісайце умовы викорыстоўвання: неабходныя данні, сигнал успеху і тое, што выканаецца у разы частковага невяліка. Такі список контролю дапамагае заставіць пазнейшыя змены коду быць чыстымі. Запісвайце час выконання і кост токеноў або запытаў праза функцыйнае рэзультат. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя сераўы. Зробіце контрольную пазнаку пасля дорогіх крокаў. Функцыя вярнення не должна знову нараховваць косты той самай вызову LLM, калі аператар перапрыямляе роботу да пазнейшага вузла. Калі працуеце над автаматызацыяю выкладкі ў стадію “Memory Teaching”, спачатку запісайце умовы викорыстоўвання: неабходныя данні, сигнал успеху і тое, што выканаецца у разы частковага невяліка. Такі список контролю дапамагае заставіць пазнейшыя змены коду быць чыстымі. Документавайце як шлях успеху, так і шлях вярнення да нормы. Перапрыямленні, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадаецца пазней.

Test Objective → Current Context → Previous Actions
     → Agent Decision → New Action → Updated Context

Што гэта не ўсё — таму што чыстасць мае значэнне

Этап «Што гэта не ўсё» працюе найкраща, калі яго розглядаць як меркаваную плошчу. Запісаць адны ідеальны прыклад, адзін прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры розширэнні масштаба. Валіць краща маленькія, тэставаныя елементы, чым велікія скрыпты. Калі якась зе ступеней не выконваецца, прычына неудачы павінна вказываць на адную адповядальнасць, а не на заплутаны ланцюг задач. Рэжым графа павінен застацца простым і з адначыным типам дадзеных. Вкладаныя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працу пасля перерываў.

Што на самай працэ ёсць у репазітарыі

Этап «Што на самай працоўны спосаб знаходзіцца внутры» работае лепш, калі яго спрацоўваюць як вимерную паверхню. Зафіксавайце адна ідеальная версія, адзін прыклад неудачы і запіс пра вярнэнне да поперадньяго стану пры розшырэнні масштаба. Спрацоўвайце гэты этап як кантракт межа вхіднымі даннымі і паверыранымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задачы. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакшуюць продажчэнне роботы пасля перарываў.

AgenticAIAutoGen/
│
├── Framework/
├── basics1.py → basics6.py     → progressive foundational examples
├── scenario1.py                 → applied automation scenario
├── selectorGroup.py             → capability grouping/selection logic
├── web_surfer.py                → web interaction experimentation
├── memory.json                  → agent memory/context storage
└── .gitignore

Каму трэба зважаць на гэта

Этап «Калі хто мае дбаць» працюе наякша, калі яго спрыяваць як меркаваную паверхню. Запісаце адны ідеальны прыклад роботы, адны прыклад неудачы і прыметку па вярнэнні да пачатковага стану пры розшырэнні масштаба. Запісвайце часы выканання і косты токеноў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра косты з’являецца рана, таму не будзе неспакою, калі процес пераходзіць з дэмаверсіі ў спяльныя среды. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, кальки ноды запісала калькі поль і спакоююць продовжэнне роботы пасля перарываў. Этап «Калі хто мае дбаць» працюе наякша, калі яго спрыяваць як меркаваную паверхню. Запісаце адны ідеальны прыклад роботы, адны прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры розшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнэння да нормы. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадацца пазней.

Куды даўайце далей

У стадії «Куды далей» неабяжна практычна ваказваць параметры, адпавядаючага за крок адпаведальнага, а таксама критэрыі завершэння пры перадзеяванні коду. Аператары павінны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехацкага рэзультата павінна вказываць на аднойчы адпаведальны элемент, а не на заплутаную сітку крокаў. Неабяжна ўключыць людзкія апраўданні для тых крокаў, якія выкарыстоўваюць грошы чы зміняюць даны варабочага сервісу. Компіляцыйныя налашчэнні не ўзроўнаўцяюцься з пачатковай цэласнасцю бізнес-процесаў.

Асалодны вывад

Для стадіі The Real Takeaway неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перазапускаць крок з вядомай точкі контролю, не падозрываючы схованы стан. Спрыяць гэтай стадіі як даговору межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даць назвы артыфактам, узначыць перакананні успеху і адмовіцца ад тыхоўскага частковага завершэння. Заставіць людзкую апраўду на тых кроках, дзе витрачаюцца грошы або зміняюцыся даны для працы. Кампайл-часовая наладка не ўзначае завершання бізнес-процэсу.

Адкройце проект

У стадії «Аналіз проекта» неабяцо практычна вводныя даны, адміністратар шагу і крэтыяры завершэння пры перадзмене коду. Аперацыйныя працавнікі павінны магчымае перадзначыць шаг з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выконання і кост токенаў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае праказванне костаў запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спяльнаныя сераверы. Заставіце людзкую апраўдку на тых этапах, дзе выконваюцца витраты або зміняюцыся даны для працы. Прыўязка на час компілявання не є падтверджэннем полной готовасці продукту. У стадії «Аналіз проекта» неабяцо практычна вводныя даны, адміністратар шагу і крэтыяры завершэння пры перадзмене коду. Аперацыйныя працавнікі павінны магчымае перадзначыць шаг з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Дакументавайце як «успешны» так і «восстанавліваючы» шляхі. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных запытаў є часткай самага продукту, а не пасляднім дапрацоўкам.

Чэкліст аператыўнай роботы

На стадзіі чэкліста аператыўнай роботы неабходна праказаць вхідныя даны, адпаведальнага за кожны крок і крэтыяры завершэння пры змены коду. Аператары должны магчыма было перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан.

Конфігурацыю трэба зберагаць паза кодам прыкладнення. Файлы сяродавішча, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь код.

Неабходна адзначаць людскія празгляды для тых крокоў, якія ведуць да выдатка грошаў або змены дадзеных у прыемніку. Працэс кампайлявання не є падтверджэннем полныя адпаведнасці продукту выкананню задач.

Напісце кароткі посібнік: як роцыяваць клучы, як спрачыслаць чергу, як анулюваць пярэдніе дадзеныя.

Дакументаваць трэба як шляхы успеху, так і шляхі вяснавання проблем. Перапрыбуткі, людскія перагляды і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.

Неабяжна людская празначэнне для тых элементаў, якія выдвайуць грошы або зменяюць данні праработкі. Кампайл-тайм вяроўнаванне не ўзначае пачытнасці бізнес-процэсаў.

Перш чым пераводзіць стэк, заморажваюце версіі, фіксуюце «золаты» транскрыпты для критычных шляхоў і парабяжваеце крокі анулювання. У спадзяльных средах неабходны ліміты частоты, перакананні ў прыналежнасці тэнантам і чысткі власнік для ротацыі секрэтных даных. Лепш выбіраць простую надзеяннасць, чым хітрыя експерыментальныя дэманстрацыі.

Запіс для пакета 9ecb23de3967: не кладзіце ключы прадаўцаў у репозітарый, задаце верхнюю межу токенаў на сесію і зберагаце транскрыпты праз адныя з фіксатываў eval, каб пазнейшыя замены модэляў заставаліся парабяжнымі.