Циклы и цели — /goal и /loop
Как держать агента работающим между ходами: /goal ведёт задачу до выполнения условия (отдельная модель проверяет каждый ход), /loop повторяет промпт по интервалу. Почему всё решает формулировка условия.
Обычно агент отвечает один раз: ты написал — он сделал. Но сессию можно держать работающей между ходами — агент сам продолжает, пока не достигнет цели. В Claude Code для этого две команды: /goal (довести до результата) и /loop (повторять по интервалу).
Вокруг таких циклов сейчас много шума — от «IDE больше не нужна» до «разработчиков скоро заменят». Хайп оставим в стороне и разберём по делу.
/goal — работать до результата
/goal задаёт условие завершения, и агент работает над ним ход за ходом, пока оно не выполнится. После каждого хода отдельная быстрая модель (по умолчанию Haiku) читает диалог и решает: цель достигнута — да или нет. Если нет — агент делает следующий ход (с подсказкой, чего не хватает); если да — цель снимается сама.
/goal все тесты в test/auth проходят и линт чистыйКлючевая деталь: условие проверяет не та модель, что делает работу, а независимый «судья». Это защищает от классического «агент сам себе поставил зачёт».
/goalбез аргумента — показать статус (сколько ходов и токенов потрачено, последняя причина «не выполнено»);/goal clear(илиstop/off/cancel) — снять цель досрочно.
Подходит для крупной работы с проверяемым финалом: миграция модуля, пока всё компилится и тесты зелёные; реализация дизайн-дока до выполнения всех критериев; разбор бэклога, пока очередь не пуста.
Всё решает формулировка условия
Первая мысль справедливая: сейчас агент нагенерит простыню на 1000 строк, перепишет полфреймворка, залезет в node_modules. Так и будет — если условие расплывчатое:
/goal поправь багХорошее условие держится на трёх вещах:
- одно измеримое состояние финиша — результат тестов, код выхода сборки, пустая очередь;
- как это доказать — «
npm testвыходит с 0», «git statusчистый»; - границы, которые нельзя нарушать — «не менять другие тест-файлы».
То есть тот же баг ставится так: воспроизведи → одна гипотеза → маленький фикс (diff ≤ 15 строк, не трогай лишнее) → тест на баг проходит, остальные не сломаны. Цикл силён ровно настолько, насколько чётко задано условие (когда стоп) и границы (чего не делать). Чтобы не крутился вечно, добавь предел: «…или остановись через 20 ходов».
Судья видит только то, что агент показал в диалоге — сам он команды не запускает и файлы не читает. Поэтому условие должно быть таким, что агент может его продемонстрировать: «тесты проходят» работает, потому что агент гоняет тесты и результат попадает в диалог.
/loop — повторять по интервалу
/loop — про другое: он повторяет промпт по таймеру, чтобы что-то опрашивать. Следующий ход стартует по интервалу, а не «как только закончился прошлый».
/loop 5m проверь статус деплояОстанавливается, когда ты его остановишь или агент решит, что работа сделана. Удобно: дождаться завершения CI, мониторить статус.
Что выбрать
/goal | /loop | |
|---|---|---|
| Следующий ход стартует | как только закончился предыдущий | по таймеру/интервалу |
| Останавливается | когда модель-судья подтвердила условие | ты остановил / агент решил, что готово |
| Для чего | довести одну задачу до измеримого финиша | периодически опрашивать, повторять |
Не только про код
Циклы полезны не только в автотестах. Вспомни, что копится и не доходит до рук: плавающие баги, флаки-тесты, рутина. Сценарий один: пометили → сложили → завели таску → «потом». А «потом» не наступает: временное — это всегда постоянное.
/goal и /loop интересны не как магия, а как способ вернуть такие задачи в работу — отдать агенту с чётким условием и рамками, вместо папки «разберём позже».
Не хочешь придумывать цикл с нуля — есть каталог готовых лупов. А /goal требует свежего Claude Code (v2.1.139+) и включённых хуков; точный синтаксис и детали — в официальной документации.
Проверь себя
1. Чем /goal отличается от /loop?
2. Кто решает, что цель /goal достигнута?
3. Что делает условие /goal хорошим?
Режимы и автоматизация
Режимы работы Claude Code: plan mode, /loop для повторяющихся задач, /ultraplan для облачного планирования и /schedule по расписанию.
Контекст и откат
Управление контекст-окном Claude Code: /context, /compact, чекпоинты и /rewind. Почему агент «тупеет» в длинных сессиях и что с этим делать.