Галоўная / Артыкулы / Практычныя нарады: Проектаванне кэша для агентаў AI: Його запуск у прымэтнай средзе

Практычныя нарады: Проектаванне кэша для агентаў AI: Його запуск у прымэтнай средзе

Практычныя нарады: Проектаванне кэша для агентаў AI: Його запуск у прымэтнай средзе: контракты, перакананняі та месцы для коду для команд, якія викорыстоўваюць гэты патэрн.

1493 слоў

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

Запісуйце стандартныя цыфры

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

Едынны правіл, якое тыха разрушае расчытанні костаў

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

  Anthropic / Bedrock :  total_input = base + cache_read + cache_write
  OpenAI / Gemini / Azure :  total_input = base
                             uncached    = base − cache_read − cache_write

Чатыры інваріянты, якіе выловляюць багі, якія не даюць сябе пазнакаць

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

Этап практычнае рэалізацыі.

Цифры на панелі керування

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

Тры апавешчэння, якія павінны паставіць вас у ведамасць

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

Телеметрыя прыгадвае, а рахунак фіксуе

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

Калі кэш не працюе, продовжыце аддачу

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

Безпека — частка дызайна, а не дадатковая элемент

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

Шаблоны дизайна

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

Анті-шаблоны

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

Вывад

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

Чек-ліст для эксплуатацыі

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

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

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

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

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

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

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

Прыметка для 77c55b276160: не кладзіце ключы прадаўцаў у репазітарый, задаце верхнюю межу токенаў на сесію і зберагачыце транскрыпты празаўсёды з фікстурамі eval, каб пазнейшыя замены модэляў заставаліся порównанневымі.