Fundamentals

コンテキスト

「コンテキスト」とは、OpenClaw が 1 回の実行でモデルへ送るすべてのものです。これはモデルのコンテキストウィンドウ(トークン上限)によって制限されます。

初心者向けの考え方:

  • システムプロンプト(OpenClaw が構築): ルール、ツール、Skills リスト、時刻/ランタイム、注入されたワークスペースファイル。
  • 会話履歴: このセッションでのあなたのメッセージ + アシスタントのメッセージ。
  • ツール呼び出し/結果 + 添付ファイル: コマンド出力、ファイル読み取り、画像/音声など。

コンテキストは「メモリ」と_同じものではありません_: メモリはディスクに保存して後で再読み込みできますが、コンテキストはモデルの現在のウィンドウ内にあるものです。

クイックスタート(コンテキストを調べる)

  • /status → 「ウィンドウはどれくらい埋まっているか」のクイック表示 + セッション設定。
  • /context list → 注入されているもの + おおよそのサイズ(ファイルごと + 合計)。
  • /context detail → より詳細な内訳: ファイルごと、ツールスキーマサイズごと、Skill エントリサイズごと、システムプロンプトサイズ、Compaction 可能なトランスクリプトメッセージ数。
  • /context map → 現在のセッションで追跡されているコンテキスト寄与要素を WinDirStat 風のツリーマップ画像で表示。
  • /usage tokens → 通常の返信に、返信ごとの使用量フッターを追加。
  • /compact → 古い履歴をコンパクトなエントリに要約し、ウィンドウ領域を空ける。

関連項目: スラッシュコマンドトークン使用量とコストCompaction

出力例

値はモデル、プロバイダー、ツールポリシー、ワークスペース内の内容によって異なります。

/context list

Code
🧠 Context breakdownWorkspace: <workspaceDir>Bootstrap max/file: 12,000 charsSandbox: mode=non-main sandboxed=falseSystem prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok)) Injected workspace files:- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)- HEARTBEAT.md: MISSING | raw 0 | injected 0- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok) Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)Tools: read, edit, write, exec, process, browser, message, sessions_send, …Tool list (system prompt text): 1,032 chars (~258 tok)Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)Tools: (same as above) Session tokens (cached): 14,250 total / ctx=32,000

/context detail

Code
🧠 Context breakdown (detailed)Top skills (prompt entry size):- frontend-design: 412 chars (~103 tok)- oracle: 401 chars (~101 tok)… (+10 more skills) Top tools (schema size):- browser: 9,812 chars (~2,453 tok)- exec: 6,240 chars (~1,560 tok)… (+N more tools)

/context map

最新のキャッシュ済み実行レポートから生成された画像を送信します。セッション内で通常メッセージが実行レポートを生成する前は、/context map は推定をレンダリングする代わりに、利用不可メッセージを返します。矩形の面積は、追跡されているプロンプト文字数に比例します。

  • 注入されたワークスペースファイル
  • ベースシステムプロンプトテキスト
  • Skill プロンプトエントリ
  • ツール JSON スキーマ

/context list/context detail/context json は、実行レポートがキャッシュされていない場合でも、オンデマンド推定を調べられます。

コンテキストウィンドウに含まれるもの

モデルが受け取るものはすべて含まれます。たとえば:

  • システムプロンプト(すべてのセクション)。
  • 会話履歴。
  • ツール呼び出し + ツール結果。
  • 添付ファイル/トランスクリプト(画像/音声/ファイル)。
  • Compaction 要約と pruning アーティファクト。
  • プロバイダーの「ラッパー」または非表示ヘッダー(表示されなくてもカウントされます)。

OpenClaw がシステムプロンプトを構築する方法

システムプロンプトは OpenClaw が所有し、実行ごとに再構築されます。含まれるもの:

  • ツールリスト + 短い説明。
  • Skills リスト(メタデータのみ。以下を参照)。
  • ワークスペースの場所。
  • 時刻(UTC + 設定されている場合は変換済みのユーザー時刻)。
  • ランタイムメタデータ(ホスト/OS/モデル/思考)。
  • Project Context 配下に注入されたワークスペースブートストラップファイル。

完全な内訳: システムプロンプト

注入されるワークスペースファイル(Project Context)

デフォルトでは、OpenClaw は固定されたワークスペースファイル群を注入します(存在する場合)。

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md(初回実行のみ)

