Практычныя прытамулі: ацэнка агента і выяўленне зсуву — што такое новы кодуючы агент
Практычныя прыказкі: адзейнае ацэнка і выяўленне зсуву — што ёсць новы кодаваючы адзей: кантракты, перакрыццяі і слоты для коду для команд, якія выкарыстоўваюць гэты патэрн.
Крыніцы: Agent evals and drift detection — what the new coding-agent tooling doesn’t measure
Наступныя прыміткі паказваюць практычны падход да тэмы «Адзінкты функцыонавання і выяўленне адхылень — што не вімервае новая апаратура для кодавання-адзінакоў». Акцэнт ставяцца на кантракты, пераконтроўкі і месца для коду, які можна легка адразу вставіць, а не на мотывацыйныя аспекты.
Адзінкты функцыонавання, выяўленне адхылень і оркестрацыя спрыяюць оптымізацыі падачы коду. Межы перагляду застаюцься незменнымі вялікі час, таму толькі чэрга продовжвае растаць.
Калі працуеце над стадзіяю выканання пераканалення агента на выяўленне дрыфту, спачатку запісайце умовы: неабходныя даны, сігнал успеху і тое, што выканаецца у разе частковай нявыполненасці. Такі спіс контролю дапамагае залічыць змяны ў кодзе пазнейша. Зберагайце настройкі за межамі коду прыемліка. Файлы сераўнавання сяродовысці, хранілішча секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аўдыт без неабходнасці чытання всей структуры. Зявляйце логі з назвай інструмента, хэшам аргументаў, часам затрымкі і рэзультатам кожнага вызову. Без такога следу дэбагаванне цыклаў агента займае гадзіны.
Правілло, якое можна застосаваць пры чытанні рэшты
Калі працуеце над правілам, які можна рэалізаваць, спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконтроўвае, каб пазнейшыя змены коду былі чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некорэктных паведамленняў ёсць часткаю продукту, а не пазнейшым дапрацоўкам. Зявляйце логі з назвай інструмента, хэшам аргументаў, часам затрымкі і рэзультатам кожнага вызову. Без такога следу дэбаггінг агента губіць гадзіны.
Чатыры запускі, чатыры слою, адна працэйка
Калі працуеце з этапамі чатырых запускаў, спачатку запісайце умовы контракту: неабходныя даны, сігнал успеху і тое, што выходзіць па частковай нявыполненасці. Такі спіс пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Валічыце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, прычына нявыполненасці павінна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Запісвайце назву інструмента, хэш параметраў, час адклікання і рынак кожнага вызову. Без такога следу дэбагаванне губіць гадзіны.
„Змяненне“, якое не ўзьменецца
Калі працуеце над стадзіяй «The drift that isn», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі спіс пераканальвае пазнейшыя змены коду. Спрытывайце гэту стадзію як угоду межа данымі і пераканальванымі выходамі. Дайце назву рэзультатам, задаце правіла пераканальвання і не прымайце часткова завершэнне без паведамлення. Зявляйце лог з назвай кантролю, хэшам аргументаў, часу затрымкі і рэзультатаце кожнага вызову. Без такога следу дэбаггінг агента губіць гады.
Ліміт перагляду не зменіўся за дзесяць гадоў
Калі працуеце над стадзіяй «The review ceiling hasn», спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцвачыць пазнейшыя змены коду. Запісвайце час выканання і кост токена або запыту праз ці функцыйнальныя рэзултаты. Відразлівасць коста з самага пачатку запобегае неспакоўным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рэзултат кожнага вызову. Без такога лёгкага следу дэбагаванне агента займае гадзіны. Калі працуеце над стадзіяй «The review ceiling hasn», спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае заліцвачыць пазнейшыя змены коду. Дакументавайце як «шчаслівы» шлях, так і шлях вяснавання. Перапрыбуткі, людзкія контрольныя пункты і обработка нераспакаваных паведамленняў ёсць часткаю продукту, а не пазнейшым дапрацоўкам.
Косц прыямлення, а не косц чытання
Этап касц прыямлення работае наўжоўдзей, калі яго спрыягаюць як мерыемую велічыну. Запісаўце адна ідэальная версія, адзін прыклад неудачы і прыметку па адкату перш чым расшырваць масштаб. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісьць крок не выйшае, неудача павінна адносіцца да конкрэтной адпаведальнасці, а не да заплутанага ланца задач. Адкройце інструменты з вузкімі схемамі і чытальнымі пазначкамі пра пабочныя эфекты. Адпаведальным за эксплуатацію трэба ведаць, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюцься.
Што ваша структура работы не ізолюе
Этап «What your worktree doesn stage» працюе найкрашча, калі яго розглядаць як вімерную паверхню. Запісаўце адна ідэальная транскрыпцыя, адзін прыклад неудачы і прыметку па анулюванню змян перш чым расшырваць масштабы. Разглядзайце гэты этап як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце крытэрыя успеху і не падтрымайце безсловесна часткова завершэнне задання. Адкройце інструменты з вузкімі схемамі і чысткімі пазначэннямі побачных эфектаў. Адпаведальныя за эксплуатацыю должны ведаць, якія вызовы мутуюць стан, перш чым автаматычна схваліць іх.
Пакульшыя шары операцый вырасталі так сама
Этапы розвітку пакуальных слоёў працуюць найэфектывней, калі іх спрыяваць як мерыемую паверхню. Зберагучы адна ідэальная транскрыпцію, адзін прыклад неудачы і запіс пра відкат, перш чым расшырваць масштабы. Запісвайце часы выканання і вартасць токеноў або запытаў разам з функцыйнальнымі рэзультатамі. Візуабельнасць вартасцей з самага пачатку запобегае неспакою з боку расчыткаў, калі працэс пераходзіць з дэмовай асяроддзя ў спакульную. Абяўляйце інструменты з вузкімі схемамі і чысткімі пазначэннямі пабочных эфектаў. Хостам неабходна знаты, якія вызывы мутуюць стан, перш чым яны автаматычна схваляюць іх. Этапы розвітку пакуальных слоёў працуюць найэфектывней, калі іх спрыяваць як мерыемую паверхню. Зберагучы адна ідэальная транскрыпція, адзін прыклад неудачы і запіс пра відкат, перш чым расшырваць масштабы. Дакументавайце як успішны, так і вярнучы паты. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней.
Тры характэрыстыкі слою, які выжывае
Для трохіць власнасцей этапа неабяжна прадзефінаваць вхідныя даны, адміністратара крока і крэтырыя выходу пры перадзеўці коду. Аператары должны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выконваецца, прычына нехарактэрыстыкі должна вказываць на адзіну адпаведальнасць, а не на заплутаны ланцюг задач. Автэнтыфікуйцеся на входзе і прадзеўжыце автарызацію на роўні дадзеных. Толькі токэн-носіцель не ёсцца межой арэндаванага рэсурсу.
Падсумак: што рабіць па панедзелак
У стадыі падчытання апштракцыі, перш чым зменяць код, неабходна адзначыць вхідныя даны, адпаведальнага за крок і крэтырыя для завершэння. Аперацыйныя працавнікі должны магчымаць перзапуск крока з вядомай точкі контролю, не падозруючы прыхованы стан.
Чэк-ліст для аперацый
У стадыўчыку чэк-ліста для аперацый, перш чым зменяць код, неабходна адзначыць вхідныя даны, адпаведальнага за крок і крэтырыя для завершэння. Аперацыйныя працавнікі должны магчымаць перзапуск крока з вядомай точкі контролю, не падозруючы прыхованы стан.
Зберагаюце канфігурацыю пазначкай за межамі коду прыемліка. Файлы сяродавішча, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавляць аўдыт без неабяжнага чытання всей структуры.
Автэнтыфікуйцеся на шлюзе і паўторна автарызуйцеся на роўні дадзеных. Сам токэн-носіцель не ўтварае межы тэнанты.
Здзейсніце перапаказ пасля дорогіх крокаў. Сістэма не должна занова выклікаць той самы вызыв LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел.
Заморозьце «золаты» набір параметраў прычыну змены запітоў або модэляў. Перамешчанне як самай сістэмы, так і крытэрыяў ацэнкі магчымае сховаць рэгрэсіі.
Калі бюджэт дазволяе, дадзіце тэст на працэс, які пераглядае крытычны маршрут у CI з вікорыстаннем фіксатыв, а не рэальных платных API.
Перш чым запускаць стак, заморозьце версіі, зафіксавце «золаты» транскрыпты для крытычнага шляху і паказайце способы анулювання змян. У спільных срэдах неабходны ліміты частоты запуска, пераконтрольванне прав на выкарыстоўвання рэсурсаў і чысткі власнік для змены секрэтных даных. Валіце простую надзяйнасць працы над крэатыўнымі, адзінразовымі дамэ.
Прыметкі для 401fce7cb1e3: не кладзіце ключы прадаўцаў у рэпазітарый, задаце ліміт токена на адну сесію і зберагачыце транскрыпты разам з фіксатрамі для адлічэння, каб пазнейшыя змены мадэляў заставаліся порównанымі.
Калі працуеце над пунктам 0 з групы заходаў па зміцнэнню, спачатку запісайце умовы: неабходныя даныя, сігнал успеху і тое, што выходзіць на частковай невыполненасці. Такі спіс дапамагае заставаць пазнейшыя змены коду чыстымі. Спрыятлівае ставленне да гэтага пункту — як да даговору між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назвайце артыфакты, задаце крытэрыя успеху і адмовіцеся ад тыхнай частковай, непазначальнай выполненасці.
Дзеянне паўжасткі 0/904: звярніце увагу на час выканання, клас памылкі і колькасць выкарыстоўваных токенаў для гэтай змяты, а пасля, на аднойчынныя пытанні, а не на асобістых спазыраўнях, выявіце, чы хацеце застаўіць гэту змяну.
Этап 1 паўжасткі працуе найэфектывней, калі яго спрыяваць як меравальную плошчу. Запісаце адну ідэальную транскрыпцыю, адзін прыклад памылкі і змяту для вярнення да пачатковага стану, прычаму расшыруваць сферу дзеяння не трэба. Канфігурацыю трэба знаходзіць за межамі коду прыемлівача. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцый должны быць у аднам месца, куды аператары можаць адбавіць аўдыт, не чытаючы весь граф.
Дзеянне паўжасткі 1/904: звярніце увагу на час выканання, клас памылкі і колькасць выкарыстоўваных токенаў для гэтай змяты, а пасля, на аднойчынныя пытанні, а не на асобістых спазыраўнях, выявіце, чы хацеце застаўіць гэту змяну.
Для другага этапа практыкы зміцнення неабяжна пазначыць вхідныя даны, адпаведальнага за крок і крытэрыі завершэння пры перадзеяванні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест амаль неконтрольваных скрыптав. Калі крок не выйшоў, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны працэс.
Дзеянне зміцнення 2/904: вы мераваеце час выканання, класія ошыбак і колькасць выкарыстоўваных токенав для гэтай практыкі, а потым выявляеце, чы рашацеся застаўіць змяну на адной фіксаванай сэтке пытанняў, а не на адзінокых прыкладах.
Калі працуеце над 3-й стадзіяю прыемкі з паўнейшага захавання, спачатку запісайце умовы кантракту: неабходныя даны, сігнал успеху і тое, што выходзіць па частым неудачам. Такі спіс контроля дапамагае заставаць пазнейшыя змены коду чыстымі. Запісвайце час выканання і вартасьць токенаў або запытак па боку функцыйнальных рэзультатаў. Відразлівае паказанне вартасцей запобегае неспадзяваным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя.
Дзеянне прыемкі з паўнейшага захавання 3/904: замеры часу выканання, класаў паказакоў і вітрачання токенаў для гэтай прыемкі, пасля чаго вынікніце рашэнне пра тое, чы хацеце застаўіць змену на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.
3-я стадзія прыемкі з паўнейшага захавання найэфектывней працюе, калі яе спрыямаць як мерыму аб’ект. Запісвайце адну ідэальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваце сферу дзейнасці. Дакументавайце як успешны, так і вярнэнчы паты. Перапрыбуткі, людзкія контрольныя пункты і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжасткі 4/904: звярнуце увагу на час выканання, класію памылак і колькасць выкорыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы робіць змены.
Для 5-го этапу паўжасткі неабходна перад змянай коду задаць вхідныя даны, адпаведальнага за этап і крэтырыя завершэння. Аперацыёныя працавнікі должны магчыма было перазапускаць этап з вядомай точкі контролю, не падозрываючы прыхованы стан. Штодзе гэты этап трэба спрыятаць як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назвіце артыфакты, задаць перакананні на успех і адмовіцеся ад беззвучнага частковага завершэння.
Дзеянне паўжасткі 5/904: звярнуце увагу на час выканання, класію памылак і колькасць выкорыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы робіць змены.
Калі працуеце над 6-ю стадзіяй забезпечэння безпекі, спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць на частым неудачам. Такі спіс дапамагае залічваць пазнейшыя змены ў кодзе чыста і адкрыта. Зберагайце настройкі празь яго коду прыемленае програма. Файлы серавэра, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аўдыт без неабяжлівага чытання всей структуры.
Дзялёўка забезпечэння безпекі 6/904: вымерайце час выканання, класію каштоўкаў і выкарыстоўванне токенаў для гэтай дзялёўкі, а пасля выберайце, чы хацяце застаўіць змену, адпаведна фіксаванаму набору пытанняў, а не індывідуальным спостарожэнням.
7-я стадзія забезпечэння безпекі працуе лепей, калі яе спрыямаць як меравальную плошчу. Зберагайце адны ідэалны прыклад работы, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць сферу дзеяння. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны працэс.
Дзеянне паўжчання 7/904: звярніце увагу на час выканання, класыя ошыбак і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчыне з фіксаваным наборам пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.
Для 8-го этапу паўжчання неабходна перад змянай коду чытко візначыць вхідныя даны, адпаведальнага за этап і крэтырыя завершэння. Аперацыяныя працавнікі должны магчымае перадзваніць гэты этап з вядомага пункта контролю, не прыпускаючы невядомага стану. Запісвайце час выканання і колькасць токенаў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра вітраты запобегае неспакою, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя.
Дзеянне паўжчання 8/904: звярніце увагу на час выканання, класыя ошыбак і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчыне з фіксаваным наборам пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.
Калі працуеце над 9-м падземам прыемкі з ужорсткавання, спачатку запісайце контракт: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі.
Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам.
Падзема 9/904 пры ужорсткаванні: звярніце увагу на час выканання, класыя ошыбакі і вітрату токенав для гэтай прыемкі, а пасля, на базе фіксаванага набору запытанняў, а не індывідуальных прыкладаў, выявіце, чы рэшыцца застаўляць змену.
9-й падзем прыемкі з ужорсткавання будзе эфектывны, якшо яго спрыяваць як меравальную плошчу. Зафіксавайце адны ідэальны прыклад работы, адзін кейс нявыпання і прыемку для вярнення да пачатковага стану, прычым не расшыруючы сферу дзеяння. Спрыяйце гэтаму падзему як контракту межаў між вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце крытэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Дзеянне паўжырання 10/904: звярніце увагу на час выканання, класыя ошыбак і колькасць вікорыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай сяродзеі вопытаў, а не на асобістых спазырэннях, выявіце, чы хацеце застаўіць змяну.
Для 11-й стадзіі паўжырання неабходна перад змянай коду чытача апісацыю вхідных дадзеных, адпаведальнага за крок і крэатарыяў завершэння. Аперацыйныя працавнікі павінны магчымае перадзьвіжваць крок з вядомага пункта контролю, не прымушаныя здагадвацца пра схованы стан. Канфігурацыю трэба зберагчы за межамі коду прыемленае. Файлы сяродзеі, хранальнікі секрэтных дадзеных і флагі функцый павінны знаходзіцца ў адном месцы, якое працавнікі можуць пераглядаць, не чытаючы весь граф.
Дзеянне паўжырання 11/904: звярніце увагу на час выканання, класыя ошыбак і колькасць вікорыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай сяродзеі вопытаў, а не на асобістых спазырэннях, выявіце, чы хацеце застаўіць змяну.
Калі працюеце над 12-й стадзіяю практыкы зароўнавання безпекі, спачатку запісайце умовы кантракту: неабходныя даны, сігнал успеху і тое, што выходзіць на частым неудачам. Такі спіс контроля дапамагае залічыць пазнейшыя змены ў кодзе адкрыта і прозрачна. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач.
Дзеянні практыкы зароўнавання безпекі 12/904: звярзайце статыстыку часу выканання, класу памылак і вітрачання токенав для гэтай практыкі, а потым вырашайце, чы робіць змены на адной основе фіксаванага набору пытанняў, а не на адной лячбе.