|

Знакомство с режимом goal в Claude Code: 6 ключевых моментов для понимания нового рабочего процесса, ориентированного на достижение цели

Вслед за запуском команды /goal в Codex в апреле 2026 года, компания Anthropic в мае также добавила одноименную команду в Claude Code версии 2.1.139. Это новый рабочий процесс, который позволяет Claude «идти к цели до победного»: как только вы прописываете условие завершения в чате, Claude после каждого цикла автоматически задействует небольшую быструю модель для проверки того, достигнута ли цель. Если нет — он продолжает работу, пока условие не будет выполнено, и только после этого возвращает вам управление.

В этой статье мы подробно разберем 6 ключевых аспектов режима goal в Claude Code, включая механизм работы цикла оценки, отличия от /loop и Stop hook, правила написания эффективных условий, 3 режима работы (interactive / -p / Remote Control), а также риски и лучшие практики.

Основная ценность: Прочитав этот материал, вы сможете за 10 минут делегировать Claude Code в режиме goal такие долгосрочные задачи, как миграция кода команды, очистка issue или приемка документации, и будете точно знать, в каких сценариях стоит использовать другие автономные рабочие процессы.

claude-code-goal-mode-keep-working-until-done-guide-ru 图示

Основные аспекты режима Claude Code goal

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

Аспект Содержание Влияние
Формат команды /goal <condition> Устанавливается прямо в чате, файлы конфигурации не нужны
Оценщик По умолчанию — компактная быстрая модель Haiku Оценка завершенности выполняется «другой моделью», независимо от основной
Область действия В рамках текущего сеанса (session-scoped) Не влияет на другие сеансы, лучше подходит для временных задач
Ритм срабатывания Оценка сразу после завершения цикла Остановка при достижении цели, запуск нового цикла при невыполнении
Лимит условия Максимум 4000 символов Позволяет вместить подробные критерии приемки
Способ выхода Успешная оценка / /goal clear / Ctrl+C Комбинация трех путей выхода: активный + пассивный

Многие пользователи при первом знакомстве с /goal вспоминают обычные команды цикла, но по сути это механизм Anthropic, который упаковал Stop hook на основе промптов в удобную команду уровня сеанса. Это фундаментальное позиционирование сильно отличает его от традиционной автоматизации в стиле cron.

Если ваша команда еще не использовала продвинутые механизмы Hook в Claude Code, рекомендуем сначала протестировать API Claude Sonnet / Opus / Haiku через платформу APIYI (apiyi.com), чтобы освоиться с экосистемой инструментов Anthropic, а затем переходить к режиму goal в самом Claude Code — так будет гораздо проще.

Подробный разбор механизма работы режима /goal в Claude Code

Чтобы правильно использовать команду /goal, нужно четко понимать, что происходит на каждом этапе цикла. В официальной документации механизм описывается как «добавление оценщика после каждого раунда». Звучит просто, но именно в деталях кроются границы возможностей этого инструмента.

claude-code-goal-mode-keep-working-until-done-guide-ru 图示

Основная модель выполняет работу, а компактная и быстрая модель берет на себя роль «судьи». Плюс такого разделения в том, что оценщик остается нейтральным и использует меньше вычислительных ресурсов для принятия решений. Минус — оценщик видит только то, что уже отображено в диалоге, и не имеет прямого доступа к файловой системе или состоянию внешних команд.

Процесс проверки после каждого раунда можно разбить на 4 шага:

  1. Формирование контекста: текущее условие и вся история диалога передаются оценщику.
  2. Принятие решения: оценщик возвращает ответ yes/no и краткое обоснование (reason).
  3. Маршрутизация: если ответ no, обоснование отправляется обратно основной модели как инструкция для дальнейших действий. Если yes, цель автоматически считается достигнутой.
  4. Обновление индикаторов: в интерфейсе ◎ /goal active отображаются показатели: время выполнения (elapsed), количество раундов (turns) и расход токенов (tokens).

