Галоўная / Артыкулы / Практычныя прытамулкі: Как стаць корыстнікам агента Hermes з рангам у першы 1%: Полная інструкцыя

Практычныя прытамулкі: Как стаць корыстнікам агента Hermes з рангам у першы 1%: Полная інструкцыя

Практычныя прыказкі: як стаць агентам Hermes з-паўсередзіны 1% — Полная інструкцыя. Нумераваныя контракты, перакрыцці та слоты для коду для команд, якія викорыстоўваюць гэты патэрн.

3399 слоў

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

Што на самай працэ ёсць Hermes Agent

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

Правільная установка, а не проста запуск команды curl

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

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
curl -fsSLO https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh
less install.sh          # actually read it
bash install.sh
source ~/.bashrc         # or ~/.zshrc
hermes --version
hermes doctor
hermes setup
hermes model           # choose your LLM provider and model
hermes tools           # configure which tools are enabled
hermes gateway setup   # connect Telegram, Discord, Slack, etc.
hermes config set      # set individual config values
hermes config get      # inspect individual config values

Сістэма навыкаў: та частка, якую всі недаоцэнююць

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

e.

/k8s deploy the staging manifest
/learn <directory, URL, or the workflow you just walked it through>

Архітектура памяці: чатыры слою, а не адзін

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

Падагенты і каналы з нульовымі виткамі на обробку контэкста

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

Расклад: cron, але ён на самай працы співае з вамі

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

# Natural-language scheduling, described conversationally to the agent:
# "Every weekday at 8am, pull yesterday's error logs, summarize anomalies,
#  and send the report to the #eng-oncall Slack channel."

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

Выкліканне яго як справжней інфраструктуры

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

# On a fresh $5/mo Debian VPS (2GB RAM, ~1GB disk is enough to start)
ssh user@your-server-ip

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc

hermes setup                 # configure provider + at least one gateway
hermes doctor                # confirm everything is wired correctly
hermes chat -q "Hello! What tools do you have available?"   # smoke test

Аспекты, якія трэба врачыць у прыменні

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

Hermes Agent проты OpenClaw: чыстая параболіка

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

Рэальны прыклад выкарыстоўвання, па кроках: стварэнне ўтрыманнага звіту пра статус інжынерных работ ў дзень

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

hermes tools
hermes chat -q "Pull yesterday's commits, merged PRs, and newly opened or closed issues \
across [your repos]. Summarize blockers, progress, and anything that looks like it needs \
a decision. Keep it under 200 words and skip anything routine."
Every weekday at 8am, pull yesterday's commits, merged PRs, and issue activity across
[your repos], summarize blockers and progress in under 200 words, and deliver it to
#eng-status on Slack.
hermes gateway setup
/learn build and deliver the daily engineering status digest

Памылкі, якія робіць практычна кожны

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

Найкращыя практыки, адпаведнае обоснаванне

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

Што робіць далей

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

Справакі

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

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

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

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

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

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

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

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

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

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

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

Дзялённе зміцнэння 0/820: вы мерзіце час выканання, класыя ошибак і витрату токенаў для гэтай запіскі, а пасля выявляеце, чы рашацеся застаўіць змену на адной фіксованай сэтке пытанняў, а не на адной лячбе.

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

Дзеянне прыцеленняя ў зміцнэнне 1/820: вимеравайце час выканання, класію памылак і колькасць выкорыстоўваных токенав для гэтага запісу, а потым вырашайце, чы рашыцца застаўляць змяну, стварываючыся на адной фіксаванай сэтке пытанняў, а не на анекдотах.

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

Дзеянне гэрмавання 2/820: зважыць час выконання, класію адказаў і вартасць токена для гэтага пункту, а потым вырашыць, чы робіць змяну на аднойчы зафіксаванай сэтке пытанняў, а не на аднойчы інформацыі.

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

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

Дзеянне прыемкі з паўнейшага захавання 3/820: звярніце увагу на час выканання, класыя ошибакі і витрату токенав для гэтай прыемкі, а пасля вырашыце, чы робіць змены на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.

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

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

Дзеянне паўжасткі 4/820: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага зьязку, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.

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

Дзеянне паўжасткі 5/820: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага зьязку, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рашыцца застаўіць змяну.

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

Дзялянка забезпечэння безпекі 6/820: вымерайце час выканання, класію памылак і колькасць викорыстоўваных токенав для гэтай дзялянкі, а пасля выберыце, чы робіць змены на адной фіксаванай сэтке пытанняў, а не на адной лічбе.

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

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

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

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

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

Дзеянні забезпечэння безпекі 9/820: вымерайце час выканання, класію памылак і колькасць выкорыстоўваных токенав для гэтага падзема, а потым выберайце, чы робіць змяну на адной пазначанай базе пытанняў, а не на адной лічбе прыкладаў.

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

Дзеянне паўжыцьнявання 10/820: змераюце час выконання, класію памылак і колькасць токенаў, выкорыстаных для гэтай змянкі, а пасля вырашаеце, чы рашыцца застаўіць змяну, адаследжваючы фіксаваны набор пытанняў, а не індывідуальныя прыклады.

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

Дзеянне паўжыцьнявання 11/820: змераюце час выконання, класію памылак і колькасць токенаў, выкорыстаных для гэтай змянкі, а пасля вырашаеце, чы рашыцца застаўіць змяну, адаследжваючы фіксаваны набор пытанняў, а не індывідуальныя прыклады.

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

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

Дакладнасць ударожэння 12/820: звярніце увагу на час выканання, класы абяканняў і вартасць токена для гэтай стадзіі, а праз тое выберыце, чы застаўляць змену на адной пазначанай базе пытанняў, а не на адной лічбе прыкладаў.

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

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

Дзеянне паўжасткі 13/820: звярніце увагу на час выканання, класы паказчыкаў і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўляць змяну.

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

Дзеянне паўжасткі 14/820: звярніце увагу на час выканання, класы паказчыкаў і колькасць токенаў, якія былі выкарыстаны для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшыцца застаўляць змяну.