OpenClaw コンテキスト溢れ完全解決2026:/compactと自動圧縮設定でAI回答の乱れを止める
よくある症状:OpenClawを長時間使い続けると、AIが突然おかしな回答を返したり、「context_length_exceeded」エラーが出て完全に停止したりします。これはコンテキストウィンドウの溢れが原因です。このガイドでは根本的な解決法を解説します。
目次
- コンテキスト溢れとは何か?なぜ起きるのか
- 溢れた時の症状と見分け方
- /statusで現在のコンテキスト使用量を確認する
- /compactコマンドの使い方と仕組み
- 自動圧縮(Auto-Compaction)の設定方法
- reserveTokensの最適値を設定する
- ワークスペースファイル注入が93%のトークンを無駄にする問題
- /newで新しいセッションを始める判断基準
- 長期タスクのためのコンテキスト管理戦略
- VPN回線がコンテキスト管理に与える影響
コンテキスト溢れとは何か?なぜ起きるのか
OpenClawが使用するClaudeやGPTなどの大規模言語モデルには、一度に処理できるテキスト量に上限があります。これを「コンテキストウィンドウ」と呼び、会話履歴・システムプロンプト・ツール定義・ファイル内容などがすべてこの枠内に収まらなければなりません。
OpenClawで長時間作業を続けると、このコンテキストウィンドウが徐々に埋まっていきます。X.com(旧Twitter)でも「@openclaw を一日中使い続けたら突然AIがおかしなことを言い始めた」という報告が相次いでいます。具体的には以下の3つが主な原因です。
システムプロンプト
リクエストごとに約9,600トークンを消費。これは固定コストで削減できない。
ツールスキーマ
インストール済みスキルの定義が約8,000トークンを占める。スキルが増えるほど消費も増加。
ファイル注入
複雑なワークスペースでは1メッセージあたり最大35,600トークン。これが最大の原因。
研究によると、ワークスペースファイルの繰り返し注入が全トークン消費の93.5%を無駄にしているという驚くべき数字があります。つまり、OpenClawが「賢くなければなら」ないと思っているファイル群が、逆にAIを混乱させる原因になっているのです。
溢れた時の症状と見分け方
コンテキスト溢れは突然起こるのではなく、段階的に進行します。早期に気づくことが被害を最小限に抑える鍵です。
🔴 重症:context_length_exceededエラー
AIが完全に停止し、Discordやチャット画面に直接エラーメッセージが表示される。
Error: context_length_exceeded - This model's maximum context length is 200000 tokens. Your messages resulted in 214892 tokens.
🟠 中症:回答が一貫性を失う
AIが以前の会話内容を「忘れた」ように振る舞う。同じことを繰り返し質問してきたり、矛盾した指示を出したりする。
🟡 軽症:処理速度の低下
レスポンスが遅くなり、簡単なタスクでも長時間待たされる。コンテキストが80%を超えたサインの可能性がある。
/statusで現在のコンテキスト使用量を確認する
問題が起きる前に、現在どのくらいコンテキストを消費しているかを定期的に確認する習慣をつけましょう。OpenClawには複数の診断コマンドが用意されています。
| コマンド | 用途 | 出力例 |
|---|---|---|
| /status | コンテキスト全体の使用率を表示 | Context: 142k/200k (71%) |
| /usage tokens | 今セッションの合計トークン消費を表示 | Total: 87,432 tokens used |
| /context detail | 項目別の詳細内訳を表示 | System: 9.6k / Tools: 8k / History: 124k |
| /context list | 注入中のファイル一覧を表示 | 3 files injected (35.6k tokens) |
💡 実践アドバイス
長期タスクを開始する前に必ず/statusを実行してください。使用率が60%を超えたらそろそろ/compactを検討するタイミングです。70%を超えると回答の品質が目に見えて低下し始めます。
/compactコマンドの使い方と仕組み
/compactは、OpenClawの最も重要な問題解決コマンドの一つです。会話履歴全体をAIに要約させ、その要約でコンテキストを置き換えることで、コンテキストウィンドウの約60%を解放できます。
/compactを実行すると、AIは現在の会話全体を読み、要点をまとめた「圧縮サマリー」を作成します。その後、元の長い会話履歴はこのサマリーに置き換えられます。処理時間は通常30秒〜2分程度で、圧縮後は元の40%程度のコンテキストサイズになります。
自動圧縮(Auto-Compaction)の設定方法
毎回手動で/compactを実行するのは面倒です。OpenClawには自動圧縮機能が搭載されており、コンテキストが一定のしきい値に達すると自動的に圧縮を実行してくれます。
設定はopenclaw.jsonファイルに記述します。このファイルは通常、OpenClawのインストールディレクトリ(macOSでは~/.openclaw/)にあります。
{
"agents": {
"defaults": {
"compaction": {
"enabled": true,
"reserveTokens": 40000
}
}
}
}
⚠️ デフォルト値の問題
OpenClawのデフォルトのreserveTokensは16,384です。これは多くのユースケースで低すぎるため、コンテキスト圧縮が実行されるタイミングが遅すぎます。40,000以上に設定することを強くおすすめします。
reserveTokensの最適値を設定する
reserveTokensは「コンテキストウィンドウのうち、AIの応答生成のために必ず空けておくトークン数」を指定するパラメータです。この値が小さいと、AIが回答を生成する前にコンテキストが溢れてしまいます。
| 使用パターン | 推奨値 | 理由 |
|---|---|---|
| 軽いタスク(チャット・メモ) | 20,000 | 応答が短いので少なくて済む |
| 標準タスク(コーディング・調査) | 40,000 | 推奨値。ほとんどのユースケースに対応 |
| 重いタスク(大規模ファイル処理) | 60,000 | 長い応答と複雑な処理に対応 |
| マルチエージェント並列処理 | 80,000 | 複数エージェントが共有するコンテキスト |
ワークスペースファイル注入の問題と対策
OpenClawで最も見落とされがちな問題が、ワークスペースファイルの自動注入です。OpenClawはセッション内のすべてのメッセージで、関連ファイルをコンテキストに自動的に含めます。これが複数のメッセージにわたって繰り返されると、同じファイルが何度も注入されることになります。
💻 問題の実例
あなたが10個のファイル(各3,560トークン)を含むプロジェクトで作業している場合:
- 1回目のメッセージ:35,600トークンのファイル注入
- 2回目のメッセージ:さらに35,600トークン(合計71,200)
- 10回目のメッセージ:356,000トークン(モデルの上限の1.78倍!)
対策その1:作業するファイルを最小限に絞る。OpenClawに「今は○○ファイルだけ見てください」と明示的に指示する。
対策その2:MEMORY.mdに重要な情報を記録し、ファイル全体を注入する必要をなくす。「このプロジェクトの構造はMEMORY.mdを参照」とAIに伝える。
対策その3:定期的に/context listで注入ファイルを確認し、不要なファイルをコンテキストから除外する。
/newで新しいセッションを始める判断基準
/newコマンドは新しいセッションを開始します。/compactと違い、会話履歴は完全に破棄されます(SOUL.mdとスキルは引き継がれます)。
✅ /compactを使う場面
- 現在のタスクの文脈を保持したい
- 進行中のプロジェクトを続けたい
- AIの「記憶」を維持したまま継続したい
- コンテキストが60〜80%の段階
✅ /newを使う場面
- 全く新しいタスクを始める時
- コンテキストが90%以上に達した時
- AIの回答が完全に混乱している時
- 現在の会話文脈が不要になった時
長期タスクのためのコンテキスト管理戦略
OpenClawを24時間365日稼働させる場合、コンテキスト管理は避けて通れないテーマです。X.com上のヘビーユーザーが実践している戦略をまとめました。
🎯 戦略1:MEMORY.mdで重要情報を永続化
毎回必要な情報(プロジェクト構造、重要なルール、よく使うコマンド)をMEMORY.mdに書いておく。このファイルは/compactや/newをしても引き継がれます。「MEMORY.mdに記録して」とAIに指示するだけで自動的に更新されます。
🕐 戦略2:Cronjobで定期的に圧縮を自動実行
ハートビートスキルとCronjobを組み合わせて、毎日深夜に自動的に/compactを実行する設定にしておく。翌朝は常にフレッシュなコンテキストでAIが起動します。
📊 戦略3:タスクごとにセッションを分ける
複数のエージェントを並列稼働させ、タスクA専用エージェント・タスクB専用エージェントと役割を分担する。各エージェントのコンテキストを小さく保てます。
🔔 戦略4:コンテキスト警告の設定
「コンテキスト使用率が70%を超えたらDiscordで通知して」とAIに指示しておく。自分が気づく前にAIが警告を出してくれる設定です。
VPN回線がコンテキスト管理に与える影響
コンテキスト管理と並んで重要なのが、OpenClawが使用するAPI通信の安定性です。特に/compactの実行中は、AIが大量のテキストを一度に処理するため、通信の途中切断がエラーの原因になります。
/compactは通常90〜120秒かかります。この間に通信が不安定になると、圧縮処理が中断してコンテキストが中途半端な状態になることがあります。不安定なWi-Fiや企業ネットワークの制限下では、このような問題が頻発します。
VPN07 - OpenClaw最適化VPN
OpenClawのコンテキスト圧縮処理に最適化された1000Mbpsの千兆回線で、/compactの実行中も絶対に切れない安定接続を提供。
よくある質問(FAQ)
Q:/compactを実行すると重要な情報が失われますか?
A:/compactはAIが「要点サマリー」を作成するため、本当に重要な情報は保持されます。ただし、細かいコード詳細や長い出力結果は失われることがあります。失われたくない情報は事前にMEMORY.mdに記録しておきましょう。
Q:/compactを実行してもまたすぐに溢れます。どうすれば?
A:ワークスペースのファイルが多すぎる可能性があります。/context listで確認して不要なファイルを削除するか、reserveTokensの値を40,000以上に設定してください。それでも改善しない場合は/newで完全に新しいセッションを始めるのが最善です。
Q:モデルをGPT-5やGeminiに変えるとコンテキストウィンドウは変わりますか?
A:はい、変わります。Claudeは200kトークン、GPT-5は最大1Mトークン(ただし高コスト)、Geminiも100万トークンをサポートしています。コンテキスト溢れが頻繁に発生するなら、/modelコマンドでより大きなコンテキストウィンドウを持つモデルに切り替えることも検討してください。
Q:自動圧縮を有効にするとトークン消費が増えますか?
A:/compact実行時にトークンを消費しますが(サマリー生成のため)、長期的には溢れによる無駄なエラーリトライを防ぐためトータルでは節約になります。定期的な自動圧縮は推奨設定です。
Heartbeat・Cronジョブとコンテキスト管理の組み合わせ
OpenClawのHeartbeatスキルとCronジョブを組み合わせると、コンテキスト管理を完全に自動化できます。X.com上の上級ユーザーが実践している方法をご紹介します。
# openclaw.jsonのheartbeat設定
{
"heartbeat": {
"enabled": true,
"interval_minutes": 30,
"tasks": [
{
"cron": "0 */4 * * *",
"action": "check_context",
"threshold": 0.7,
"on_threshold": "compact"
},
{
"cron": "0 2 * * *",
"action": "compact",
"message": "深夜の定期コンテキスト圧縮を実行します"
}
]
}
}
この設定で、4時間ごとにコンテキスト使用率を確認し、70%を超えた場合に自動的に/compactを実行します。また毎日午前2時に定期圧縮を行い、翌朝は常にフレッシュな状態でOpenClawが起動します。
🔄 自動監視
4時間ごとにコンテキスト使用率をチェックし、しきい値超過時に自動対応します。
🌙 深夜自動圧縮
毎日午前2時に自動圧縮を実行。翌朝は常にクリーンな状態から開始できます。
📊 Discord通知
圧縮完了・高使用率アラートをDiscordやTelegramに自動通知します。
上級者向けコンテキスト最適化テクニック
OpenClawヘビーユーザーがコンテキストを最小化するために実践している高度なテクニックです。
🎯 テクニック1:スキルの選択的無効化
使わないスキルは/skill disableで無効化する。各スキルのスキーマが数千トークンを消費するため、10個のスキルを持つだけで8,000トークンが固定コストになります。
/skill disable twitter-poster # 使わない時は無効化
🎯 テクニック2:タスク別エージェントの分離
タスク専用エージェント(コーディング用・調査用・通信用)を分けることで、各エージェントが持つスキルセットを最小化。1エージェント当たりのコンテキスト使用量が劇的に減少します。
🎯 テクニック3:MEMORY.mdの階層管理
MEMORY.mdをメイン・サブ(プロジェクト別)に分けて管理する。メインMEMORY.mdは常時読み込み、サブは「プロジェクトXのメモリを読んで」と明示した時だけ読み込む設計にすることで注入トークンを削減できます。
📌 まとめ:コンテキスト管理3つの鉄則
- /statusで定期チェック:使用率70%が/compact実行の目安
- reserveTokensを40,000以上に設定:openclaw.jsonで自動圧縮を最適化
- MEMORY.mdを活用:重要情報をファイルに永続化してファイル注入を減らす
VPN07でOpenClawを最適化
コンテキスト圧縮中も絶対に切れない1000Mbps回線
OpenClawの/compact処理は90秒以上かかることがあります。通信が途切れると圧縮が失敗します。VPN07の1000Mbps千兆回線と10年の安定実績で、OpenClawを24時間365日安定稼働させましょう。