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