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

Claude Co-Work向けカスタムスキルの作成:ベストプラクティスとフォーマット
Claude Co-Workのカスタムスキル作成におけるベストプラクティスを探求し、具体的なフォーマットのヒントとユーザー経験に基づく実装アドバイスを紹介します。

AI時代に新米エンジニアが成長する7つの方法:基礎を極め、AIと協働し、エンドツーエンドのプロジェクトを構築せよ
IEEE Spectrumの記事Lokesh Lagudu氏(IEEE上級会員、Walmart Global Techシニアエンジニアリングマネージャー)が、AI時代に新米エンジニアが成功するための7つの実践的ヒントを紹介。基礎の重要性、AIとの協働、プロジェクトベースの学習に焦点を当てています。

ディスパッチャーパターンを使用してClaude APIコストを95%削減
ある開発者は、Claude Maxサブスクリプションで利用できるClaude Code CLIに重い作業を委譲するディスパッチャーパターンを実装することで、Claude APIのコストを月800〜2,000ドルから約215ドルに削減しました。オーケストレーションには最小限のAPIトークンのみを使用しています。

OpenClaw v2026.3.13におけるサブエージェントが表示されない問題の修正
OpenClaw v2026.3.13でカスタムサブエージェントがエージェントリストに表示されない問題の回避策: openclaw.jsonのエージェントリストをIDのみに簡略化し、runs.jsonでステータスを'idle'に設定して手動でエージェントを登録します。