> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Держите Claude в работе над целью

> Установите условие завершения с помощью /goal, и Claude будет работать над его достижением на протяжении нескольких ходов, пока условие не будет выполнено.

<Note>
  `/goal` требует Claude Code v2.1.139 или более поздней версии.
</Note>

Команда `/goal` устанавливает условие завершения, и Claude продолжает работать над его достижением без необходимости в ваших подсказках на каждом шаге. После каждого хода небольшая быстрая модель проверяет, выполняется ли условие. Если нет, Claude начинает еще один ход вместо того, чтобы вернуть управление вам. Цель автоматически очищается после выполнения условия.

Используйте цель для значительной работы с проверяемым конечным состоянием:

* Миграция модуля на новый API до тех пор, пока каждый вызов компилируется и тесты проходят
* Реализация документа дизайна до тех пор, пока все критерии приемки выполнены
* Разделение большого файла на сфокусированные модули до тех пор, пока каждый находится в пределах бюджета размера
* Работа через очередь помеченных проблем до тех пор, пока очередь не будет пуста

<h2 id="compare-ways-to-keep-a-session-running">
  Сравнение способов поддержания сеанса в работе
</h2>

Три подхода поддерживают текущий сеанс в работе между подсказками. Выбирайте в зависимости от того, что должно начать следующий ход:

