SellChatGPTУроки по Claude › Claude Code в деле: длинные сессии

Claude Code в деле: длинные сессии

Урок о том, как перестать сидеть над Claude Code с пальцем на клавише подтверждения и отдать ему задачу на несколько часов. Соберём три опоры: границы (разрешения и хуки), обратную связь (тесты и линтер) и запуск без человека — из терминала, по расписанию и в пулл-реквестах. После урока вы сможете отпустить агента и принимать результат по диффу и своему прогону тестов.

Инструменты глубже 8 разделов ~9 мин чтения практика и чеклист
Содержание урока
  1. Из чего состоит длинная сессия
  2. CLAUDE.md: правила, которые агент читает сам
  3. Навыки, субагенты и команды
  4. Режимы разрешений: сколько свободы дать
  5. Хуки: правила, которые исполняет не модель
  6. Без присмотра: терминал, расписание, GitHub
  7. Приёмка: как проверить, что агент сделал
  8. Плагины: раздать настройки команде
  9. Практика
  10. Проверьте себя
  11. Частые вопросы
  12. Похожие уроки

Кому подойдёт

Тем, кто уже правит код с 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; для внутренних правил надёжнее свой каталог в приватном репозитории.

Практика

  1. Заведите отдельную ветку и добейтесь пустого git status: иначе не отделите правки агента от своих.
  2. Выполните /init и сократите CLAUDE.md до одного экрана: команды сборки и тестов, каталоги, которые трогать нельзя, место для новых файлов.
  3. Откройте /permissions: в allow — Bash(npm run test:*) и Edit(src/**), в deny — Read(./.env) и Bash(git push:*).
  4. Повесьте PostToolUse с линтером по изменённому файлу и Stop с прогоном тестов; сломайте тест намеренно и убедитесь, что агент получил ошибку и пошёл чинить.
  5. Создайте .claude/skills/release-check/SKILL.md с description «Использовать перед коммитом» и шагами: тесты, линтер, отладочные логи, миграции.
  6. Поставьте задачу через режим планирования и попросите вести docs/agent-plan.md с чекбоксами, коммитя каждый закрытый пункт.
  7. Через час-два примите работу: git diff --stat, полный дифф по критичным файлам, свой прогон тестов, запуск приложения.
  8. Переведите сценарий в безголовый режим: 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 ₽ Все уроки

Похожие уроки