Кому подойдёт
Тем, кто уже правит код с Claude Code по мелочи и хочет отдать ему работу на несколько часов без постоянных «да, продолжай». И тимлидам, которые настраивают общие правила агента и отвечают за то, что попадёт в основную ветку.
Что понадобится
Установленный Claude Code (npm-пакет @anthropic-ai/claude-code, свежая LTS-версия Node.js), платная подписка Claude или ключ API с балансом, репозиторий под git и терминал, в котором вы не теряетесь. Из России сайт и API Anthropic без VPN не открываются, российские карты к оплате не принимаются — доступ и способ платежа надо решить до начала.
Из чего состоит длинная сессия
Автономная сессия — не «дал задачу и ушёл на шесть часов». Это задача с письменной постановкой, признаком готовности и способом проверить себя без человека. Агент ошибается тихо: он не зовёт на помощь, а продолжает работать по неверной гипотезе — и через два часа у вас двадцать файлов правок поверх ошибки.
Отсюда три опоры. Границы — что разрешено трогать: списки allow и deny плюс хуки. Обратная связь — тесты и линтер: то, что говорит «сломал» без вас. Откат — git: отдельная ветка и коммит после каждого зелёного прогона.
Окно контекста конечно: при заполнении история сжимается и подробности начала теряются. Поэтому план держат в файле, а не в диалоге — docs/agent-plan.md с чекбоксами, который агент дописывает и коммитит по ходу. Режим планирования (режимы переключает Shift+Tab) нужен, чтобы план появился до первой правки.
CLAUDE.md: правила, которые агент читает сам
CLAUDE.md в корне репозитория подгружается в начале сессии. Черновик делает /init — именно черновик, обычно рыхлый. Уровни: ~/.claude/CLAUDE.md — личные привычки во всех проектах, ./CLAUDE.md — командные правила в репозитории, вложенные файлы — для подкаталогов. Длинное выносится отдельно и подключается строкой @docs/style.md.
Хороший файл умещается на экран и состоит из проверяемых утверждений: точная строка запуска тестов с флагами, перечень генерируемых каталогов, соглашение о месте новых файлов. Плохой — эссе про архитектурную философию: агент прочитает, но действия не извлечёт.
Правило живёт, если его нарушение видно. «Пиши аккуратный код» — пожелание; «после изменений в src/ запусти линтер, задача не закончена, пока он не чист» — инструкция. Дописать в память можно из диалога, начав сообщение со знака #. И помните: это просьба к модели, а не принуждение — жёсткие запреты живут в deny-списке и хуках.
Навыки, субагенты и команды
Навык (skill) — папка .claude/skills/имя/SKILL.md с полями name и description. Модель подключает его сама, когда описание совпало с задачей, поэтому description пишут от триггера: «Использовать перед коммитом изменений в схеме базы данных», а не «Полезные советы по базам». Скрипты и справочники рядом читаются только тогда, когда навык понадобился.
Для автономной работы ценнее всего навыки-проверки: чеклист перед коммитом, разбор миграций, правила обращения с секретами. Такой навык превращает размытое «проверь себя» в последовательность шагов, одинаковую у всех в команде.
Субагент — файл в .claude/agents со своим описанием и списком инструментов; отдельное окно контекста делает его хорошим ревьюером: он читает дифф, не зная, как автор к нему пришёл. Слэш-команда — файл в .claude/commands с шаблоном промпта и подстановкой $ARGUMENTS, её запускает человек.
Режимы разрешений: сколько свободы дать
Режимов четыре. Обычный спрашивает перед записью файлов и запуском команд. acceptEdits не спрашивает про файлы, но команды подтверждает. Планирование не даёт менять ничего — им удобно разведывать чужой код. Обход разрешений не спрашивает ни о чём: он и делает возможной долгую сессию, и он же опаснее всех.
Тонкая настройка — .claude/settings.json, раздел permissions со списками allow, ask и deny. Записи-шаблоны: Bash(npm run test:*), Edit(src/**), Read(./.env), WebFetch с указанием домена. Запрет сильнее разрешения. Файл в репозитории — правила команды, settings.local.json личный и лежит в .gitignore; из сессии всё открывает /permissions.
Обход применяют не флагом на рабочей машине, а в изоляции: контейнер или отдельная копия репозитория, без боевых ключей, почты и платёжных систем. Причина не в том, что модель захочет навредить, а в подстановке инструкций: агент читает issue, README зависимости или ответ стороннего сервиса, а там текст, обращённый к нему.
Хуки: правила, которые исполняет не модель
Хук (hook) — команда операционной системы, которую Claude Code запускает сам при определённом событии. Отличие от CLAUDE.md принципиальное: хук не теряется при сжатии контекста и не толкуется на своё усмотрение. События: PreToolUse и PostToolUse вокруг вызова инструмента, UserPromptSubmit, Stop и SubagentStop, SessionStart, PreCompact.
Настройка — в settings.json, интерактивно через /hooks: событие, фильтр по имени инструмента, команда. На вход приходит JSON с деталями вызова: путь к файлу, текст команды. Код возврата 0 — «всё в порядке», код 2 блокирует действие и возвращает модели текст из stderr, и агент исправляется.
С чего начать: PostToolUse на Edit и Write — форматтер и линтер по изменённому пути; PreToolUse на Bash — отклонять принудительный push, обращения к боевой базе, удаление веток; Stop — прогон тестов, который не даёт закончить работу на красных. Хуки синхронны, поэтому держите их быстрыми.
Без присмотра: терминал, расписание, GitHub
Команда claude -p «текст задачи» — один прогон без интерфейса, результат в стандартный вывод. Для скриптов: --output-format json или stream-json, --allowedTools со списком инструментов, --max-turns как страховка от кружения, --permission-mode, --model. Продолжить прошлый разговор помогают --continue и --resume.
Регулярное задание собирается из того же: cron, systemd-таймер или планировщик Windows дёргает скрипт, тот заходит в репозиторий, подтягивает изменения, вызывает claude -p и пишет лог. Ночью — разобрать вчерашние ошибки из логов и завести issue по повторяющимся; раз в неделю — обновить зависимости и открыть пулл-реквест, если тесты зелёные.
На стороне GitHub есть действие anthropics/claude-code-action, приложение и заготовку процесса ставит /install-github-app; дальше упоминание @claude в комментарии будит агента. Ключ — в секреты репозитория, права токена минимальные, ревью человеком не отменяется. Не запускайте это на пулл-реквестах от посторонних: их текст — ввод, которому нельзя доверять. И помните: фоновые прогоны тратят те же токены или лимиты подписки, просто незаметно для вас.
Приёмка: как проверить, что агент сделал
Отчёт агента — не доказательство. «Всё работает, тесты проходят» стоит ровно столько, сколько вы видите под этим: дифф, вывод тестов, лог запуска. Привычка читать итоговое сообщение вместо изменений — главная причина разочарований от долгих прогонов.
Порядок такой. git diff --stat: сколько файлов тронуто и нет ли неожиданных, вроде конфига сборки или lock-файла. Полный дифф по чувствительному — авторизация, оплата, миграции, права. Свой прогон тестов, а не пересказ чужого. И запуск приложения: код, который собирается, и код, который работает, — разные вещи.
Подгонка под зелёное узнаётся по деталям: удалённый или пропущенный тест, ослабленная проверка вместо сравнения значений, проглоченное исключение, захардкоженное ожидание, заглушка с комментарием «временно». Заявлена валидация — найдите её строкой в коде. Помогает второй взгляд: чистая сессия или субагент-ревьюер с просьбой найти изменения поведения, которых тесты не заметят.
Плагины: раздать настройки команде
Собранное — команды, навыки, субагентов, хуки, подключения MCP — упаковывается в плагин и ставится одной операцией. Плагин это репозиторий с файлом .claude-plugin/plugin.json и папками commands, skills, agents, hooks; каталог плагинов подключается через /plugin marketplace add, установка идёт через /plugin install.
Смысл в повторяемости: обновился чеклист — обновился плагин, а не переписка в чате. Обратная сторона — доверие: чужой плагин несёт хуки, которые выполнятся на вашей машине с вашими правами. Перед установкой прочитайте, что прописано в hooks; для внутренних правил надёжнее свой каталог в приватном репозитории.
Практика
- Заведите отдельную ветку и добейтесь пустого git status: иначе не отделите правки агента от своих.
- Выполните /init и сократите CLAUDE.md до одного экрана: команды сборки и тестов, каталоги, которые трогать нельзя, место для новых файлов.
- Откройте /permissions: в allow — Bash(npm run test:*) и Edit(src/**), в deny — Read(./.env) и Bash(git push:*).
- Повесьте PostToolUse с линтером по изменённому файлу и Stop с прогоном тестов; сломайте тест намеренно и убедитесь, что агент получил ошибку и пошёл чинить.
- Создайте .claude/skills/release-check/SKILL.md с description «Использовать перед коммитом» и шагами: тесты, линтер, отладочные логи, миграции.
- Поставьте задачу через режим планирования и попросите вести docs/agent-plan.md с чекбоксами, коммитя каждый закрытый пункт.
- Через час-два примите работу: git diff --stat, полный дифф по критичным файлам, свой прогон тестов, запуск приложения.
- Переведите сценарий в безголовый режим: claude -p с --max-turns и --allowedTools, вывод в лог, запуск раз в сутки; наутро прочитайте лог и сверьте расход.
Проверьте себя
- Могу показать файл, где записано, что агенту можно менять, а что нельзя, и объяснить каждый пункт
- Отличаю правило для CLAUDE.md от правила, которому место в deny-списке или хуке
- Настроил блокирующий хук и видел, как агент получает от него ошибку и исправляется
- Принимаю работу по диффу, своему прогону тестов и запуску приложения, а не по отчёту агента
- Запускаю claude -p с ограничением ходов и списком инструментов и помню, что фоновый прогон тратит те же лимиты
- Могу объяснить, чем рискует человек с включённым обходом разрешений и где это допустимо
Частые вопросы
Сколько это стоит и правда ли нужен VPN?
Claude Code работает по платной подписке Claude либо по ключу API с оплатой за токены; на старших тарифах лимиты выше. Из России сайт и API Anthropic без VPN не открываются, российские карты к оплате не принимаются — нужен зарубежный способ платежа. Цены и лимиты меняются, поэтому сверяйтесь со своим аккаунтом, а не с чужими цифрами.
Почему агент к третьему часу забывает то, о чём договорились в начале?
Окно контекста конечно: прочитанные файлы, диффы и вывод команд его заполняют, а при сжатии истории часть подробностей исчезает. Лечится переносом договорённостей в файлы: правила в CLAUDE.md, план с чекбоксами в отдельный markdown. То, что нельзя нарушать никогда, выносите в хук или в deny-список: их сжатие контекста не касается.
Можно ли оставить полный обход разрешений на ночь?
На рабочей машине с доступом к продакшену, ключами и почтой — нет. В изолированном контейнере с копией репозитория, без секретов и прав на внешние системы это разумный компромисс. Главный риск не в том, что агент удалит файл, а в том, что он прочитает текст с инструкциями — issue, README, ответ сервиса — и примет его за задачу.
Чем навык отличается от слэш-команды и от субагента?
Слэш-команда — шаблон промпта, который запускает человек. Навык модель подключает сама, когда description совпал с задачей, и он несёт с собой скрипты и справочные файлы. Субагент — отдельное окно контекста для подзадачи, удобное для ревью свежим взглядом.
Как заметить, что агент подогнал результат под зелёные тесты?
Смотрите изменения в самих тестах: пропущенные кейсы, ослабленные проверки, перехват исключения без обработки, захардкоженные значения. Сверяйте фразы отчёта с диффом: написано «добавил валидацию» — найдите её строкой в коде. Полезно спросить вторую сессию с чистым контекстом, что в диффе меняет поведение незаметно для тестов.
Стоит ли ставить плагины из чужих репозиториев?
Плагин может содержать хуки и MCP-серверы, которые выполнятся на вашей машине с вашими правами. Перед установкой откройте репозиторий и посмотрите, какие команды прописаны в хуках и куда ходят серверы. Для внутренних правил команды надёжнее собрать собственный маркетплейс в приватном репозитории.
Чтобы пройти практику, нужен рабочий доступ
Подключим подписку на ваш аккаунт: оплата картой РФ, по СБП или криптой, пароль от аккаунта не нужен. Обычно за 15 минут в рабочее время.
Подключить Claude Pro — 2 490 ₽ Все уроки