Advanced RAGは本当に必要?Web検索RAGを実装して分かった現実

はじめに

ChatGPTのようなAIエージェントはWeb検索した結果も含めてコメント表示します。Web検索もRAGの機能を使っていますが、検索の仕方によっては、コメントの精度が変わってきます。今回はAdvanced RAGと呼ばれる検索の仕方を工夫するような手法を活用して、Web検索した結果を比較してみました。

方法

Google Colab上でTavily APIを使ったWeb検索RAGを実装しました(GPTモデル:GPT-4o-mini)。以下の4パターンを実装し、比較してみました。

  1. 通常検索:Web検索した情報をプロンプトに含めて、LLMに投げてコメント出力する
  2. MultiQuery:プロンプトより異なる複数の検索クエリを作成し、検索結果をプロンプトに含めて、LLMに投げてコメント出力する
  3. HyDE:プロンプトから仮の回答を作り、その回答をLLMに投げてコメント出力する
  4. MultiQuery+ReRanker:プロンプトより異なる複数の検索クエリを作成し、上位ランクの検索結果をプロンプトに含めて、LLMに投げてコメント出力する

結果

渋谷区の2025年12月24日の最高気温と最低気温を検索してみました。※検索時は2025年12月23日

プロンプト

2025年12月24日の渋谷区の最高気温と最低気温を教えてください。

解答

参考サイト:ウェザーニュース

1.通常検索

2025年12月24日の渋谷区の最高気温と最低気温は、最高が11°C、最低が3°Cです。

5つの検索サイトを元にコメントさせましたが、うまくいきませんでした。※計5サイトを参考情報としました

2.MultiQuery

2025年12月24日の渋谷区の最高気温は7℃、最低気温は4℃です。

3つの異なる検索クエリを生成して、それぞれ3つのサイトを検索したら、解答と一致しました。※計9サイトを参考情報としました

生成した3つのクエリ
・2025年12月24日 渋谷区 最高気温 最低気温
・渋谷区 2025年12月24日 天気予報
・2025年12月24日 渋谷区 気温履歴

3.HyDE

申し訳ありませんが、提供された文脈には2025年12月24日の渋谷区の最高気温や最低気温に関する情報は含まれていません。そのため、具体的な気温をお答えすることはできません。気象情報は別の情報源を参照してください。

仮の回答が予測できないとなっているため、最終コメントもうまくいきませんでした。そもそもWebの最新情報をLLMは保持していないため、仮の回答もうまく作れないことがわかります。※計3サイトを参考情報としました

仮の回答
・申し訳ありませんが、2025年12月24日の渋谷区の具体的な気温を予測することはできません。

4.MultiQuery+ReRanker

2025年12月24日の渋谷区の最高気温は7℃、最低気温は4℃です。

3つの異なる検索クエリを生成して、それぞれ3つのサイトを検索し、リランクスコアトップ5を元にコメント生成させたら解答と一致しました。※計5サイトを参考情報としました

生成した3つのクエリ
・2025年12月24日 渋谷区 最高気温 最低気温
・渋谷区 2025年12月24日 天気予報
・2025年12月24日 渋谷区 気温履歴

おわりに

今回の検証結果より、Web検索RAGは、状況に応じて使い分けていくとうまくいくことがわかりました。まずは、通常検索で試してみて、精度不足を感じたらMultiQuery、それでもノイズが多いと思ったらMultiQuery + ReRankerと段階的に強化していくと適した方法を見つけられそうです。今回の検証ではHyDEは機能しませんでしたが、検索したい内容によっては、うまくいくかもしれませんので、一つの方法として試すのはアリですね!