Agent coordination
目標
ゴール
ゴールとは、現在の OpenClaw セッションに紐付けられた、永続的な目標のことです。 長期間にわたる作業について、エージェントとオペレーターが共通の目標を持てるようにしますが、 その目標をバックグラウンドタスク、リマインダー、Cron ジョブ、または 常設指示に変えるものではありません。
ゴールはセッション状態です。セッションキーとともに移動し、プロセスの
再起動後も維持され、/goal、モデル向けゴールツール、および TUI
フッターに表示されます。
切り離されたコマンドの完了結果は、元のユーザー向けスレッドに返されるため、 コマンド実行で別のサンドボックスポリシーセッションを使用した場合でも、 次のターンでは同じゴールが引き続き表示されます。
クイックスタート
/goal start PR 87469 の CI をグリーンにして修正をプッシュする/goal/goal edit PR 87469 の CI をグリーンにし、修正をプッシュして、ドキュメントを更新する/goal pause CI を待機中/goal resume/goal complete プッシュして検証済み/goal clearstart は省略可能です。/goal get CI green for PR 87469 でもゴールが作成されます。
これは、/goal の後にある既知のアクションワードではないテキストが、
新しい目標として扱われるためです。
ゴールの用途
多数のターンにわたって表示し続けるべき具体的な成果がセッションにある場合は、 ゴールを使用します。
- PR の完了作業:修正、検証、autoreview、プッシュ、および PR の作成または更新。
- デバッグ作業:バグを再現し、所有するサーフェスを特定して、パッチを適用し、 修正を実証する。
- ドキュメント作業:関連ドキュメントを読み、新しいページを作成し、相互リンクを追加して、 ドキュメントのビルドを検証する。
- メンテナンスタスク:現在の状態を調査し、範囲を限定した変更を行い、適切な チェックを実行して、変更内容を報告する。
ゴールはタスクキューではありません。作業を切り離して実行する場合、 スケジュールに従って繰り返す場合、管理対象のサブ作業へ展開する場合、または ポリシーとして永続化する場合は、Task Flow、 タスク、Cron ジョブ、または 常設指示を使用します。
コマンドリファレンス
引数なしの /goal は、現在のゴールの概要を表示します。
ゴールステータス:アクティブ目標:PR 87469 の CI をグリーンにして修正をプッシュする使用済みトークン:12kトークン予算:12k/50k コマンド:/goal edit <objective>、/goal pause、/goal complete、/goal clear| コマンド | 効果 |
|---|---|
/goal または /goal status |
現在のゴールを表示します。 |
/goal start <objective> |
現在のセッションに新しいゴールを作成します。 |
/goal set <objective>、/goal create <objective> |
start のエイリアスです。 |
/goal <objective> |
新しいゴールも作成します(認識されるアクションワードではない任意のテキスト)。 |
/goal edit <objective> |
現在の目標を言い換えます。ステータスとトークン集計は維持されます。 |
/goal pause [note] |
アクティブなゴールを一時停止します。 |
/goal resume [note] |
一時停止、ブロック、使用量制限、または予算制限状態のゴールを再開します。 |
/goal complete [note] |
ゴールを達成済みにします。 |
/goal done [note] |
complete のエイリアスです。 |
/goal block [note] |
ゴールをブロック状態にします。 |
/goal blocked [note] |
block のエイリアスです。 |
/goal clear |
セッションからゴールを削除します。 |
1 つのセッションに同時に存在できるゴールは 1 つだけです。現在のゴールがクリアされるまで、
2 つ目のゴールを開始しようとすると Goal error: goal already exists で失敗します。
/goal start にはトークン予算フラグを指定できません。予算を設定できるのは、
モデル向けの create_goal ツールのみです。
ステータス
active:セッションはゴールの達成に取り組んでいます。paused:オペレーターがゴールを一時停止しました。/goal resumeにより再び アクティブになります。blocked:エージェントまたはオペレーターが実際の阻害要因を報告しました。新しい情報または状態が利用可能になったとき、/goal resumeにより再びアクティブになります。budget_limited:設定されたトークン予算に到達しました。/goal resumeにより、 同じ目標に対する取り組みが新しい予算期間で再開されます。usage_limited:将来の使用量制限による停止状態用に予約されています。/goal resumeにより同じ方法で取り組みが再開されます。complete:ゴールが達成されました。完了したゴールは終了状態です。別のゴールを開始する前に/goal clearを使用してください。
/new と /reset は、新しいセッションコンテキストを意図的に
開始するため、現在のセッションのゴールをクリアします。
トークン予算
ゴールには、モデル向け create_goal ツールの
token_budget パラメーターで設定する、任意の正のトークン予算を指定できます。予算は、
ゴール作成時点におけるセッションの最新トークン数を基準に計測されます。ゴールの開始時に
セッションに古い、または不明なトークンスナップショットしかない場合、OpenClaw は
次の最新スナップショットを待ち、それを基準値として使用します。そのため、ゴールが
存在する前に消費されたトークンは予算に計上されません。
使用量が予算に達すると、ゴールは budget_limited に移行します。これによって
ゴールが削除されたり、目標が消去されたりすることはありません。ゴールが再開または
クリアされるまで、積極的な取り組みが停止していることをオペレーターと
エージェントに示します。再開すると、現在の最新トークン数を基準に新しい予算期間が
開始されます。
トークン予算はセッションゴールのガードレールであり、請求上限ではありません。プロバイダーの クォータ、コストレポート、およびコンテキストウィンドウの動作には、通常の OpenClaw の使用量およびモデル制御が引き続き適用されます。
モデルツール
OpenClaw は、エージェントハーネスに 3 つのゴールツールを公開します。
| ツール | 目的 |
|---|---|
get_goal |
現在のセッションのゴール(ステータス、目標、トークン使用量、トークン予算)を読み取ります。 |
create_goal |
ユーザーまたはシステムの指示で明示的に要求された場合にのみゴールを作成します。セッションにすでにゴールがある場合は失敗します。 |
update_goal |
ゴールを complete または blocked にします。 |
モデルは、ゴールを暗黙に一時停止、再開、クリア、または置換できません。これらは
/goal およびリセットコマンドを通じたオペレーターまたはセッションの制御として
維持されます。これにより、エージェントは目標を勝手に変更することなく、
達成または実際の阻害要因を報告できます。
update_goal がゴールを complete にするのは、目標が
実際に達成された場合のみです。ゴールを blocked にするのは、同じ
阻害条件が少なくとも 3 回連続したゴールターンで再発した後に限られます。通常の
難しさや仕上げ不足を理由にしてはなりません。
各ターンのゴールコンテキスト
アクティブなゴールがあるすべてのユーザーまたはチャットターンには、次のユーザーロールのコンテキスト行が含まれます。
アクティブなゴール:<objective> — 進行させるか、ステータスを更新してください(get_goal/update_goal)。OpenClaw は、長い目標を切り詰めて行をコンパクトに保ちます。一時停止、 ブロック、予算制限、使用量制限、および完了状態のゴールは挿入されません。 そのため、オペレーターによる停止は、ゴールが再開されるまで有効なままです。
Control UI
Web の Control UI では、チャット入力欄の上にゴールがコンパクトなピルとして表示されます。
ピルには、ステータスアイコン、ステータスラベル(たとえば Pursuing goal)、切り詰められた
目標、およびリアルタイムの経過時間タイマーが含まれます。
ピルにはインラインコントロールがあります。
- 鉛筆は、目標を言い換えて送信できるように、
入力欄へ
/goal edit <objective>を事前入力します。 - 一時停止 / 再開は、現在のステータスに応じて
/goal pauseと/goal resumeを切り替えます。 - ゴミ箱は
/goal clearを送信します。 - シェブロンはピルを展開し、目標の全文、最新のステータス メモ、トークン使用量、および経過時間を表示します。
入力欄から送信できない間(たとえば Gateway 接続が切断されている場合)は、 アクションボタンが非表示になります。展開用シェブロンは引き続き機能します。
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 は、TUI やテキストコマンドを許可するチャットサーフェスを含む、
コマンド対応の OpenClaw セッションで機能します。ゴールの状態はトランスポートではなく
セッションキーに紐付けられるため、同じセッションキーを共有する 2 つのサーフェスには
同じゴールが表示されます。
ゴールの状態は配信指示ではありません。チャネル経由の返信を強制したり、 キューの動作を変更したり、ツールを承認したり、作業をスケジュールしたりすることはありません。
トラブルシューティング
| メッセージ | 意味 |
|---|---|
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 がセッション使用量と
トランスクリプトから算出した合計を記録すると、使用量が更新されます。