Циклы в Claude Code: как перестать писать промпты и начать делегировать работу агенту

Вокруг Claude Code сейчас много разговоров о том, что вместо привычного промптинга стоит проектировать циклы. Проблема в том, что если поискать на X, что вообще такое цикл, вы найдёте с десяток разных трактовок. В команде Claude Code под циклом понимают простую вещь: агент повторяет рабочие итерации, пока не сработает условие остановки.

Циклы различают по нескольким признакам: как они запускаются, как останавливаются, какой примитив Claude Code задействован и для каких задач подходят. Важная оговорка сразу: не всякая задача требует сложного цикла. Начинать стоит с самого простого решения и подключать эти паттерны выборочно.

Пошаговый цикл на каждый запрос

Каждый ваш промпт уже запускает цикл, просто вы вручную ведёте его от шага к шагу. Claude собирает контекст, выполняет действие, проверяет результат, при необходимости повторяет и отвечает. Это и есть агентный цикл. Скажем, вы просите сделать кнопку лайка: модель читает код, вносит правку, гоняет тесты и возвращает то, что считает рабочим. Дальше вы сами проверяете и пишете следующий запрос. Такой цикл запускается вашим промптом, останавливается, когда Claude решил, что задача закрыта или нужен дополнительный контекст, и хорош для коротких разовых задач вне регулярного процесса.

Шаг проверки можно усилить, если зашить свои ручные проверки в файл SKILL.md. Тогда Claude сам проверит большую часть работы от начала до конца. Чем более количественные критерии вы задаёте, например запуск дев-сервера, клик по новому элементу, отсутствие ошибок в консоли и аудит Core Web Vitals, тем проще модели верифицировать себя без вашего участия.

Цикл по цели через /goal

Одного хода часто не хватает, особенно на сложных задачах, где агенту выгодно итерировать. Команда /goal позволяет задать, что именно считать готовым результатом. Когда критерий успеха описан, Claude не оборвёт цикл раньше времени на оценке достаточно хорошо. При каждой попытке остановиться модель-оценщик проверяет ваше условие и отправляет агента работать дальше, пока цель не достигнута или не исчерпан лимит ходов. Именно поэтому детерминированные критерии вроде числа пройденных тестов или порога по баллам работают лучше всего. Пример команды: поднять Lighthouse главной страницы до 90 и выше, остановиться после 5 попыток.

Цикл по времени через /loop и /schedule

Часть работы повторяется: сама задача остаётся прежней, меняются только входные данные, как у ежеутренней сводки сообщений из Slack. Другая часть зависит от внешних систем, и простой способ с ними работать это проверять их по интервалу и реагировать на изменения, как с PR, который получает ревью или ломает CI.

Запускать такой цикл можно через /loop, который перезапускает промпт по интервалу, например каждые 5 минут проверять PR, отрабатывать комментарии ревью и чинить падающий CI. /loop работает на вашем компьютере, так что если выключить машину, он остановится. Чтобы перенести его в облако, создайте рутину через /schedule.

Проактивные циклы

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

Например, чтобы разбирать входящую обратную связь, можно собрать связку: /schedule запускает рутину, которая чекает новые репорты, /goal задаёт, что считать сделанным, а динамические воркфлоу оркестрируют агентов, которые триажат, чинят и ревьюют каждый репорт. Авторежим при этом даёт рутине работать без остановок на запрос разрешений.

Как держать качество кода

Качество результата цикла зависит от системы вокруг него. Кодовую базу стоит держать чистой, потому что Claude следует уже существующим в ней паттернам и конвенциям. Дайте модели способ проверять свою работу, закодировав через скиллы, как выглядит хороший результат для вас и команды. Документация фреймворков и библиотек должна быть под рукой, в ней актуальные практики. Для ревью полезно брать второго агента: ревьюер со свежим контекстом менее предвзят, его не ведёт логика основного агента. Когда отдельный результат не дотягивает до планки, не ограничивайтесь правкой одной проблемы, а закодируйте её в систему, чтобы улучшить все будущие итерации.

Как контролировать расход токенов

Чтобы циклы не жгли токены, у них должны быть чёткие границы. Выбирайте примитив и модель под задачу: мелким задачам не нужны ни несколько агентов, ни циклы, часть из них справится на более дешёвых и быстрых моделях. Задавайте ясные критерии успеха и остановки, чтобы Claude пришёл к решению раньше, но не слишком рано. Сначала прогоняйте большой запуск на маленькой части работы, потому что динамические воркфлоу способны породить сотни агентов. Для детерминированных шагов используйте скрипты: запустить скрипт дешевле, чем каждый раз прогонять шаги через рассуждение. И не запускайте рутины чаще, чем нужно: интервал должен совпадать с тем, как часто меняется отслеживаемое. Команда /usage покажет расход по скиллам, сабагентам и MCP.

С чего начать

Посмотрите на работу, которую вы уже делаете, и выберите одну задачу, где узкое место это вы сами. Спросите себя, какую часть можно отдать: можете ли вы описать проверку, достаточно ли ясна цель, приходит ли работа по расписанию. Когда идея появится, запустите цикл, понаблюдайте, где он застревает или переусердствует, и смело дорабатывайте.

2