Практычныя прытамулкі: памэць AI-агента — гэта не база дадзеных
Практычныя прыказкі: пам’ять AI-агента — гэта не база дадзеных: контракты, перакантрольваннія та слоты для коду для команд, якіе викорыстоўваюць гэты патэрн.
Існавайце гэта як перапрацоўаны варыянт ідэй з статті «Пам’ять AI-агента — гэта не база дадзеных», адпрацаваны для аператараў: чыстыя этапы, аранжаваныя блакі коду і прыметкі з восстанавлення, якія застаюцца пасля перадачы. Этап Апглэву лепш працюе, калі яго розглядаць як вимерную плошчу. Запісаўце адна ідеальная транскрыпцыю, адзін прыклад неудачы і прыметку з вярненням да пачатковага стану, прычаму расшырюваць масштаб. Храніце настройкі параду ад коду прыемлена. Файлы серавэра, хранільнікі секретных дадзеных і флагі функцыяй павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
Пам’ять здаецца простай, пакуль яе не створыце
Для стадіі «Memory Sounds Simple Until» неабяжна прадзеўніць вхідныя даны, абавесцелік крока і крэтынія выходу пры перадзеўніцы коду. Аператары павінны магчымаць перзапуск крока з вядомай точкі контролю без адгадванняя схованага стану. Неабяжна задокументаваць як шлях успеху, так і шлях вяселення. Перапрыбуткі, людзкіе пераказы і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяжна атрымаць пашчаткуванне чалавека для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны праўлення. Падключэнне пад час компілявання не ўзроўнаўаеся з повнайасцю бізнес-процэсаў.
Памяць, Кантэкст, Стан і RAG — гэта разныя рычы
Для стану і етапу контекста памяці неабяжна ўзначыць вхідныя даны, абавесця крока і крэтыры выходу пры зміне коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы павінна вказываць на адну абавесць, а не на заплутаны ланцюг задач. Наводзіце тыя часткі тексту, якія фактычна лежалі в основе адпаведнай адказы. Без цых цітатаў аператары не зможаць розразліць галюцинацыю ад працягу індэксавання.
Контекст
У стадії «Контэкст» неабяцо практычна вводныя даны, адміністратар шагу і крэтыяры завершэння пры перадзеіснаванні коду. Аператары павінны магчымаць перзапуск шагу з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце гэтай стадіі як даговору межа вводнымі данымі і падтверджанымі выходнымі рэзультатамі. Даўце назвы артыфактам, практычна перагляд успеху і адмовіцеся ад тыхнай частковай рэалізацыі, якая не фіксуецца. Забезпечыце людскую апраўду для тых ситуацый, дзе відбываецца выдатак грошэй або зміняюцыся даны для працы. Компіляцыйныя налашчэння не ўзроўнаваны з абсягам роботы практычна. У стадії «Контэкст» неабяцо практычна вводныя даны, адміністратар шагу і крэтыяры завершэння пры перадзеіснаванні коду. Аператары павінны магчымаць перзапуск шагу з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце налашчэнні параду коду прыкладнення. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцый павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяцанага чытання всіх элементаў.
Памяць
Калі працюеце над стадзіяй памяці, спачатку запісайце контракт: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераконтролюе чыстасць пазнейшых змян у кодзе. Дакументавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе етапы контролю і обработка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зрабіце контрольны пункт пасля дорогіх крокаў. Програма не должна зноў выклікаць той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
Стан
Калі працюеце над стадзіяй «Дзяржава», спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўваець дапамагае залічыцца з пазнейшымі зменамі ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыпання павінна вказываць на адну адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце пераконтроль пасля дорогіх крокаў. Програма не павінна зноў ставіць плату за той самы вызов LLM, калі аператар праканае пазнейшы вузел.
RAG
Калі працуеце над стадзіяй RAG, спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрэчвайце гэтую стадзію як контракт межа даннімі і перакананымі выходамі. Дайце назвы артыфактам, задаце правіла пераканання успеху і не прыймайце часткова завершэння без паведамлення. Змяроўваце рэкалі на фіксаваным наборе запитаў прычым падбір прамптов. Частае змена прамптов рэдка калі вярнуе слабую систему пошуку. Калі працуеце над стадзіяй RAG, спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Зберагаўце настройкі за межамі коду прыемлівача. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Короткатэрмінная памяць — гэта рабочая памяць агента
Кораткаспрачная памяць працуе наўсёх краща, калі яе розглядаць як вимерную структуру. Запісаўце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Дакументаваўце як шлях успеху, так і шлях вярнэння. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Храніце стан графаў у простам і типаваным формате. Вкладзеныя структуры маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакшваюць продовжэнне роботы пасля перерываў.
Даўгаспрачная памяць должна заслужыць свае месца
Для роботы фазы «Адміністрацыя дзейнаў дугага тэрміну» найкраща ўваходзіць у склад мерыябельнай структуры. Запісаўце адна «золатая» копія даных, адзін прыклад неудачы і запіс пра вярненне да поперадняго стану, перш чым расширваць масштабы. Валічыце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа павінны быць простымі та з адначыя структурамі дадзеных. Вкладаныя блокі даных маскуюць інфармацыю пра тое, який вузел запісаў кожна поль і спакшуюць продовжэнне роботы пасля перерываў.
RAG — гэта не дзейнавы дугага тэрміну
Этап RAG Is Not Long-Term працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адны прыклад неудачы і запіс пра відкатаванне перш чым расширваць масштабы. Разглядзіце этап як кантракт межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце критэрыі успеху і не падзейцеся тыхам, калі задача выканана часткова без паведамлення. Раздзеліце правілы часткавання данных ад правіл яўлення іх. Змена адных не должна прымусіць перапісваў іншых, калі змянююцца паказнікі якасці. Этап RAG Is Not Long-Term працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адны ідеальны прыклад, адны прыклад неудачы і запіс пра відкатаванне перш чым расширваць масштабы. Зберагачыце настройкі параду ўнутры коду прыемліцеля. Файлы сяродавішняе сераўысу, хранілішча секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, куда аператары можуць аудытаваць іх без неабяжнага чытання всіх дадзеных.
У багацых процесах стан ўжо болей важны чым памяць
Для стадіі «State Is Even More» неабяжна прадзеўкаваць вхідныя даны, абавесцелювальніка крока і крэтыяры выходу пры перадзеўкаванні коду. Аператары павінны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія перакрыцці і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяжна атрымаць людзкую згоду для тых крокаў, якія выкарыстоўваюць грошы або зменяюць даны прадукцыі. Працэс кампайлявання не ўзроўнаваецца з повнасцю бізнес-функцый.
Не кожнае, што адбылася, заслуговае на запамятаванне
Для ўрагу «Не всё, што адбылася», перш чым зменіць код, неабходна визначыць інпуты, адпаведальную особу за крок і критэрыі завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы прыхованы стан. Валідзіце маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес. Заставляйце людзей апраўдваць рашэнняя ў тых випадках, калі грошы выдаваюцца або зменяюцься даныя для працы. Компіляцыйныя налашчэння не ўзроўнаўцяюцься з повнай адпаведальнасцю ў бізнесе.
Што должен памятаць агент?
Для стадіі «Што должен зрабіць агент» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перазапускаць крок з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрацавляйце з гэтай стадіяй як з кантрактом межаў вхідных дадзеных і перакананых выходных рэзультатаў. Даўце назвы артыфактам, узначыце крэтыяры успеху і адмовіцеся ад беззвучнага частковага завершэння. Заставіце людзкую апраўду на тых кроках, дзе выкорыстоўваюцца грошы чы зміняюцыся даны для працы. Працэс складання коду не ўзначае повнайсткі завершэння бізнес-процесаў. Для стадіі «Што должен зрабіць агент» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перазапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце настройкі параду ад коду прыемлівання. Файлы сераў, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працавнікі можуць аудытаваць, не чытаючы весь структураны код.
Стабільныя настройкі
Калі працюеце над стадзіяй стабільных настройкаў, спачатку запісайце контракт: неабходныя даны, сигнал успеху і тое, што выканаецца у разе частковага невыпання. Такі список контроля дапамагае залічваць змяны ў кодзе чыста. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў є частью продукту, а не наступным этапам дорабкі. Зробіце контрольную пазнаку пасля дорогіх крокаў. Продовжэнне роботы не должна занова ставіць плату за той самы вызыв LLM, калі аператар перапрыбуе пазнейшы вузел.
Явна падтверджаныя рашэнні
Калі працюеце на стадыі «Явная парадактаваная рашынка», спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у случае частковага неяксамоства. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не ўдаецца, неяксамоства должны вказываць на адну адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце перапактаванне пасля дорогіх крокаў. Програма не должна зноў выклікаць той самы календар LLM, калі аператар праказвае пазнейшы вузел.
Корыстныя історычныя рэзультаты
Калі працуеце над стадзіяй «Прыдатныя історычныя рэзультаты», спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладоў заходзіць пазнейшыя змены коду чыстымі. Спрыймайце гэтую стадзію як контракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце перакананне пасля дорогіх крокаў. Продовжэнне не павінна зноў выклікаць той самы календар LLM, калі аператар прабуе зноў запрацаваць з пазнейшым вузлам. Калі працуеце над стадзіяй «Прыдатныя історычныя рэзультаты», спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладоў заходзіць пазнейшыя змены коду чыстымі. Зберагаце настройкі за межамі коду аплікацыі. Файлы сераў, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Кампактныя падсумкі заданняў
Этап стварання кампактных падзеў заданняў працюе наякша, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідеальная транскрыпцыя, адзін прыклад неудачы і прыметку па адвярненню перад расшырэнням масштаба. Дакументавайце як шлях успеху, так і шлях вяснавання разам. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не наступным этапам дапрацоўкі. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць, який вузел запісаў канкрэтны поле, і спакшуюць продовжэнне роботы пасля перарываў.
Чаго агент не должен памяцать?
Прыцэп «Што павінен рабіць агент» працуе наяўна, калі яго спрыяваць як вимерную паверхню. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Валідзіце маленькія, тэставаныя элементы замест амаль неконтрольваных скрыптав. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адповядальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа павінны быць простымі та з адначытаемым типам. Вярнутыя структуры дакладна не показуюць, який вузел запісаў канкрэтны поле, і спакойна перываюць роботу пасля перарываў.
Кожна адпаведзь модэлю
Этап адаптацы модэлю Every працюе наякраўсі, калі яго спрыяваць як мерыемую паверхню. Зберагуце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрыяйце гэтаму этапу як кантракту межа вхіднымі дадзеннямі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і адмовіцеся ад тыхоўскага частковага завершэння задання. Задаце ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі. Этап адпаведзей модэлю Every працюе наякраўсі, калі яго спрыяваць як мерыемую паверхню. Зберагуце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Зберагуйце настройкі параду ўнутры коду прыемлівача. Файлы сяродавішча, хранільнікі секрэтных дадзенняў і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
Выходны рэзультат кожнага інструмента
Для стадіі выходу кожнага інструмента неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры змяне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Автентыфікуйцеся на воратах і паўторна автарызуйцеся на роўні дадзенняў. Толькі токэн-носіцель не є межай арендаванага ресурсу.
Тымчасовыя адказы
Для стадіі тымчасовых адыянаў неабходна пазначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры перадзеі коду. Аперацыйныя працавнікі должны магчымае рэаналізаваць крок пачаткуючы з вядомага контрольнага пункту, не прымушаныя здогадвацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшаў, прычына адказкі должна вказываць на конкрэтную адпаведальнасць, а не на заплутаны процес. Неабходна людская апраўда для тых крокаў, якія выкарыстоўваюць грошы або зменяюць даны ў працэсе. Компіляцыйныя наладкі не ўзроўнаваліся з повнасцю бізнес-процэсаў.
Неперакананыя прыпускі модэлю
У стадії непераканалізаваных прыяздоў модэлі неабходна перад зменым коду задаць вхідныя даны, адпаведальнага за этап і крэтыяры завершэння. Аперацыёныя працавнікі должны магчымае запускаць этап з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрацавляйце з гэтай стадіяй як з кантрактом межа вхіднымі данымі і пераканалізаванымі выходнымі данымі. Даць назвы артыфактам, задаць пераканалізаванні успеху і адмовіцца ад безслуховага частковага завершэння. Калі наступным этапам ёсць код або вызов інструменту, валідаваць структураваныя выходныя даны з валідацыёю схемы, а не просты прозаўны тэкст. У стадії непераканалізаваных прыяздоў модэлі неабходна перад зменым коду задаць вхідныя даны, адпаведальнага за этап і крэтыяры завершэння. Аперацыёныя працавнікі должны магчымае запускаць этап з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Хавайце канфігурацыю за межамі коду прыкладнення. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцияў должны знаходзіцца ў аднам месцы, якое працавнікі можуць аудытаваць, не чытаючы весь граф.
Чулыя меркаванні без чыстага разлогу
Калі працуеце з чулымі меркаваннямі без адзінаго ўрадку, спачатку запісайце контракт: неабходныя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтрацеў дапамагае залічыць змяны ў кодзе. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є частью продукту, а не дадатковым дапрацоўкам. Зробіце пераконтракт пасля дорогіх крокаў. Система вярнення не павінна знову вырахоўваць кашты за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
Памяць можа быць некалькавата
Калі працюеце над этапам «Памяць можа быць некоректной», спачатку запісайце умовы працы: неабяжлівыя даны, сигнал успеху і тое, што выканаецца у разе частковага невыпалення. Такі список пераканаецца дапамагчы залічваць змяны ў кодзе чыста. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, прычына невыпалення павінна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце перапактаванне пасля дорогіх крокаў. Програма не павинна зноў стягваць плата за той самы вызов LLM, калі аператар праканаецца з новой спробай на пазнейшым этапе.
Памяць патрабуе цыклу жыцця
Калі працюеце над стадзіяй «Патрабаванні памяці: жыцёвы цикл», спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нэуспеху. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Спрэцьвуйце да гэтай стадзіі як да контракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задацье правіла пераканання успеху і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце перакананне пасля дорогіх крокаў. Програма для продакцыі не павінна зноў выклікаць той самы календарны вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працюеце над стадзіяй «Патрабаванні памяці: жыцёвы цикл», спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нэуспеху. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Зберагачыце настройкі за межамі коду прыемлівання. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцый павінны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць аудыт без неабяжлівага чытання всей структуры.
Адказнасць за выхідны матэрыял
Этап «Асалодж Сорс Мэтэрс» працюе найкраща, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідеальная версія, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументавайце як успішны, так і варыянт вярнэння да нормальнага стану. Перапрыбуткі, людзкія контрольны пункты і обработка некоректных паведамленняў ёсць часткай продукту, а не чымось, што дадаецца пазней. Храніце стан графаў у простам і типаваным формате. Вярнутыя структуры дакументаў маскуюць інфармацыю пра тое, калькі вузел запісаў калькі поле, і спакшваюць продовжэнне выканання пасля перарываў.
Памяць таксама павінна мець адпаведныя перакананні
Этап «Памяць должна мець адпаведна доверы» працюе найэфектывней, калі яго розглядаць як вимерную паверхню. Запісаўце адна «золатая» транскрыпцыя, адин прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты обработкі дадзеных павінны быць простымі та з адначытаемым типам. Вярнутыя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працу пасля перерываў.
Апісанні ўжытковыя, але яны застаюцься тлумачэннямі
Апавяданні ўжытковыя, але стадія працюе найэфектывней, калі яе спрыягаюць як до меркавання. Зберагчыце адны ідеальны прыклад, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштаб. Спрыягайце гэту стадію як кантракт межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Рэзультаты стадіі трэба зберагчыць у простам і типаванам формате. Вярнутыя структуры данных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакшуюць возможнасць працы пасля перарываў. Апавяданні ўжытковыя, але стадія працюе найэфектывней, калі яе спрыягаюць як до меркавання. Зберагчыце адны ідеальны прыклад, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштаб. Конфігурацыю трэба зберагчыць паза кодам прыкладнай програмы. Файлы сяродавішча, хранільнікі секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх дадзеных.
Не дазвольце памяці стаць другым источнікам правды
Для стадіі «Не дазволь памяці» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры змяне коду. Аперацыйныя працавнікі должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяжна застаўляць людзкую затверджэнняе для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Працэс складання коду не ўзначае повнайшага адпрацоўкі продукту з точка зору бізнес-тэчак.
Памяць трэба абмежыць
Для стадіі «Памяць должна быць скарабелена» неабходна падзеяванне вхідных данных, абонента крока і крэтарыяў выходу пры перадзеіснаванні коду. Аператары должны магчымае перадзеіснаваць крок з вядомага пункта контролю, не спрабоўваючы з’ясаваць захаваны стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшаў, прычына неудачы должна вказываць на адну конкрэтную абавязку, а не на заплутаны процес. Неабходна людская апраўда для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даныя у працэсе. Компіляцыйныя наладкі не ўзначаюць павноты бізнес-процэса.
Адзысканне памяці — гэта ўсё тая ж проблема пошуку
Для стадзіі адгэтування памяці неабходна ўперадзе вызначыць інпуты, адпаведальную за ўсё аддзел і крэтыры завершэння перад змянай коду. Аперацыёныя працавнікі должны магчымае перадзе запускаць гэты аддзел з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце таму, каб гэтая стадзія была схожа на контракт межа інпутамі та перакананымі выходнымі даннымі. Дайце назвы всім элементам, вызначыце крэтыры успеху і не прабоўваюце прыймаць часткова завершаныя рэзультаты без падтверджэння. Указывайце тыя часткі тексту, якія фактычна лежаць у падставе адпаведнай адказы. Без ціх цитатаў аперацыёныя працавнікі не зможуць адразніць галюцинацыю ад працягу індэксавання. Для стадзіі адгэтування памяці неабходна ўперадзе вызначыць інпуты, адпаведальную за ўсё аддзел і крэтыры завершэння перад змянай коду. Аперацыёныя працавнікі должны магчымае перадзе запускаць гэты аддзел з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагайце настройкі параду ад коду прыемлівання. Файлы сяродавішча, хранільнікі секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аперацыёныя працавнікі могу пераглядаць, не чытаючы весь код.
Графік.
Запісуйце менш. Адаптавайце краща.
Калі працуеце над этапам «Запісуйце менш. Адаптавайце краща», спачатку запісайце умовы контракту: неабяжлівыя даны, сигнал успеху і тое, што выходзіць пад часты няудачны результат. Такі список контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі. Документавайце як шлях успеху, так і шлях вярнення да стану нормы. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных поведань ёсцю частью продукту, а не пазнейшым дапрацоўкам. Змяржывайце рэткасць адпаведзенняў на фіксованы набор запытань прычымо да налаштавання падказак. Часта змена падказак рэдка калі-небудзь выправляе слабую систему адналёгчэння інформацыі.
Для памяці таксама неабходна можлівасць спостэрэння
Калі працуеце над стадзіяй «Memory Needs Observability Too», спачатку запісайце умовы викорыстоўвання: неабходныя даны, сігнал успеху і тое, што выходзіць пад час частковага абякання. Такі список контролю дапамагае залічыцца з пазнейшымі змянамі ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок абякае, прычына абякання павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце перапактаванне пасля дорогіх крокаў. Програма не павінна зноў стягваць плата за той самы вызов LLM, калі аператар праканае выконанне наступнага элемента.
Болей рэалістычная архітектура памяці агента
Калі працуеце над стадзіяй «Больш адрысны агент», спачатку запісайце кантракт: неабяжлівыя данні, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрэчвайце гэтую стадзію як кантракт межа даннімі і перакананымі выходамі. Дайце назву артыфактам, задацьце перакананні успеху і не прымайце часткова завершэння без паведамлення. Зробіце перакананне пасля дорогіх крокаў. Система вярнення не должна зноў выклікаць той самы календар LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над стадзіяй «Больш адрысны агент», спачатку запісайце кантракт: неабяжлівыя данні, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Зберагачыце настройкі за межамі коду прыемлівання. Файлы сераўнавальнага сяродавішча, хранілішчы секрэтных дадзенняў і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Контэкст працы
Этап Рабочага контэксту працюе наяўней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументавайце як шлях успеху, так і шлях вярнэння. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Храніце стан графа ў простам і типаваным формате. Вярнутыя структуры маскуюць, який вузел запісаў канкрэтны поле, і спакшваюць продовжэнне роботы пасля перарываў.
Кораткапрацэсавая памяць
Этап кашточнай памяці працюе наўсёх краща, калі яго розглядаць як вимерную структуру. Запісаўце адна «золатая» версія, адин прыклад неудачы і запіс пра вярнэнне да поперадньага стану, прычаму расшырваць масштаб не трэба. Валіце прыоритет маленькім, тэставаным елементам працэўніку вялікіх, заплутаных скрыптав. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа павінны быць простымі та з адначытаемым типам дадзеных. Вярнутыя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакойваюць працэс пасля перарываў.
Доўгачасовая памяць
Этап дзейнаў дугга-часовай памяці працуе наўлучней, калі яго спрыяваць як мерыму аб’ект. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Спрыяйце гэтам этапу як кантракту межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і адмовіцеся ад тыхняй частковай роботы без паведамлення. Храніце стан графа ў простым і типаванам формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць продовжэнне роботы пасля перарываў. Этап дзейнаў дугга-часовай памяці працуе наўлучней, калі яго спрыяваць як мерыму аб’ект. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Храніце настройкі параду ўнутры коду прыемліцеля. Файлы сераў, хранальнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабходнасці чытання всего графа.
Знанні / RAG
Для стадіі Knowledge RAG неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры перадзеі коду. Аперацыйныя працавнікі павінны магчымае перазапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Указваць трэба тыя часткі тексту, якія фактычна ляглі в основу адпаведнай адказы. Без цых цітатаў аперацыйныя працавнікі не зможуць адразліць галюцинацыю ад прасоў у індэксаванні.
Стан прыемлівання
Для стадіі «Стан аплікацыі» неабяжна прадзефінаваць вхідныя даны, адміністратара крока і критэрыя завершэння пры перадзначэнні коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест амаль неконтрольваных скрыптав. Калі крок не выконваецца, прычына неудачы должна вказываць на адзін конкрэтны элемент, а не на заплутаны ланцюг задач. Неабяжна людская апраўда для тых крокаў, якія выкарыстоўваюць грошы або зменяюць даны ў працэсе виробніцтва. Компіляцыйныя налашчэння не ўзроўнаўцяюцься з пачатковым станом бізнес-процэсаў.
Што трэба запытаць пры дадаванні памяці
Для стадіі «Што вы хацеце запытаць» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры перадзеіснавленні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій стадіі як даговору межаў вхідных даных і перакананых выходных рэзультатаў. Даць назвы артыфактам, узначыць перакананні на успех і адмовіцца ад безгучнага частковага завершэння. Заставіць людзкую апраўду для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Компіляцыйныя налашчанні не ўзначаюць павнае завершэння бізнес-процеса. Для стадіі «Што вы хацеце запытаць» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры перадзеіснавленні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Зберагачыце налашчанні параду ўнутры коду прыкладнення. Файлы сераў, хранільнікі секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь граф.
Большы лекцыя
Калі працуеце над стадзіяй «Большы лекцыя», спачатку запісайце умовы: неабяжлівыя данні, сигнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі список контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Контрольны список для эксплуатацыі
Калі працуеце над стадзіяй «Контрольны список для эксплуатацыі», спачатку запісайце умовы: неабяжлівыя данні, сигнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі список контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Запісвайце часы выканання задач і кост токеноў або запытаў праза функцыйнае рэзультат. Відразлівая візуалізацыя костаў запобегае неспакойным рахункам, калі парадок пераходзіць з дэмавай версіі ў спяльныя среды.
Ствараце контрольныя пункты пасля дорогіх крокаў. Функцыя продакцыйнага запуску не должна зноў нарахоўваць косты за той самы вызов LLM, калі аператар прабуе зноў выконаць пазнейшы вузол.
Закрепіце версіі залежнасцяў і запісвайце хэш адпаведнага зображэння, якое выкорыстоўвалася для дэмавай версіі. Возможнасць перадаравання рэзультатаў лепшая за традыцыйныя методы.
Зберагачыце настройкі параду ад коду прыемліка. Файлы среды, хранільнікі секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнай чытанняў усіх элементаў структуры.
Ствараце контрольныя пункты пасля дорогіх крокаў. Функцыя продакцыйнага запуску не должна зноў нарахоўваць косты за той самы вызов LLM, калі аператар прабуе зноў выконаць пазнейшы вузол.
Перш чым запускать стак, заморозьце версіі, зафіксавце „золаты” транскрыпты для критычнага шляху і паказайце способы абяроны. У спільных средах неабходны ліміты частоты запытанняў, пераконтрольванне прав на выкарыстоўвання ресурсаў і чысткі власнік для змены секрэтных даных. Лепш выбіраць простую надзею на надзейнасць, чым хітрыя експерыментальныя дэманстрацыі.
Прыметкі для 4de2ca1714e6: не кладзіце ключы прадаўцаў у репазітарый, задаце ліміт токена на кожную сесію і зберагачыце транскрыпты празаўседы ў фіксы для ацэнкі, каб пазнейшыя замены моделяў заставаліся пораўнанымі.