llama.cppキャッシュにおけるFix OpenClaw Slowdown in Long Sessions: contextInjection continuation-skip

セルフホストのOpenClawとllama.cppを使用している場合、セッションが90kトークンを超えると徐々に遅くなる問題は、OpenClawの単一の設定が毎ターンプロンプトキャッシュを無効にしていることが原因かもしれません。r/openclawのユーザーが問題を追跡し、簡単な修正方法を見つけました。
セットアップ
- Qwen3.6-27B-Q8_0 on dual RTX 3090s (テンソル並列)
- llama-server with
--cache-prompt,--ctx-size 400000,--parallel 2 - OpenClawがLAN経由で接続
症状
llama-serverのログに毎ターン以下の表示:
forcing full prompt re-processing due to lack of cache data
erased invalidated context checkpoint (pos_min = 57172)
erased invalidated context checkpoint (pos_min = 60139)
erased invalidated context checkpoint (pos_min = 91076)
prompt eval time = 130511 ms / 91403 tokens毎ターン91kトークンを最初から再処理 — 130秒。キャッシュは有効でチェックポイントも存在していたが、llama.cppは一致するものがなく、完全な再処理にフォールバック。
根本原因
OpenClawの設定contextInjectionのデフォルトalwaysは、すべてのワークスペースブートストラップファイル(AGENTS.md, SOUL.md, USER.md, TOOLS.md, MEMORY.md, HEARTBEAT.md, ~15kb)を毎ターン(継続ターンも含む)システムプロンプトに再注入します。これによりトークンシーケンスが変更され、llama.cppのプロンプトキャッシュ(正確なプレフィックス一致に依存)が再利用できなくなります。
修正方法
openclaw config set agents.defaults.contextInjection continuation-skip --mergeその後ゲートウェイを再起動。continuation-skipは新しいユーザーメッセージ時のみブートストラップファイルを注入し、継続ターンでは注入しないため、プロンプトが安定しキャッシュが有効になります。
結果
修正前: 毎ターン91,403トークンを再処理、130秒のプロンプト評価、0%キャッシュ再利用、応答まで2分以上。
修正後: 毎ターン513新しいトークンのみ、1.3秒のプロンプト評価、99.7%キャッシュ再利用、応答まで約5秒。100倍高速化。
診断方法
ssh your-server "journalctl -u llama.service --no-pager -n 50 | grep -iE 'cache|re-process|checkpoint'"キャッシュ不良の兆候: forcing full prompt re-processing due to lack of cache data, erased invalidated context checkpointの繰り返し、プロンプト処理が30秒以上。正常なキャッシュの兆候: restored context checkpoint, f_keep = 0.99+, graphs reused =大きな数字、プロンプト処理が5秒未満。
また、--ctx-sizeを400k(セッションあたり200k)、OpenClawのcontextTokensを200k、memoryFlush.softThresholdTokensを30kから10kに調整することでさらなる改善が可能です。
📖 全文ソース: r/openclaw
👀 See Also

人々がOpenClawを諦めてしまう4つのよくある設定ミス
Redditユーザーが報告によると、4つの具体的な設定問題により50人以上がOpenClawを辞めたとのことです:SOUL.mdファイルの欠落、すべてのタスクにOpusモデルを使用することによる過剰なAPIコスト、一度に多すぎるスキルのインストール、最初のエージェントが正常に動作する前に複数のエージェントを作成すること。

Linuxでマルチサンドボックスを用いてllama.cppネイティブツール(exec_shell_command)を安全に実行する方法
llama.cppのネイティブツール(特にexec_shell_command)を有効にし、Firejailと小さなAlpine VMで複数のサンドボックス内で安全に実行するための実践的なガイド。llama-serverのWeb UIからWeb取得やコマンド実行を安全に行う方法を解説。

エージェントコンテキストを3層に分割して、700行のモノリス問題を解決する
6つの自律エージェントを構築するチームは、エージェントのコンテキストを関心の種類と変更頻度に基づいて3つの層に分離することで、コンテキストファイルの肥大化を解決しました。具体的には、CLAUDE.md(アイデンティティ)、BRIEFING.md(ミッション)、PLAYBOOK.md(運用)の3層構造です。このアプローチにより、引数制限によるサイレント障害を防ぎ、編集を予測可能にします。

ユーザーの経験から得たOpenClawセットアップのコツ:Gmail MCP、プロファイルフラグ、ネットワーク問題
MacでUTMとUbuntu VMを使用してOpenClawを実行しているユーザーが、遭遇した具体的な設定問題を共有しています:Gmail MCPサーバーはbodyパラメータではなくhtml_bodyを必要とし、--profile prodフラグはハードコードされたdevアイデンティティを回避するために必要であり、APIキーはpaste-tokenコマンドを介してauth-profiles.jsonに配置する必要があります。