大きなファイルは、agents.defaults.bootstrapMaxChars(デフォルト 20000 文字)を使ってファイル単位で切り詰められます。OpenClaw はさらに、agents.defaults.bootstrapTotalMaxChars(デフォルト 60000 文字)でファイル全体にまたがるブートストラップ注入の合計上限も適用します。/context生のサイズと注入後のサイズ、および切り詰めが発生したかを表示します。

切り詰めが発生した場合、ランタイムは Project Context 配下にプロンプト内警告ブロックを注入できます。これは agents.defaults.bootstrapPromptTruncationWarningoffoncealways; デフォルト always)で設定します。

Skills: 注入されるものとオンデマンドで読み込まれるもの

システムプロンプトには、コンパクトな Skills リスト(名前 + 説明 + 場所)が含まれます。このリストには実際のオーバーヘッドがあります。

Skill の指示は、デフォルトでは含まれません。モデルは、必要なときだけ Skill の SKILL.mdread することが想定されています。

ツール: コストは 2 種類ある

ツールは 2 つの形でコンテキストに影響します。

  1. システムプロンプト内のツールリストテキスト(「Tooling」として見えるもの)。
  2. ツールスキーマ(JSON)。これらは、モデルがツールを呼び出せるようにモデルへ送信されます。プレーンテキストとして見えなくても、コンテキストにカウントされます。

/context detail は、何が支配的かを確認できるように、最大のツールスキーマを分解して表示します。

コマンド、ディレクティブ、「インラインショートカット」

スラッシュコマンドは Gateway によって処理されます。いくつか異なる挙動があります。

  • スタンドアロンコマンド: /... だけのメッセージはコマンドとして実行されます。
  • ディレクティブ: /think/verbose/trace/reasoning/elevated/model/queue は、モデルがメッセージを見る前に取り除かれます。
    • ディレクティブのみのメッセージはセッション設定を永続化します。
    • 通常メッセージ内のインラインディレクティブは、メッセージ単位のヒントとして機能します。
  • インラインショートカット(許可リストにある送信者のみ): 通常メッセージ内の特定の /... トークンは即座に実行できます(例: 「hey /status」)。その後、モデルが残りのテキストを見る前に取り除かれます。

詳細: スラッシュコマンド

セッション、Compaction、pruning(永続化されるもの)

メッセージ間で何が永続化されるかは、仕組みによって異なります。

  • 通常履歴は、ポリシーによって compact/prune されるまで、セッショントランスクリプトに永続化されます。
  • Compaction は要約をトランスクリプトへ永続化し、最近のメッセージはそのまま保持します。
  • Pruning は、コンテキストウィンドウ領域を空けるために、古いツール結果を_メモリ内_プロンプトから削除しますが、セッショントランスクリプトは書き換えません - 完全な履歴は引き続きディスク上で確認できます。

ドキュメント: セッションCompactionセッション pruning

デフォルトでは、OpenClaw は組み立てと Compaction に組み込みの legacy コンテキストエンジンを使用します。kind: "context-engine" を提供する Plugin をインストールし、plugins.slots.contextEngine でそれを選択した場合、OpenClaw はコンテキストの組み立て、/compact、および関連するサブエージェントのコンテキストライフサイクルフックを、代わりにそのエンジンへ委譲します。ownsCompaction: false は legacy エンジンへの自動フォールバックを行いません。アクティブなエンジンは、引き続き compact() を正しく実装している必要があります。プラグイン可能なインターフェイス、ライフサイクルフック、設定の全体については、コンテキストエンジン を参照してください。

/context が実際に報告するもの

/context は、利用可能な場合、最新の実行時に構築されたシステムプロンプトレポートを優先します。

  • System prompt (run) = 最後の埋め込み(ツール対応)実行からキャプチャされ、セッションストアに永続化されたもの。
  • System prompt (estimate) = 実行レポートが存在しない場合(またはレポートを生成しない CLI バックエンド経由で実行している場合)に、その場で計算されたもの。

どちらの場合も、サイズと上位の寄与要素を報告します。完全なシステムプロンプトやツールスキーマはダンプしません。詳細モードでは、Compaction が使用するのと同じ実会話メッセージ判定条件でセッショントランスクリプトも比較するため、高いプロンプト/キャッシュ使用量と compact 可能な会話履歴を区別しやすくなります。

関連

Was this useful?
On this page

On this page