Галоўная / Артыкулы / Парадокс: як перестаць даць своім AI-агентам пажылкі для систем вырабатчыка.

Парадокс: як перестаць даць своім AI-агентам пажылкі для систем вырабатчыка.

Практычныя інструкцыі па викорыстоўванні дапамогі «Stop Handing Your AI Agents Wishes» для прыметных систем: контракты, перакантрольванні та месцы для дадзення коду для команд, якія впрыменяюць гэты патэрн.

1483 слоў

Існавайце гэта як перапрацоўаны варыянт ідэй з артыкула “Маленькая команда разработчиков, набор ИИ-агентов і процес, які спачатку фокусуецца на спефікацыях, і які прабачае ўсё неправдападобнае.” для аператараў: чыстыя этапы, аранжаваныя блакі коду і прыметкі з восстанавлення, якія застаюцца пасля перадачы. Этап Аналізу працюе найэфектывней, калі яго розглядаць як вимерную плошчу. Запісаўце адна ідеальная транскрыпцыя, адзін прыклад неудачы і прыметку з вярненням да пачатковага стану, прычым расшырюючы масштабы. Зберагаўце настройкі праза код аплікацыі. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць контроль, не чытаючы весь граф.

Што такое спефікацыя для нас

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

Две штучныя інтэлект-сістэмы намагаюцца знешкодзіць спецыфікацыю, прычаму ўсё яшчэ не створыла яе жа адна штучная інтэлект-сістэма

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

Ланцюг задач, ад пачатку да канца

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

spec → adversarial review → apply findings → build → diff review → runtime testing → human testing → human merge

Процес стварэння адпавяда двум моделям, які яго не напісалі

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

Агент, які ўсё аднаўляе

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

Што ён дае, што коштае

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

Чэк-ліст для аператараў

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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