Claude Code предлагает несколько типов циклов для автоматизации задач. Команда Claude Code выделяет 4 типа циклов — они различаются комбинацией триггеров (которые запускают следующий цикл) и условий остановки (которые определяют окончание цикла).
Пошаговый (обычное взаимодействие). Это базовый способ работы с Claude Code: при появлении запроса Claude запускается и останавливается, когда всё готово. Если нужно продолжить — отправьте инструкции ещё раз. Подходит для разовых задач, которые не являются рутинными.
Основанный на достижении цели (/goal). Claude автоматически повторяет ход до тех пор, пока не будет выполнено условие, указанное в одной строке «Условия завершения». Когда каждый ход завершён, содержание разговора отправляется на небольшую модель для оценки (по умолчанию — хайку), чтобы определить успешность или неуспешность выполнения условия. Этот подход эффективен для задач с проверяемыми условиями: он быстрее и дешевле, чем /loop.
Основанный на времени (/loop и /schedule). Эти циклы разделяют местоположение выполнения и использование.
/loop периодически повторяет запросы в открытом сеансе. Поведение меняется в зависимости от того, что вы передаёте: например, можно задать интервал и подсказку (/цикл 5m проверяет развёртывание) или только подсказку (/цикл проверяет развёртывание) — тогда Claude динамически выберет интервал от 1 минуты до 1 часа в зависимости от результатов наблюдения. Цикл выполняется только во время открытой сессии на компьютере.
/schedule (процедуры) выполняется в облачной инфраструктуре Anthropic — и продолжит работу, даже если ноутбук закрыт. Это механизм, который объединяет запрос, целевой репозиторий и MCP‑коннектор и автоматически запускается в облачной инфраструктуре Anthropic.
Упреждающий (Routines). Сочетает элементы предыдущих подходов. Здесь /schedule решает, когда начать новую сессию, а /goal — сколько ходов нужно выполнить в этой сессии. Например, можно настроить запуск новой сессии каждый час для проверки канала Slack (внешний = /расписание), а внутри сессии автоматически повторять действия до тех пор, пока не будут обработаны все сообщения об ошибках (внутренний = /цель).
В проактивном цикле есть 3 типа триггеров: Schedule, API и GitHub events. Выбор задачи зависит от того, какой триггер вы выберете:
- Schedule Trigger подходит для периодического выполнения задач (например, обработки невыполненной работы или обнаружения утечки документов).
- Триггер API позволяет мгновенно реагировать на вызовы из внешних систем (например, сортировать предупреждения или проверять развёртывание).
- Триггеры GitHub реагируют на события репозитория (например, применять контрольный список проверки кода или переносить изменения в параллельный SDK на другом языке).
Практические советы:
- Для однократного выполнения с проверяемыми условиями лучше использовать /goal — он эффективнее с точки зрения затрат.
- Используйте /loop для непрерывного мониторинга (например, отслеживания статуса CI, комментариев к обзору PR, хода развёртывания).
- Настройте поведение по умолчанию с помощью .claude/loop.md — это подойдёт для повторяющихся задач обслуживания, например проверки работоспособности ветвей выпуска.
- Следите за фоновыми циклами в неотслеживаемых каталогах: в каталогах, не связанных с управлением git, может произойти сбой в изоляции worktree, что приведёт к непреднамеренным изменениям конфигурации. Поместите целевой каталог под управление git заранее или проверьте diff после запуска с помощью git diff.
- Проактивные циклы запускаются с ограниченной областью действия: сначала попробуйте выполнить задачи, которые менее подвержены влиянию (например, обнаружение обновлений документов).
Предварительные требования и ограничения:
- /goal: версия 2.1.139 или новее; недоступно, если функция hooks отключена; длина условий может составлять до 4000 символов.
- /loop: версия 2.1.72 или новее; минимальный интервал — 1 минута; работает только во время открытого сеанса (продолжается в фоновом режиме).
- /schedule (процедуры): требуется вход на claude.ai по подписке; недоступно в настройках ANTHROPICAPIKEY или Bedrock/Vertex/Foundry; минимальный интервал — 1 час.
- Процедуры в целом: доступны в тарифных планах Pro/Max/Team/Enterprise; возможна корректировка спецификации в ходе предварительного исследования.
/goal test/auth のテストがすべて通り、lint もクリーンになること
/schedule daily PR review at 9am
/schedule every hour: check #project-feedback for bug reports.
/goal: don't stop until every report found this run is triaged,
actioned, and responded to. When fixing a bug, use a workflow to
explore three solutions in parallel worktrees and have a judge
adversarially review them.
describe("judge", () => {
it("グーはチョキに勝つ", () => {
expect(judge("グー", "チョキ")).toBe("win");
});
// ... 他7ケース
});
claude -p "/goal janken/ 配下のじゃんけんモジュールを実装し、npm test がすべて通ること"
/loop 1m janken/ ディレクトリで npm test を実行して。失敗しているテストが
あれば src/janken.ts の judge と randomHand を実装して修正して。
全テストが通ったら、その回でループを止めて
Подробнее можно прочитать в официальных блогах и статьях, например: https://zenn.dev/tatsuqumo/articles/d10494cb4a440e.