推論最適化・実行基盤

セマンティックキャッシュとは|答えを差し替えないと、2週目以降は100%が古い答えを返し続けた

似ているとみなす境目はどう効くのか費用はどれだけ減るのか正解が変わる話題ではどうなるのか

正解が週替わりで変わる話題を使うと、2週目以降は100%が古い答えを返し続けました。

似ているかどうかだけを見て、当たった時点で差し替えていないためです。

この記事の要点

  • 境目2.5で誤り3.3%
  • 当たり率70%で0.32倍
  • 2週目以降100%が古い
  • 探す費用は毎回かかる

2週目以降、100%が古い答えを返し続ける

似ている問いを見つけて当たり率を上げます。ただし正解が変わる話題では、その仕組みが裏目に出ます。

セマンティックキャッシュは、似ている問いをまとめて扱います。公式は意味によるキャッシュは、似ている、あるいは関連する問いを見つけて保存し、それによって当たる確率を上げ、キャッシュ全体の効率を高めると述べています。

「似ている」と「正解が同じ」は別のことです。実際に流して確かめました。

正解が変わる話題で試す

text
話題 40種(正解が週替わりで変わる)。1週間 500件、8週ぶん
見出しの意味は変わらないが、正解の中身は週ごとに更新される(キャンペーン内容など)
似ているかどうかだけで答えを使い回すと、更新後も前週の答えを返し続けることがある

週      その週の当たり      前週以前の答えを返した件数      古い答えの割合
   1週目            460件                            0件              0.0%
   2週目            500件                          500件            100.0%
   3週目            500件                          500件            100.0%
   4週目            500件                          500件            100.0%
   5週目            500件                          500件            100.0%
   6週目            500件                          500件            100.0%
   7週目            500件                          500件            100.0%
   8週目            500件                          500件            100.0%

1週目は0.0%です。まだ何も保存されていないので、答え合わせのしようがありません。

2週目からは100.0%です。問いの聞き方は変わっていないので、毎回1週目の答えが返ります。

当たった時点で更新しないから

当たったとき、多くの実装は答えを使い回すだけで置き場を更新しません。次に同じ問いが来ても、最初の答えのままです。

だから一度キャッシュに入った答えは、手動で消さない限り古びたまま残り続けます。話題の聞き方が変わらない限り、当たり続けるからです。

似た問題はAmazon CloudFrontの記事でも扱っていて、そちらは期限を切って自動で古くなります。

1週目だけ空振りし、2週目から先はずっと古い答えのまま。

古い答えを返した割合(%)経過週(週)→1108.81週目2週目4週目6週目8週目話題40種・週500件での実測。3週目以降も8週目までずっと100.0%が続く。
図1 ── 週ごとの、古い答えを返した割合
出典GPTCache 公式リポジトリ README2026-08-18 確認
Semantic caching identifies and stores similar or related queries, thereby increasing cache hit probability and enhancing overall caching efficiency.
原文GPTCache 公式リポジトリ README この内容の有効期限2027-02-18

境目を2.5まで広げると、誤りが3.3%になる

似ているとみなす境目を選べます。広げるほど当たりは増えますが、別の意味を流用する誤りも増えます。

セマンティックキャッシュのひとつであるGPTCacheは、意味によるキャッシュという方式を採っています。公式はGPTCacheは意味によるキャッシュのような、別の方式を採用すると述べています。

似ているとみなす境目で何が変わるのか。実際に境目を動かして数えました。

境目を変える

text
意味の異なる問い 400種・言い換え 30件ずつ。似ているとみなす境目を変える
境目より近い問いが先に来ていれば、答えを使い回す(当たり)とする

境目(距離)  当たった件数  正しい当たり  誤った当たり(別の意味なのに流用)  誤りの割合
         0.3       11,263件       11,263件                                    0件        0.0%
         0.6       11,548件       11,548件                                    0件        0.0%
         0.9       11,600件       11,600件                                    0件        0.0%
         1.3       11,678件       11,600件                                   78件        0.7%
         1.8       11,906件       11,600件                                  306件        2.6%
         2.5       11,999件       11,600件                                  399件        3.3%

