Практычныя прытамулкі: Хавайце ствараць додаткі на AI па кожной ідэі. Пачніце ствараць MCP
Практычныя прытамулкі: Хавайце ствараць додаткі на AI па кожной ідэі. Пачніце ствараць MCP: контракты, перакрычанні та блокі коду для команд, якія викорыстоўваюць гэты патэрн.
У гэтым карыце парадоксальны спосаб перадбудаваець шлях ад сыр'ёў да рабочай системы для: Паставіць канец стварэнню AI-прыемоў для кожной ідеі. Пачніце ствараць серверы MCP — частка №7. Акцэнт ставіцца на практычныя крокі, чыстае перакананне і код, які можна проста дадаць у репозытарый без неабяснення меты. У стадії агульнага відзору неабходна практычна апісацыя вхідных дадзеных, адпаведальнага за крок і крэатарных крэтарыяў пры зміне коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю без неабяснення схованага стану. Конфігурацыю трэба зберагчы за межамі коду прыема. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцияў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяснення всей структуры.
Перш чым пачнем!
Калі працюеце на стадыі «Перш чым пачаткаваць», спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўкі дапамагае заліцварыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе контралі і обработка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зявляйце логі з назвай інструмента, хэшам аргументаў, часам затрымкі і рэзультатам кожнага вызову. Без такога следу дэбаггінгавы агент траціць гадзіны на безрезультатныя циклы.
Сервер MCP, з якім мы пачалі, не ёсць тым серверам MCP, які у нас зараз
Калі працуеце з серверам MCP, спачатку запісваюце кантракт: неабяжлівыя даны, сигнал успеху і тое, што выходзіць пад частыя неудачы. Такі список пераканаець у тым, што пазнейшыя змены коду будуць чыстымі. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адзіну абяжлівасць, а не на заплутаны ланцюг задач. Для кожнага вызову фіксавайце назву інструмента, хэш параметраў, час адклікання і рынак. Без такога следу дэбагаванне агента губіць гады.
MCP server
├── search_documents
├── create_ticket
└── get_customer
Salesforce MCP 60 capabilities
GitHub MCP 40 capabilities
Jira MCP 35 capabilities
Google Drive MCP 25 capabilities
Knowledge Base MCP 20 capabilities
Internal Platform MCP 70 capabilities
Reporting MCP 15 capabilities
Admin MCP 30 capabilities
FastMCP — гарная рэалізацыя гэй ідэі. Це не сама ідэя.
Калі працюеце над FastMCP, гэта ўзгодны этап — спачатку запісаць контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае залічыць пазнейшыя змены ў кодзе чыстымі. Спрэцьвачваце гэты этап як контракт межаў вхідных даных і перакананыя выходныя даны. Даць назву кожнам элементам, задаць критэрыя успеху і не падтрымляць тыхню частковую рэалізацыю. Фіксаваць назву інструмента, хэш аргументаў, час затрымкі і рынак кожнага вызову. Без такога лёгкага следу дэбагаванне агента, які ціркулюе без канцэра, вядзе да гадоў празтракту. Калі працюеце над FastMCP, гэта ўзгодны этап — спачатку запісаць контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае залічыць пазнейшыя змены ў кодзе чыстымі. Хаваць настройкі за межамі коду прыемленае. Файлы сераўнавання, сховішчы секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
1. Трансфармацыя інструменту: ваш backend API не должен аўтаматычна стаць вашым agent API
Процес трансфармацыі інструменту працюе наякша, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідеальная транскрыпцыя, адзін прыклад неудачы і прыметку па адвярненню перад расшырэнням масштаба. Дакументавайце як успішны, так і вярнучыся шляхы. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не наступным этапам дапрацоўкі. Адкройце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных эфектаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны будуць аўтаматычна затверджаны.
salesforce_account_query_v2_internal(
q_string,
include_deleted_flag,
tenant_uuid,
raw_fields,
)
find_customer_account(
company_name,
include_archived=False,
)
Backend capability
↓
Raw MCP tool
↓
Transformation layer
↓
Agent-facing contract
2. Пошук інструменту: сам каталог інструмента становіцься контекстам для пошуку
Алгорытм пошуку адпрыемных інструментаў працюе наякша, калі сцэну спрыяваць як вимерную паверхню. Зберыце адна «золатая» транскрыпцію, адин прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптаў. Калі якісь крок не выйшоў, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцужок задач. Адкройце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных эфектаў. Адпаведальныя за хоставанне павінны знаты, якія вызовы мутуюць стан, перш чым автаматычна ўзгадзіць іх.
connect to server
↓
list all tools
↓
put every schema into the model context
↓
ask model to choose
small discovery interface
↓
search relevant capabilities
↓
load only matching schemas
↓
execute
3. Простор імен: компазіцыя стварае проблему ідэнтычнасці раней, чым проблему масштабавання
Компанаванне 3 прастора імен найэфектыўней стварае роботу на певным этапе, калі яго спрыяваць як мерыемую паверхню. Зберагачыце адны ідеальны прыклад, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Спрыявайце гэты этап як кантракт межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Даўайце назвы артыфактам, задаюце критэрыя успеху і адмовляйцеся ад тыхней частковай рэалізацыі без паведамлення. Адкрывайце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных эфектаў. Адпаведальныя за хоставанне патрэбуюць знать, якія вызовы мутуюць стан, перш чым автаматычна ўзяць іх на спрыт. Компанаванне 3 прастора імен найэфектыўней стварае роботу на певным этапе, калі яго спрыяваць як мерыемую паверхню. Зберагачыце адны ідеальны прыклад, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Зберагачыце настройкі за межамі коду прыемлівача. Файлы сяродавішча, хранільнікі секрэтных данных та флагі функцыйяў павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
Source identity
→ Namespace
Agent usability
→ Transformation
4. Візуабельна частка: інжыніерыя контэксту стосуецца не толькі тексту
На стадзіі 4 «Візуабельна частка» інжыніерыя контэксту пагадае з’явіцься ваказаннія ўсіх параметраў, адпаведальнага за выкананне крока і крэатывных крэтарыяў перад зменым коду. Аператары должны магчымае перзапускіць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабходна задокументаваць як «шчаслівы» шлях, так і шлях вяснавання ситуацыі. Перапрыбуткі, людзкія перакрыцці і обробка некоректных паведамленняў є часткай самага продукту, а не яго пазнейшай дапрацоўкі. Аутентыфікацыя выкананае ў шлюзе, а прабачэнне прав на выкарыстоўвання — у роўні дадзеных. Толькі токэн-носіцель не є межой адпаведнае часткі продукту.
Customer Research
├── salesforce_find_account
├── salesforce_list_opportunities
├── knowledge_search
├── web_research
└── generate_customer_report
workflow = customer_research
include:
salesforce.*
knowledge_base.*
reports.*
exclude:
admin.*
deployment.*
hr.*
5. MCP Proxy: адны сервер MCP можа стаць шлюзам да іншых сервераў MCP
Для адміністрування ўсьго ўзела MCP Proxy на аднам этапе неабходна пазначыць вхідныя даны, адпаведальнага за выкананне крока і критэрыя завершэння пры перадзмене коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не прабуючы спадарожваць схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выканаецца, прычына нехарактернага рэзультата должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Автентыфікуйцеся на входзе і параправяце правы прыроджэння на роўні обработкі дадзеных. Толькі токэн-носіцель не є межай адпаведальнасці.
AI client
↓
Salesforce MCP
6. Навыкі як рэсурсы MCP: сервер можа распрасцяваць знання, а не толькі дзеянні
Для стадії MCP, яка включае 6 навыкаў, неабходна перад змінайом коду визначыць вхідныя даны, адпаведальнага за кожны крок і крэтыяры завершэння. Аперацыйныя працавнікі должны магчымае перайсці на гэты крок з вядомага пункта контролю, не спрабоўваючы здогадвацца пра захаваны стан. Спрыяйце цій стадіі як даговору межы вхідных даных і перакананых выходных рэзультатаў. Даць назвы артыфактам, визначыць крэтыяры успеху і не прабоўваць прыймаць часткова завершаныя рэзультаты без падтверджэння. Автентыфікуйцеся на входзе і паўторна автарызуйцеся на роўні дадзенняў. Толькі токэн-носіцель не є межай аператыўнага простору. Для стадії MCP, якая включае 6 навыкаў, неабходна перад змінайом коду визначыць вхідныя даны, адпаведальнага за кожны крок і крэтыяры завершэння. Аперацыйныя працавнікі должны магчымае перайсці на гэты крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра захаваны стан. Зберагачыце настройкі параду аплікацыйнага коду. Файлы сераўіса, хранільнікі секрэтных дадзенняў і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працавнікі можуць аудытаваць, не чытаючы весь структураны код.
7. Адаптаванне: можлівасць можа запытаць пользователя пра тое, што ёй патрэбна
Кал працуеце над 7 стадзіямі адаптавання, спачатку запісайце угоду: неабяжлівыя даны, сигнал успеху і тое, што выходзіць пад часты няудача. Такі список контролю дапамагае заліцварыць пазнейшыя змены ў кодзе. Запісуйце адночасна шлях успеху і шлях вярнення. Перапрыбуткі, людзкіе контрольныя пункты і обработка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Фіксуйце назву інструмента, хэш аргументаў, час затрымкі і рынак кожнага вызову. Без такога следу дэбагаванне агента займае гадзіны.
8. Логаванне: корыстна для кліента, але стварэння можлівасцяў для спостерагання ў працэсе вырабоцтва трэба робіць глыбей
Калі працуеце над 8 пунктамі зявочнага логавання, які ўжытковы на практычным етапе, спачатку запісайце умовы працы: неабяжныя даны, сігнал успеху і тое, што выходзіць, калі выйшае частковая памылка. Такі список контроля дапамагае залишацца чыстым пад час пазнейшых змен у коде. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок выйшае, памылка должна вказываць на адзін конкрэтны элемент, а не на заплутаны ланцюг задач. Зявочваўце назву інструмента, хэш параметраў, час адклікання і рынак кожнага вызову. Без такога следу дэбагаванне агента займае гадзіны.
9. Задачы на фоне: можлівасць MCP паўністю падтрымвае жыцёвы цикл выканання
Калі вы працуеце над 9 заданнямі на фоне па ўсіх стадіях, спачатку запішыце контракт: неабходныя вхідныя даны, сигнал успеху і тое, што выканаецца у разе частковай нявыполненасці. Такі список контролю дапамагае залічыць пазнейшыя змены ў коде чыстымі. Спрэцьвачыце гэтую стадію як контракт межаў вхідных даных і перакананых выходных рэзультатаў. Дайце назвы артыфактам, задаць правіла пераканання ў успеху і не падтрымвайце тыхія частковыя завершэння. Запісвайце назву інструмента, хеш аргументаў, час затрымкі і рэзультат кожнага вызову. Дыбаггін без такога следу марнуюць гадзіны. Калі вы працуеце над 9 заданнямі на фоне па ўсіх стадіях, спачатку запішыце контракт: неабходныя вхідныя даны, сигнал успеху і тое, што выканаецца у разе частковай нявыполненасці. Такі список контролю дапамагае залічыць пазнейшыя змены ў коде чыстымі. Зберагаюце настройкі паза кодам прыемлівача. Файлы сераўнавання, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
10. Версіюванне: калі чырлагі залежаць ад вашых інструментоў, схема інструмента становіцца API
Практыка версіювання, калі чырлагі працуюць на певным етапе, найэфектывнейша, калі яе розглядаць як мерыябельную паверхню. Зафіксавайце адна ідеальная транскрыпцыя, адзін прыклад неудачы і прыметку па адвярненню роботы перш чым расширваць масштабы. Дакументавайце як успішны, так і вярнучыся шляхы. Перапрыбуткі, людзкія контролі і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Абявляйце інструменты з вузкімі схемамі і чыткімі пазначкамі аб парадоксальных наследках. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць іх.
11. Тэставанне: тэставайце паверхню MCP, а не толькі функцыю на Python
Тэсты 11 Testing працуюц лепша, калі ўважаць стадію як вимерную паверхню. Запісаць адна «золатая» транскрыпцыя, адин случай неудачы і прыметку па поверненню да попярэдня стану пры розширэнні масштаба. Валіць краща маленькія, тэставаныя елементы, чым велікія скрыпты. Калі якісь крок не выйшаў, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Зафіксаваць інтэрпретара і файл з правіламі залежнасцяў пры вучэнні циклу. Разлік межаў між ноутбукам і системай CI — гэта самая частая тыха проблема пад час деманстрацый API.
async def find_customer(company_name: str):
...
result = await find_customer("Acme")
assert result
async with Client(mcp) as client:
tools = await client.list_tools()
assert "salesforce_find_customer" in {
tool.name for tool in tools
}
result = await client.call_tool(
"salesforce_find_customer",
{"company_name": "Acme"},
)
Калі з’едыніць усе элементы, сервер стае зусім іншым
Этап «Складання элементаў» працюе найэфектывней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра відкатанне перш чым расширваць масштаб. Спрыяйце гэтым этапам як кантракту межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Адкройце інструменты з вузькімі схемамі та чыткімі пазначэннямі побачных эфектаў. Адпаведальныя за эксплуатацыю должны знать, якія вызовы мутуюць стан, перш чым автаматычна схваліць іх. Этап «Складання элементаў» працюе найэфектывней, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адны ідеальны прыклад, адзін прыклад неудачы і запіс пра відкатанне перш чым расширваць масштаб. Зберагаюце настройкі паза кодам прыемлівай программы. Файлы сераўнавальных сэрваў, хранілішча секретных данных і флагі функцый должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабходнасці чытання всей структуры.
Самая цікавая оптымізацыя можа адбыцца ўсё раней, чым модель побачыць што-небудзь
Для самага цікавага этапу оптымізацыі неабходна заздалегідь визначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння, прычаму змінюваць код. Аператары должны магчымае перайсці на выконанне кроку з вядомага пункта контролю, не спрабоўваючы здогадвацца пра схованы стан. Неабходна адначасова задокументаваць шлях успеху і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не дадатковым элементам паслядней дапрацоўкі. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходны даны з пераканальваннем схэмы, чым вольныя тэкстовыя апісанні.
З адного сервера MCP да сеті MCP
Для стадіі «З адмінскага сервера MCP» неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перадзеіснавленні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехацкага рэзультата должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Автентыфікуйцеся на в’язку і паўтарна автарызавайцеся на роўні дадзенняў. Толькі токэн-носіцель не є межай адпаведальнасцяў.
AI client
↓
MCP server
↓
API
Але не ствараюце платформу, калі у вас яшчэ няма проблемы з платформай
Для стадзіі «Але не будуць создаваць» паказана неабяжна задача — перад тым, як зменіць код, неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымае перайсці на выкананне кроку з вядомага пункта контролю, не спрабоўваючы здогадвацца пра заштынены стан. Спрыяйце тым, каб гэтая стадзія выступала як контракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, узначыце критэрыі успеху і не падтрымайце тых варыянтаў, калі выкананне адбываецца часткова без паведамлення. Автентыфікуйцеся на входзе і паўторна автарызуйцеся на роўні дадзенняў. Толькі токэн-носіцель не є межай арендаванага ресурсу. Для стадзіі «Але не будуць создаваць» паказана неабяжна задача — перад тым, як зменіць код, неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымае перайсці на выкананне кроку з вядомага пункта контролю, не спрабоўваючы здагадвацца пра заштынены стан. Зберагачыце настройкі параду ад коду прыемлівання. Файлы сераўнавальнага сэрвісу, хранілішчы секретных дадзенняў і флагі функцый должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь код.
Фрамворк можа быць заменены. Архітектура — гэта цянёвая частка.
Калі працуеце над этапам, дзе фрамворк можа быць заменены, спачатку запісайте умовы викорыстання: неабяжлівыя даны, сигнал успеху і тое, што выканаецца у разы частковага нявыпадку. Такі список дапамагае заліцьваты змяны коду. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць частью продукту, а не дадатковымі элементамі для палітуркавання. Зявляйце логі з назвай інструмента, хэшам параметраў, часам адклікання і рэзультатам кожнага вызову. Без такога следу дэбагаванне можа зайняць гады.
Заключныя заўважэнні
Калі працюеце над фінальным етапам, спачатку запісайце умовы дагавору: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыпання павінна вказываць на адзін конкрэтны элемент, а не на заплутаны ланцюг задач. Запісвайце назву інструмента, хэш параметраў, час адклікання і рынак кожнага вызову. Без такіх задавальнікаў для дэбаггінгу развязваць проблемы губіць гадзіны.
Серія да настоўпа
Калі працуеце над стадзіяй «The series so far», спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контролю дапамагае заліцьваты чыстасцю пазнейшых змян у кодзе. Спрэцьвуйце гэтую стадзію як контракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце правіла пераканання успеху і адмовіцеся ад мовчазнага частковага завершэння. Запісвайце назву інструмента, хэш аргументаў, час затрымкі і рэзультат кожнага вызову. Без такога лёгкага следу дэбагаванне губіць гадзіны. Калі працуеце над стадзіяй «The series so far», спачатку запісайце контракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контролю дапамагае заліцьваты чыстасцю пазнейшых змян у кодзе. Зберагаце настройкі паза кодам прыемленае. Файлы сераўнавання сяродовішча, храненні секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Шаблоны FastMCP, якія апісаны ў гэтым артыкуле
Шаблоны FastMCP, упомянутые на практычных етапах, найбольшае застосованне маюць, калі іх расследжваць як вимерную паверхню. Запісаўце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Дакументаваўце як шлях успеху, так і шлях вярнэння. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Адкрывайце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных эфектаў. Хостам неабходна знать, якія вызовы мутуюць стан, перш чым вони автаматычна схваляюць.
Эвалюцыя протакола MCP
Этап развіцьбы протакола MCP работае наяўней, калі яго спрыяваць як вимерную плошчу. Зафіксавайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыметкі па адвярненню роботы пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, неудача должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Адкройце інструменты з вузькімі схемамі та чысткімі пазначэннямі побачных наследкаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым вони автаматычна схваляюць ўпраўленні.
Чэк-ліст для эксплуатацыі
Этап чэк-ліста для эксплуатацыі работае наяўней, калі яго спрыяваць як вимерную плошчу. Зафіксавайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыметкі па адвярненню роботы пры расшырэнні масштаба.
Запісвайце часы виконання та косты токенаў або запытав, падаючы іх разам з функцыйнальнымі рэзультатамі. Відразувыя даны пра косты запобегаюць неспадзяваным рахункам, калі процес пераходзіць з дэмовай среды ў спяльнаныя сераўеры.
Адаптавайце інструменты з вузкімі схемамі та чытальнымі пазначэннямі побачных эфектаў. Хостам неабходна знаты, якія запыткі мутуюць стан, прычым яны можаць автаматычна санкціонаваць іх.
Калі дозволяе бюджет, дадзіце тэст на працясць критычнага маршруту ў системе CI з викорыстанням фіксатываў, а не рэальных платных API.
Зберагаюце настройкі праза код аплікацыі. Файлы сяродавішча, хранільнікі секрэтных дадзеных та пазначкі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх элементаў.
Адаптавайце інструменты з вузкімі схемамі та чытальнымі пазначэннямі побачных эфектаў. Хостам неабходна знаты, якія запыткі мутуюць стан, прычым яны можаць автаматычна санкціонаваць іх.
Перад апраноўкай стака заморажавайце версіі, зафіксавайце ідеальны транскрыпт критычнага маршруту та паказвайце крокі для адвярнення змян. У спадзеленых сяродавішчах неабходны ліміты частоты запыткаў, пераказы на адпаведнасць тэнантыям та чысткі власнік для замены секрэтных дадзеных. Валіце простую надзяйнасць працы над крэатывнымі, адзінразовымі дамах.
Запіска параграфу 528eef0765ac: не трэба кантрацеўваць ключы прадаўцаў у репазітарыі, задаць максімальную кантэйнернасць токена на кожную сесію, а таксама зберагчы транскрыпціі празаўседле з фікстурамі для ацэнкі, каб пазнейшыя замены моделей заставалі пораўнанневымі.
Запіска па ўжорсткаванню на стадыі 0 найэфектывней працуе, калі яе спрыягчваць як мерыемую плошчу. Зафіксавайце адну ідеальную транскрыпцію, адзін кейс неудачы і запіску пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрыягчвайце гэтую стадію як кантракт межа вхіднымі дадзеннямі і пераверытымі выходамі. Назвайце артэфакты, задаць критэрыя успеху і адмовіцеся ад беззвучнага частковага завершэння.
Дзялейчык ужорсткавання 0/869: замерайце час выкарыстання, класію паканаў і кантэйнернасць токена для гэтай запіскі, а пасля вырашыце, чы робіць змяну на адной пазначанай сэткі пытанняў, а не на адной лячбе.
Для першага стадыі зміцнення неабяжна практычна рэгламентацыя: перад змінайом код неабяжна адзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Конфігурацыю трэба зберагчы за межамі коду прыкладнення. Файлы сераўнавання, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь код.
Дзялейны пункт зміцнення 1/869: неабяжна вымерыць час выканання, класію адказоў і колькасць выкорыстоўваных токеноў для гэтага пункта, а потым вырашыць, чы робіць змяну на аднойчы зафіксаванай сэтке пытанняў, а не на аднойчы інформацыі.
Калі працуеце над 2-й стадзіяю практыкы заспеклення, спачатку запісайце умовы кантракта: неабяжныя вхідныя даны, сігнал успеху і тое, што выходзіць пад частковым неудачам. Такі список контроля дапамагае залічваць пазнейшыя змены ў кодзе чыста і прозрачна. Валіце маленькія, тэставаныя елементы замест вялікіх скрыптав. Калі якась ступеня не выйшла, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач.
Дзеянне заспеклення 2/869: звярніце увагу на час выканання, класы каштоўкаў і витрату токенаў для гэтай практыкі, а потым вырашыце, чы робіць змены на адной пазначанай базе дакументаў, а не на аснове індывідуальных спазырэнняў.
2-я стадзія практыкы заспеклення працюе лепей, калі яе спрыямаць як меравальную плошчу. Запісайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку па абратанні змян перад расшырэнням масштаба. Запісвайце часы выканання і вартасць токенаў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра вартасці запобегае неспакойным рашчыткам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянне паўжчання 3/869: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы робіць змены.
Для 4-го этапу паўжчання неабходна перад змянай коду чытка апісаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыйныя працавнікі должны магчымае перадзвануць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Адночасна неабходна задокументаваць шлях успеху і шлях вярнення. Практыка павторных спроб, людзкія перакрыцця і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжчання 4/869: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы робіць змены.
Калі працуеце над 5-м падзёлам прыемкі забезпечэння, спачатку запісайце кантракт: неабяжлівыя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўвае, каб пазнейшыя змены коду былі чыстымі. Спрыятлівае ставленне да гэтага падзёла як да кантракта межу вхіднымі данымі і перакантролёванымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Дзеянне забезпечэння 5/869: вымерыце час выканання, класію каштоўкаў і витраты токенаў для гэтай прыемкі, а пасля выберыце, чы робіць змену на адной пазначанай базе пытанняў, а не на адной толькі прыватнай інформацыі.
5-й падзёл прыемкі забезпечэння работае найкраща, калі яго спрыятлівае ставленне як да вимернай плошчы. Запісайце адна ідеальная транскрыпцыя, адзін прыклад нявыпання і прыемку для адвярнення змены, перш чым расширваце сферу дзейства. Зберагаюце настройкі праза код аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў адном месцы, якое аператары можаць перакантролёваць, не чытаючы весь граф.
Дзеянне паўжчання 6/869: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змены.
Для 7-й стадзіі паўжчання неабходна перад змянай коду чытка апісаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аперацыяныя працавнікі должны магчымае перадзвануць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехарактернага рэзультата должна быць адносна конкретнай адпаведальнасці, а не сложнай сэткі крокаў.
Дзеянне паўжчання 7/869: звярніце увагу на час выканання, клас памылакі і колькасць выкорыстоўваных токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазыраннях, выявіце, чы хацяце застаўіць змены.
Калі працуеце над 8-м стадзіям заўважэння па забезпечэнню безпекі, спачатку запісайце умовы кантракту: неабяжныя даны, сігнал успеху і тое, што выходзіць пад частым неудачам. Такі список контроля дапамагае залічыць пазнейшыя змены ў кодзе.
Запісвайце час выканання, а таксама вартасьць токена чыю запиту праза функцыйнальныя рэзультаты. Відразувая візуабельнасьць вартасцей запобегае неспакоўным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя сераўы.
Дзеянне 8/869 па забезпечэнню безпекі: вымерайце час выканання, класыя ошибакі і витрату токена для гэтага заўважэння, а пасля выберайце, чы робіць змены на адной пазначанай базе пытанняў, а не на адной толькі прыватнай інформацыі.
8-я стадзія заўважэння па забезпечэнню безпекі працуе лепей, калі яе спрыямаць як мерыму аспект. Запісайце адну ідеальную транскрыпцыю, адзін прыклад неудачы і заўважэння па анулюванні змян, перш чым расширваць сферу дзеяння.
Документавайце як «шчаслівы» шлях, так і шлях вяснавання. Перапрыбуткі, людзкія контролы і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадаецца пазней.
Дзеянне паўжасткі 9/869: звярнуце увагу на час выканання, класію памылак і колькасць выкорыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы робіць змены.
Для 10-го этапу паўжасткі неабходна перад змянай коду задаць вхідныя даны, абавесцелюючага этапу і крэтырыя завершэння. Аперацыяныя працавнікі должны магчыма было перазапускаць этап з вядомай точкі контролю, не падозрываючы прыхованы стан. Штодзе гэты этап трэба спрыятаць як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назвіце артыфакты, задаць перакананні на успех і адмовіцеся ад беззвучнага частковага завершэння.
Дзеянне паўжасткі 10/869: звярнуце увагу на час выканання, класію памылак і колькасць выкорыстоўваных токенаў для гэтага зьязначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы робіць змены.
Калі працюеце над стадзіяй 11 практыкы забезпечэння безпекі, спачатку запісайце умовы кантракту: неабяжныя даны, сігнал успеху і тое, што выходзіць па частый неякосці. Такі список контроля дапамагае залічваць пазнейшыя змены ў кодзе чыста і адкрыта. Зберагайце настройкі празь яго коду прыемленае програма. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабяжнага чытання всіх элементаў.
Дзялей 11/869 практыкы забезпечэння безпекі: вы мераваеце час выканання, класыя ошибакі і витрату токенаў для гэтай практыкі, а потым выявляеце, чы хацеце застаўіць змену, спынюючыся на апранаванай сэтцы пытанняў, а не на індывідуальных спостарэннях.