Практычныя прытамулі: Чаму ваш агент пераходзіць кожную адзінку тэставання, але ўсё раву не выконвае своія задачы у рэальных умовах
Практычныя прыказкі: Чаму ваш агент пераходзіць кожную атрыбутацыю, але ўсё раву зазнае няудачы ў рэальных умовах: контракты, перакантрольваннія і месцы для вставкі коду для команд, якія выкарыстоўваюць гэты патэрн.
Наступныя прытамлівкі паказваюць практычны шлях разгледу пытання «Чаму ваш агент пераходзіць кожную пераканальню і ўсё ж прағатуе ў рэальных умовах». Акцэнт ставіцца на кантракты, пераканальныя процесы і места для коду, а не на мотывацыйныя аспекты. Калі працуеце на стадзіі агледку, спачатку запісайце кантракт: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разы частковага прағатування. Такі список контролю дапамагае заліцьварыць пазнейшыя змены ў кодзе. Спрэцьвуйце гэтую стадзію як кантракт межа даннэмі і пераканальнымі результатамі. Дайце назвы элементам, задаце критэрыя успеху і не падзеўляйцеся частковым завершэнням без паведамлення.
Чаму набор для пераканалення старэе ў той жа дзень, калі яго адправляюць
Этап eval set працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Запісвайце часы выконання і вартасць токеноў або запытак паляглыя ля рэзультатаў функцыйнасці. Відразлівае паказанне вартасцей з самага пачатку запобегае неспакою, калі процес пераходзіць з дэмовай среды ў спяльнаныя сераўы. Храніце стан графа ў простам і типаваным формате. Вярнутыя структуры дакументаў маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакшваюць продажчыку роботу пасля перарываў.
Drift 1: dataset drift
Этап змін у наборе дадзеных Drift 1 працюе наяўней, калі яго спрыяваць як вимерную паверхню. Зафіксавайце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Зберагаюце настройкі пазыроўна ад коду прыемлівача. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў адном месцы, куда аператары можуць адбавляць контроль, не чытаючы весь граф. Зберагаюце стан графа у простам і типаваным формате. Вкладныя блокі маскуюць інфармацыю пра тое, який вузел запісаў якое поле, і спакоююць продажчыку пасля перарываў.
Drift 2: зміны ў інструмент-API
Этап дрыфту інструмента-API Drift 2 працюе наякша, калі яго спрыяваць як меравальную паверхню. Зберагчыце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Дакументавайце як успішны, так і вярнучыся шляхы. Перапрыбуткі, людзкія контраліны і обработка некоректных паведамленняў є часткай продукту, а не наступным этапам дорабатка. Актуалізавайце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных наследкаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць ўпрацоўкі. Этап дрыфту інструмента-API Drift 2 працюе наякша, калі яго спрыяваць як меравальную паверхню. Зберагчыце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Спрыявайце гэтам этапу як кантракту межа вхіднымі даннымі та перакананымі выходнымі рэзультатамі. Даўайце назвы артыфактам, задаюце критэрыя успеху та адмовляйцеся ад беззвучнага частковага завершэння.
Drift 3: дрыфт запытаў
Для стадіі Drift 3 неабяжна ўскладнення праграмы трэба перад змянай коду задаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыёныя системы должны магчымаць перзапуск кроку з вядомай точкі контролю, не прабуючы спадарожваць схованы стан. Неабяжна фіксацыя часу выкарыстоўвання тэкстаў або запытак разам з функцыйнальнымі рэзултатамі. Відразувыя даны пра вартасць запобегаюць неспадзяваным расчыткам, калі процес пераходзіць з дэмавай версіі ў спяльныя сераўысы. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакананнем ў правільнасці схэмы, чым вольнай формы тэкст.
Drift 4: дрейф корпусу даных
Для стадіі Drift 4, яка адаптуюць корпус дадзеных, неабяжна ўскладніць вхідныя даны, абавесць адпаведальнага за этап і крэтыры завершэння пры перадзеяванні коду. Аператары павінны магчымаць перзапуск этапа з вядомай точкі контролю, не падозрываючы прыхованы стан. Конфігурацыю трэба знаходзіць паза кодам прыемленае. Файлы серавэра, хранілішча секретных дадзеных і флагі функцый павінны быць у адном месца, якое аператары можаць пераглядаць, не чытаяўшы весь лянцуг задач. Паказваць неабяжна тые часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цых цітатаў аператары не зможаць разлічыць галюцинацію ад працягу індэксавання.
Drift 5: дрыфт распадзелу корыстнікаў
Для стадіі дрыфту падзелу пользователяў у Drift 5 неабходна перад змянай коду задаць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння. Аперацыёныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабходна аддзеўнаваць як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія пераказы і обробка некоректных паведамленняў є часткай продукту, а не дадатковымі правакамі пазнейшае. Неабходна застосавляць людзкую апраўдку для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны прадукцыі. Працэс кампайлявання не є гарантыяй полнай адпаведнасці продукту выклікам бізнесу. Для стадіі дрыфту падзелу пользователяў у Drift 5 неабходна перад змянай коду задаць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння. Аперацыёныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяць гэтай стадіі як кантракту межаў вхідных данных і апраўданых выходных рэзультатаў. Назваць всі элементы, задаць крэтыяры успеху і не прабаваць прыймаць часткова завершаныя рэзультаты без падтверджэння.
Drift 6: агентскіе крокі і ўзаўмна даплата
Калі працуеце над стадзіяй Drift 6 з агентскімі крокамі і ўзаўмной даплатай, спачатку запісуйце контракт: неабходныя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае заліцвачыць пазнейшыя змены ў кодзе. Запісвайце часы выконання і кост токеноў або запытаў праза функцыйнае рэзультат. Відкрытыя даны пра косцы запобегаюць неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя среды. Зробіце контрольную пазнаку пасля дорогіх крокаў. Функцыя адновлення не должна зноў нарахоўваць косты той самай вызову LLM, калі аператар прабуюць зноў выконаць пазнейшы вузел.
Чаму большая колькасць офлайн-ацэнак не можа гэта выправіць
Калі працюеце над стадзіяй «Чаму больша колькасць афлайн-ацыянаў», спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Зберагаеце настройкі за межамі коду прыемліка. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць без неабходнасці чытання всей структуры. Ствараеце контрольныя пункты пасля дорогіх крокаў. Функцыя вярнення роботы не должна занова ставіць плату за той самы вызов LLM, калі аператар перапрыяўляе роботу да пазнейшага вузла.
Оцэніце трэйс па чатырох осях, а не па адной
Калі працуеце з алгорытмам Score the trace на стадіўцы, спачатку запісайце умовы кантракту: неабходныя данні, сигнал успеху і тое, што выканаецца у разе частковай нявыполненасці. Такі список пераканаецца дапамагае залічваць пазнейшыя змены ў кодзе чыста.
Цикл promote-back
Этап цыклу promote-back працюе наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Запісвайце часы выконання і косты токеноў або запытак па боку ад функцыйнальных рэзультатаў. Візуабельнасць костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спяльнаныя сераўы. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў які поле, і спакшваюць продажчыку роботу пасля перарываў.
Тры компрэсіі, якія вы здабровалялі
Тры ўзаемныя падступкі, якія вы выкалічылі на практыцы, працуюць найэфективнейша, калі іх розглядаць як вимерную паверхню. Запісаўце адна ідеальная версія, адзін прыклад неудачы і прыметку па адвярненню перад расшырэнням масштаба. Зберагачыце настройкі паза кодам прыемлі. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх дадзеных. Зберагачыце стан графа ў простам і типаванам формате. Вкладныя блокі маскуюць інфармацыю пра тое, який вузел запісаў якое поле, і спакоююць працэс пасля перарываў.
У чым справа
Этап «What this comes down» працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адну справу з бягамі та прыметку па вярнэнню да пачатковага стану пры розширэнні масштаба. Дакументавце як шлях успеху, так і шлях вярнэння. Перапрыбуткі, людзкія контраліны та обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Храніце стан графа як просты та з типамі дадзеных. Вярнутыя блокі маскуюць, канфедзеўскі вузел запісаў канкрэтны поле, і спакойваюць працу пасля перарываў. Этап «What this comes down» працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адну справу з бягамі та прыметку па вярнэнню да пачатковага стану пры розширэнні масштаба. Разглядвайце гэты этап як кантракт межа вхіднымі дадзеннямі та перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху та адмовіцеся ад беззвучнага частковага завершэння.
Чек-ліст для эксплуатацыі
У стадії перагляду канцэлярскіх пунктавых списака неабходна ўзначэння вхідных дадзеных, адпаведальнага за кожны пункт і крэатарыяў завершэння працы перад змінайом коду. Аператары должны магчымае перадзванаць кожны пункт з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан.
Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптав. Калі пункт не выканаўся, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач.
Неабходна людская апрацоўка тых крокав, якія ведуць да выдаткаў грошаў або змян у продакцыйных дадзеных. Компіляцыйнае підключэння не ўзначае повнайсткі реалізацыі задачі.
Трэба стежыць за костам і часам адпаведзення разам з якасцю. Нейкі адпаведзенне, якае ў 10 разоў дешэвей, але трохі гorsзае, можа быць правильным выборам для прыемлівання ў працэўную среду.
Неабходна фіксавацыя версій залежнасцей і запіс дзействаў, якія выканалі дэманстрацыю. Возможнасць павторэння результатаў важлівей, чым традыцыйныя знання.
Зберагаюце канфігурацыю праза ў кодзе прыемлікага програмнага забезпечэння. Файлы сяродавішча, базы секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх элементаў системы.
Перад паднесенням стака неабходна заморазіць версіі, зафіксаваць критычны варыянт дадзеных і паверыцца ў наявнасць крокаў для вярнення да пачатковага стану. У спільных сяродавішчах трэба выставляць ліміты частоты запытоў, пераканвалівацься ў правільнасць належнасці ресурсаў і вказваць чыстага адпаведальнага за зміны секрэтных даных. Лепш выбраць простую надзею на надзейнасць, чым крэатывныя, але еднакратныя дэманстрацыі.
Прыметка для d826c5986cfd: не трэба клаці ключы прадастоўніка ў репазітары, выставіць ліміт токена на кожную сесію і зберагаць фіксацыі дадзеных праза ў файлы з тестамі, каб пазнейшыя змены модэляў заставаліся пораўнаныя.