DeepDigest
Zenn / AI · · ~4 мин

Циклы в Claude Code: как выбрать подходящий вариант

В Claude Code есть 4 типа циклов для автоматизации задач: пошаговый, основанный на достижении цели (/goal), основанный на времени (/loop и /schedule), упреждающий (Routines). Каждый из них подходит для определённых сценариев. Например, /goal эффективнее для задач с проверяемыми условиями, а /loop — для непрерывного мониторинга. Выбор цикла зависит от условий запуска и остановки задачи.

LLM
Циклы в Claude Code: как выбрать подходящий вариант

Claude Code предлагает несколько типов циклов для автоматизации задач. Команда Claude Code выделяет 4 типа циклов — они различаются комбинацией триггеров (которые запускают следующий цикл) и условий остановки (которые определяют окончание цикла).

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

  2. Основанный на достижении цели (/goal). Claude автоматически повторяет ход до тех пор, пока не будет выполнено условие, указанное в одной строке «Условия завершения». Когда каждый ход завершён, содержание разговора отправляется на небольшую модель для оценки (по умолчанию — хайку), чтобы определить успешность или неуспешность выполнения условия. Этот подход эффективен для задач с проверяемыми условиями: он быстрее и дешевле, чем /loop.

  3. Основанный на времени (/loop и /schedule). Эти циклы разделяют местоположение выполнения и использование.

  4. /loop периодически повторяет запросы в открытом сеансе. Поведение меняется в зависимости от того, что вы передаёте: например, можно задать интервал и подсказку (/цикл 5m проверяет развёртывание) или только подсказку (/цикл проверяет развёртывание) — тогда Claude динамически выберет интервал от 1 минуты до 1 часа в зависимости от результатов наблюдения. Цикл выполняется только во время открытой сессии на компьютере.

  5. /schedule (процедуры) выполняется в облачной инфраструктуре Anthropic — и продолжит работу, даже если ноутбук закрыт. Это механизм, который объединяет запрос, целевой репозиторий и MCP‑коннектор и автоматически запускается в облачной инфраструктуре Anthropic.

  6. Упреждающий (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.

// оригинал
Zenn / AI ↗ Читать оригинал
1 просмотров
// поделиться Telegram VK