Галоўная / Артыкулы / Практычныя прытамулкі: чаму сума рахунку вашага агента з кодаванняяростае быстрэй, чым чат.

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

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

1522 слоў

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

Што такое не ёсць кэшаваннем запытоў

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

Чаму агент перасылае весь дзялон размовы?

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

turn 1  →  system + tools + user₁                          →  assistant₁
turn 2  →  system + tools + user₁ + assistant₁ + user₂      →  assistant₂
turn 3  →  system + tools + user₁ + assistant₁ + user₂ + …  →  assistant₃

Арыметыка

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

Наскількі на самай працэ пам’яткавання запытоў дапамагае заэканоміць час?

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

Проблема, пра якую ніхто не гаворыць

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

Чы рэальна 1-гадовая TTL цяніць сабе 2 разы больш?

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

Чы гэты прадаўцар за замовчаннем выконвае кэшаванне?

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

То што ж вы на самай працэ выконваеце?

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

Короткая версія

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

Павторыце гэта

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

python 3.13 · stdlib only
system prompt 10,000 tok · user +1,000/turn · assistant +3,000/turn
base input $4.00/M · write 1.25x (5-min) / 2.00x (1-hour) · read 0.10x

Апавясненні

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

Чэк-ліст для эксплуатацыі

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

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

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

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

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

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

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

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