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

OpenClawセルフホストAIエージェントの実用的なセットアップと設定ガイド
OpenClawは、メッセージングアプリと統合し、ファイルベースのシステムを通じて永続的なメモリを維持するセルフホスト型AIエージェントです。主なセットアップの推奨事項には、ターミナルインターフェースから始めること、最初は1つのメッセージングチャネルのみを接続すること、そして個性とセキュリティルールのためにSOUL.mdファイルを適切に設定することが含まれます。

ボットのOAuthトークン自動更新をClaude Codeで実現
Redditユーザーが、OAuthトークンの有効期限切れを防ぐ方法を共有しました。Claude Codeを設定して8時間ごとにトークンを自動更新することで、ボットを手動介入なしで継続的に稼働させることができます。

OpenClawメモリプラグインのテスト結果と推奨スタック
RedditユーザーがすべてのOpenClawメモリプラグインをテストした結果、デフォルトのマークダウン設定がトークンの肥大化と指示の圧縮を引き起こすことが判明しました。推奨される設定は、人間が読みやすいノート用にObsidian、トークンフリー検索用にQMD、構造化データ用にSQLiteを組み合わせたものです。

OmniCoder-9Bをローカルで実行するためのllama.cpp設定詳細
開発者が、中程度のハードウェルで特定のllama.cppフラグ(--reasoning-budget 0を含む)を使用して、OmniCoder-9Bで平均96.7%のHumanEvalスコアを達成しました。この設定では、Q6_K量子化モデルをRTX 3080(10GB VRAM)で実行しました。