
Ночной прогон Claude Code
Содержание7 глав
1. Выбери, где прогон вообще будет крутиться
Три механизма расписания — три разные цены. Половина неудачных ночных запусков ломается именно здесь.
-
Где выполняется: облако (routines) — инфраструктура Anthropic; Desktop-задача — твоя машина; /loop в сессии — твоя машина.
-
Нужен включённый компьютер: облако — нет; Desktop-задача — да; /loop — да.
-
Нужна открытая сессия: облако — нет; Desktop-задача — нет; /loop — да.
-
Доступ к локальным файлам: облако — нет, свежий клон репозитория; Desktop-задача — да; /loop — да.
-
Запросы на подтверждение: облако — нет, идёт автономно; Desktop-задача — настраиваются на задачу; /loop — наследуются от сессии.
-
Минимальный интервал: облако — 1 час; Desktop-задача — 1 минута; /loop — 1 минута.
-
Задача должна отработать, даже если ноутбук закрыт — беру облачную рутину.
-
Задаче нужны локальные файлы и локальные инструменты — беру Desktop-задачу и оставляю компьютер бодрствующим.
-
Понимаю ограничение /loop: задачи живут внутри сессии и истекают через 7 дней.
2. Вечер: настраиваем прогон
- Промпт самодостаточен. Рутина стартует без тебя: в тексте есть и задача, и критерий «сделано». Никаких «как обсуждали выше».
- Подключены только нужные репозитории. Каждый клонируется заново на каждом запуске, от ветки по умолчанию.
- Ветки ограничены. По умолчанию запись идёт только в ветки с префиксом claude/. Снимать это ограничение — только осознанно и по одному репозиторию.
- Коннекторы прорежены. В прогон по умолчанию попадают все подключённые интеграции, и внутри сессии доступны все их инструменты, включая запись. Лишние — убрать.
- Сеть на минимуме. Уровень Trusted открывает только белый список (пакетные реестры, GitHub, облачные API). Full ставим, только если без него задача физически не решается.
- Секреты не в переменных окружения. Значения окружения видит любой, кто пользуется этим окружением; отдельного хранилища секретов нет.
- Модель выбрана осознанно. Она фиксируется в конфигурации и применяется на каждом запуске.
- Помню про подпись. Коммиты и pull request'ы уходят от твоего имени, действия интеграций — от твоих аккаунтов.
3. Границы задаёт конфигурация, а не текст промпта
«Bypassing permissions is zero-maintenance but offers no protection» — инженерный блог Anthropic про auto mode.
- Не запускаю ночь через полное отключение разрешений. Если нужен автономный локальный прогон — auto mode или явный список разрешённых команд.
- Если всё-таки отключаю разрешения — только внутри контейнера или виртуалки с ограниченным исходящим трафиком.
- Фразы в промпте «не трогай существующие файлы» защитой не считаю. Защита — это права репозитория, префикс ветки и белый список доменов.
- Проверил, что задача укладывается в ресурсы облачной виртуалки: 4 vCPU, 16 ГБ памяти, 30 ГБ диска.
4. Лимиты, о которых узнают в три часа ночи
- Расписание чаще одного раза в час не ставится — более частые выражения отклоняются.
- Дневной потолок запусков: Pro — 5, Max — 15, Team и Enterprise — 25. Ночной эксперимент на пять итераций подряд на Pro не поместится.
- Расход идёт из общей подписки, как у обычных сессий. Упёрся в потолок — либо включённые оверейджи, либо отказ до сброса окна.
- Запуск может сдвинуться на несколько минут: у каждой задачи свой постоянный разброс по времени старта.
- Функция в статусе research preview — лимиты и поведение могут измениться. Перед важным прогоном сверяюсь с документацией.
5. Утро: приёмка (главный блок)
- Открыл сам прогон и прочитал транскрипт, а не только статус.
- Проверил, что созданные ветки и pull request'ы действительно те, которых ждал.
- Прогнал тесты локально, а не поверил фразе «тесты прошли» в логе.
- Поискал в логе отказы сети: 403 и x-deny-reason: host_not_allowed — значит домен не в белом списке.
- Сверил объём изменений с задачей: если правок втрое больше ожидаемого, читаю diff целиком, а не по диагонали.
- Ничего не мержу в основную ветку без ревью. Автономность прогона не отменяет ревью, а делает его обязательным.
- Что пошло не так — переношу в промпт рутины, а не в «ещё один запуск, вдруг повезёт».
6. Чего не делать
- Не давать рутине доступ к репозиториям, которые она не должна трогать, «на всякий случай».
- Не ставить Full сетевой доступ по умолчанию — начинать с Trusted и добавлять домены точечно.
- Не класть ключи и токены в переменные окружения ради удобства.
- Не оценивать промпт по объёму. Десять страниц инструкции не заменяют один явный критерий готовности.
- Не запускать ночь на задаче, которую сам ни разу не прогонял вручную от начала до конца.
7. Куда смотреть, когда что-то не сходится
- Рутины: триггеры, права, лимиты — code.claude.com/docs/en/routines
- Анонс и тарифные лимиты запусков — claude.com/blog/introducing-routines-in-claude-code
- Локальные задачи по расписанию, сон машины и пропущенные запуски — code.claude.com/docs/en/desktop-scheduled-tasks
- Сравнение способов расписания и /loop — code.claude.com/docs/en/scheduled-tasks
- Окружения, уровни сетевого доступа и белый список доменов — code.claude.com/docs/en/cloud-environments
- Auto mode как альтернатива отключению разрешений — anthropic.com/engineering/claude-code-auto-mode


