Практычныя нататкі: лепшыя практыкі Claude Code — 12 патэрнаў агентных інжынераў
Практычны разбор тэмы «12 патэрнаў Claude Code, якімі карыстаюцца агентныя інжынеры»: кантракты, праверкі і гатовыя фрагменты кода для каманд, якія ўкараняюць гэты падыход.
Крыніцы: Claude Code Best Practices: 12 Patterns Agentic Engineers Use
Наступныя прытамлівкі паказваюць практычны падход да «Claude Code Best Practices: 12 Patterns Agentic Engineers Use». Акцэнт ставіцца на кантракты, пераконтроўкі і месца для коду, які можна легка заменіць, а не на мотывацыйныя аспекты.
CLAUDE CODE
Калі працуеце над стадзіяй CLAUDE CODE, спачатку запісайце кантракт: неабяжныя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс дапамагае заліцвачыць пазнейшыя змены ў кодзе. Зберагаюце настройкі праза код аплікацыі. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можу працаваць без неабяжнага чытання всіх элементаў. Робіце пераконтроўку пасля дорогіх крокаў. Сістэма не должна занова ставіць плата за той самы вызыв LLM, калі аператар праканае пазнейшы элемент.
Выкарана з 69 прытамлівак у #1 популярным рэпозытарыі GitHub — з удзелам Борыса Чарнаго, інжынера, які створыў Claude Code у Anthropic.
Калі працюеце над этапам «Выкарыстоўвана з 69 падказак», спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс пераконтроўкаў дапамагае заліцвачыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшай дапрацоўкі. Зробіце пераконтроль пасля дорогіх крокаў. Сістэма вярнення не павінна знову ставіць плату за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
1. Ваш CLAUDE.md, верагодна, працуе проты вас
Калі працюеце над стадзіяй 1 Your CLAUDE md, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконтроўкаў дапамагае заліцвачваць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест вялікіх скрыптав. Калі якісь крок не выйшае, нявыпанне павінна вказваць на адную адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце пераконтроўку пасля дорогіх крокаў. Програма не павінна зноў сцягваць плата за той самы вызов LLM, калі аператар праканае пазнейшы вузел.
my-service/
├── CLAUDE.md # Root: universal rules, ~30 lines
├── api/
│ └── CLAUDE.md # REST conventions, error codes
├── internal/
│ └── CLAUDE.md # Package naming, interface patterns
└── cmd/
└── CLAUDE.md # Flag parsing, logger initialization
<important if="language=go">
- No bare goroutines. Use errgroup or WaitGroup to manage lifecycle.
- Channel capacity > 0 requires an inline comment explaining why.
- context must be the first parameter, named ctx.
</important>
2. Перастаньце ставіцца да Claude Code як да вікна чату
Калі працюеце над стадзіяй «2 Stop Treating Claude», спачатку запісайце контракт: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс перакладзець пазнейшыя змены коду ў правільны направленні. Спрэцаваўце гэтую стадзію як контракт межа данымі і перакананымі выходамі. Дайце назву рэзультатам, задаце крытэрыя успеху і не падтрымвайце тых частковых выкаанняў, якія залішаюцца непазначанымі. Зробіце перапаконт пасля дорогіх крокаў. Програма не должна зноў выкарыстоваць той самы вызов LLM, калі аператар прабуе зноў выкаанаць пазнейшы вузел.
3. Кантэкст — гэта рычаслів. Спрэцаваўце яго як такі.
Калі працуеце з етапам «3 Context is a stage», спачатку запісайце умовы вікорыстоўвання: неабходныя даны, сігнал успеху і тое, што выходзіць на падчасныя неудачы. Такі чэк-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі. Запісвайце час выканання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразувая візуабельнасць костаў запобегае неспакойным рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спакульнаныя сераўеры. Зробіце контрольную пазнаку пасля дорогіх крокаў. Функцыя вярнення не должна зноў нараховваць косты той самай вызову LLM, калі аператар прабуюць зноў віконаць пазнейшы элемент. Калі працуеце з етапам «3 Context is a stage», спачатку запісайце умовы вікорыстоўвання: неабходныя даны, сігнал успеху і тое, што выходзіць на падчасныя неудачы. Такі чэк-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі. Дакументавайце як шлях успеху, так і шлях вярнення да нормы. Прабавы, людзкія контролі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам.
context: fork
4. Hooks Run outside the Agent Loop
Метод “4 хуків” парадоксальна працюе найэфектыўней, калі яго розглядаць як мерыемую паверхню. Зафіксавайце адна “золатая” транскрыпцыю, адын прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзервавайце стан графа ў простам і тыпізаваным фармаце. Вкладаныя структуры маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакойваюць працу пасля перэрываў.
5. На 84% менш запытанняў пра правыя
Этап “5 84 Меншае колькасць дазволаў” працюе найэфектывней, калі яго розглядаць як мерыябельную плошчу. Зафіксавайце адны ідэальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Разглядзайце гэты этап як кантракт межа вхіднымі данымі і паверыранымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыя успеху і не падзеўляйцеся частым, непূরным вікананнем задач. Задаць ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расшырваюць кантэкст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўлівыя рахункі.
6. “Дзесяткі Воблакаў, якія працуюць цяпер жоўта.”
«6 Dozens Of Claudes»-ныя стадыі працююць наўжоўды лепш, калі іх спрыяваць як меркаваную паверхню. Зафіксавайце адны ідэальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Запісвайце часы выканання і косты токеноў або запытак праза функцыйнае рэзультат. Відчутнасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя сераўы. Храніце стан графа як плоскі і з аднаковым тыпам дадзеных. Вярсткаваныя блокі маскуюць інфармацыю пра тое, які вузел запісаў кожны поле, і спакшваюць продовжэнне працы пасля перарываў. «6 Dozens Of Claudes»-ныя стадыі працююць наўжоўды лепш, калі іх спрыяваць як меркаваную паверхню. Зафіксавайце адны ідэальны прыклад, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Дакументавайце як шлях успеху, так і шлях вяснавання проблем. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней.
7.**ultrathink** — гэта не трук
Для 7 прынцыпа ultrathinkIs не ёсць стадыя: перш чым зменяць код, неабходна ясная ваказка пра вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аперацыіям должна быць магчыма перазапускаць крок з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына нехацкага рэзультата должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Пры робатах, якія выкалічваюць грошы чысткайзменяюць даны для працы, неабходна людская апраўда. Компіляцыйны падчасын не ёсць гарантыяю цэліснасці бізнес-процэса.
8. Локальная аўтаматызацыя, якую не можа здарыцца CI
Для этапы 8 «Локальная аўтаматызацыя» перад зменым коду неабходна задаць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аператары должны магчымае запускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій этапы як даговору межа вхідных і перакананых выходных даных. Дайце назвы артыфактам, задаць перакананні на успех і адмовіцеся ад тыхняй частковай завершэнні. Заставьце людзкую апраўду на тых кроках, дзе вітрачаюцца грошы або зміняюцыся даны праўлення. Працэс складання коду не ёсць роўнозначным пачатку выканання задачы.
/loop 30m /code-review
9. Пытанні пасрэдзі ўжо выконванай задачы без нараблення перашкод
Для 9 пытанняў серэдніх задач без этапаў неабходна прадзефінавацыя вхідных дадзеных, адпаведальнага за кожны крок і крэтарыяў завершэння працы перад зменым коду. Аператары должны магчымае перзапускіць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выканання і кост токенаў або запытаў разам з функцыйнальнымі рэзультатамі. Відразлівае прадставленне костоў запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Заставьце людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны праўай працы. Працэс складання коду не ёсць адпаведнікам пачатковай готовасці продукту. Для 9 пытанняў серэдніх задач без этапаў неабходна прадзефінавацыя вхідных дадзеных, адпаведальнага за кожны крок і крэтарыяў завершэння працы перад зменым коду. Аператары должны магчымае перзапускіць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контрольныя пункты і обработка некорэктных запытаў ёсць часткай продукту, а не чымсь, што дадаецца пазней.
sh.
10. Раздзел, які робяць навыкі значнымі для запісу
Калі працюеце над этапам 10 «Раздзел, які робяць навыкі значнымі для запісу», спачатку запішыце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неудачы. Такі спіс пераканальвае зберагчы чыстасцю пазнейшых змян у кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце контрольны пункт пасля дорогіх крокаў. Сістэма не должна зноў выклікаць той самы LLM-званак, калі аператар прабуе зноў запрацаваць з пазнейшым вузлам.
11. Зробіце так, каб «заканчана» значыла «заканчана»
Калі працуеце над 11-ю стадзіяй «Make done Mean», спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконтроўкаў дапамагае заліцвачваць пазнейшыя змены ў кодзе. Спрыймайце гэтую стадзію як контракт межа данымі і перакананымі выходамі. Дайце назву рэзультатам, задаце крытэрыя успеху і не падтрымайце тыхі, частковыя завершэння. Зробіце пераконтроўку пасля дорогіх крокаў. Програма не должна зноў выклікаць той самы калл LLM, калі аператар прабуе зноў выконаць пазнейшы вузел.
12. 10 разоў быстрэйшыя вызовы SDK з аднай пазначкай
Калі працуеце над 12-ю стадзіяй SDK «10x Faster», спачатку запісайце умовы вікорыстоўвання: неабходныя даны, сігнал пра успех і тое, што выходзіць пад частковым невяскам. Такі спіс дапамагае заліцвачваць пазнейшыя змены ў кодзе. Запісвайце час выканання і вартасць токенаў або запытак праза функцыйнае рэзультат. Відразліва візуалізацыя вартасцей запобегае неспакою, калі працэс пераходзіць з дамовай версіі ў спяльныя сераўры. Зробіце перапыт пасля дорогіх крокаў. Сістэма не должна зноў нарахоўваць плата за той самы вызов LLM, калі аператар прабуе зноў выконаць пазнейшы элемент. Калі працуеце над 12-ю стадзіяй SDK «10x Faster», спачатку запісайце умовы вікорыстоўвання: неабходныя даны, сігнал пра успех і тое, што выходзіць пад частковым невяскам. Такі спіс дапамагае заліцвачваць пазнейшыя змены ў кодзе. Дакументавайце як шлях успеху, так і шлях вяселення. Прабыткі, людзкі контроль і обработка некорэктных запытак ёсць часткай продукту, а не пазнейшым дапрацоўкам.
Што спакойнае ў гэтых 12 шаблонах
Этап «Што ўключае гэтыя 12 шаблонаў» працюе наякша, калі яго розглядаць як вімерную паверхню. Запісаўце адна «золатая» транскрыпцыю, адын прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптаў. Калі якісь крок не выходзіць, прычына неудачы павінна вказваць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты працы графа трэба зберагаць у простаму, тыпаваным фармаце. Вярнутыя структуры маскуюць інфармацыю пра тое, які вузел запісаў канкрэтны поле, і спакойваюць працу пасля перарываў.
Справы
Этап апелляцый работае наяўней, калі яго спрыяваць як мерыемую структуру. Зафіксавайце адну ідэальную версію, адзін прыклад неудачы і запіс пра вярнэнне да поперадней становішчы, прычым расшырваючы сферу дзеяння. Спрыяйце гэтам этапу як кантракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыя успеху і адмовіцеся ад тыхняй частковай працы без паведамлення. Зберагаеце стан графа ў простам і тыпаваным фармаце. Вкладзеныя блокі маскуюць інфармацыю пра тое, які вузел запісаў кожны поле, і спакоююць продовжэнне працы пасля перэрываў.
Чэк-ліст для эксплуатацыі
Для этапа чэк-ліста для эксплуатацыі задайце вхідныя даныя, адпаведальную особу за крок і крытэрыя завершэння прычым зменяючы код. Аперацыйныя працавнікі должны магчымае перазапускаць крок з вядомай точкі контролю, не падозрэўчы пра схованы стан.
Зберагаеце настройкі паза кодам прыкладнай програмы. Файлы сераўіса, хранільнікі секрэтных даных і флагі функцый належаць у аднам месца, якое працавнікі можу аўдытаваць, не чытаючы весь граф.
Неабяжна людская падзея на тых элементах, які выдваюць грошы або зменяюць даны працэйвання. Падключэнне ў час компілявання не адпавядае цэласообразнасці бізнесу.
Напісайце кароткі путаводзь: як роцыяваць канты, як спрабавіць апустошыць чэргу, як вярнуць стан да пярэдніх значэнняў.
Документавайце як шлях успеху, так і шлях вяснавання. Прабыткі, людскія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не дадатковым удосконаленнем.
Неабяжна людская падзея на тых элементах, які выдваюць грошы або зменяюць даны працэйвання. Падключэнне ў час компілявання не адпавядае цэласообразнасці бізнесу.
Перад паднятыем стэка заморозьце версіі, зафіксавайце ідэальны транскрыпт для крытычнага шляху і падтвердзіце крокі вярнування. У спадзеленых срэдах неабяжны ліміты частоты запытоў, перакананні ў належнасці і чысткі власнік для роцыявання секрэтных даных. Валіце надзейнасць працэйвання працоўнай надзейнасці над крэатыўнымі разовымі дамах.
Запіскі для пакета 65264e3eb919: не класты ключы прадаўцоў у рэпазітарыю, задаць максымальны ліміт токена на сесію, а таксама зберагчы транскрыпціі праза фіксатуры адлічэння, каб пазнейшыя замены мадэляў заставаліся порównаннэй.