Agent coordination
Цель
Цель
Цель — это одна устойчивая задача, привязанная к текущему сеансу OpenClaw. Она дает агенту и оператору общую цель для длительной работы, не превращая эту цель в фоновую задачу, напоминание, задание cron или постоянное поручение.
Цели являются состоянием сеанса. Они перемещаются вместе с ключом сеанса,
переживают перезапуски процесса, отображаются в /goal, доступны модели через
инструменты цели и появляются в нижней строке TUI, когда у активного сеанса есть цель.
Быстрый старт
Задать цель:
/goal start get CI green for PR 87469 and push the fixПроверить ее:
/goalПриостановить ее, когда работа намеренно ожидает:
/goal pause waiting for CIВозобновить ее:
/goal resumeОтметить ее выполненной:
/goal complete pushed and verifiedОчистить ее:
/goal clearДля чего нужны цели
Используйте цель, когда у сеанса есть конкретный результат, который должен оставаться видимым на протяжении многих ходов:
- Завершение PR: исправить, проверить, выполнить autoreview, отправить изменения и открыть или обновить PR.
- Отладочный прогон: воспроизвести ошибку, определить ответственную поверхность, внести исправление и доказать исправление.
- Проход по документации: прочитать релевантные документы, написать новую страницу, добавить перекрестные ссылки и проверить сборку документации.
- Задача обслуживания: изучить текущее состояние, внести ограниченные изменения, запустить нужные проверки и сообщить, что изменилось.
Цель — это не очередь задач. Используйте TaskFlow, задачи, задания Cron или постоянные поручения, когда работа должна выполняться отдельно, повторяться по расписанию, разветвляться на управляемые подзадачи или сохраняться как политика.
Справочник команд
/goal без аргументов выводит сводку текущей цели:
GoalStatus: activeObjective: get CI green for PR 87469 and push the fixTokens used: 12kToken budget: 12k/50k Commands: /goal pause, /goal complete, /goal clearКоманды:
/goalили/goal statusпоказывает текущую цель./goal start <objective>создает новую цель для текущего сеанса./goal set <objective>и/goal create <objective>являются псевдонимамиstart./goal pause [note]приостанавливает активную цель./goal resume [note]возобновляет приостановленную, заблокированную, ограниченную по использованию или ограниченную бюджетом цель./goal complete [note]отмечает цель достигнутой./goal done [note]является псевдонимомcomplete./goal block [note]отмечает цель заблокированной./goal blocked [note]является псевдонимомblock./goal clearудаляет цель из сеанса.
В одном сеансе одновременно может существовать только одна цель. Запуск второй цели завершится ошибкой, пока текущая цель не будет очищена.
Статусы
Цели используют небольшой набор статусов:
active: сеанс работает над целью.paused: оператор приостановил цель;/goal resumeснова делает ее активной.blocked: агент или оператор сообщил о реальном блокере;/goal resumeснова делает ее активной, когда появляется новая информация или состояние.budget_limited: настроенный бюджет токенов достигнут;/goal resumeперезапускает работу с той же целью.usage_limited: зарезервировано для остановок из-за лимитов использования;/goal resumeперезапускает работу, когда это разрешено.complete: цель достигнута. Завершенные цели являются терминальными; используйте/goal clearперед запуском другой цели.
/new и /reset очищают цель текущего сеанса, потому что они намеренно
начинают свежий контекст сеанса.
Бюджеты токенов
У целей может быть необязательный положительный бюджет токенов. Бюджет хранится вместе с целью и измеряется от свежего счетчика токенов сеанса на момент создания. Если у текущего сеанса при запуске цели есть только устаревшие или неизвестные данные об использовании токенов, OpenClaw ждет следующего свежего снимка токенов сеанса и использует его как базовую точку, поэтому токены, потраченные до появления цели, не списываются на цель.
Когда использование токенов достигает бюджета, цель меняется на budget_limited. Это
не удаляет цель и не стирает задачу. Это сообщает оператору и
агенту, что цель больше не выполняется активно, пока она не будет возобновлена или
очищена.
Бюджеты токенов — это ограничитель цели сеанса, а не лимит оплаты. Квота провайдера, отчеты о стоимости и поведение окна контекста по-прежнему используют обычные средства управления использованием и моделями OpenClaw.
Инструменты модели
OpenClaw предоставляет агентским harness три основных инструмента целей:
get_goal: прочитать текущую цель сеанса, включая статус, задачу, использование токенов и бюджет токенов.create_goal: создать цель только тогда, когда инструкции пользователя, системы или разработчика явно запрашивают это. Завершается ошибкой, если у сеанса уже есть цель.update_goal: отметить цель какcompleteилиblocked.
Модель не может незаметно приостанавливать, возобновлять, очищать или заменять цель. Это
средства управления оператора/сеанса через /goal и команды сброса. Это не дает
агенту тихо менять цель, сохраняя при этом чистый путь для
агента, чтобы сообщить о достижении или настоящем блокере.
Инструмент update_goal должен отмечать цель как complete только тогда, когда задача
действительно достигнута. Он должен отмечать цель как blocked только тогда, когда одно и то же блокирующее
условие повторилось и агент не может добиться осмысленного прогресса без
нового ввода пользователя или изменения внешнего состояния.
TUI
TUI держит цель активного сеанса видимой в нижней строке рядом с агентом, сеансом, моделью, элементами управления запуском и счетчиками токенов.
Примеры нижней строки:
Pursuing goal (12k/50k)для активной цели с бюджетом токенов.Goal paused (/goal resume)для приостановленной цели.Goal blocked (/goal resume)для заблокированной цели.Goal hit usage limits (/goal resume)для цели, ограниченной лимитами использования.Goal unmet (50k/50k)для цели, ограниченной бюджетом.Goal achieved (42k)для завершенной цели.
Нижняя строка намеренно компактна. Используйте /goal для полной задачи, заметки,
бюджета токенов и доступных команд.
Поведение каналов
Команда /goal работает в сеансах OpenClaw с поддержкой команд, включая
TUI и чат-поверхности, которые разрешают текстовые команды. Состояние цели привязано к
ключу сеанса, а не к транспорту. Если две поверхности используют один и тот же сеанс, они видят
одну и ту же цель.
Состояние цели не является директивой доставки. Оно не заставляет отвечать через канал, не меняет поведение очереди, не одобряет инструменты и не планирует работу.
Устранение неполадок
Goal error: goal already exists означает, что у сеанса уже есть цель. Используйте
/goal, чтобы посмотреть ее, /goal complete, если она выполнена, или /goal clear перед
запуском другой задачи.
Goal error: goal not found означает, что у сеанса пока нет цели. Запустите ее с помощью
/goal start <objective>.
Goal error: goal is already complete означает, что цель является терминальной. Очистите ее
перед запуском или возобновлением другой задачи.
Если использование токенов выглядит как 0 или устаревшее, у активного сеанса может еще не быть свежего
снимка токенов. Использование обновляется по мере того, как OpenClaw записывает использование сеанса и
итоги, полученные из транскрипта.