クエリ変換とは

QUERY TRANSFORMATION
読み: クエリヘンカン

クエリ変換とは、ユーザーの検索クエリをAIが自動的に書き換え・拡張・分解して、検索精度を向上させる技術

読み: クエリヘンカン

ユーザーの検索クエリをAIが自動的に書き換え・拡張・分解して、検索精度を向上させる技術。RAGパイプラインにおいて、ユーザーの曖昧な質問をそのまま検索に使うと精度が出ないため、LLMを使ってクエリを最適化する。

かんたんに言うと

ユーザーの質問をAIが「検索しやすい形」に書き換える技術。「最近のAIの動向は?」という曖昧な質問を、「2025年以降のLLMの技術動向」「生成AIの市場規模の推移」のように具体化してから検索にかける。人間が検索上手なのと同じことをAIが自動でやる。

代表的な手法

Query Decomposition(クエリ分解)は複雑な質問を複数のサブクエリに分割する。「AとBの違いは?」を「Aとは何か」「Bとは何か」の2つに分けて検索する。Step-back Promptingは質問を一段抽象化する。「Python 3.12の新機能は?」を「Pythonの最近のバージョン更新」に広げて検索する。HyDE(Hypothetical Document Embeddings)はLLMに仮の回答を生成させ、その回答文をベクトル検索のクエリとして使う。

RAGパイプラインでの位置づけ

RAGの精度はリトリーバー(検索)の質で決まる。クエリ変換はリトリーバーの前段に位置し、検索クエリの質を上げる。リトリーバー→リランキングLLM生成という流れの中で、クエリ変換は最初のステップ。ここが悪いと後段でいくら頑張っても精度は上がらない。検索結果が期待と違うとき、まずクエリの質を疑うべき。

Multi-Query Retrieval

1つの質問から複数の検索クエリを生成し、それぞれの検索結果を統合する手法。LangChainのMultiQueryRetrieverが代表的な実装。1つのクエリでは取りこぼす情報を、異なる角度からのクエリで補完する。ただしクエリの数だけ検索回数が増えるため、レイテンシとコストのトレードオフがある。3〜5クエリが実用的な上限。

導入時の判断基準

RAGの精度改善で最初に試すべきはチャンクサイズの調整とメタデータ・フィルタリング。それでも足りなければクエリ変換を追加する。クエリ変換はLLMの呼び出しが1回増えるため、レイテンシが200〜500ms程度増加する。リアルタイム性が求められるチャットボットでは許容範囲か事前に確認が必要。バッチ処理やレポート生成では問題にならない。

当社の見解

当社はAI長期記憶システムを自社開発・運用している。開発のきっかけは、AIと経営戦略の壁打ちで出した結論がセッション切れで消えたことで絶望を感じた。1日かけて議論してきたことを振り返り、では事業計画書に落とし込むように指示を出したところ、「そのような記録はありません」と言われたことで、強烈な危機感を覚えこれは何としても解決しなければならない問題だと感じた。記憶がないAIは毎朝記憶喪失になる新入社員と同じだ。記憶があるAIは、前提条件を理解した上で本題に入れる。短いプロンプトで済むようになり、「前に言ったように実行して」と曖昧で短いプロンプトでも業務を遂行してくれる。同じことを繰り返し伝える回数も減り、開発業務でも同じミスを繰り返しにくくなり、人間の手戻りが減り、ストレスも減る。AIで本当に業務の質を上げるならば、記憶はマストである。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する