OpenClaw contextPruning設定ガイド
概要
agents.defaults.contextPruning.mode はセッションのツール結果をどう扱うかを制御する設定。
有効な値
| 値 | 説明 |
|---|---|
"off" |
デフォルト。プルーニングを無効化。ツール結果を全て保持 |
"cache-ttl" |
TTL対応プルーニング。最後のAPI呼び出しから一定時間(デフォルト5分)経過後、古いツール結果を削除 |
※ "adaptive" は無効な値(2026.1.21時点)
プロンプトキャッシュとは
Anthropic API の機能で、同じプロンプトの先頭部分を再利用することでコストと応答時間を削減する仕組み。
- コスト削減: キャッシュヒット時は入力トークンが90%割引
- 応答速度向上: キャッシュ部分の処理がスキップされレイテンシ短縮
例
[システムプロンプト] ← キャッシュから読み込み(安い・速い)
[過去の会話履歴] ← キャッシュから読み込み
[新しいユーザーメッセージ] ← 新規処理
cache-ttl モードの動作
- セッションがアイドル状態になる(最後のAPI呼び出しから5分以上経過)
- プルーニング実行:古いツール結果をコンテキストから削除
- 次のリクエスト:削除後のスリムなコンテキストを送信
コンテキストの内容が変わるので以前のキャッシュは無効化されるが、スリムなコンテキストが新しいキャッシュのベースになる。「既存キャッシュを活用する」ではなく「不要なデータを捨てて次のキャッシュを効率的に始める」という戦略。
コンテキスト上限時の動作(compaction)
コンテキスト上限に達すると compaction が発動:
- 古い会話を要約してコンパクトなサマリーに変換
- 最近のメッセージはそのまま保持
- 要約結果をセッション履歴(JSONL)に保存
- 圧縮されたコンテキストでリクエストを再試行
エラーにはならず、自動的に会話を圧縮して続行。
pruning vs compaction
| pruning | compaction | |
|---|---|---|
| 対象 | ツール結果のみ | 会話全体 |
| タイミング | TTL経過後(cache-ttl時) | コンテキスト上限接近時 |
| 方法 | 削除 | 要約 |
| 保存 | メモリ内のみ | JSONLに永続化 |
結論
contextPruning: "off"でもコンテキスト上限時は compaction で自動圧縮される- キャッシュ効率(90%割引)を重視するなら
"off"のままで問題ない
参考
- ドキュメント: https://docs.molt.bot/concepts/session-pruning
- ドキュメント: https://docs.molt.bot/concepts/compaction
抽出された概念
- コンテキストプルーニング - ツール結果を削除してコンテキストをスリム化する手法
- コンテキストコンパクション - コンテキスト上限時に会話全体を要約して圧縮する仕組み
- プロンプトキャッシュ - プロンプト先頭部分の再利用によるコスト・レイテンシ削減