Skip to main content
Команда /goal устанавливает условие завершения, и Claude продолжает работать над его достижением без необходимости в ваших подсказках на каждом шаге. После каждого хода небольшая быстрая модель проверяет, выполняется ли условие. Если модель определит, что условие еще не выполнено, Claude начинает еще один ход вместо того, чтобы вернуть управление вам. Цель автоматически очищается после выполнения условия, если модель сочтет условие невозможным для удовлетворения или если ход завершится с ошибкой, которую вам нужно исправить. Используйте цель для значительной работы с проверяемым конечным состоянием:
  • Миграция модуля на новый API до тех пор, пока каждый вызов компилируется и тесты проходят
  • Реализация документа дизайна до тех пор, пока все критерии приемки выполнены
  • Разделение большого файла на сфокусированные модули до тех пор, пока каждый находится в пределах бюджета размера
  • Работа через очередь помеченных проблем до тех пор, пока очередь не будет пуста

Сравнение способов поддержания сеанса в работе

Три подхода поддерживают текущий сеанс в работе между подсказками. Выбирайте в зависимости от того, что должно начать следующий ход: /goal и Stop hook оба срабатывают после каждого хода. /goal — это сокращение в области сеанса: вы вводите условие, и оно активно только для текущего сеанса. Stop hook находится в вашем файле настроек, применяется к каждому сеансу в его области и может запустить скрипт для детерминированных проверок или подсказку для оцениваемых моделью. Автоматический режим сам по себе одобряет вызовы инструментов в одном ходе, но не начинает новый. Claude останавливается, когда судит, что работа завершена. /goal добавляет отдельный оценщик, который проверяет ваше условие после каждого хода, поэтому завершение решается свежей моделью, а не той, которая выполняет работу. Эти два подхода дополняют друг друга: автоматический режим удаляет подсказки для каждого инструмента, а /goal удаляет подсказки для каждого хода.
Описанные выше подходы поддерживают текущий сеанс в работе. Вы также можете планировать работу, которая выполняется независимо от любого открытого сеанса, например ночные тесты или утреннюю сортировку. См. варианты планирования для облачных процедур и запланированных задач на рабочем столе.

Использование /goal

За сеанс может быть активна одна цель. Одна и та же команда устанавливает, проверяет и очищает ее в зависимости от аргумента.

Установка цели

Запустите /goal с условием, которое вы хотите выполнить. Если цель уже активна, новая заменит ее.
Установка цели немедленно начинает ход с самим условием в качестве директивы. Вам не нужно отправлять отдельную подсказку. Пока цель активна, индикатор ◎ /goal active показывает, как долго цель работает. Цель не изменяет режим разрешений. Чтобы позволить ходам цели работать без присмотра, запустите /goal в режиме автоматизации. В ручном режиме Claude все еще запрашивает разрешение перед вызовами инструментов, которые ваши настройки еще не разрешают, например команда теста выше. Пока цель активна, стенограмма показывает каждый вердикт, который возвращает оценщик, и вы можете нажать Ctrl+O, чтобы увидеть причину этого. Представление статуса также показывает самую последнюю причину, поэтому вы можете видеть, над чем Claude будет работать дальше.

Написание эффективного условия

Оценщик судит ваше условие по тому, что Claude выявил в разговоре. Он не запускает команды и не читает файлы независимо, поэтому напишите условие как что-то, что может продемонстрировать собственный результат Claude. “Все тесты в test/auth проходят” работает, потому что Claude запускает тесты и результат попадает в стенограмму для оценщика. Условие, которое выполняется на протяжении многих ходов, обычно имеет:
  • Одно измеримое конечное состояние: результат теста, код выхода сборки, количество файлов, пустая очередь
  • Указанную проверку: как Claude должен это доказать, например “npm test выходит 0” или “git status чист”
  • Ограничения, которые имеют значение: все, что не должно изменяться на пути туда, например “никакой другой файл теста не изменяется”
Условие может быть до 4000 символов. Чтобы ограничить, как долго работает цель, включите в условие пункт о ходе или времени, например or stop after 20 turns. Claude сообщает о прогрессе по этому пункту на каждом ходе, и оценщик судит его из разговора.

