Практычныя нататкі: што значыць адказнасць за код, калі яго пішуць агенты
Практычны разбор тэмы «адказнасць за код, які пішуць агенты»: кантракты, праверкі і гатовыя фрагменты кода для каманд, якія ўкараняюць гэты падыход.
Існавайце гэта як перапрацоўку ідэй з артыкула «Што значыць власнасць, калі агенты пішу код» для працаваючых з сістэмай: чыстыя этапы, аранжаваныя блакі для коду і прыметкі з восстанавлення, якія застаюцца пасля перадачы задання. Этап Аналізу работае найкрашча, калі яго розглядаць як меркаваную плошчу. Запісаце адна ідэальная транскрыпцыя, адзін прыклад неудачы і прыметку з відкату перш чым расшырваць масштаб задання. Храніце настройкі параду ад коду прыкладнай програмы. Файлы сераўіса, хранальнікі секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працаваючыя можуць пераглядаць без неабходнасці чытання всей структуры.
Дэлегаванне рэалізацыі, перагляду і архітэктуры
Для адміністрування і перагляду рэалізацыі з дэлегаваннем неабяжна пазначыць вхідныя даны, адпаведальнага за крок і крэтырыя для завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяжна застаўляць людзкую затверджэнняе для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Працэс кампілявання не ёсць гарантыяй полнай адпаведнасці продукту бізнес-трэбованням.
Што трэба для адпаведальнасці
Для этапы «Што трэба для власнасці» неабяжна прадзефінаванне вхідных дадзеных, власніка крока і крэтарыяў завершэння перад зменым коду. Аперацыяныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшае, прычына неудачы павінна вказываць на адну адпаведальнасць, а не на заплутаны працэс. Неабяжна людская апраўда ў тых моментах, калі выконваюцца выдаткі або зменяюцыся даныя для працы. Компіляцыйныя наладкі не ўзроўнаваліся з повнасцю бізнес-процэса.
Што робіць людскі нагляд значымым
Для этапы «Што спрыяе людскаму нагляду» неабходна прадзеявленне вхідных дадзеных, адміністратара шагу і крэтэрыяў завершэння пры змены коду. Аперацыйныя працавнікі павінны магчымаецца перзапускаць шаг з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій этапы як кантракту межаў вхідных дадзеных і перакананых выходных рэзультатаў. Даць назвы артыфактам, прадзеявліць перакананні на успех і адмовіцца ад безгучнага частковага завершэння. Забезпечыце людскія апраўдкі для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны праўай працы. Кампіляцыйныя наладкі не ўзроўнаваліся з пачатковай цэласнасцю бізнес-процэсаў. Для этапы «Што спрыяе людскаму нагляду» неабходна прадзеявленне вхідных дадзеных, адміністратара шагу і крэтэрыяў завершэння пры змены коду. Аперацыйныя працавнікі павінны магчымаецца перзапускаць шаг з вядомай точкі контролю, не падозрываючы прыхованы стан. Зберагачыце настройкі параду ад коду прыемлівання. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцыйяў павінны знаходзіцца ў аднам месцы, якое працавнікі можуць аўдытаваць, не чытаючы ўсё.
Граф.
Як змінююцься рызыкі з часам
Калі працюеце над этапам «Як змінююцься рызыкі», спачатку запісайце умовы контракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Стварайце контрольныя пункты пасля дорогіх крокаў. Сістэма вярнення не должна знову ставіць плату за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
Тады, хто несе адпаведнасць, калі працы выканаюць агенты?
Калі працуеце над стадзіяй «Хто несе адказнасць», спачатку запішыце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі спіс пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок неяксамоства, гэта неяксамоство павінна вказваць на адзіну адказнасць, а не на заплутаны ланцужок задач. Зробіце пераконтроль пасля дорогіх крокаў. Програма не павінна зноў выклікаць той самы вызов LLM, калі аператар праканае пазнейшы вузел.
Забезпечэнне адказнасці
Калі працуеце над стадзіяй «Забэджанне адпаведнае заўважальнасці», спачатку запішыце кантракт: неабходныя даныя, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс пераконтроўкаў дапамагае заставіць пазнейшыя змены коду чыстымі. Спрыймайце гэтую стадзію як кантракт межа данымі і перакананымі выходамі. Дайце назву артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце пераконтроўку пасля дорогіх крокаў. Сістэма вярнення не павінна знову вырахоўваць каштыкі за той самы вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над стадзіяй «Забэджанне адпаведнае заўважальнасці», спачатку запішыце кантракт: неабходныя даныя, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс пераконтроўкаў дапамагае заставіць пазнейшыя змены коду чыстымі. Зберагаце настройкі за межамі коду прыемлівання. Файлы сераўнавальнага сяродавішча, хранілішчы секрэтных дадзенняў і флагі функцый павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабходнасці чытання всей структуры.
Што вы хачаце, каб фрэймворкі захавалі
Этап «Што вы хачаце, каб фрэймворкі захавалі» працуе найкрашча, калі яго розглядаць як вімерную плошчу. Запісаце адна ідэальная версія дадзеных, адзін прыклад неудачы і прыметку па поверненню да пачатковага стану пры розшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контралініі і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней. Храніце стан графа ў простам і тыпаваным фармаце. Вкладзеныя блокі дадзеных маскуюць інфармацыю пра тое, які вузел запісаў кожны поле, і спакоююць працу пасля перарываў.
Чэк-ліст для эксплуатацыі
Калі працуеце над чэк-лістам для эксплуатацыі, спачатку запісаце умовы вікорыстання: неабходныя даныя, сігнал успеху і тое, што выканаецца пад час частковай неудачы. Такі чэк-ліст дапамагае заставіць пазнейшыя змены коду чыстымі і працэсабельнымі.
Запісвайце часы выканання задач і кост токеноў або запытаў праза функцыйнае рэзультат. Відразлівая візуалізацыя костаў запобегае неспакойным рахункам, калі парадок пераходзіць з дэмавай версіі ў спяльныя асяроддзя.
Ствараце контрольныя пункты пасля дорогіх крокаў. Функцыя продакцыйнага запуску не павінна знову нараховваць косты за той самы вызыв LLM, калі аператар перапрыямляе працу да наступнага вузла.
Закрэпіце версіі залежнасцяў і запісвайце хэш адпаведнага зображэння, якое было выкарыстоўвана для дэмавай працы. Возможнасць перадзвічання рэзультатаў лепша, чым традыцыйныя методы працы.
Зберагачыце настройкі парадульна ад коду прыемліка. Файлы асяроддзя, хранільнікі секрэтных даных і флагі функцый павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнай чытанняў усіх элементаў структуры.
Ствараце контрольныя пункты пасля дорогіх крокаў. Функцыя продакцыйнага запуску не павінна знову нараховваць косты за той самы вызыв LLM, калі аператар перапрыямляе працу да наступнага вузла.
Перш чым запускаць даную сістэму, заморозьце версіі, зафіксавце ідэальны транскрыпт для крытычнага шляху і паказвце спосабы анулювання змян. У спільных срэдах неабходны ліміты частоты запуска, пераконтрольванне прав на выкарыстоўвання рэсурсаў і чысткі власнік для змены секрэтных даных. Лепш выбіраць простую надзею на надзейнасць, чым хітрыя експерыментальныя дэманстрацыі.
Прыметка для ae269f04ace5: не кладзіце ключы прадаўцоў у рэпазітарый, задаце ліміт токена на кожную сесію і зберагачыце транскрыпты разам з фіксатрамі для ацэнкі, каб пазнейшыя замены мадэляў заставаліся порównанымі.
Прыметка па забезпечэнню надзейнасці на стадыі 0 работае лепш, калі яе спрыяваць як мерыемую плошчу. Зафіксавце адны ідэальны транскрыпт, адзін прыклад неудачы і прыметку па анулюванні змян перад расшырэнням масштаба. Лепш выбіраць маленькія, тэставаныя елементы, чым велікія скрыпты. Калі якась зе ступеней не выйшла, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны працэс.
Дзеянне паўжасткі 0/911: звярніце увагу на час выканання, класыя ошыбак і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчыне з фіксаваным наборам пытанняў, а не на індывідуальных прыкладах, выявіце, чы хачаце застаўіць змяну.
Для першага этапа паўжасткі зазначэння неабходна ўзначыць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння пры перамены коду. Аперацыйныя працавнікі должны магчыма было перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісвайце час выканання і колькасць токенаў або запытак палягліва да рэзультатаў функцыянальнай працы. Візуабельнасць костоў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя.
Дзеянне паўжасткі 1/911: звярніце увагу на час выканання, класыя ошыбак і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчыне з фіксаваным наборам пытанняў, а не на індывідуальных прыкладах, выявіце, чы хачаце застаўіць змяну.
Калі працуеце над 2-м ўрадзам пункту праўілнявання, спачатку запісайце контракт: неабходныя даны, сігнал успеху і тое, што выходзіць пад частковым нявыпаннем. Такі спіс контроля дапамагае заліцвачваць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам.
Дзеянні праўілнявання 2/911: змерайце час выканання, класію памылак і вітрату токенав для гэтага пункту, а потым выявіце, чы хацеце застаўіць змену на адной пазначанай сэткі пытанняў, а не на адной лячбе.
2-й ўрадзам пункту праўілнявання работае лепей, калі яго спрыяглядаць як меравальную плошчу. Запісайце адну ідэальную транскрыпцыю, адзін прыклад памылкі і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць сферу дзеяння. Спрыяглядайце гэты ўрадзам як контракт межаў уваходных даных і перакананых выходных рэзультатаў. Назвайце артыфакты, задаць крытэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Дзеянне паўжасткі 3/911: звярніце увагу на час выканання, класы памылак і вітрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.
Для 4-го этапа паўжасткі неабходна перад змянай коду чытача апісацыю вхідных дадзенняў, адпаведальнага за крок і крэатарыяў завершэння. Аперацыйныя працавнікі павінны магчымае перадзвігнуць крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Канфігурацыю трэба зберагчы за межамі коду прыемленае. Файлы сераўіса, хранільнікі секрэтных дадзенняў і флагі функцыйяй павінны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь код.
Дзеянне паўжасткі 4/911: звярніце увагу на час выканання, класы памылак і вітрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.
Калі працуеце над 5-м падземам прыемкі з ударожэння, спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі спіс пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, неудача должна паказваць на адну адпаведальнасць, а не на заплутаны ланцюг задач.
Дзялянка ударожэння 5/911: змерьце час выканання, класію памылак і колькасць токенаў, якія былі выкарыстоўваны для гэтай прыемкі, а потым выявіце, чы хацеце застаўці змену на адной фіксаванай сэтке пытанняў, а не на адзінственных прыкладах.
5-й падзем прыемкі з ударожэння работае лепей, калі яго спрыямаць як меравальную плошчу. Запісайце адны ідэальны прыклад работы, адзін кейс неудачы і прыемку для вярнення да пачатковага стану, прычым не расшыруючы сферу дзеяння. Запісвайце часы выканання і кост токенаў або запытаў разам з функцыйнальнымі рэзултатамі. Відразувая візуабельнасць костаў запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя сераўы.
Дзеянне паўжчання 6/911: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змены.
Для 7-го этапу паўжчання неабходна перад змянай коду чытко візначыць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аперацыйныя працавнікі должны магчымае перадзвануць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабходна адначасна задокументаваць шлях успеху і шлях вярнення да нормальнага стану. Практыка павторных спроб, людзкія перакрыцця і обработка некорэктных паведамленняў ёсць часткай продукту, а не етапамі далейшай дапрацоўкі.
Дзеянне паўжчання 7/911: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змены.
Калі працюеце над 8-м падзёлам правіла забезпечэння безпекі, спачатку запісайце контракт: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс контроля дапамагае залічыць пазнейшыя змены коду адкрыта і прозрачна. Спрэцьвуйце да гэтага падзёла як да контракту межу данымі і перакананымі выходамі. Дайце назвы элементам, задаце крытэрыі успеху і не прымайце часткова завершэння без паведамлення.
Дзеянні забезпечэння безпекі 8/911: вымерайце час выканання, класію памылак і колькасць выкорыстоўваных токенав для гэтага падзёла, а потым выберайце, чы рашыцца застаўляць змену на аднойчы заданых крытэрыях, а не на асоціяцыях.