| Подход                                                              | Следующий ход начинается когда | Останавливается когда                                     |
| :------------------------------------------------------------------ | :----------------------------- | :-------------------------------------------------------- |
| `/goal`                                                             | Предыдущий ход завершается     | Модель подтверждает, что условие выполнено                |
| [`/loop`](/ru/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | Истекает временной интервал    | Вы его остановите, или Claude решит, что работа завершена |
| [Stop hook](/ru/hooks-guide#prompt-based-hooks)                     | Предыдущий ход завершается     | Ваш собственный скрипт или подсказка решает               |

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

[Автоматический режим](/ru/auto-mode-config) сам по себе одобряет вызовы инструментов в одном ходе, но не начинает новый. Claude останавливается, когда судит, что работа завершена. `/goal` добавляет отдельный оценщик, который проверяет ваше условие после каждого хода, поэтому завершение решается свежей моделью, а не той, которая выполняет работу. Эти два подхода дополняют друг друга: автоматический режим удаляет подсказки для каждого инструмента, а `/goal` удаляет подсказки для каждого хода.

<Tip>
  Описанные выше подходы поддерживают текущий сеанс в работе. Вы также можете планировать работу, которая выполняется независимо от любого открытого сеанса, например ночные тесты или утреннюю сортировку. См. [варианты планирования](/ru/scheduled-tasks#compare-scheduling-options) для облачных процедур и запланированных задач на рабочем столе.
</Tip>

<h2 id="use-/goal">
  Использование `/goal`
</h2>

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

<h3 id="set-a-goal">
  Установка цели
</h3>

Запустите `/goal` с условием, которое вы хотите выполнить. Если цель уже активна, новая заменит ее.

```text theme={null}
/goal all tests in test/auth pass and the lint step is clean
```

Установка цели немедленно начинает ход с самим условием в качестве директивы. Вам не нужно отправлять отдельную подсказку. Пока цель активна, индикатор `◎ /goal active` показывает, как долго цель работает.

После каждого хода оценщик возвращает краткое объяснение того, выполняется ли условие или нет. Самое последнее объяснение появляется в представлении статуса и в стенограмме, чтобы вы могли видеть, над чем Claude будет работать дальше.

<Note>
  Цель продолжает работать до тех пор, пока условие не будет выполнено или вы не запустите `/goal clear`. Запустите `/goal` без аргумента, чтобы увидеть ходы и потраченные токены до сих пор.
</Note>

<h3 id="write-an-effective-condition">
  Написание эффективного условия
</h3>

[Оценщик](#how-evaluation-works) судит ваше условие по тому, что Claude выявил в разговоре. Он не запускает команды и не читает файлы независимо, поэтому напишите условие как что-то, что может продемонстрировать собственный результат Claude. "Все тесты в `test/auth` проходят" работает, потому что Claude запускает тесты и результат попадает в стенограмму для оценщика.

Условие, которое выполняется на протяжении многих ходов, обычно имеет:

* **Одно измеримое конечное состояние**: результат теста, код выхода сборки, количество файлов, пустая очередь
* **Указанную проверку**: как Claude должен это доказать, например "`npm test` выходит 0" или "`git status` чист"
* **Ограничения, которые имеют значение**: все, что не должно изменяться на пути туда, например "никакой другой файл теста не изменяется"

Условие может быть до 4000 символов.

Чтобы ограничить, как долго работает цель, включите в условие пункт о ходе или времени, например `or stop after 20 turns`. Claude сообщает о прогрессе по этому пункту на каждом ходе, и оценщик судит его из разговора.

<h3 id="check-status">
  Проверка статуса
</h3>

Запустите `/goal` без аргументов, чтобы увидеть текущее состояние.

```text theme={null}
/goal
```

Если цель активна, статус показывает:

* Условие
* Как долго оно работает
* Сколько ходов было оценено
* Текущие затраты токенов
* Самое последнее объяснение оценщика

Если цель не активна, но одна была достигнута ранее в сеансе, статус показывает достигнутое условие вместе с его продолжительностью, количеством ходов и затратами токенов.

<h3 id="clear-a-goal">
  Очистка цели
</h3>

Запустите `/goal clear`, чтобы удалить активную цель до выполнения ее условия.

```text theme={null}
/goal clear
```

`stop`, `off`, `reset`, `none` и `cancel` принимаются как псевдонимы для `clear`. Запуск `/clear` для начала нового разговора также удаляет любую активную цель.

<h3 id="resume-with-an-active-goal">
  Возобновление с активной целью
</h3>

Цель, которая была еще активна при завершении сеанса, восстанавливается при возобновлении этого сеанса с помощью `--resume` или `--continue`. Условие переносится, но количество ходов, таймер и базовая линия затрат токенов все сбрасываются при возобновлении. Цель, которая уже была достигнута или очищена, не восстанавливается.

<h3 id="run-non-interactively">
  Запуск неинтерактивно
</h3>

`/goal` работает в [неинтерактивном режиме](/ru/headless), в [приложении для рабочего стола](/ru/desktop) и через [Remote Control](/ru/remote-control). Установка цели с `-p` запускает цикл до завершения в одном вызове:

```bash theme={null}
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
```

Прервите процесс с помощью Ctrl+C, чтобы остановить неинтерактивную цель до выполнения условия.

<h2 id="how-evaluation-works">
  Как работает оценка
</h2>

`/goal` — это оболочка вокруг [prompt-based Stop hook](/ru/hooks#prompt-based-hooks) в области сеанса. Каждый раз, когда Claude завершает ход, условие и разговор до сих пор отправляются на ваш настроенный [небольшой быстрый модель](/ru/model-config), который по умолчанию является Haiku. Модель возвращает решение да или нет и краткое объяснение. "Нет" говорит Claude продолжать работу и включает объяснение в качестве руководства для следующего хода. "Да" очищает цель и записывает достигнутую запись в стенограмму.

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

<Note>
  Токены оценки выставляются на счет небольшой быстрой модели, настроенной для вашего поставщика, и обычно незначительны по сравнению с основными затратами хода.
</Note>

<h2 id="requirements">
  Требования
</h2>

`/goal` работает только в рабочих пространствах, где вы приняли диалог доверия, потому что оценщик является частью системы hooks. `/goal` также недоступен, когда [`disableAllHooks`](/ru/hooks#disable-or-remove-hooks) установлен на любом уровне параметров или когда [`allowManagedHooksOnly`](/ru/settings#hook-configuration) установлен в управляемых параметрах. В каждом случае команда говорит вам почему вместо того, чтобы молча ничего не делать.

<h2 id="see-also">
  См. также
</h2>

* [Запуск подсказки повторно с помощью `/loop`](/ru/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop): повторный запуск с временным интервалом вместо выполнения условия
* [Prompt-based hooks](/ru/hooks-guide#prompt-based-hooks): напишите свой собственный Stop hook, когда вам нужна пользовательская логика оценки
* [Автоматический режим](/ru/auto-mode-config): одобрите вызовы инструментов автоматически, чтобы каждый ход цели выполнялся без присмотра
* [Сравнение планирования](/ru/scheduled-tasks#compare-scheduling-options): запустите работу по расписанию независимо от любого открытого сеанса