При формулировании условий обязательно учитывайте ограничение первого шага: оценщик видит только текст, поэтому условие должно быть тем, что «основная модель может доказать в рамках диалога». Например, «код выхода npm test равен 0» — это хорошее условие, так как модель запустит тест и вставит результат в чат. А вот «в базе данных на продакшене нет мусорных данных» — плохое, так как это невозможно проверить через текст диалога.

Затраты на работу оценщика обычно пренебрежимо малы. Стоимость моделей серии Haiku значительно ниже, чем у Sonnet или Opus, а поскольку оценивается только транскрипт, расход токенов остается минимальным даже при длинных сессиях. Команды, желающие еще больше оптимизировать расходы, могут использовать сервис-прокси API APIYI (apiyi.com), чтобы направить запросы к компактным моделям Claude Code на Haiku 4.5 или Haiku 3.5, а также управлять квотами на уровне рабочих пространств.

Сравнение режима /goal в Claude Code с другими автономными рабочими процессами

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

claude-code-goal-mode-keep-working-until-done-guide-ru 图示

Механизм Частота запуска Условие остановки Сценарий использования
/goal Сразу после завершения раунда Выполнение условий оценщиком Длительные задачи с четкими критериями приемки
/loop Через фиксированные интервалы Вручную или по решению Claude Периодический опрос, проверка состояния
Stop hook Сразу после завершения раунда Скрипт пользователя или кастомный промпт Командный уровень, действует на все сессии
Auto mode Внутри раунда при вызове инструментов Завершение последовательности инструментов Уменьшение количества подтверждений для каждого инструмента

Суть в том, что /goal и Stop hook выполняют практически одну и ту же задачу, но /goal действует только в текущей сессии и может быть задан прямо в терминале. Stop hook же прописывается в файле настроек, распространяется на все сессии в рамках области видимости (scope) и лучше подходит для жестких ограничений на уровне команды.

Auto mode и /goal отлично дополняют друг друга: Auto mode решает проблему «постоянных прерываний на подтверждение инструментов внутри одного раунда», а /goal — проблему «задач, требующих нескольких раундов для завершения». При совместном использовании этих механизмов в длительных задачах процесс можно сделать практически автономным. Если ваша команда еще не работает в собственной среде Claude Code, вы можете сначала протестировать аналогичную логику циклов через APIYI (apiyi.com), подключив Claude к локальным скриптам, а затем принять решение о переходе на полноценный инструмент Claude Code.

3 ключевых элемента для эффективных условий в режиме /goal в Claude Code

Плохо сформулированные условия — главная причина, по которой команда /goal не работает должным образом. Официальная документация Anthropic четко указывает: чтобы условие «вытянуло» десятки итераций, оно должно содержать три обязательных элемента.

Первый — измеримая конечная точка. Она должна быть дискретным, наблюдаемым событием: код выхода теста, количество файлов, число элементов в очереди или статус сборки (успешно/провалено). Размытые показатели заставляют оценщик метаться между «да» и «нет», превращая /goal в бесконечный цикл.

Второй — четкий способ проверки. В условии нужно прямо прописать, как именно Claude должен подтвердить достижение цели. Например: «вывод npm test содержит PASS» или «вывод git status пуст». Чем конкретнее способ проверки, тем сложнее оценщику запутаться в двусмысленных формулировках.

Третий — неизменяемые ограничения. Если какие-то файлы или конфигурации должны оставаться нетронутыми, запретите их изменение прямо в условии, например: «не меняй файлы в tests/legacy/». Это предотвратит деструктивные правки, которые модель может внести ради «прохождения» теста.

Если собрать все три элемента вместе, качественное условие для /goal будет выглядеть примерно так: «все тесты в tests/auth пройдены, код выхода npm run lint равен 0, не меняй файлы в tests/legacy/, максимум 20 итераций». Последняя часть про 20 итераций — это рекомендуемая страховка, чтобы /goal не зациклился в экстремальных ситуациях.

