ローカルエージェントの最大ボトルネック、プロンプト再評価を直撃

速報:CachyLLama:SSDバックのKVキャッシュでローカルLLMのプロンプト処理を最大348倍高速化(記事内画像)

検知。llama.cppフォーク「CachyLLama」がRedditのLocalLLaMAコミュニティで公開された。ソースによると、Aider・Claude Codeといったローカルエージェント型コーディングハーネスを動かす際、実行時間の大半をプロンプト評価が占める問題を解決するために設計されたフォークである。

ローカルLLM運用で見落とされがちな事実がある。トークン生成速度(tokens/s)はAPUや中位ハードウェアでも実用域に達しているケースが多い。しかしターン毎にシステムプロンプト・ツールスキーマ・会話履歴という数千トークンの共通プレフィックスを再評価するコストが、エージェントループ全体のレイテンシを支配している。CachyLLamaはこの「再評価の無駄」を根本から刈り取る設計だ。

4つのコア機能と公式ベンチマーク数値

CachyLLamaが実装する機能は4点に整理される。

永続オンディスクKVキャッシュ:会話チェックポイントをSSDに書き出す。サーバー再起動・電源断後のコールドスタートでもディスクから状態を復元する。セッション継続性がハードウェアリセットを跨いで保持される点が従来のインメモリキャッシュとの決定的な差異だ。

専用システムプロンプトキャッシュ:静的プレフィックス向けにグローバルなクロスコンバセーションキャッシュを維持する。2回目以降のリクエストは再評価を完全にスキップする。エージェントが同一システムプロンプトを繰り返し送信する構造に対して直接効く機構だ。

ハイブリッドMoE/SSMサポート:Qwen 3.5/3.6・Gemma 4・GLM-4.7・DeepSeek-V3といったハイブリッドアーキテクチャに対応。アテンションセルと並行してリカレント状態を正確に追跡・復元する。モデル選択の自由度を損なわない設計である。

マルチティアリング:アクティブな状態をRAMに保持し、アイドルセッションをディスクに降格する。カーネルのリードアヘッドを活用してディスクI/Oとコンピュート処理をオーバーラップさせる。帯域幅の無駄を圧縮する実装だ。

公式ベンチマークはAMD Ryzen 7840U(内蔵GPU 780M)で計測されている。数値は以下の通りだ。

  • プロンプトサイズ 約1,243トークン:コールドスタート 9.3秒 → ウォーム(キャッシュ済み)0.41秒(約22.7倍)
  • プロンプトサイズ 約15,700トークン:コールドスタート 143.1秒 → ウォーム(キャッシュ済み)0.99秒(約144.5倍)

長いコンテキストほど効果が指数的に拡大する。1万5700トークン規模では143.1秒が0.99秒になる。これはエージェントループの体感を根本的に変える数値だ。なお公式は明示している——「CachyLLamaはトークン生成自体を高速化しない。あくまで冗長なプロンプト処理オーバーヘッドを排除するものだ」と。生成速度への過剰な期待は禁物である。

結論:数値は正直、ただし適用範囲を見極めよ

ハイプは要らない。数値だけを見る。コールドスタート143.1秒が0.99秒になるという事実は、同一プレフィックスを繰り返し送るエージェントワークフローに限定した話だ。単発の推論や短いプロンプトへの恩恵は限定的と考えられる。

対象ユーザーは明確だ。Aider・Claude Codeを長時間ループで回す開発者、かつAPUや中位GPUでローカル推論を運用している層。この条件が揃う環境では、導入コストに見合う効果が期待できる。

SSDへの永続化はI/O耐久性とのトレードオフでもある。書き込み頻度・キャッシュサイズ・SML寿命の管理は運用者側の責任だ。ベンチマーク環境はRyzen 7840U単体であり、他ハードウェアへの外挿は慎重に行う必要がある。

llama.cppエコシステムのフォークとして、上流の更新追従コストも長期的な懸念点になり得る。プロジェクトの継続性は現時点では未知数だ。数値は本物、ただし適用条件を精査してから判断する——それが正しい向き合い方である。

関連リンク