Галоўная / Артыкулы / Практычныя прытамулкі: Раз’яснення ўспэўнасці агента AI: як з’ясаваць, чы робіць ваш агент.

Практычныя прытамулкі: Раз’яснення ўспэўнасці агента AI: як з’ясаваць, чы робіць ваш агент.

Практычныя прыказкі: Роз’яснення па критэрыях ацэнкі AI-агентаў: як з’ясаваць, чы робіце вы правильна; контракты, перакрытчыкі і слоты для коду для команд, якія викорыстоўваюць гэты патэрн.

2533 слоў

У гэтым керавані знову ствараецца парадокс ад сыр'ёў да рабочай системы для: Раскрыць таінства ацэнкі AI-агентаў: як з'ясаваць, чы рэальна ваш агент выканаў свою задачу. Акцэнт ставіцца на практычныя крокі, чыстае перакананне і код, які можна проста дадаць у репозытарый без неабязковасці здогадвацца пра намеры. У стадзіі агульнага відгледу неабходна з'явіць вхідныя даны, адпаведальнага за крок і критэрыя завершэння прычымоў перад зменай коду. Аператары должны магчымае перадзванаць крок з вядомай точкі контролю без неабязковасці здагадвацца пра схованы стан. Неабходна задокументаваць як успішны, так і варыянт вяснавання. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадаецца пазней.

Аналагія з учыцелем матэматыкі

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

Две осі ацэнкі агента

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

Вясь 1: На шта мы адзіраемся?

Калі працуеце над этапамі «Axis 1: What are stage», спачатку запісайце умовы виконання: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыконання. Такі список дапамагае заліцвачыць пазнейшыя змены ў кодзе. Запісвайце час виконання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразлівасць коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спакульную. Ствараце контрольныя пункты пасля дорогіх крокаў. Функцыя вярнення не должна зноў нарахоўваць кост той самай вызову LLM, калі аператар прабуюць зноў виконаць пазнейшы ўзел. Калі працуеце над этапамі «Axis 1: What are stage», спачатку запісайце умовы виконання: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыконання. Такі список дапамагае заліцвачыць пазнейшыя змены ў кодзе. Дакументавайце як шлях успеху, так і шлях вярнення да нормы. Прабавы, людзкія контрольныя пункты і обработка некоректных дадзеных ўжо є часткай продукту, а не пазнейшым дапрацоўкам.

Axis 2: Як мы яго оцэнюем?

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

Конкрэтны прыклад: Агент з броніравання паўздохоў

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

1. Метрыкі траекторыі (оцэнка крокаў)

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

2. Паракамеры рэзультатаў (Ацэнка фінальнага выходу)

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

Двухстадійная рамка прыняцтва рашэнняў: чаму дзеякія перакананні ёсць „воратамі“

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

Дыагностика неудач: матрыца ацэнкі 2×2

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

Абсалютны ўзаемадзеянне: адпрацоўка выкаання з самага пачатку да канца

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

1. След выкаання агента (траекторыя і вызывы інструментаў)

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

// Step 1: Upfront Plan Formulation
Thought: "I need to book budget travel to NYC for 3 days. Plan: 1) Search economy flights, 2) Search budget hotels in NYC, 3) Book flight, 4) Book hotel for matching dates, 5) Book airport transfer."

// Step 2: Tool Call - search_flights
→ call: search_flights({ origin: "SFO", destination: "JFK", cabin_class: "economy", date: "2026-10-10" })
← return:
[
  {
    flight_id: "fl_eco_9921",
    airline: "BudgetAir",
    price: 150.00
  }
]

// Step 3: Tool Call - search_hotels
→ call: search_hotels({ city: "New York", checkin: "2026-10-10", nights: 3, max_rate: 150 })
← return:
[
  {
    hotel_id: "ht_manhattan_pod",
    name: "Pod Midtown NYC",
    rate_per_night: 120.00
  }
]

// Step 4: Tool Call - book_flight
→ call: book_flight({ flight_id: "fl_eco_9921", passenger: "Chris Dias", price: 150.00 })
← return:
{
  booking_ref: "BK-FL-7701",
  status: "confirmed"
}

// Step 5: Tool Call - book_hotel
→ call: book_hotel({ hotel_id: "ht_manhattan_pod", nights: 3, rate_per_night: 120.00, guest: "Chris Dias" })
← return:
{
  reservation_id: "RSV-HT-8832",
  status: "confirmed"
}

// Step 6: Tool Call - book_airport_transfer
→ call: book_airport_transfer({ pickup: "JFK", dropoff: "Pod Midtown NYC", fee: 35.00 })
← return:
{
  ride_id: "TX-4402",
  status: "confirmed"
}

// Step 7: Final Synthesized Output Payload
Final Output:
{
  flight: {
    id: "fl_eco_9921",
    cabin: "economy",
    price: 150.00,
    status: "confirmed"
  },
  hotel: {
    id: "ht_manhattan_pod",
    nights: 3,
    rate_per_night: 120.00,
    status: "confirmed"
  },
  transfer: {
    service: "JFK Pickup Shuttle",
    fee: 35.00,
    status: "confirmed"
  },
  total_billed: 545.00
}

2. Этап 1: Пераканальныя перагляды рэзультата

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

3. Этап 2: Абсалютаванне кожнага паказателя і вычысленне сярэгаванага значэння

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

4. Заявленне прага і заканчоўны вердыкт

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

Мерыяванне недэтэрмінізма за дапамою pass@k і pass^k

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

1. pass@k — Метрыка можлівасцяў ("Шуты ў вораць")

Для парадыгмы 1 pass k The stage неабяжна пазначыць вхідныя даны, адпаведальнага за крок і критэрыі завершэння пры перадзеяванні коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес. Неабяжна ўключыць людзкія пераказы для тых крокоў, якія витрачаюць грошы або зменяюць даны ў працэсе виробніцтва. Компіляцыйныя налашчэння не є гарантыяй полнай адпаведальнасці за бізнес-процесы.

2. pass^k — Метрыка адпаведальнасці ("Стандарт виробніцтва")

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

Ключовыя моменты для інжынераў програмнае апаратуры

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

/p>

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

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

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

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

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

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

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

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

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