そう思っていた時期が俺にもありました...あと何年か経てば、LLMの一部としてセマンティックストレージ(GDMのTitansみたいなやつ)が実用化され、そこにテラバイトのデータを入れてrecall 100%で呼び出せて、かつ今思いついた新単語や製品IDみたいにセマンティクスがないデータも扱える世界がくる...のかも。
しかし現実にはロングコンテキストをフルに使うと重くて遅くて高い上に、Lost-in-the-middleのせいで長さに比例してreasoningの賢さがぐんと低下する。だからSkillsのように、セマンティック索引をエンジニアがこまめにメンテしてコンテキストを最小化するとLLMがぐんと賢く動く。まるでCPUと同じような局所性が重要で、これがコンテキストエンジニアリングが単なるバズワードではない理由。
だから当面はベクトル検索等のセマンティックストレージをLLMの外部に持つ必要がある。では、RAG界隈でベクトル検索がきちんと使えているかというと、全然そんなことはない。そもそもベクトル検索のイノベーションはここ10年くらいかけてじわじわと浸透してきたもので、LLMのイノベーションとはあまり関係がない。今のコンシューマ向けWebサービスのほとんどはベクトル検索と推薦モデルを中心に作られてる。Google等big techの主要サービス、Insta、X、Facebook、Spotify、TikTok、Uber、Amazon、Netflix...これらの今どきのITビジネスの収益を生み出している大黒柱だ。このポストを見ている全員、毎日数10のベクトル検索や推薦モデルを知らずに利用していることに気づいているだろうか?
でもこれらの本物のITとRAG界隈の最大の違いは、多くのRAG事例のような単純な類似検索(cos類似度の距離の近さ)のためにベクトル検索を使っているベンダーはほとんどない点。Xのタイムライン、YouTubeのおすすめ動画、Spotifyのプレイリスト、TikTokでスワイプ後に見せる動画リスト等々...を生成する推薦システム(recsys)を作るためにベクトル検索を使うのが、LLMとは関係なく過去10年のコンシューマ向けサービスで起きている最大のイノベーション。いかにして賢い推薦をするディープラーニングモデル(LLMではない)=推薦モデルを作れるかという部分で各社はしのぎを削っている。
LLMは推薦の能力は優れているけど、まだコストと遅延が桁違いに大きすぎて、こうした数億人相手の用途には使えない。現時点では世の中のコンシューマービジネスを回しているのはLLMでは全然ないことに気づいて欲しい。そして現在、XやYouTube、Amazon (COSMO) 等の先進的なプロジェクトで、LLM蒸留(LLMに大量の学習データを生成させて小規模なディープラーニングモデルを学習する手法)を使った生成的推薦(generative recommendation)が実用化されはじめている。さらにYouTubeのセマンティックIDやGoogleのDSI等の新しい研究が始まっている。詳しくはこれ参照→
x.com/kazunori_279/status/20…
一方で、ここ2〜3年の間にネット上で続けられてきたRAG界隈の議論は、こういうレベルに全然達していないまま下火になりつつある。依然としてベクトル検索=単純なcos類似度による類似検索という前提の議論が主流で、上記のようなアカデミックな推薦モデルやLLM蒸留の話をタイムラインで見かけることは、英語でも日本語でもとても少ない。でも、国内外のコンシューマー大手のデータサイエンティストの人とミーティングしたりすると、やはり彼らは現実的なLLM蒸留を実用化してたり検討している(当然Xにはそういう話はあまり流れない。ビジネスの稼ぎ頭の話だから)。
というわけで、RAG=ベクトル検索では全くないし、ベクトル検索を使わずとも優れたRAGはいくらでも作れるけど、ここ10年でIR/recsys界隈で起きてきたベクトル検索のイノベーションが背景にあるからこそ、LLMとベクトル検索の組み合わせがとても面白いということを知ってほしい。まずは単純な類似検索をやめてみよう(定期)。
ぶっちゃけ、RAGをやる9割の人が間違っていると思う。そもそも、なぜベクトル検索をする必要があったのかを考えて欲しい。
背景はコンテキストウィンドウに入りきらない大量の独自ドキュメントを、安価にLLMの検索対象にしたいから。
RAG(ベクトル検索)が流行った当時は、今みたいにエージェントもなければ、ディープリサーチみたいなツールもないし、コンテキストウィンドウも主要モデルは小さかったから、ベクトル検索せざるを得なかった。
つまり、別に精度が高いからRAG(ベクトル検索)をしている訳じゃない。
むしろ、ベクトル検索をし続ける限り、コサイン類似度に近いチャンクを拾ってくるという宿命から逃れられなくなる。運用コストもバカ高い。
何より、せっかくLLMの精度がとてつもないスピードで向上して、MCPもあればSkillsも出てきたのに、ベクトル検索に依存するフローは、これらの恩恵を受けられず、あまりに勿体なさすぎる。
Claude Sonnet 4.6 が安価に100万トークンのコンテキストウィンドウを持つようになったことで、大量のSonnetサブエージェントに普通に検索をさせた方が遥かによくなる。
全てサブエージェントによる大量検索が最適解だとは思わないが、基本的にはこの未来は確定路線だと思う。
10年後を見据えたコンテキストエンジニアリングが必要で、その中にベクトルDBが本当に入っているのか、想像してみた方がいい。