Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セマンティックキャッシュの落とし穴

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for yamachan yamachan
August 24, 2026

 セマンティックキャッシュの落とし穴

Avatar for yamachan

yamachan

August 24, 2026

More Decks by yamachan

Other Decks in Technology

Transcript

  1. RAGで遅いのは、検索ではなく生成 質問 → ベクトル化 → 近い文書を取得 → LLMが回答を生成 約2.26秒 検索は数十ミリ秒で終わります。時間を使っているのは最後のLLMです。

    生成だけで約2.26秒。ここが全体の待ち時間をほぼ決めています。 毎回ここを通す必要、ありますか。 ※ 生成に使ったLLMは Claude Haiku 4.5。数値はいずれも実測値です。 セマンティックキャッシュの落とし穴 06 / 20
  2. ヒットなら即返し、ミスなら作って書き戻す ヒット ミス 質問 → 埋め込み → キャッシュ検索 → 保存済みの回答

    キャッシュ検索 → ナレッジをRAG検索 → LLMが生成 → 書き戻して返す ミス時に書き戻すので、同じ意図の質問が2回目から速くなります。 線引きをするのは、意味の近さを数値にした「距離」。 セマンティックキャッシュの落とし穴 07 / 20
  3. サーバーレスで組んだ、全体の構成 Lambdaが中心。DynamoDB(ベクトル検索)とBedrockだけで完結します。 AWS Cloud 埋め込み・生成 質問 顧客 Amazon Bedrock Titan

    V2 / Claude Haiku 4.5 回答+出典 API Gateway AWS Lambda オーケストレーション 検索・書き戻し キャッシュ層 cs-semantic-cache ナレッジ層 cs-support-manual Amazon DynamoDB ① 質問を埋め込み(Titan V2) → ② キャッシュ層を類似検索(TopK=1) → ③ ヒットで即返却 / ミスは → ④ ナレッジ層をRAG(TopK=3) → ⑤ Claude Haiku 4.5 で生成 → ⑥ キャッシュへ書き戻し セマンティックキャッシュの落とし穴 08 / 20
  4. 罠その1。 速すぎると、 ユーザーは逆に不安になる 即答されると、ちゃんと読んでいない、使い回された、と受け取られます。 速くしたのに、信用されない。これが一番やっかいな落とし穴です。 ※ ト ン イ ポ

    の 今日 特にLLMの推論は、数秒待つのが当たり前。そこに検索結果だけ一瞬で返ってくると、ギャップが大きくてユーザーは戸惑いやすい。 セマンティックキャッシュの落とし穴 12 / 20
  5. 閾値は、実データの空白帯に置く 同じ意図の言い換え 閾値 0.7 0.404 〜 0.645 意図が違う質問 0.757 〜

    0.980 空白帯 約0.11 COSINE距離は0が完全一致で、小さいほど似ています。閾値以下ならヒットです。 同じ意図の最大と、違う意図の最小のあいだにできる空白帯に閾値を置きます。 セマンティックキャッシュの落とし穴 17 / 20