コンテンツにスキップ

Context Window と Compaction の管理

長時間のセッションで LLM とやり取りをしていると、コンテキストウィンドウがいっぱいになり、モデルが過去の指示を無視し始めることがあります。開発者にとって、トークン制限を気にしながらプロンプトを調整し続けるのは非常に手間がかかる作業です。

OpenClaw は、この問題を解決するために Compaction(圧縮)という仕組みを提供しています。これにより、モデルの制限内に収まるように履歴を整理し、スムーズな対話を継続できます。

  • 設定済みのプロバイダーカタログ(モデル定義を含む)
  • OpenClaw の動作環境

OpenClaw では、コンテキスト管理を自動または手動で行うことができます。

1. Auto-compaction(デフォルトで有効)

Section titled “1. Auto-compaction(デフォルトで有効)”

セッションがモデルの Context Window の上限に近づくと、OpenClaw は自動的に Compaction を実行します。古い会話を要約して JSONL 形式のセッション履歴に保存し、最近のメッセージと組み合わせてリクエストを再試行します。

Compaction の前には、耐久性のあるノートをディスクに保存する silent memory flush が実行される場合があります。

履歴が肥大化していると感じたときは、/compact コマンドを使って手動で要約を実行できます。特定の指示を与えることも可能です。

/compact Focus on decisions and open questions

OpenClaw には履歴を整理する 2 つの方法があります。

  • Compaction: 会話全体を要約し、JSONL ファイルに永続化します。
  • Session pruning: メモリ上でのみ、古い tool results を削除します。リクエストごとに実行されます。

動作状況を確認するには、以下の項目をチェックしてください。

  • verbose mode: 実行時に 🧹 Auto-compaction complete というメッセージが表示されます。
  • /status コマンド: 🧹 Compactions: <count> という項目で、これまでに実行された回数を確認できます。

効率的なセッション管理のためのヒントです。

  1. セッションの内容が古くなったり、コンテキストが肥大化したと感じたら /compact を実行してください。
  2. ツール出力が蓄積してレスポンスが遅い場合は、Pruning を活用してメモリ負荷を軽減します。
  3. 完全に新しい状態で会話を始めたい場合は、/new を使用して新しいセッション ID を作成します。
  4. 現在のセッション ID を維持したまま履歴を消去したい場合は /reset を実行してください。

詳細な設定については AI Setup Assistant で確認できます。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。