Вместо того чтобы писать агенту команду за командой, ты задаёшь действие и критерий готовности один раз, а Claude Code сам гоняет цикл. Разберём, как работает /loop, из чего собрать петлю и где она реально экономит время.
Самый частый способ работать с Claude Code — диалог: ты пишешь задачу, смотришь результат, пишешь следующую. Но есть класс задач, где ты повторяешь одно и то же: «проверь, прошёл ли CI», «глянь, завершился ли деплой», «допиши статью, пока есть лимиты». Гонять это руками скучно и медленно. Loop-кодинг — это когда ты описываешь повторяемое действие один раз, а агент сам крутит его в цикле и сам решает, когда остановиться.
Что узнаешь из гайда
/loop — с интервалом и безЧасть 1 · Понятие
Главное
Loop-кодинг — это работа циклом, а не репликами. Ты один раз описываешь повторяемое действие и условие остановки, а агент сам прогоняет его раз за разом, пока открыта сессия.
Разберём по словам. Loop — это петля, повторение. В обычном диалоге каждое повторение запускаешь ты: написал реплику — получил ответ — написал следующую. В loop-кодинге петлю крутит сам агент. Ты формулируешь задачу один раз в формате «делай вот это, пока не выполнится вот такое условие», и дальше Claude Code сам решает, когда сделать следующий заход.
Ключевая разница — кто принимает решение «повторить ещё раз». В диалоге это ты, в цикле — модель. Поэтому петля имеет смысл там, где действие растянуто во времени и его исход заранее неизвестен: процесс ещё идёт, надо подождать и проверить снова. «Дождись, пока CI станет зелёным, и поправь замечания ревью» — классическая задача под цикл, а не под диалог.
| Параметр | Обычный диалог | Loop-кодинг |
|---|---|---|
| Кто повторяет | Ты, руками | Агент, сам |
| Когда полезно | Разовая задача | Повтор во времени |
| Что задаёшь | Каждый шаг | Действие + критерий «готово» |
Loop-кодинг — это не отдельный инструмент, а режим работы агента. Включается он одной командой, про которую дальше. Если ещё не разобрался с базовыми командами Claude Code — загляни в методичку по всем командам.
Часть 2 · Команда
Главное
/loop запускает заданный промт повторно, пока открыта сессия. Можно задать интервал явно или дать модели выбирать паузу самой — второе обычно экономнее по токенам.
Самый прямой вариант — указать интервал и действие. Claude переведёт интервал в расписание и будет запускать промт раз в заданное время:
# Запускать действие раз в 5 минут
/loop 5m проверь, завершился ли деплой, и расскажи что произошло
# Интервал понимает m (минуты) и h (часы): 5m, 30m, 2hЧасто лучше не фиксировать интервал, а отдать выбор паузы модели. Тогда она сама подстраивает ритм под активность: чаще проверяет, когда что-то происходит, и реже — когда тихо. Это экономнее по токенам, чем долбить каждые пять минут впустую:
# Без интервала — Claude сам выбирает паузу между заходами
/loop проверь, прошёл ли CI, и закрой замечания ревью
# Это часто выгоднее: модель не тратит заходы там, где ничего не изменилосьМожно вызвать /loop вообще без аргументов. Тогда Claude запустит встроенную проверку обслуживания — либо твой собственный промт из файла .claude/loop.md, если ты его завёл. Это удобно для «дежурного» цикла в проекте, который всегда проверяет одно и то же.
# Без промта и без интервала — Claude крутит встроенную
# проверку обслуживания или то, что лежит в .claude/loop.md
/loopВажно
Цикл живёт, пока открыта сессия. Закроешь окно — петля остановится. Поэтому для долгих циклов сессию пускают в фон (об этом ниже), а не держат вкладку открытой вручную. И всегда давай цикл с условием остановки внутри промта: «пока CI красный», «пока деплой не завершён». Без критерия «готово» петля не знает, когда замолчать.
Часть 3 · Анатомия петли
Главное
Хорошая петля — это повторяемое действие плюс эталон результата: что делать на каждом заходе и по какому признаку понять, что цель достигнута и можно остановиться.
Петля без эталона результата — это просто бесконечный расход токенов. Поэтому промт для /loop всегда собирают из двух частей. Первая — действие: что конкретно проверять или делать на каждом заходе. Вторая — критерий: по какому наблюдаемому факту цикл понимает, что закончил.
/loop следи за PR release/next:
# действие — что делать на каждом заходе:
# - если CI красный, вытащи лог упавшей джобы и почини минимальным фиксом
# - если пришли новые комментарии ревью, ответь и закрой тред
# эталон результата — когда остановиться:
# - когда всё зелёно и тихо, скажи об этом одной строкой и закончиЗаметь: эталон тут не «сделай хорошо», а наблюдаемый факт — «всё зелёно и тихо». Агент может его проверить сам, без тебя. Это и есть смысл эталона: он должен быть измеримым, чтобы цикл мог принять решение остановиться без твоего участия.
Если цикл «дежурный» и одинаковый из проекта в проект — выноси его в файл .claude/loop.md. Тогда голый /loop будет каждый раз запускать именно его, а не встроенную проверку. Правки файла подхватятся на следующем заходе.
Проверь PR release/next. Если CI красный — вытащи лог упавшей
джобы, разберись и запушь минимальный фикс. Если пришли новые
комментарии ревью — ответь на каждый и закрой тред. Если всё
зелёно и тихо — скажи об этом одной строкой.Коротко
.claude/loop.md и зови голым /loop.Часть 4 · Фон
Главное
Долгий цикл держат не открытой вкладкой, а фоновой сессией. Её можно отлепить от терминала, смотреть логи и в любой момент остановить по ID.
Команда /loop крутится, пока открыта сессия. Сидеть и сторожить окно — не вариант. Поэтому сессию переводят в фон: она продолжает работать сама, а терминал освобождается. После бэкграунда Claude печатает короткий ID сессии и набор команд для управления ей.
# После бэкграунда Claude печатает ID и команды:
backgrounded · 7c5dcf5d · flaky-test-fix
claude agents список сессий
claude attach 7c5dcf5d открыть в этом терминале
claude logs 7c5dcf5d показать последний вывод
claude stop 7c5dcf5d остановить сессиюЛогика простая: claude agents — посмотреть, что вообще крутится, claude logs — заглянуть в вывод цикла, claude attach — вернуться в сессию и вмешаться руками, claude stop — погасить петлю по её ID. Так цикл живёт сам по себе, а ты подходишь к нему только когда надо.
Про фоновые сессии и параллельную работу нескольких агентов сразу есть отдельный разбор в гайде про ИИ-команду в терминале: там оркестратор раздаёт задачи субагентам, и у каждого свой цикл.
Часть 5 · Сценарии
Loop-кодинг хорош в задачах, где надо «подождать и проверить снова». Вот три рабочих сценария, в которых цикл экономит время, а не жжёт токены впустую.
Петля хороша там, где задача — ждать и реагировать, а не сделать один раз и закрыть.
Когда петля вредна
Не пихай в /loop разовые задачи — написать функцию, поправить баг, собрать страницу. Это обычный диалог, цикл тут только сожжёт лишние токены. И никогда не запускай петлю без условия остановки: «делай вечно» — это прямой путь спалить лимиты на пустых заходах. Про то, на чём вообще горят токены, есть отдельный гайд про лимиты.
Пример
Запустил выкатку, дал агенту /loop проверяй деплой каждые 3 минуты, доложи когда завершится, перевёл сессию в фон и пошёл заниматься другим. Через двадцать минут агент сам написал, что деплой прошёл и что в логах. Ноль ручных проверок.
Коротко
/loop: с интервалом (5m), без интервала (динамика) или голая (промт из .claude/loop.md).claude logs / claude stop по ID), всегда с условием остановки.Вопросы
Loop-кодинг — это подход, при котором Claude Code выполняет одно и то же действие в цикле, пока открыта сессия, сам решая, когда повторять. В Claude Code за это отвечает команда /loop: ты задаёшь повторяемое действие и условие остановки, а агент прогоняет его раз за разом без твоего участия. Это удобно для задач вроде «дождись зелёного CI и поправь замечания» или «следи за деплоем и доложи».
Команда /loop запускает заданный промт повторно, пока открыта сессия. Можно указать интервал (/loop 5m ...) — тогда Claude переведёт его в расписание, или опустить интервал (/loop ...) — тогда модель сама выбирает паузу между прогонами по активности, что обычно экономнее по токенам. Если опустить и сам промт, Claude запустит встроенную проверку обслуживания или промт из файла .claude/loop.md.
В обычном диалоге ты ставишь задачу, получаешь результат и пишешь следующую реплику руками. В loop-кодинге ты один раз задаёшь повторяемое действие и эталон результата, а дальше агент сам гоняет цикл и принимает решения внутри него. Это смещает работу с «пиши каждую команду» на «опиши цель и критерий готовности один раз».
Loop-кодинг не нужен для разовых задач: написать функцию, поправить баг, собрать страницу — это обычный диалог. Цикл оправдан только когда действие повторяется во времени и есть чёткий измеримый критерий «готово»: CI позеленел, деплой завершился, задача закрыта. Без эталона результата цикл превращается в бесконтрольный расход токенов, поэтому критерий остановки задают всегда.
Читать дальше
Loop-кодинг, субагенты, хуки и циклы — это только часть того, как мы гоняем Claude Code в ИИ-офисе. Разборы, эталоны промтов и живое сообщество вайбкодеров — в Telegram.
Зайти в Telegram ИИ-офисаА готовые навыки для Claude Code — в маркетплейсе скилов.