Retrieval-Augmented Generation (RAG)
検索拡張生成
けんさくかくちょうせいせい
Definition
Retrieval-augmented generation is a technique that retrieves supporting passages via external search and uses them to generate answers for higher accuracy. It helps reduce hallucinations and incorporate up-to-date or private knowledge.
LLMは学習時点のデータに基づいて回答を生成するため、最新情報や社内の独自データについては正確に答えられません。また、知らない情報を「知っているふり」で回答してしまうハルシネーションの問題もあります。検索拡張生成(RAG: Retrieval-Augmented Generation)は、回答生成の前に外部データベースから関連情報を検索し、その情報をもとにLLMが回答を組み立てることで、これらの課題を解決する手法です。
検索→取得→生成の3ステップ
RAGの処理フローは3つのステップで構成されます。まず、ユーザーの質問を受け取ると、その内容を埋め込みベクトルに変換します。次に、あらかじめベクトル化しておいた文書データベース(ベクトルストア)から、意味的に近い文書を検索・取得します。最後に、検索で見つかった文書をコンテキストとしてLLMのプロンプトに添付し、それを参照しながら回答を生成します。
この仕組みの最大のメリットは、モデル自体を再学習させることなく、最新かつ正確な情報を回答に反映できる点です。社内の製品マニュアルや議事録をベクトルストアに格納しておけば、「先月の取締役会で決まった方針は?」といった質問にも根拠となる文書を引用しながら回答できます。
企業での活用が加速
企業でのRAG導入は急速に広がっています。社内ヘルプデスクの自動化、カスタマーサポートの品質向上、法務・コンプライアンス文書の検索など、「正確さが求められる場面」での活用が中心です。AWSのKnowledge Bases for Amazon Bedrock、GoogleのVertex AI Search、MicrosoftのAzure AI Searchなど、主要クラウドベンダーがRAG構築を支援するサービスを提供しており、導入のハードルは下がり続けています。
精度を左右するポイント
RAGの効果を最大化するには、検索精度の最適化が鍵です。文書のチャンク分割の粒度、埋め込みモデルの選択、リランキングの導入など、検索パイプラインの各段階でチューニングが必要です。検索結果をそのままプロンプトに入れるのではなく、関連度の高い部分だけを抽出する「コンテキスト圧縮」も重要な技術です。
ファインチューニングとの使い分け
RAGとファインチューニングは競合する技術ではなく、補完関係にあります。RAGは「最新の事実情報を参照する」のに適しており、ファインチューニングは「特定の応答スタイルや専門知識をモデルに組み込む」のに適しています。多くの企業アプリケーションでは、まずRAGで対応し、必要に応じてファインチューニングを追加するアプローチが現実的です。RAGは、LLMを「自分たちのデータで使えるようにする」最も実用的な方法として、企業AI活用の標準アーキテクチャになっています。