Проверка статуса

Запустите /goal без аргументов, чтобы увидеть текущее состояние.
Если цель активна, статус показывает:
  • Условие
  • Как долго оно работает
  • Сколько ходов было оценено
  • Текущие затраты токенов
  • Самое последнее объяснение оценщика
Количество ходов и самое последнее объяснение появляются после первого запуска оценки. Если цель не активна, но одна была достигнута ранее в сеансе, статус показывает достигнутое условие вместе с его продолжительностью, количеством ходов и затратами токенов.

Очистка цели

Запустите /goal clear, чтобы удалить активную цель до выполнения ее условия.
Claude выводит Goal cleared: с последующим условием для подтверждения или No goal set, если ничего не было активно. stop, off, reset, none и cancel принимаются как псевдонимы для clear. Запуск /clear для начала нового разговора также удаляет любую активную цель.

Возобновление с активной целью

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

Запуск неинтерактивно

/goal работает в неинтерактивном режиме, в приложении для рабочего стола и через Remote Control. Установка цели с -p запускает цикл до завершения в одном вызове:
При выводе текста по умолчанию ничего не выводится до завершения выполнения, поэтому цель, которая работает много ходов, может выглядеть зависшей. Добавьте --output-format stream-json --verbose, чтобы выводить каждое сообщение по мере выполнения цикла. Прервите процесс с помощью Ctrl+C, чтобы остановить неинтерактивную цель до выполнения условия.

Как работает оценка

/goal — это оболочка вокруг prompt-based Stop hook в области сеанса. Каждый раз, когда Claude завершает ход, Claude Code отправляет условие и разговор до сих пор на ваш настроенный небольшой быстрый модель, который по умолчанию является Haiku на Claude API; у поставщика третьей стороны проверьте вашу страницу поставщика для получения стандартного значения платформы. Модель возвращает один из трёх вердиктов, каждый с кратким объяснением:
  • Ещё не выполнено: Claude продолжает работу и принимает объяснение в качестве руководства для следующего хода.
  • Выполнено: Claude Code очищает цель и записывает достигнутую запись в стенограмму.
  • Невозможно: оценщик определил, что условие никогда не может быть выполнено. Claude Code очищает цель и записывает неудачную запись в стенограмму вместе с объяснением. Вам не нужно очищать её самостоятельно.
Если Claude продолжает отвечать оценщику без прогресса (отсутствие использования инструментов в течение нескольких ходов подряд), Claude Code останавливает цикл, выводит предупреждение и возвращает управление вам с установленной целью. Оценка возобновляется после вашего следующего запроса. Руководство по hooks объясняет основной механизм.

Когда ход завершается ошибкой

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

Ошибки, которые вы должны исправить, очищают цель

Если ход завершается ошибкой, которая не будет очищена, пока вы её не исправите, Claude Code очищает цель и выводит предупреждение, называя причину. Предупреждение начинается с Goal cleared after an unrecoverable error и заканчивается с Run /goal again to continue. Исправьте причину, затем установите цель снова с помощью /goal <condition>. Четыре вида отказа очищают цель:
  • Ошибка аутентификации, когда Claude Code управляет своими собственными учётными данными. Когда хост управляет ими для вас, например в приложении для рабочего стола, расширении VS Code или облачном сеансе, Claude Code оставляет цель активной, потому что хост восстанавливает доступ самостоятельно.
  • Исчерпанный баланс кредитов
  • Переполнение контекста, которое auto-compact не смог очистить
  • Модель, которая недоступна

Другие ошибки повторяют попытку или приостанавливают цель

После любого другого отказа цель остаётся установленной. В интерактивном сеансе на Claude Code v2.1.269 или позже Claude Code также выводит строку, называющую причину, и либо повторяет попытку самостоятельно, либо ждёт вас:
  • Повторить попытку: после отказа, который имеет тенденцию очищаться самостоятельно, например перегруженный сервер или разорванное соединение, уведомление, начинающееся с Goal still active, показывает ожидание перед следующей попыткой. После трёх автоматических повторных попыток цель вместо этого приостанавливается.
  • Приостановить: после отказа, который повторная попытка только повторит, например ограничение скорости API, лимит использования claude.ai или hook, который завершил ход, уведомление, начинающееся с Goal paused, называет причину. Если сеанс ожидает автоматического продолжения при сбросе лимита использования, Claude возобновляет работу над целью тогда.
