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

Практычныя прытамулкі: Я перастаў прабаваць стварыць аднаго АІ-агента, які можа робіць усё.

Практычныя прытамулкі: Я перастаў прабаваць стварыць аднаго АІ-агента, які робіць усё: контракты, перакрычанні, а таксама месцы для коду для команд, якія викорыстоўваюць гэты патэрн.

2780 слоў

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

Первісныя меркаванні былі, фактычна, пра Джарвіса

Калі працуеце над стадзіяй «The Original Dream Was», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Стварайце контрольныя пункты пасля дорогіх крокаў. Програма не должна зноў выклікаць той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.

Для дзялэй з гэтым у вас ўжо былі лепшыя інструменты

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

Падход А

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

Апрабоўкі B

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

Hermes не павінен быць найлепшым програмістам

Hermes Doesn’t Need Stage працюе наякша, калі яго розглядаць як мерыябельную паверхню. Запісаце адна «золатая» транскрыпцыя, адзін прыклад неудачы і прыметку па адвярненне перад расшырэнням масштаба. Воліце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адну адповядальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа трэба зберагчы у простай форме з адзінаковым типам дадзеных. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перарываў.

Падумайце пра тое, як на самай працуюць людзі

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

Архітэктура пачала выглядаць інакш

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

                         ┌──────────────┐
                         │      Me      │
                         └──────┬───────┘
                                │
                                ▼
                       ┌─────────────────┐
                       │   Google Chat   │
                       └────────┬────────┘
                                │
                                ▼
                       ┌─────────────────┐
                       │     Hermes      │
                       │  Orchestrator   │
                       └────────┬────────┘
                                │
              ┌─────────────────┼──────────────────┐
              │                 │                  │
              ▼                 ▼                  ▼
        Coding Agents        AI Models           Tools
       Codex/OpenCode     Local / Cloud      APIs / Servers
              │                 │                  │
              └─────────────────┼──────────────────┘
                                │
                                ▼
                          Final Result

Google Chat стае ўсё цяплей у гэй архітектуры

Для стадіі «Google Chat Becomes More» неабяжна прадзеўкаваць вхідныя даны, адпаведнага адпаведальнага за крок і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшае, прычына нехаспекі павінна вказваць на адзін конкрэтны аспект, а не на заплутаны процес. Неабяжна людская апраўда для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Компіляцыйныя налашчэння не ўзначаюць павнае адпрацоўванне задачі.

Кодаванне — ідеальны прыклад

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

Што тут моделі стаюць інфраструктурой

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

Вы не хачаце, каб персональны ІІ залежаў ад адной компаніі-разрабоўцы модэляў

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

Task
  ↓
Router
  ↓
Best available capability

Маршрутазатор можа з часам стаць важлівейшым за модель

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

Не для кожнага заданняя патрэбны LLM

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

df -h

Правы на выкарыстанне стаюць чырвонымі

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

Памяць — ўсё тое ж частка загадкі

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

Але гэта можа стаць жахлаўна перэаналізаваным

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

User
 ↓
Intent Classifier
 ↓
Planning Agent
 ↓
Model Router
 ↓
Memory Agent
 ↓
Permission Agent
 ↓
Coding Agent
 ↓
Validation Agent
 ↓
Reflection Agent
 ↓
Supervisor Agent
 ↓
Another Agent Watching the Other Agents

Такім чынам, вы пачынаеце з делегавання, а не з автонаміі

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

Мета — не меншыя інструменты AI

Для стадіі «The Goal Is Not» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры перадзмене коду. Аперацыйныя працавнікі должны магчымае перайсці на выкананне кроку з вядомага пункта контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрыяйце цій стадіі як даговору межы вхідных даных і перакананых выходных рэзультатаў. Даць назвы артыфактам, узначыць перакананні пра успех і адмовіцца ад беззвучнага частковага завершэння. Аутентыфікуйцеся на в’язку і паўтарна автарызуйцеся на роўні дадзенняў. Толькі токэн-носіцель не є межай аренды. Для стадіі «The Goal Is Not» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры перадзмене коду. Аперацыйныя працавнікі должны магчымае перайсці на выкананне кроку з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце настройкі параду ад коду прыемлівання. Файлы сяродавішча, хранільнікі секрэтных дадзенняў і флагі функций должны знаходзіцца ў аднам месцы, якое працавнікі можу аудытаваць, не чытаючы весь граф.

Што для мяне значыць Гермес зараз

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

Архітектура, якую вы насправды хачаце

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

                             ME
                             │
                             ▼
                       GOOGLE CHAT
                             │
                             ▼
                    ┌─────────────────┐
                    │     HERMES      │
                    │                 │
                    │ Intent          │
                    │ Context         │
                    │ Memory          │
                    │ Permissions     │
                    │ Orchestration   │
                    └────────┬────────┘
                             │
          ┌──────────────────┼───────────────────┐
          │                  │                   │
          ▼                  ▼                   ▼
     AI MODELS          CODING AGENTS           TOOLS
          │                  │                   │
     Local / Cloud      Codex/OpenCode      GitHub/APIs
     Fast / Strong                           Servers/Tasks
          │                  │                   │
          └──────────────────┼───────────────────┘
                             │
                             ▼
                         HERMES
                             │
                             ▼
                            ME

Можа, мы думаем пра персональныя AI адваротна

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

Пасля трохіх статэйків вывыск здзівляюча просты

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

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

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

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

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

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

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

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

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

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