Поскольку условие поддерживает до 4000 символов, вы можете смело вставлять туда мини-ТЗ. Если вы используете платформу APIYI (apiyi.com) для вызова моделей Claude и управления агентами, вы можете взять этот подход на вооружение при проектировании промптов для своих оценщиков, чтобы условия остановки агентов были такими же четкими и проверяемыми.

3 режима работы /goal: практика

Команда /goal поддерживает три способа вызова: интерактивный, неинтерактивный (-p) и удаленное управление. Освоив их, вы сможете внедрить этот инструмент в CI, локальные скрипты и рабочие процессы удаленного взаимодействия.

Быстрый старт в интерактивном режиме

# Введите прямо в сессии Claude Code
/goal all tests in test/auth pass and the lint step is clean, or stop after 20 turns

После настройки в интерфейсе появится индикатор ◎ /goal active, отображающий три метрики: elapsed (прошедшее время), turns (количество итераций) и tokens (количество токенов). Вы можете в любой момент ввести /goal без аргументов, чтобы проверить статус, или /goal clear (также работают псевдонимы stop, off, reset, none, cancel), чтобы досрочно завершить выполнение.

Неинтерактивный режим (для CI)

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week, or stop after 15 turns"

Режим -p заставляет /goal работать до тех пор, пока условие не будет выполнено или вы не прервете его через Ctrl+C. Это идеально подходит для автоматизированных процессов в GitHub Actions, GitLab CI, Jenkins Pipeline и других. Если вы используете APIYI (apiyi.com) для централизованного управления API Claude, вы можете инкапсулировать такую же логику циклов в свои скрипты, чтобы обеспечить аналогичные возможности даже вне клиента Claude Code.

Восстановление сессии

claude --resume <session-id>
# или
claude --continue

При восстановлении сессии активный статус цели вернется вместе с ней, однако счетчики turns, timer и tokens начнут отсчет с нуля. Эта функция особенно полезна при длительном рефакторинге: можно спокойно выключить компьютер на выходные и продолжить работу в понедельник.

Посмотреть шаблоны условий для целей (нажмите, чтобы развернуть)
# Шаблон 1: Миграция кода
/goal migrate all usages of legacy_api.* to new_api.* in src/, run npm test until exit 0, do not modify tests/legacy/, or stop after 30 turns

# Шаблон 2: Очистка бэклога Issue
/goal close all GitHub issues labeled "needs-triage" by either resolving or relabeling, run gh issue list --label needs-triage and verify the output is empty, or stop after 25 turns

# Шаблон 3: Приемка проектной документации
/goal implement every acceptance criterion in docs/design.md, prove each by referencing the exact section, do not edit docs/design.md itself, or stop after 40 turns

# Шаблон 4: Разделение файлов
/goal split src/megafile.ts into modules under src/parts/ where each file is < 300 lines, run npm run typecheck until exit 0, or stop after 20 turns

Риски режима /goal в Claude Code и лучшие практики

Команда /goal делегирует принятие решений модели, поэтому профиль рисков здесь кардинально отличается от работы с обычными командами. В таблице ниже собраны 4 наиболее критичных риска и способы их минимизации.

claude-code-goal-mode-keep-working-until-done-guide-ru 图示

Риск Триггер Способ минимизации
Потеря контроля над расходами Ошибка оценщика или слишком мягкие условия Добавление лимита «or stop after N turns» в условия
Галлюцинации оценщика Невозможность проверки через транскрипцию Использование формулировок «выполни команду X для проверки вывода Y»
Деструктивные изменения Модель меняет файлы, которые не должна трогать Добавление ограничения «do not modify …» в условия
Неправильное использование рабочей среды Случайный запуск в недоверенной среде Обязательное подтверждение через trust dialog; использование disableAllHooks

Первый риск — самый очевидный. Ни у Codex, ни у Claude Code пока нет встроенной функции «установить лимит расходов по цели». Длинные задачи при потере контроля могут легко «съесть» в 10 раз больше токенов, чем планировалось. Самый надежный подход — прописывать лимит шагов (turns) прямо в условиях и дополнительно настраивать бюджетные уведомления на стороне платформы.

