Практычныя прытамулкі: Кантролюванне за дапомогою антигравітацыі: Наступленне агентаў (Частка 2)
Практычныя прыказкі: Кантролюванне з дапамогай унітрагравітэту: Развіцець агентаў (Частка 2): контракты, перакантрольванні і слоты для коду для команд, якія викорыстоўваюць гэты патэрн.
Наступныя прытамлівкі паказваюць практычны падход да роботы з матэрыялам «Організація роботы з антыгравітацыёй: Крэсцэндо агентаў (Частка 2)». Акцэнт ставіцца на контракты, перакананняя і месцы для коду, а не на мотывацыйныя элементы. Калі працуеце на стадіі агледзення, спачатку запісайце контракт: неабяжныя даны, сігнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі список контроля дапамагае заліцьваты змяны ў кодзе пазнейша. Документавайце як «гарны» шлях, так і шлях вяснавання. Перапрыбуткі, людзкія етапы контролю і обработка некоректных паведамленняў є частью продукту, а не элементамі пазнейшай дапрацоўкі.
Паралельны кодаванне з git worktrees, Conductor++ і.. Agostina!
Паралельная кодаванне з гіт-стэйджамі працуе найкраща, калі яе спрыявае можна вымерыць паверхня. Запісаўце адна ідеальная версія коду, адзін прыклад неудачы і прыметкі па поверненню да пярвоначальнага стану пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа павінны быць простымі та з адзінаковым типам дадзеных. Вкладаныя блокі дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць продовжэнне роботы пасля перерываў.
Калі гэта сталася з мной
Этап «Калі гэта паўтарыцца» працуе наякша, калі яго спрыяваць як мерыемую паверхню. Запісаце адна «золатая» транскрыпцыю, адин прыклад неудачы і прыметку па вярнэнні да пачатковага стану пры расшырэнні масштаба. Спрыявайце гэты этап як кантракт межа вхіднымі дадзеннямі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і адмовіцеся ад тыхоўскага частковага завершэння. Храніце стан графа ў простам і типаваным формате. Вярнутыя структуры маскуюць, який вузел запісаў канкрэтны поле, і спакшваюць продажчыку працу пасля перарываў.
Let's build a hotel room booking app [..].
First, launch the Engineering Manager agent to ... into an artifact called 'architecture.md'.
Once the design is ready, launch three agents in parallel:
1. Test Manager: Write <SPECS> to 'architecture.md'.
2. Backend Engineer: Build an API based on <SPECS> .
3. Frontend Engineer: Build a web UI based on <SPECS> to interact with the API <details>.
[..] How to sync the 3 sub-agents [..]
Finally, spin up both components and a browser so I can test the live app.
Conductor++ stack: навык «condutree»
Стэк Conductor, у якому выкарыстоўваецца конструкцыя condutree, працюе найэфектывней, калі яго спрыягаюць як доўжэльную паверхню для виміраў. Перш чым расширваць масштабы, зафіксавайце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра процедуру вярнення да пачатковага стану.
Расшырэнне: практыка разработкі з Conductor++ і мнагацяльнымі работамі та агентамі
Для стадіі мнагарабочых дрэва ў процесе расшырэння кандактара неабходна пазначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перамене коду. Аперацыйныя працавнікі должны магчымае рэалізаваць павторную експансію крока з вядомага контрольнага пункту, не спрабоўваючы з’ясаваць захованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Неабходна людская апраўка для тых крокаў, якія выкорыстоўваюць грошы чы зміняюць даны праўдзівай роботы. Компіляцыйныя налашчэння не є прамаравамым паказателем завершання бізнес-процэса.
1. Падготовка
У першым, стадзія падготовкі, пры змене коду неабходна адначасова пазначэнне вхідных дадзеных, адпаведальнага за шаг і крэтарыя завершэння. Аперацыйныя працавнікі должны магчымасць перзапуск шагу з вядомай точкі контролю, не прабуючы спадарацца прыватны стан. Спрыяйце гэтай стадзіі як даговору межа вхіднымі дадзенымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, пазначыце крэтарыя успеху і не прымайце часткова завершэнне без падтверджэння. Забезпечыце людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зменяюць данні ў працэсе вырабоцтва. Компіляцыйныя налашчэння не є адпаведнікамі пачатковай цэлесапраўленасці проекту.
2. Логіка: паралелізм без хаосу
Для стадіі паралелізму логіки 2 неабяжна практыка — адынаваць вхідныя даны, адміністратара крока і крэтырыя для завершэння пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выконання і кост токенаў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае паказанне костаў запобегае неспадзяваным расчыткам, калі процес пераходзіць з дэмавайнага режыма ў спяльныя среды. Заставіце людзкую апраўдку на тых элементах, якія витрачаюць грошы або зменяюць даны ў працэсе. Працэс складання коду не ўзроўнаважваеся з абсалютным завершэнням бізнес-процесаў. Для стадіі паралелізму логіки 2 неабяжна практыка — адынаваць вхідныя даны, адміністратара крока і крэтырыя для завершэння пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Дакументавайце як «шчаслівы» шлях, так і шлях вяснавання проблем. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных запытаў є часткай продукту, а не елементамі, якія дадаюцца пазней.
3. Выконанне: жыццёвы цикл архітектуры оркестрацыі
Калі працуеце над стадзіяй выканання архітектуры оркестрацыі, спачатку запісайте умовы працы: неабяжлівыя даннэ, сигнал працягу і тое, што выканаецца у разы ўзельнага нявыпадку. Такі чарт дапамагае заліцвачыць змяны ў кодзе. Валідзіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, нявыпадак павінен адносіцца да конкрэтной адпаведальнасці, а не да заплутанага ланца задач. Зробіце перапытку пасля дорогіх крокаў. Програма не павінна зноў стягваць плата за той самы вызов LLM, калі аператар праканае пазнейшы вузел.
Практычны прыклад: Праект Benjamin (SRE на базе ADK)
Калі працуеце над аналізам кейсу SRE на данай стадыі, спачатку запішыце умовы кантракту: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі список контроля дапамагае заліцвачыць змяны коду пазнейша. Спрыятлівае ставленне да гэтай стадыі як да кантракту межу даннэмі і перакананымі результатамі. Даць назвы артыфактам, задаць критэрыя успеху і не падзеўляцца частым, неконтрольаваным завершэнням задачы. Зрабіце перапактаванне пасля дорогіх крокаў. Програма для продакцыі не должна занова ставіць плату за той самы вызов LLM, калі аператар праказвае празбор наступнага вузла.
Інтэграцыя і з’еднанне рэзультатаў
Калі працуеце над стадзіяй вынікам злучэння інтеграцыі, спачатку запісайце «контракт»: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыпалення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Запісвайце час выканання і кост токена або запыту праза функцыйнальнымі рэзултатамі. Відразы коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмовай среды ў спакульную. Зробіце контрольны пункт пасля дорогіх крокаў. Функцыя вярнення не павінна зноў нарахоўваць кост той самай вызову LLM, калі аператар праканае пазнейшы вузел. Калі працуеце над стадзіяй вынікам злучэння інтеграцыі, спачатку запісайце «контракт»: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыпалення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Дакументавайце як «шчаслівы» шлях, так і шлях вярнення да нормальнасці. Пракананыя спробы, людзкія контрольныя пункты і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
$ just conductor-status
python3 conductor/bin/conductor-inspector . --open --short
🔍 Inspecting Conductor Workspace: /usr/local/google/home/ricc/git/adk-sre-benjamin
📦 Product: Initial Concept
STATUS | PROGRESS | RATIO | GHI | AGENT | CHANGED | TRACK ID | 🌳
==============================================================================================================================
NEW | ░░░░░░░░░░ | 0/25 | #23 | | 💻 15days | managed_agents_sandbox_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/17 | #22 | | 💻 15days | mcp_streamline_abilities_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/11 | #15 | | 💻 15days | migrate_tf_cb_logic_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/9 | #21 | | 💻 15days | ai_engineering_practices_20260616 |
NOT_READY | ░░░░░░░░░░ | 0/9 | #19 | | 💻 15days | workspace_agent_installation_20260616 |
NEW | ░░░░░░░░░░ | 0/15 | #31 | antigravity| 🐙 16days | disable_mock_fallback_dev_20260616 |
==============================================================================================================================
TOTAL | | 0/86 | | | | 0 completed, 6 open (6 total) | 0 🌳
Часовая шкала рабочага процесу (візуальны аудыт)
Візуальны элемент часовай шкалы рабочага процесу працюе найэфектывней, калі яго розглядаць як меравальную плошчу. Зберагачыце адна ідеальная версія дакумента, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг дзеянняў. Рэжым графа павінен застацца простым і з адначытаемымі даннымі. Вкладаныя структуры дакумента маскуюць інфармацыю пра тое, канферы які вузел напісаў канкрэтны поле, і спакойваюць працу пасля перарываў.
Крок 1: Ініцыялізацыя трактаванняў SRE і рабочых дрэва
Этап 1 «Ініцыялізацыя SRE» працюе найэфектывней, калі яго розглядаць як меравальную плошчу. Зафіксавайце адны ідеальны прымер, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Разглядайце гэты этап як кантракт межа вхіднымі даннымі і пераканаленымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задачы. Храніце стан графа ў простам і типаваным формате. Вярнутыя структуры данных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакойваюць працэс пасля перарываў.
./scripts/conductor-inspector /Users/ricc/git/adk-sre-benjamin --all
================================================================================
CONDUCTOR++ ACTIVE WORKTREES & TRACKS INSPECTION
================================================================================
[Track: telegram_incident_creation_20260603]
Worktree: .worktrees/issue-29-telegram-wizard
Branch: feature/issue-29
Agent: pinocchio
Status: AWAITING_HUMAN (Question: "Verify Telegram Token config?")
GHI URL: https://github.com/palladius/adk-sre-benjamin/issues/29
[Track: unified_incident_lifecycle_observability_20260607]
Worktree: .worktrees/issue-18-discord-warrooms
Branch: feature/issue-18
Agent: grazia
Status: RUNNING
GHI URL: https://github.com/palladius/adk-sre-benjamin/issues/18
================================================================================
Чакайце, аўтар, чы GHI і Conductor — гэта тое ж самае?
Проект «The Wait» адміністратараў GHI працюе найэфективней калі яго спрыяглядаць як меравальную паверхню. Зберагчыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Запісвайце часы виканання задач і косты токеноў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае прадставленне костаў запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спяльныя сераверы. Храніце стан графаў у простам і типаваным формате. Вярнутыя структуры данных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакшваюць продовжэнне роботы пасля перарываў. Проект «The Wait» адміністратараў GHI працюе найэфективней калі яго спрыяглядаць як меравальную паверхню. Зберагчыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Дакументавайце як шлях успеху, так і шлях вярнэння да нормальнага стану. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Крок 2: Ізоляцыя паралельных дрэва роботы
Для стадіі паралельнага робочага дрэва на 2-му крыце неабяжна ўзначыць вхідныя данні, адпаведальнага за крыце і крэтарыя выходу пры перадзеі коду. Аператары должны магчымаць перзапуск крыцы з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крыца не выконваецца, прычына неудачы должна вказываць на адзін конкрэтны элемент, а не на заплутаны ланцюг задач. Неабяжна ўключыць людзкія парады на тыя етапы, дзе відбываецца выдатак грошэй або зміняюцыся данні для працы системы. Компіляцыйныя налашчэння не ўзначаюць павнае выпаненне бізнес-процэса.
2-е крыце: Інтэрактыўнае запытванне та кераванне людзьмі
Для стадіі інтэрактыўных опытаванняў у 3-му кроку неабходна перад зменай коду задаць параметры вхідных даных, адпаведальнага за крок і крэтыяры завершэння. Аператары должны магчымае перадзягнуць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій стадіі як даговору межаў вхідных даных і падтвердзеных выходных рэзультаатаў. Даць назвы артыфактам, задаць крэтыяры успеху і адмовіцца ад беззвучнага частковага завершэння. Заставіць людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны праўай працы. Працэс складання коду не є роўнозначным пачатку функцыянальнасці системы.
Крок 4: Канечны стан «зелёны»
У чатарге 4, ў падзеўнай стадыі, перш чым зменяць код, неабходна задаць вхідныя даны, адпаведальнага за этап і крэтыяяры выходу. Аператары должны магчымае запускіць этап з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выконання і кост токенаў або запытаў разам з функцыйнальнымі рэзултатамі. Відразы костаў з самага пачатку запобегае неспакойным рахункам, калі процес пераходзіць з дэмовай среды ў спакульнаныя сераўы. Заставіце людзкую апрацоўку для тых сцэнарыяў, дзе витрачаюцца грошы або зменяюцыся даны праўай працы. Працэс складання коду не є роўнозначным пачатковай готовасці продукту. У чатарге 4, у падзеўнай стадыі, перш чым зменяць код, неабходна задаць вхідныя даны, адпаведальнага за этап і крэтыяяры выходу. Аператары должны магчымае запускіць этап з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Дакументавайце як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных запытаў є часткай продукту, а не чымсь, што дадаецца пазней.
Урокі, якія былі выучаны, і ключовыя выводы
Калі працуеце над этапам выявлення урокіў і ключовых вывадаў, спачатку запісайце умовы контракту: неабходныя даны, сігнал успеху і тое, што вядзецца пад частым невяскам. Такі список контролю дапамагае заліцвачыць змяны ў кодзе. Валічыце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не вяжэцца, невяскама трэба паказаць адну конкретную відпаведальнасць, а не заплутаны ланцюг задач. Робіце перапактовкі пасля дорогіх крокаў. Система не должна занова ставіць плату за той самы вызыв LLM, калі аператар праказвае спробу на болей пазнім етапе.
Тепер спробуйце самі!
Калі працюеце на стадыі «Паспрабуйце сам», спачатку запісайце угоду: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі список перагляду дапамагае заліцвачыць змяны ў кодзе. Спрыймайце гэтую стадыю як угоду межа даннэмі і перакананымі выходнымі результатамі. Дайце назвы элементам, задаць критэрыя успеху і не падтрымайце тыхнучую частую роботу. Зробіце перагляд пасля дорогіх крокаў. Програма для продакцыі не должна зноў выклікаць той самы вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел.
Чек-ліст для эксплуатацыі
Для стадыі чек-ліста для эксплуатацыі, перш чым зменяць код, задаць даннэ, адпаведальную за крок особу і критэрыя завершэння. Аператары должны магчыма было зноў запрацаваць крок на вядомым пункце перагляду, не здогадваючыся пра схованы стан.
Зберагаюце канфігурацыю праза ўнутрь коду аплікацыі. Файлы сяродавішча, храненні секрэтных дадзей і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжнага чытання всіх элементаў системы.
Неабяжнае падтверджэння чалавека трэба для операсій, якія витрачаюць грошы або зменяюць данні ў працэсе.
Напішыце кароткі путаводзік: як зменяць канфігурацыйныя ключы, як спрабаваць апрацаваць данні з очакальнай лісты, як вярнуць стан системы да пярэднега стану.
Документавайце як правільны, так і альтернатыўны парадкі працы системы. Перапрыбуткі, падтверджэння чалавека і обработка непрацясных паведамленняў є часткай продукту, а не дадатковым элементам пасля його стварэння.
Неабяжнае падтверджэння чалавека трэба для операсій, якія витрачаюць грошы або зменяюць данні ў працэсе.
Перш чым запускать стак, заморозьце версіі, зафіксавце ідеальны транскрыпт для критычнага шляху і паказвце спосабы атрыбутавання. У спільных сэрвісах неабходны ліміты частоты запытоў, перакананне ў правільнасці арендавання ресурсоў і чыста вялічына адпаведальнага адносу за ротацыю секрэтных дадзеных. Лепш выбіраць простую надзею на надзейнасць, чым хітрыя експерыментальныя дэманстрацыі.
Прымечанне для ea39e3715506: не кладзіце ключы прадаўцаў у репазітарый, задаце ліміт токена на кожную сесію і зберагачыце транскрыпты празаўсёды поблізу фіксатывальных элементаў для ацэнкі, каб пазнейшыя замены моделей заставаліся порównанымі.
Прымечанне па забезпечэнні надзейнасці 0 стадыі лепш працюе, калі яго спрыягчываюць як меравальную плошчу. Зафіксавце адны ідеальны транскрыпт, адзін прыклад неудачы і прымечанне па атрыбутаванні перш чым расширваць масштаб. Канфігурацыю трэба зберагчыце празаўсёды за межамі коду прыемлівача. Файлы сэрвісавых сред, хранільнікі секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць аудыт без неабходнасці чытання всей структуры.
Дзеянне паўжчання 0/770: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змену.
Для першага этапу запісу паўжчання задаце вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перадзмене коду. Аперацыйныя працавнікі павінны магчымае перадзначыць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Валідзіце маленькія, тэставаныя елементы замест большых скрыптаў. Калі крок не выйдзе, прычына нехарактэрыстыкі павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес.
Дзеянне паўжчання 1/770: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змену.
Калі працуеце над 2-й стадзіяю практыкы заспеклення, спачатку запісайце умовы кантракту: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць пад частковым неудачам. Такі список контроля дапамагае залічваць пазнейшыя змены ў кодзе чыста і адкрыта.
Запісвайце часы виканання, а таксама кост токенаў чы роезыкараў пад функцыйнальнымі рэзултатамі. Відразувыя даны пра косцы запобегаюць неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне 2/770 практыкы заспеклення: вымерайце час виканання, класы каштоўкаў і расход токенаў для гэтай практыкі, а потым выберайце, чы застаўляць змену на адной фіксаванай сэтке пытанняў, а не на адзінственных прыкладах.
2-я стадзія практыкы заспеклення працюе лепей, калі яе спрыямаць як меравальную плошчу. Запісайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння.
Дасведчыце як «шчаслівы» так і «вярнэння да нормы» паты. Практыкі перапрыбутку, людзкія контролы і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжасткі 3/770: звярніце увагу на час выканання, класы паказчыкаў і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацься застаўляць змяну.
Для 4-го этапа паўжасткі неабходна перад змянай коду чытко апісаць вхідныя даны, адпаведальнага за выкананне крока і критэрыяы завершэння. Аперацыйныя працавнікі должны магчыма было перазапускаць крок з вядомай точкі контролю, не прабуючы спадарацца прыватны стан системы. Штодзе гэты этап трэба спрыяць як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі: дайце назвы всім элементам, апісаць критэрыяы успеху і не прабывайце прыймаць часткова завершаныя рэзультаты без падтверджэння.
Дзеянне паўжасткі 4/770: звярніце увагу на час выканання, класы паказчыкаў і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацься застаўляць змяну.
Калі працюеце над 5-м пунктам правіл забезпечэння безпекі, спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі список дапамагае залічваць будучыя змены коду чыста і адкрыта. Зберагайце настройкі празь яго кода прыложэння. Файлы сераўіса, хранальнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаюць адбавіць аудыт без неабяжлівага чытання всей структуры.
Дзялённе 5/770 па правілам забезпечэння безпекі: вымерайце час выканання, класы памылак і колькасць викорыстоўваных токенав для гэтага пункту, а потым выберайце, чы робіць змену на адной падставе фіксаванага набора пытанняў, а не на адной лячбе.
Для стадіі 0 пры практыцы зміцнення неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры зміне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій стадіі як даговору межаў вхідных даных і перакананых выходных рэзультатаў. Даць назвы артыфактам, узначыць перакананні ў успеху і адмовіцца ад беззвучнага частковага завершэння.
Дзеянні зміцнення 0/789: вымерыць час выканання, класію адказаў і выкарыстоўванне токенав для гэтай прыметкі, а пасля вырашыць, чы рашыцца застаўіць змяну на аднойчы заданай сэтке пытанняў, а не на аднойчыных спостарэннях.
Калі працюеце над першым этапам зміцнення, спачатку запісайце умовы кантракта: неабяжлівыя даны, сигнал успеху і тое, што выходзіць пад частковыя неудачы. Такі список контроля дапамагае залічваць пазнейшыя змены коду адкрыта і працэйна.
Канфігурацыю трэба зберагчы за межамі коду прыемлі. Файлы сераўнавання, храненні секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабяжлівага чытання всей структуры.
Дзеянне зміцнення 1/789: вымерыце час выканання, класію памылак і колькасць викорыстоўваных токенав для гэтага пункту, а потым выявіце, чы хацеце застаўіць змену на адной пазычанай сэткі пытанняў, а не на адной лячбе.