境目0.9までは誤り0.0%です。正しい当たりが11,600件で頭打ちになっています。

1.3を超えると誤りが出はじめ、2.5では3.3%です。正しい当たりの件数はもう増えていません。

広げても増えるのは誤りだけ

正しい当たりは0.9のときの11,600件から、2.5でも同じ11,600件です。

つまり0.9を超えて境目を広げても、増えるのは誤った当たりだけでした。境目は広げすぎない方が安全です。

似ている度合いの測り方は近似最近傍の再現率の記事でも扱いました。

出典GPTCache 公式リポジトリ README2026-08-18 確認
GPTCache adopt alternative strategies like semantic caching.
原文GPTCache 公式リポジトリ README この内容の有効期限2027-02-18

当たり率70%なら、費用は0.32倍まで下がる

料金は件数とトークン数で決まります。当たった分だけ計算を省けますが、探す費用は毎回かかります。

セマンティックキャッシュを検討する背景には、課金の仕組みがあります。多くのLLMサービスは、件数とトークン数で課金されます。公式はほとんどのLLMサービスは、要求の数とトークン数を組み合わせて料金を課すと述べています。

当たった分を省けば費用は減ります。どれだけ減るのか実際に計算して数えました。

当たり率を変える

text
100,000件の問い。1回ふつうに答えると 1、似ている問いを探すだけなら 0.02

当たり率  当たった件数  探すだけで済んだ費用      外れて答えた費用      合計      使わない場合との比
      10%       10,000件                    2000                   90000     92000                   0.92倍
      30%       30,000件                    2000                   70000     72000                   0.72倍
      50%       50,000件                    2000                   50000     52000                   0.52倍
      70%       70,000件                    2000                   30000     32000                   0.32倍

当たり率70%なら、費用は0.32倍まで下がります。3件に2件は普通に答える費用が要らなくなります。

10%だと0.92倍で、ほとんど下がりません。探す費用が毎回かかるので、その分が相殺します

前の節と合わせて考える

境目を広げれば当たり率は上がります。しかし前の節で見たとおり、広げすぎると誤りも増えます

そして正解が変わる話題では、当たり率が高いほど古い答えを返す機会も増えます。費用と正確さは、単純にどちらか一方を選べる関係ではありません。

余談 この計測での注意

3つの計測はいずれも手元で書いた模型で、実際のGPTCacheを動かしたものではありません。境目の値や、探す費用0.02・答える費用1.0といった比はすべて置いたものです。正解が変わる話題の実験も、当たった時点で置き場を更新しないという実装を仮定しており、実際の製品が同じ挙動をするとは限りません。ここで見せているのは、境目を広げても正しい当たりは頭打ちで誤りだけが増えるという点と、当たった時点で更新しなければ古い答えが残り続けるという点の2つです。

出典GPTCache 公式リポジトリ README2026-08-18 確認
Most LLM services charge fees based on a combination of number of requests and token count.
原文GPTCache 公式リポジトリ README この内容の有効期限2027-02-18

よくある質問

セマンティックキャッシュとは何ですか
似ている問いや関連する問いを見つけて保存する仕組みです。当たる確率を上げ、全体の効率を高めると説明されています。
似ているとみなす境目を広げるとどうなりますか
当たる件数は増えますが、別の意味の問いを流用してしまう誤りも増えます。境目2.5では3.3%が誤りでした。
費用はどれだけ減りますか
当たり率次第です。当たり率70%なら、使わない場合の0.32倍まで下がりました。
正解が変わる話題ではどうなりますか
当たった時点で答えを差し替えなければ、2週目以降は100%が前週以前の古い答えを返し続けました。

まとめ

  • 似ている問いを見つけて保存
  • 境目を広げると誤りも増える
  • 当たり率が費用を決める
  • 差し替えないと古い答えが残る

今日から始められること

  1. 似ているとみなす境目の設定を確かめる
  2. 当たり率と誤りの割合を測る
  3. 正解が変わる話題を洗い出す
  4. 当たった時点で差し替える仕組みを入れる

実務で組んだセマンティックキャッシュのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る