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