- システムプロンプト(OpenClaw が構築):ルール、ツール、Skills リスト、時刻/ランタイム、挿入されたワークスペースファイル。
- 会話履歴:このセッションでのメッセージ + アシスタントのメッセージ。
- ツール呼び出し/結果 + 添付ファイル:コマンド出力、ファイル読み取り、画像/音声など。
クイックスタート(コンテキストを確認)
/status→ 「ウィンドウがどの程度埋まっているか」をすばやく確認 + セッション設定。/context list→ 挿入されているもの + おおよそのサイズ(ファイルごと + 合計)。/context detail→ より詳細な内訳:ファイルごと、ツールスキーマごとのサイズ、Skills エントリごとのサイズ、システムプロンプトのサイズ、圧縮可能なトランスクリプトメッセージ数。/context map→ 現在のセッションで追跡されているコンテキスト構成要素を示す、WinDirStat 形式のツリーマップ画像。/usage tokens→ 通常の応答に、応答ごとの使用量フッターを追加。/compact→ 古い履歴をコンパクトなエントリに要約し、ウィンドウの空き容量を確保。
出力例
値はモデル、プロバイダー、ツールポリシー、ワークスペースの内容によって異なります。/context list
/context detail
/context map
最新のキャッシュ済み実行レポートとセッショントランスクリプトから生成した画像を送信します。通常のメッセージによってセッション内に実行レポートが生成される前は、/context map は推定図を描画せず、利用不可を示すメッセージを返します。長方形の面積は、追跡対象のプロンプト文字数に比例します:
- 会話トランスクリプト(ユーザーメッセージ、アシスタントの応答、ツール結果、Compaction の要約)に加え、モデルだけに届くターンごとのランタイムコンテキストとフックプロンプトの追加内容
- 挿入されたワークスペースファイル
- 基本システムプロンプトのテキスト
- Skills のプロンプトエントリ
- ツールの JSON スキーマ
/context list、/context detail、/context json ではオンデマンドの推定値を確認できます。
コンテキストウィンドウに算入されるもの
モデルが受信するものはすべて算入されます。これには以下が含まれます:- システムプロンプト(全セクション)。
- 会話履歴。
- ツール呼び出し + ツール結果。
- 添付ファイル/トランスクリプト(画像/音声/ファイル)。
- Compaction の要約とプルーニング生成物。
- プロバイダーの「ラッパー」または非表示ヘッダー(表示されなくても算入)。
OpenClaw がシステムプロンプトを構築する仕組み
システムプロンプトは OpenClaw が管理し、実行ごとに再構築されます。以下が含まれます:- ツールリスト + 簡潔な説明。
- Skills リスト(メタデータのみ。以下を参照)。
- ワークスペースの場所。
- 時刻(UTC + 設定されている場合は変換後のユーザー時刻)。
- ランタイムメタデータ(ホスト/OS/モデル/思考)。
- プロジェクトコンテキストに挿入されたワークスペースのブートストラップファイル。
挿入されるワークスペースファイル(プロジェクトコンテキスト)
デフォルトでは、OpenClaw は固定された一連のワークスペースファイルを挿入します(存在する場合):AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(初回実行時のみ)
agents.defaults.bootstrapMaxChars(デフォルトは 20000 文字)を使用してファイルごとに切り詰められます。OpenClaw はさらに、agents.defaults.bootstrapTotalMaxChars(デフォルトは 60000 文字)によって、ファイル全体に対するブートストラップ挿入量の合計上限も適用します。/context では、元データと挿入後のサイズ、および切り詰めが発生したかどうかを確認できます。
切り詰めが発生すると、ランタイムはプロジェクトコンテキスト内にプロンプト内警告ブロックを挿入できます。これは agents.defaults.bootstrapPromptTruncationWarning(off、once、always。デフォルトは always)で設定します。
Skills:挿入とオンデマンド読み込み
システムプロンプトには、コンパクトな Skills リスト(名前 + 説明 + 場所)が含まれます。このリストには実際にオーバーヘッドがあります。 Skills の指示はデフォルトでは含まれません。モデルは、必要な場合にのみ Skills のSKILL.md を read することが想定されています。
ツール:2 種類のコスト
ツールは、次の 2 つの方法でコンテキストに影響します:- システムプロンプト内の ツールリストのテキスト(「ツール機能」として表示されるもの)。
- ツールスキーマ(JSON)。モデルがツールを呼び出せるように送信されます。プレーンテキストとして表示されなくても、コンテキストに算入されます。
/context detail では、最大のツールスキーマの内訳を確認でき、何が大部分を占めているかを把握できます。
コマンド、ディレクティブ、「インラインショートカット」
スラッシュコマンドは Gateway によって処理されます。動作にはいくつかの種類があります:- 単独コマンド:
/...だけを含むメッセージは、コマンドとして実行されます。 - ディレクティブ:
/think、/fast、/verbose、/trace、/reasoning、/elevated、/exec、/model、/queueは、モデルがメッセージを受け取る前に取り除かれます。- ディレクティブのみのメッセージは、セッション設定を保持します。
- 通常のメッセージ内のインラインディレクティブは、メッセージごとのヒントとして機能します。
- インラインショートカット(許可リストに登録された送信者のみ):通常のメッセージ内にある特定の
/...トークンは、即座に実行できます(例:「hey /status」)。モデルが残りのテキストを受け取る前に、そのトークンは取り除かれます。
セッション、Compaction、プルーニング(保持されるもの)
メッセージをまたいで保持される内容は、仕組みによって異なります:- 通常の履歴は、ポリシーによって Compaction/プルーニングされるまでセッショントランスクリプトに保持されます。
- Compactionは、要約をトランスクリプトに保持し、最近のメッセージはそのまま維持します。
- プルーニングは、コンテキストウィンドウの空き容量を確保するため、_メモリ内_のプロンプトから古いツール結果を削除しますが、セッショントランスクリプトは書き換えません。完全な履歴は引き続きディスク上で確認できます。
legacy コンテキストエンジンを使用します。
kind: "context-engine" を提供する Plugin をインストールし、
plugins.slots.contextEngine で選択すると、OpenClaw はコンテキストの
組み立て、/compact、および関連するサブエージェントのコンテキストライフサイクルフックをその
エンジンに委譲します。ownsCompaction: false は従来の
エンジンに自動的にフォールバックしません。アクティブなエンジンは、引き続き compact() を正しく実装する必要があります。完全な
プラグイン可能インターフェース、ライフサイクルフック、設定については、
コンテキストエンジンを参照してください。
/context が実際に報告する内容
/context は、利用可能な場合、最新の実行時に構築されたシステムプロンプトレポートを優先します:
System prompt (run)= 最後の埋め込み(ツール対応)実行から取得され、セッションストアに保持されます。System prompt (estimate)= 実行レポートが存在しない場合(またはレポートを生成しない CLI バックエンドで実行している場合)に、その場で計算されます。
関連項目
コンテキストエンジン
Plugin によるカスタムコンテキスト挿入。
Compaction
長い会話を要約し、モデルのウィンドウ内に収めます。
システムプロンプト
システムプロンプトの構築方法と、各ターンで挿入される内容。
エージェントループ
受信メッセージから最終応答までの、エージェント実行サイクル全体。