Claude CodeのKVキャッシュ無効化をローカルバックエンドで修正

Claude Codeバージョン2.1.36以上は、すべてのリクエストでシステムプロンプトに動的なコンテンツを注入し、llama.cpp、llama-server、LM Studioなどのローカル推論バックエンドを使用する際にKVキャッシュの無効化を引き起こします。これにより、小さなツール呼び出しのために20Kトークンのシステムプロンプト全体を最初から再処理することをハードウェアに強制します。
問題点
llama.cppはKVキャッシュの再利用のために正確な文字列マッチングに依存しています。プロンプトの先頭が変更されると、キャッシュ全体がフラッシュされ、プロンプト全体を再処理する必要があります。Claude Codeは、すべてのターンでプロンプトを変更する2つの動的要素を導入しています:
- テレメトリハッシュ: すべてのリクエストで変更されるハッシュを含む課金/テレメトリヘッダー(
x-anthropic-billing-header: cch=xxxxx)を注入します - Gitスナップショット: 環境ブロックに
git statusの出力を注入し、ファイルが変更されるたびにプロンプトを変更します
この結果、サーバーログには「キャッシュデータがないため、プロンプト全体の再処理を強制」というメッセージが表示され、小さな操作であるはずの処理に60秒以上の時間がかかります。
解決策
Claude Codeを設定して動的プロンプト要素を無効にし、ローカルハードウェアにルーティングします。~/.claude/settings.json(またはプロジェクトのローカル設定)を開き、以下の設定を確認してください:
{
"includeGitInstructions": false,
"env": {
"ANTHROPIC_BASE_URL": "<your-llama-server-here>",
"ANTHROPIC_API_KEY": "<any-string>",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"DISABLE_TELEMETRY": "1",
"DISABLE_ERROR_REPORTING": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}Claude Codeを再起動した後、llama-serverのログには改善されたキャッシュ認識が表示されるはずです。24,000トークンを処理する代わりに、「selected slot by LCP similarity, sim_best = 0.973」というメッセージの後に「prompt processing progress, n_tokens = 24270, batch.n_tokens = 4」というメッセージが表示され、プロンプト全体の再処理ではなく600トークンの差分処理のみが行われていることを示します。
これにより、Turing世代のQuadro RTX-8000のようなハードウェアでは、ローカルツール呼び出し時間が1分以上から約4秒に短縮されます。
📖 Read the full source: r/LocalLLaMA
👀 See Also

カモフラックス・クッキーインジェクション:エージェントが作業する間、自分自身としてRedditを閲覧
Redditのボット検知を回避する詳細な手順:Firefoxのクッキーを抽出し、Playwright経由でCamoufoxに注入する方法

インタラクティブな解説マップ:Claude Codeエージェントループ設計、単一呼び出しから自己変異プロンプトまで
Opus 4.7 で構築されたインタラクティブサイトが、Claude Code の 11 種類の実際のエージェントループデザインを視覚化。基本呼び出しから、自身のプロンプトを書き換えるエージェントまで、メモリとループ機構を SVG アニメーションで解説します。

小型本地模型运行编码代理时会出现什么问题
7B未満のモデルでマルチファイルタスクをテストした際の実際の障害ポイント:マークダウンフェンス、構造化出力の信頼性、ファイル編集エラー、読み取り/書き込みアクションの分類。

バックアップの習得:あなたのOpenClawエージェントを守る
自動化とAIが支配する時代において、堅牢なバックアップ戦略を通じてOpenClawエージェントの安全性を確保することは極めて重要です。デジタルアシスタントを保護するための基本的な手順を学びましょう。