Compaction
コンテキストウィンドウ + 圧縮:OpenClaw が会話をモデル上限内に保つ方法。
すべてのモデルにはコンテキストウィンドウ(認識できる最大トークン数)があります。長時間実行されるチャットではメッセージとツール結果が蓄積されます。ウィンドウがいっぱいになると、OpenClaw は古い履歴を圧縮して制限内に収めます。
圧縮とは
圧縮は、古い会話を要約してコンパクトな要約エントリにし、最新のメッセージはそのままにします。要約はセッション履歴に保存されるため、将来のリクエストは以下を使用します:
- 圧縮された要約
- 圧縮ポイント以降の最新メッセージ'
''
'圧縮はセッションの JSONL 履歴に''永続化''されます。
Configuration
''agents.defaults.compaction'' 設定については、''圧縮設定とモード''を参照してください。
自動圧縮(デフォルトで有効)
セッションがモデルのコンテキストウィンドウに近づくか超えると、OpenClaw は自動圧縮をトリガーし、圧縮されたコンテキストで元のリクエストを再試行する場合があります。
以下が表示されます:
- ''🧹 Auto-compaction complete'' in verbose mode'
'- ''/status'' shows ''🧹 Compactions: <count>''
圧縮の前に、OpenClaw は''サイレントメモリフラッシュ''を実行して、永続的なレコードをディスクに保存できます。詳細と設定については、''メモリ''を参照してください。
Manual compaction
''/compact''(オプションでディレクティブ付き)を使用して、圧縮パスを強制実行します:
/compact Focus on decisions and open questions
コンテキストウィンドウのソース
コンテキストウィンドウはモデル固有です。OpenClaw は、設定されたプロバイダディレクトリのモデル定義を使用して制限を決定します。
圧縮とプルーニングの違い
- 圧縮:JSONL で要約して永続化します。
- セッションプルーニング:古いツール結果のみをオンデマンドでメモリ内でトリムします。
プルーニングの詳細については、''/concepts/session-pruning''を参照してください。
ヒント
- セッションが古くなったり、コンテキストが肥大化したりしたと感じたら、''/compact'' を使用してください。
- 大きなツール出力は切り捨てられます。プルーニングはツール結果の蓄積をさらに減らすことができます。
- 新しいセッションが必要な場合、''/new'' または ''/reset'' で新しいセッション ID を開始します。