Claude Code: лучшие практики из реальной продакшен-работы
Claude Code выдерживает продакшен, когда CLAUDE.md короткий и проверяемый — правила, которые может провалить тест, а не абзацы стилистических советов, — и когда всё необратимое остаётся за шагом одобрения, который я выполняю сам. Я делегирую субагентам ограниченную, проверяемую работу, а всё, что требует суждения, держу в своём основном потоке. Привычка, которая сэкономила больше всего времени: относиться к каждому «готово» как к непроверенному, пока я сам не запущу реальную проверку — Claude уверенно докладывает об успехе даже тогда, когда проверка вообще не запускалась.
Каждую среду. 28 400+ читателей. Никакой воды.
✓ Проверьте почту — нажмите ссылку подтверждения, чтобы завершить подписку.
✓ Вы подписаны!
✓ Вы уже в списке.
[Заметка оператора] Я использую Claude Code каждый рабочий день в двух бизнесах — консалтинговом бренде и Pickleland, площадке для пиклбола в Пфлюгервилле, Техас — для всего: от пайплайна публикаций этого блога до код-ревью на продакшен-Workers. Это не введение в то, что такое Claude Code. Это привычки, которые я сохранил после месяцев реального использования, и те, от которых отказался, потому что они обходились дороже, чем экономили.
Содержание
Открыть Содержание
- Пишите CLAUDE.md как правила, а не как документацию
- Что я делегирую субагенту, а что оставляю в своём потоке
- Управление контекстом — ежедневная дисциплина, а не разовая настройка
- Чему я научился не позволять ему делать самостоятельно
- Проверяй перед публикацией — «готово» у Claude — это утверждение, а не факт
- Итог оператора
- FAQ
Пишите CLAUDE.md как правила, а не как документацию
Первая версия каждого CLAUDE.md, который я писал, была слишком длинной, и каждая со временем становилась короче, никогда не длиннее. Ошибка — относиться к нему как к странице вики: контекст, философия, «почему мы делаем именно так». Claude читает весь файл при каждой сессии, независимо от того, нужна ли текущей задаче эта деталь, так что каждый абзац, не являющийся инструкцией, конкурирует за внимание с теми, что являются.
То, что выживает после редактирования, более узкое: жёсткие правила, в идеале — те, которые проверяет тест, чтобы они не могли тихо откатиться назад, плюс ссылки на более длинные документы для случаев, где деталь действительно нужна. «Заголовки короче 60 символов» заслуживает строки. История о том, почему этот лимит существует, заслуживает ссылки на документ, а не абзаца в файле, который Claude перечитывает при каждой сессии.
Второе, что я добавил, и то, что, как я не ожидал, будет иметь такое значение: короткий список уже решённых фактов, записанных один раз, с явной инструкцией не расследовать их заново. Поначалу Claude Code каждые несколько сессий заново диагностировал одну и ту же ложную тревогу — нестабильную проверку, известную странность на этапе сборки — и сжигал контекст, заново выводя вывод, к которому я уже пришёл. Одна строка, фиксирующая проверенный факт и говорящая агенту двигаться дальше вместо повторного расследования, свела это мёртвое время почти к нулю. Правило, которое я использую: если ты объяснил одно и то же «на самом деле это ожидаемо» дважды, это должно быть в CLAUDE.md как факт, а не как то, что ты перепечатываешь в чате в третий раз.
Что я делегирую субагенту, а что оставляю в своём потоке
Полную систему принятия решений о скиллах, слэш-командах и субагентах я уже описал отдельно, так что не буду повторять здесь. Стоит добавить операционный фильтр, который я реально применяю перед тем, как запустить субагента: могу ли я одной фразой описать, как выглядит «готово», и стал бы я реально читать промежуточные шаги, если бы они остались в моём основном потоке?
Если ответ на оба вопроса — нет, задача ограничена и мне нужен только результат — это субагент. Перевод этого поста на 12 языков — самый ясный пример: каждый перевод можно проверить независимо, и именно поэтому контент-пайплайн запускает по субагенту на язык — я никогда не хотел бы, чтобы промежуточная переписка на 12 языках захламляла поток, где я всё ещё решаю, правильно ли написан английский пост.
Если задача требует, чтобы я видел рассуждение по мере его развития — изменение схемы, где третье решение зависит от того, что показало второе, — она остаётся в моём основном потоке. Режим сбоя, с которым я реально сталкивался, — всё равно запустить субагента для такой задачи, получить аккуратное резюме, а затем трижды спрашивать «подожди, что именно ты нашёл», потому что резюме отбросило единственную важную деталь. Когда это случается дважды с одним и тем же типом задачи, я перестаю её делегировать.
Управление контекстом — ежедневная дисциплина, а не разовая настройка
CLAUDE.md — это часть, которую пишут один раз и забывают. Контекстное окно — часть, которой я управляю на каждой сессии, и именно она реально определяет, будет ли результат хорошим.
- Читай, прежде чем разрешить редактировать. Claude Code с готовностью предложит изменение файла, полного текущего состояния которого он не видел. Я всегда заставляю его сначала прочитать файл, даже когда уверен, что знаю его содержимое — я достаточно часто ошибался в этой «уверенности», чтобы это перестало быть опциональным.
- Не давай одной сессии делать две несвязанные задачи. Поток, потративший час на отладку проблемы деплоя, а затем переключившийся на написание маркетингового текста, тащит этот час нерелевантного вывода инструментов в каждый последующий ответ. Я начинаю новую сессию вместо того, чтобы просить Claude «забыть про деплой» — эта инструкция не удаляет токены, она лишь просит модель их игнорировать, и делает это несовершенно.
- Планируй, прежде чем разрешить выполнение. Для всего, что состоит больше чем из двух-трёх шагов, я сначала прошу план и читаю его, прежде чем одобрить выполнение. Прочитать план из пяти строк — пятнадцать секунд. Обнаружить, что третий шаг был неверным, уже после того как пятый выполнился, стоит остаток дня.
- Вставка огромных блоков — это издержка, а не удобство. Скинуть в разговор целый лог-файл или полный ответ API, когда важны только три строки, сжигает контекст на оставшихся 97%. Я сначала делаю grep и вставляю совпадение.
Это тот же принцип, что лежит в основе контекстной инженерии для ИИ-агентов в целом — Claude Code просто делает эту цену видимой раньше, потому что именно вы наблюдаете, как контекст заполняется в реальном времени, вместо того чтобы разбираться с этим постфактум в логе Worker’а.
Чему я научился не позволять ему делать самостоятельно
Каждое необратимое действие — коммит, пуш, публикация, отправка, трата — остаётся за явным шагом одобрения, который я выполняю сам, никогда за тем, который Claude Code решает предпринять, посчитав задачу завершённой. Это тот же паттерн контроля человека, который я использую везде, где агенты касаются реальных последствий, и Claude Code не исключение только потому, что работает на моей собственной машине, а не в облаке.
Другое, от чего я отказался: давать широкое постоянное разрешение на деструктивные команды. rm -rf, принудительный пуш, пропуск тестовых хуков — ничто из этого не получает общего «да». Каждое запрашивается, каждый раз, в контексте, потому что тот единственный раз, когда я заранее одобрил что-то широкое «чтобы сэкономить время», был тем единственным разом, когда задача уплыла в объём, который я реально не проверил. Пять секунд, которые стоит запрос разрешения, — дешёвая страховка против альтернативы.
Проверяй перед публикацией — «готово» у Claude — это утверждение, а не факт
Это привычка, которая окупилась больше всего, и наименее эффектная: я не доверяю отчёту о завершении. Я запускаю реальную проверку.
Claude Code скажет вам, что сборка прошла, тестовый набор зелёный, ссылка работает. Иногда этот отчёт сгенерирован из реального вывода. Иногда это уверенное резюме команды, которая выполнилась лишь наполовину, или проверки, вернувшейся раньше времени без ничего полезного внутри. Оба выглядят одинаково в расшифровке чата. Единственный способ их различить — самому посмотреть на реальный вывод — та же дисциплина, что стоит за eval-стендом, который я использую для выпуска агентов: задача считается выполненной не потому, что так говорит агент, а когда определённая проверка реально проходит.
На практике это означает: запустить команду сборки самому и прочитать её вывод, а не пересказ Claude. Открыть файл, который он якобы отредактировал. Кликнуть по ссылке, которая якобы работает. Для контента конкретно я перечитываю черновик враждебно, против правил, которые точно проверяются — лимиты длины, запрещённые паттерны, битые внутренние ссылки, — вместо того чтобы доверять, что Claude применил их правильно с первого раза, потому что обычно так и есть, а иногда нет, и цена этого редкого промаха, попавшего на живой сайт, выше девяноста секунд, которые занимает перечитывание.
Итог оператора
Всё это не про то, чтобы со временем доверять Claude Code меньше — это про то, чтобы точно определить, где это доверие реально нужно заслужить. Короткие, проверяемые CLAUDE.md вместо длинной документации. Субагенты для ограниченной, проверяемой работы, собственный поток для всего, где рассуждение важно так же, как результат. Свежий контекст вместо затянутой сессии. Ворота одобрения на всём, что нельзя отменить. И реальная проверка, прочитанная вами лично, прежде чем что-либо делегированное уйдёт в прод. Это весь список, и это тот, которому я реально следую.
FAQ
Что действительно должно быть в файле CLAUDE.md?
Правила, которым агент должен следовать на каждой сессии, сформулированные как инструкции — а не контекст того, почему кодовая база выглядит именно так. Если правило проверяется тестом, скажите об этом и позвольте тесту быть источником истины. Более длинный контекст должен быть в документе, на который ссылается CLAUDE.md, и читаться только тогда, когда задача реально касается этой области, а не перезагружаться по умолчанию на каждой сессии.
Как ты решаешь, когда доверять выводу Claude Code, не перепроверяя его?
Я не решаю пропустить проверку — я решаю, насколько она дорога. Запустить команду сборки самому — почти бесплатно, поэтому я делаю это всегда. Полное враждебное перечитывание длинного документа занимает больше времени, поэтому я оставляю его для того, что выходит к реальной аудитории. Единственное, что я никогда не пропускаю: всё необратимое — публикация, коммит, трата денег.
Ты позволяешь Claude Code самостоятельно коммитить и пушить?
Нет. Каждый коммит и каждый пуш я выполняю сам, после того как посмотрел diff. Claude Code предлагает изменение; я — ворота одобрения для всего, что покидает состояние черновика, то же правило, что я применяю к любому другому агенту, которым управляю.
Какая одна привычка сэкономила тебе больше всего времени?
Относиться к отчёту о завершении как к утверждению, а не факту, и самому запускать реальную проверку. Звучит так, будто это всё замедляет. На практике всё наоборот — поймать ложное «готово» за тридцать секунд быстрее, чем обнаружить его в продакшене через три дня.
По теме: Навыки, слэш-команды и субагенты Claude · Стек агентов, который я использую для запуска 30+ продакшен-агентов · ИИ-агенты с контролем человека: когда нужно одобрение · Как использовать запланированные задачи Claude
Хотите так же запустить Claude Code в своём бизнесе? Мой курс AI Agents for Beginners охватывает основы построения, которые предполагает этот playbook. Программа cowork — там, где я обучаю этим операционным привычкам в структурированной группе. Если вы предпочитаете, чтобы настройку сделали за вас, запишитесь на 30-минутную сессию.
Каждую среду. 28 400+ читателей. Никакой воды.
✓ Проверьте почту — нажмите ссылку подтверждения, чтобы завершить подписку.
✓ Вы подписаны!
✓ Вы уже в списке.
Похожие статьи
ИИ-агенты для SaaS: что автоматизировать первым
Фреймворк уровней и ROI для решений об ИИ-агентах, применённый к SaaS-процессам, которые действительно стоит автоматизировать в первую очередь.
AI AgentsЧто Такое MCP? Протокол Простыми Словами
MCP (Model Context Protocol) позволяет ИИ-ассистенту напрямую подключаться к вашей CRM, календарю и аналитике — без копирования данных в чат.
AI AgentsАгенты Claude против Zapier: что и когда использую я
Zapier переносит данные между приложениями по правилу. Агент Claude принимает решения по неструктурированным данным. Вот как я выбираю между ними.
Получайте ИИ-руководство на почту
Каждую среду. 28 400+ читателей. Никакой воды.
Проверьте почту.
Мы отправили письмо для подтверждения — нажмите на ссылку, чтобы завершить подписку. Проверьте папку «Спам», если не видите его в течение минуты.
Вы подписаны.
Добро пожаловать — следующий выпуск скоро придёт на вашу почту.
Вы уже в списке — ждите выпуск каждую среду.