圧縮
すべてのモデルにはコンテキストウィンドウ(モデルが認識できる最大トークン数)があります。長時間実行されるチャットではメッセージとツールの結果が蓄積され、ウィンドウが逼迫すると、OpenClawは制限内に収まるように古い履歴を圧縮します。
圧縮とは
圧縮は、古い会話を要約してコンパクトな要約エントリにし、最近のメッセージはそのまま保持します。要約はセッション履歴に保存されるため、将来のリクエストでは以下が使用されます:
- 圧縮要約
- 圧縮ポイント以降の最近のメッセージ
圧縮はセッションのJSONL履歴に永続化されます。
設定
openclaw.json の agents.defaults.compaction 設定を使用して、圧縮の動作(モード、目標トークン数など)を構成します。圧縮による要約は、デフォルトで不透明な識別子を保持します(identifierPolicy: "strict")。これは identifierPolicy: "off" でオーバーライドするか、identifierPolicy: "custom" と identifierInstructions でカスタムテキストを提供できます。
自動圧縮(デフォルトでオン)
セッションがモデルのコンテキストウィンドウに近づいたり超えたりすると、OpenClawは自動圧縮をトリガーし、圧縮されたコンテキストを使用して元のリクエストを再試行することがあります。以下の表示が確認できます:
- 詳細モードでの
🧹 Auto-compaction complete /statusでの🧹 Compactions: <count>表示
圧縮の前に、OpenClawは永続的なメモをディスクに保存するためのサイレントメモリフラッシュターンを実行することがあります。詳細と設定についてはメモリを参照してください。
手動圧縮
/compact(オプションで指示を付けて)を使用して、強制的に圧縮パスを実行します:
/compact Focus on decisions and open questions
コンテキストウィンドウのソース
コンテキストウィンドウはモデル固有です。OpenClawは、設定されたプロバイダーカタログからのモデル定義を使用して制限を決定します。
圧縮 vs 剪定
- 圧縮: 要約し、JSONLに永続化します。
- セッション剪定: 古いツール結果のみをメモリ内でトリミングします(リクエストごと)。
剪定の詳細については、/concepts/session-pruning を参照してください。
OpenAI サーバーサイド圧縮
OpenClawは、互換性のある直接のOpenAIモデル向けに、OpenAI Responsesサーバーサイド圧縮ヒントもサポートしています。これはローカルのOpenClaw圧縮とは別のもので、併用して実行できます。
- ローカル圧縮: OpenClawが要約し、セッションJSONLに永続化します。
- サーバーサイド圧縮:
store+context_managementが有効な場合、OpenAIがプロバイダー側でコンテキストを圧縮します。
モデルパラメータとオーバーライドについては、OpenAIプロバイダーを参照してください。
ヒント
- セッションが古くなった感じがするときや、コンテキストが肥大化したときは
/compactを使用してください。 - 大きなツール出力はすでに切り詰められています。剪定により、ツール結果の蓄積をさらに減らせます。
- 完全に新しく始めたい場合は、
/newまたは/resetで新しいセッションIDを開始します。