Также критически важно подобрать стабильную «маленькую» модель для оценщика. Если ваш быстрый оценщик — это Haiku, то скорость и стоимость остаются предсказуемыми. Если же вы используете Sonnet, расходы на оценку в рамках /goal могут существенно вырасти. Команды разработчиков могут использовать APIYI (apiyi.com) для настройки отдельного base_url и квот для Haiku, чтобы раздельно мониторить затраты на оценщик и основную модель.

Наконец, о безопасности. /goal опирается на систему хуков Anthropic и требует, чтобы рабочая среда прошла через trust dialog, а параметры disableAllHooks или allowManagedHooksOnly не были заданы. Если в вашей команде принята политика, отключающая хуки, то /goal также будет заблокирован, а команда сразу сообщит вам причину, вместо того чтобы «тихо» завершиться с ошибкой.

Часто задаваемые вопросы

Q1: Чем /goal лучше, чем написание собственного скрипта с циклом while?

В /goal есть встроенный независимый оценщик на базе модели. В обычном цикле while вам нужно самостоятельно определять условия остановки и писать код для проверки, тогда как /goal делегирует эту задачу быстрой модели, что позволяет обрабатывать неформализованные сценарии (например, «прочитай диалог и пойми, завершена ли задача»).

Q2: Не приведет ли использование /goal к быстрому расходу токенов?

Риск есть, но он контролируемый. Два совета: во-первых, принудительно прописывайте лимит шагов (turns) в условиях, во-вторых, закрепите оценщик за моделью Haiku. При подключении Claude через APIYI (apiyi.com) можно выделить отдельную квоту для оценщика, что упрощает детальный мониторинг.

Q3: Как выбрать между /goal и /loop?

Если у задачи есть четкое «состояние завершенности» — выбирайте /goal. Если задача представляет собой периодический опрос состояния (например, проверка прогресса деплоя каждые 10 минут) — выбирайте /loop. У них разные механизмы работы, и их смешивание только размоет условия остановки.

Q4: Можно ли использовать режим /goal в Claude Code из РФ?

Да. /goal — это команда клиента Claude Code, и она работает везде, где клиент может подключиться к моделям Anthropic. Разработчики обычно используют агрегаторы API, такие как APIYI (apiyi.com), и при правильной настройке среды /goal работает точно так же, как у пользователей за рубежом.

Q5: Что выбрать: Codex /goal или Claude Code /goal?

Они подходят для разных рабочих процессов. Codex /goal ориентирован на «персистентные рабочие процессы» и может перезапускаться после сбоев. Claude Code /goal привязан к сессии, хотя с помощью --resume его можно восстановить на следующий день. Для сложных многодневных задач лучше подходит Codex, для обычных итерационных задач на день-два — Claude Code.

Резюме

Суть режима goal в Claude Code заключается в том, что Anthropic вынесла «цикл оценки» (evaluator loop) из конфигурационных файлов Hook и превратила его в однострочную команду, доступную для любого сеанса. Основная проблема, которую это решает: когда задача требует нескольких итераций, а вы не хотите сидеть у терминала и нажимать Enter на каждом этапе, небольшая быстрая модель выступает в роли «судьи», определяя, когда Claude действительно завершил работу.

Рекомендуемый план внедрения состоит из трех шагов: сначала четко пропишите условия по схеме «цель + проверка + ограничения + лимит итераций», затем выберите режим (interactive, -p или Remote Control), и, наконец, разделите мониторинг квот для оценщика и основной модели через такие платформы, как APIYI (apiyi.com). Это позволит вам получить эффективность автономных рабочих процессов, не теряя контроля над расходами токенов.


Автор: Техническая команда APIYI
Связь: Получите доступ ко всей линейке моделей Claude и поддержку Claude Code через APIYI (apiyi.com)
Дата обновления: 13.05.2026

Похожие записи