Отправьте сообщение в любое время, чтобы начать следующий ход немедленно. Чтобы отключить автоматические повторные попытки, установите CLAUDE_CODE_GOAL_CHECKIN_MINUTES на 0, что также отключает проверки.

Фоновая работа откладывает оценку

Если подагент или фоновая команда shell всё ещё выполняется, когда ход заканчивается, Claude Code пропускает оценку для этого хода. Он оценивает в конце следующего хода, который завершается без выполнения фоновой работы. Когда фоновая работа завершается, Claude Code доставляет результат Claude как новый ход, поэтому вам не нужно отправлять запрос. Как только фоновая работа удерживает цель в ожидании в течение 30 минут, требуется проверка. При проверке Claude Code перечисляет выполняющиеся задачи и просит Claude прочитать их вывод, продолжить ожидание, если они прогрессируют, и исправить или остановить любые, которые застряли. После первой проверки Claude Code ждёт в два раза дольше перед каждой последующей проверкой, вплоть до четырёхкратного первого интервала: с значением по умолчанию, 1 час после первой проверки, затем каждые 2 часа. Claude Code доставляет должную проверку, первая включена, одним из двух способов:
  • Когда ход заканчивается: Claude Code доставляет проверку в конце следующего хода, который завершается с выполняющейся работой. В неинтерактивном сеансе, например запущенном с -p, это единственный способ доставки проверок Claude Code.
  • Пока сеанс неактивен: в интерактивном сеансе Claude Code также запускает ход самостоятельно для доставки проверки вместо ожидания вашего следующего запроса. Если фоновая работа остановилась без сообщения результата, Claude Code просит Claude продолжить работу над целью. Claude Code запускает максимум три неактивные проверки на цель между вашими запросами. При третьей неактивной проверке Claude Code говорит, что неактивные проверки приостановлены до тех пор, пока вы не отправите другой запрос. До v2.1.246 неактивные проверки были неограниченными. Неактивные проверки требуют Claude Code v2.1.236 или позже.
До v2.1.239 только неактивные проверки отступали таким образом; проверка, доставленная в конце хода, повторялась с первым интервалом. Чтобы изменить первый интервал, установите CLAUDE_CODE_GOAL_CHECKIN_MINUTES. Claude Code использует ваше значение вместо 30-минутного интервала и масштабирует более поздние интервалы с ним. Установите его на 0, чтобы отключить проверки и автоматические повторные попытки. Проверки требуют Claude Code v2.1.234 или позже.

Модель оценки и стоимость

Чтобы оценить на другой модели, установите ANTHROPIC_DEFAULT_HAIKU_MODEL.
Claude Code читает ANTHROPIC_DEFAULT_HAIKU_MODEL везде, где он использует небольшую быструю модель, не только для оценки /goal. Когда вы устанавливаете его, Claude Code также разрешает alias haiku этой модели и запускает фоновую функциональность, такую как суммирование разговора, на ней.
Оценщик работает на любом поставщике, на котором настроен ваш сеанс. Он не вызывает инструменты, поэтому может судить только то, что Claude уже выявил в разговоре.
Токены оценки выставляются на счет небольшой быстрой модели, настроенной для вашего поставщика, и обычно незначительны по сравнению с основными затратами хода.

Требования

Claude Code делает /goal доступным в соответствии с тем же правилом доверия рабочей области, что и для hooks в файлах параметров, потому что оценщик является частью системы hooks. /goal также недоступен, когда disableAllHooks имеет значение true после применения приоритета параметров, или когда allowManagedHooksOnly установлен в управляемых параметрах. В каждом случае команда сообщает вам причину вместо того, чтобы молча ничего не делать.

См. также