powered by TechFeed
表示モード
主要ニュース

RedisがLLM呼び出しそのものをスキップするセマンティックキャッシュを公開 — 「同じ質問の言い換え」を検知してAPIコストを最大90%削減、キャッシュヒット時は最大15倍高速化

9月10日、MarkTechPostが「Meet Redis LangCache: A Managed Semantic Cache That Cuts LLM API Costs by Up to 90% and Returns Cache Hits Up to 15x Faster」と題した記事を公開した。この記事では、RedisがリリースしたマネージドセマンティックキャッシュサービスLangCacheがLLM APIコストを最大90%削減し、キャッシュヒット時のレスポンスを最大15倍高速化する仕組みについて詳しく紹介されている。

9月10日、MarkTechPostが「Meet Redis LangCache: A Managed Semantic Cache That Cuts LLM API Costs by Up to 90% and Returns Cache Hits Up to 15x Faster」と題した記事を公開した。この記事では、RedisがリリースしたマネージドセマンティックキャッシュサービスLangCacheがLLM APIコストを最大90%削減し、キャッシュヒット時のレスポンスを最大15倍高速化する仕組みについて詳しく紹介されている。


LLMへのリクエスト、実は大半が「同じ質問の言い換え」

カスタマーサポートやRAG(Retrieval-Augmented Generation:外部知識を検索してLLMの回答精度を高める手法)パイプラインを本番運用すると、意味的に同一の質問が大量に飛んでくる。

  • 「月額プランを購入後に返金できますか?」
  • 「月額サブスクリプションは返金対象ですか?」
  • 「プランをキャンセルして返金を受けられますか?」

この3つは表現が異なるだけで、答えは同一だ。しかし従来のスタックはこれを「別のリクエスト」として扱い、毎回フルの推論コストを払う。

「プレフィックスキャッシュ」(システムプロンプトなど共通部分のKV状態を再利用することで入力処理コストを削減する仕組み)でもこの問題は解決しない。リクエストは依然としてLLMに届き、新トークンの処理と出力デコードが発生する。あくまで「安くなる生成」であって「生成を回避」はできない。


LangCacheの仕組み:LLM呼び出しそのものをスキップする

Redis LangCacheはモデルの外側にキャッシュを置き、生成済みのレスポンスそのものを保存・検索する。フローは以下の4ステップだ。

  1. モデルを呼ぶ前に POST /v1/caches/{cacheId}/entries/search へプロンプトを送る
  2. LangCacheがプロンプトをエンベディング(テキストを数値ベクトルに変換したもの)化し、保存済みエントリとベクトル検索(意味的な近さをベクトル空間上の距離で測る検索手法)で照合する
  3. 設定した類似度閾値を超えるエントリがあれば、LLMを呼ばずにキャッシュ済みレスポンスを返す
  4. キャッシュミスの場合は通常どおりLLMを呼び出し、レスポンスを POST /v1/caches/{cacheId}/entries で保存して次回以降に備える

エンベディング生成はサービス側が処理する。類似度閾値・TTL・エビクションポリシーで挙動を調整でき、REST APIで任意のLLMプロバイダ・任意の言語から利用できる。現在はPythonとJavaScriptのSDKも提供されている。


実測でどれだけ変わるか

元記事が公開しているデモ結果が具体的だ。言い換えた質問で2つのパスを比較したところ:

通常推論 LangCacheヒット
レスポンス時間 2.232秒 0.37秒(約6倍高速)
入力トークン 514 0
出力トークン 250 0

このデモ結果は特定の条件下での計測値(約6倍高速)であり、元記事が掲げる「最大15倍高速」はサービス全体として達成しうる上限値だ。ネットワーク環境・モデルのレイテンシ・プロンプト長などの条件によって差が生じるため、両者の数値は矛盾するものではなく、実環境での結果はこの範囲に収まると考えてよい。

キャッシュヒット時はトークンを一切消費しない。コスト削減の計算式はRedisのドキュメントが明示している:

推定月次削減額 = 月間出力トークンコスト × キャッシュヒット率

たとえば月200ドルのLLM支出のうち60%が出力トークンコストで、ヒット率50%なら月60ドルの削減になる。Redisの公式節約計算ツールで年間試算もできる。

実際の導入事例として、患者ケア向け音声アプリを開発するMangoes.aiはヒット率70%・LLMコスト70%削減・レスポンス4倍高速化を報告している。


運用で注意すべき「閾値チューニング」問題

セマンティックキャッシュの難所は設定値の調整だ。類似度閾値を低くしすぎると誤ったレスポンスが返る(返金に関する質問にアップグレード案内が返るなど)。高くしすぎると言い換えのほぼ全てがモデルに流れ、キャッシュが機能しない。

LangCacheはアクセススコープ・カスタムフィルタリング・TTL・エビクション制御・Redis Cloudコンソールでのモニタリングでこれに対応する。データは顧客のRedisサーバー上に置かれ、Redisがそのデータにアクセスしたりモデル学習に使用したりしないと明言されている。

現在はパブリックプレビューとしてRedis Cloud上で提供されており、プレビュー期間中は機能や挙動が変更される可能性がある。


詳細はMeet Redis LangCache: A Managed Semantic Cache That Cuts LLM API Costs by Up to 90% and Returns Cache Hits Up to 15x Fasterを参照していただきたい。