Перейти к основному содержанию

Цель

Цель — это одна устойчивая задача, привязанная к текущему сеансу 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 без аргументов выводит сводку текущей цели:
Goal
Status: active
Objective: get CI green for PR 87469 and push the fix
Tokens used: 12k
Token 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 записывает использование сеанса и итоги, полученные из транскрипта.

Связанные материалы