本記事では、生成AI(LLM)の回答精度を飛躍的に高め、ビジネス活用を加速させる技術「RAG(検索拡張生成)」について解説しています。
「生成AIがもっともらしい嘘をつく(ハルシネーション)ので業務導入が進まない」
「社内独自のデータを踏まえた回答をしてほしい」
このようなお悩みを抱えるDX担当者やマーケティング担当者の方向けに、RAGの仕組みからメリット、導入フローまでを網羅的に紹介します。
この記事を読めば、RAGの基礎知識が身につき、自社の課題を解決するための具体的なAI活用イメージを持てるようになります。
\\Webマーケティングの入門資料3点セットはこちら//
Table of Contents
RAG(Retrieval-Augmented Generation)とは、AIが外部の信頼できるデータベースから最新かつ正確な情報を検索し、その情報を交えながら生成する技術のことです。日本語では「検索拡張生成」と言います。
RAGは、LLM(Large Language Models:大規模言語モデル)最大の弱点である「ハルシネーション(平気で嘘をついたり、知ったかぶりをしたりする現象)」を抑制するために開発されました。
LLMに「カンニングペーパー=信頼できる情報源」を渡しながら回答を得る仕組み、と言えば分かりやすいかもしれません。
▼LLMやLLMOについては、以下の記事もあわせてご覧ください。
RAGは、LLMと対立関係にあるわけではありません。むしろ、LLMの能力を最大限に引き出すための支援関係にあります。
RAGとLLMとの関係を喩えるならば、LLMは膨大な知識を学習した「賢い脳」です。ただし、知識は学習が完了した時点の情報になります。この「脳」に対して、RAGはリアルタイムで必要な情報として最新ニュースや社内データなどを検索して提供する「外部メモリ」および「検索エンジン」です。
つまりRAGが「検索(事実確認)」を、LLMがその検索結果(データ)とユーザーからの質問を組み合わせて「自然な文章となる回答を生成」を担います。それぞれが役割を分担しつつ、支え合う関係性なのです。
AIから最新かつ正確な情報を交えた回答を得るための技術には、RAGだけでなく、「ファインチューニング」と呼ばれるものもあります。
両者の違いは、以下の通りです。
| RAG(検索拡張生成) | ファインチューニング | |
|---|---|---|
| 役割 | 外部のデータベースから「知識」をAIに与える(カンニングさせる) | AIの「振る舞い」を調整する(再教育する) |
| 目的 | 最新情報や独自データなど、「特定の知識」をAIに覚えさせて、回答の正確性を高める | AIの「口調」「正確」「応答スタイル」「特定のタスク(例:要約)」を特定のドメインに合わせて最適化(再教育)する |
| 特徴 | LLM自体を再教育させるのではなく、外部のデータベース(知識源)から情報を提供する | 特定の「教師データ」を用いて、LLM自体に追加教育をする |
| メリット | ・比較的に早く導入できる ・知識のアップデートを容易にできる(外部のデータベースを提供するのみ) ・ハルシネーションを軽減できる ・出典元を記載できる | ・AIの振る舞いや文体をカスタマイズできる |
| デメリット | ・検索精度によって回答の質が左右される | ・高品質な「教師データ」を用意する必要がある上、準備コストも高額になる ・追加教育にコストと時間を要する ・知識の更新(再教育)が容易ではない |
ChatGPTやGeminiなどのLLMにはビジネスで活用する上で限界があり、それらを打ち破るための方法としてRAGが必要とされています。
ここでは、ビジネスパーソンが業務でLLMを利用した際に起きる問題を紹介します。
LLMは、ある時点までのデータしか学習していません。つまり、その学習範囲に含まれていないニュースやトレンド、市場の動向といった最新情報を回答に反映できないのです。
例えば「最新の法改正について教えて」「今年のマーケティングのトレンドは?」「昨日の株価は?」といった質問をLLMに投げかけても、希望する回答や適切な回答を得られないことになります。
LLMは、インターネット上に公開されていない社内マニュアルや顧客データ、機密情報などを学習していません。
そのため、社内に関わる専門的な質問や、クローズドな情報に関する回答の精度が極めて低くなります。
LLMは学習していない情報や曖昧な知識しかない情報について質問された場合、事実にもとづかない「それらしい嘘の回答」を生成する現象(ハルシネーション)が起こります。
業務でAIを活用した際に虚偽の情報を提供されてしまうと、誤った意思決定や顧客からの信用失墜など、ビジネスに大きな影響を及ぼす恐れがあります。
LLMは「なぜその回答に至ったのか」「どのデータ、出典を参照したのか」を明示することが不得意です。
そのためAIから生成された回答の正確性を人間が確認しなければならない上、その検証(ファクトチェック)も難しいことから、業務に活用しにくいという側面があります。
RAGは、前述したLLMの「限界」を打ち破り、生成AIでのビジネス活用を可能にします。ここでは、実際にユーザーがどのようなメリットを得られるかを見ていきましょう。
RAGは、外部のデータベースから最新かつ正確な情報を検索します。
そのため、ユーザーはLLMが古い学習データを用いている場合でも、リアルタイムで必要な回答を得られます。
RAGは、議事録やマニュアルなどの社内資料をデータベースに組み込むことが可能です。これによって、ユーザーは「社内規定について教えて」「顧客A社の過去の取引履歴は?」といったクローズドな質問を投げかけても正確な返答を受けられます。
RAGの特徴として、LLMの本体ではなく、別の場所にある知識ベースに社内データを保管できます。権限を譲渡したユーザーのみがアクセスをできるようにする、「アクセス制御」の実装も可能です。
この結果、ユーザーは社内データ上にある機密情報や個人情報が漏洩するリスクを軽減できるでしょう。ただし、保管場所にセキュリティ対策を講じること、アクセスに関するルールを設定し運用することが大切です。
RAGは「検索した事実(データ)」にもとづいて回答を生成するよう、LLMを制御できます。
したがって、ユーザーはLLMが学習データから憶測で回答を生成するような知ったかぶりを防ぎ、高精度で信頼性も高い回答を得られます。
RAGは、回答の根拠として「どの資料のどの部分を参照して生成したか」といった出典元を提示できます。
ユーザーはその出典元を確認することで、回答の正確性を容易に検証できます(ファクトチェック)。
RAGが対応できるのは、外部のデータベースを追加、または修正するだけの更新作業です。
そのためユーザーは新たな学習データやリソースを準備する必要がなく、ファインチューニングに比べてコストも手間も軽減できるでしょう。
RAGを導入した場合、ユーザーの質問からLLMの回答までどのような工程を経ているのか、5つのステップに分けて解説します。
ユーザーが、AIチャットボットなどのアプリケーションに質問(プロンプト)を入力します。
アプリケーションは、その質問を理解するために数値データとして「ベクトル」に変換します。
このベクトルを用いて、あらかじめからある社内マニュアルや製品資料をベクトル化した「ベクトルデータベース」内を検索します。そして、質問内容と関連性の高い情報やその断片を複数見つけ出すのです。
質問(例「新製品Aのセキュリティ機能について教えてください」)と、検索・取得した関連情報(例「製品資料P.10の抜粋…」)を組み合わせるために、ユーザーはアプリケーションに指示(プロンプト)を書き込みます。
LLMはユーザーからの指示にもとづき、学習済みの古い情報ではなく、取得した関連情報(事実情報)を最優先して用いながら自然な文章で回答を生成します。
LLMから生成された回答がユーザに提示されます。
この際、LLMからは回答とあわせて、その根拠になった出典元(例:製品資料P.10)も提示されるケースが多々あります。
RAGを導入するには、段階的なシステムの構築が必要です。ここでは、その構築の流れについて解説します。
RAGを構築するためには、社内のマニュアルやレポート、Webサイト、FAQデータといったLLMに検索させたい独自データを準備します。
LLMが正確に検索・抽出できるようにするには、準備したデータソースを整理することが大切です。具体的には、そのデータソースから定型文やHTMLタグなど不要な情報を取り除き、テキストデータを抽出します。
また、抽出したテキストデータが長文の場合、文字量や段落など一定のまとまりにする「チャンク」に分割します。このチャンキングによって、LLMの検索精度を高められるでしょう。
チャンキングとは、RAGにおけるテキストデータ処理において、大量のデータを一定のルールやサイズに基づいて分割する技術のことです。分割されたデータのまとまりを「チャンク」と呼びます。
RAGにおけるチャンキングの目的は以下の通り。
「チャンク」は単なる「断片」ではなく、意味を持つ「情報の基本単位」です。単語の羅列ではなく、段落や意味のまとまりを考慮して分割することで、文脈(コンテキスト)の維持を図ります。
適切なチャンキング設計は、RAGの検索精度と回答品質を大きく左右する要素となるのです。
LLMが理解しやすくなるよう、Embedding(埋め込み表現)という技術を用いて、各チャンクをベクトル(数値の配列)に変換します。
このベクトル化したデータを「ベクトルデータベース」に格納することで、RAGが検索できる状態にします。
ユーザーからの質問に対して、回答を生成するのがLLMです。
ChatGPT(OpenAI)やGemini(Google)、Claude(Anthropic)などのLLMがある中で、回答の品質やスピード、利用コストなどを踏まえて、ユーザーにとって最適なものを選びましょう。
ユーザーからの質問を受け取った後、ベクトルデータベースを検索し、LLMに関連性の高い情報を渡すための検索エンジンを設計、開発します。
精度の高い検索を希望する場合、ベクトル検索とキーワード検索を組み合わせた「ハイブリッド検索」や、各チャンクに出典元や作成日などのメタデータを加えてそれらを絞り込む「フィルタリング機能」の実装が有効です。
RAG構築が完了したら、LLMから生成される回答品質を評価します。
必要に応じてチャンキングの方法や検索のアルゴリズムを調整しながら、ユーザーがもっとも効果を得られるシステムにしていくことが重要です。
RAGを導入する方法は、自社でゼロから開発するパターンから、既存のサービスを利用するパターンまでさまざまです。続けて、代表的なツールやサービスを紹介します。
RAGシステムを効率的に開発するためのライブラリです。
| LangChain | LLMアプリケーション開発のデファクトスタンダード。RAG構築に必要な機能が網羅されている |
| LlamaIndex | とくにRAG(データ接続と検索)に特化したフレームワークで、データの取り込みや検索精度の向上に強みを持つ |
RAGの検索対象となるデータを格納・検索するためのデータベースです。
| Pinecone | マネージド型のベクトルデータベース。スケーラビリティと高速な検索が特徴 |
| Chroma | オープンソースのベクトルデータベース。手軽に導入でき、ローカル環境での開発にも向いている |
大手クラウドベンダーが提供する、セキュリティと信頼性の高いRAG構築環境です。
| AWS(Amazon Bedrock) | 知識ベース機能(Knowledge Bases)があり、手軽にRAGを構築できる |
| Azure OpenAI Service | 「On Your Data」機能を使うことで、自社データをAzure上のOpenAIモデルに簡単に接続できる |
| Google Cloud(Vertex AI) | 「Search and Conversation」機能により、エンタープライズ検索と生成AIを統合できる |
プログラミング不要、または最小限のコードでRAGチャットボットを作成できるツールです。
| Dify | オープンソースのLLMアプリ開発プラットフォーム。視覚的なフローでRAGアプリを作成できる |
| miibo | 日本発の会話型AI構築プラットフォーム。手軽に自社データを学習させたボットを作れる |
RAGを導入して、安定的に運用するための注意点についても確認しておきましょう。
RAGの導入後、LLMから生成される回答品質は、検索対象となるデータソースに強く依存します。
いわゆる「Garbage In, Garbage Out」(ゴミを入れても、ゴミしか出てこない)という事態にならないためにも、最新かつ正確な情報をデータソースとして活用しましょう。また、LLMから常に最適な回答を得たいなら、定期的なデータソースの見直しや更新も必要です。
ユーザーからの質問に対してRAGが関連性の低い情報を検索し、LLMがそれにもとづいた誤った回答を生成してしまうケースも少なくありません。そのため、「RAGの検索精度は、チャンキングと検索システムで決まる」と言われています。
ユーザーがLLMから最適な回答を得るには、「データソースから抽出したテキストデータをどのようにチャンキングすること」と「検索手法をベクトル検索のキーワード検索」のいずれか、またはその両方を組み合わせたハイブリッド検索を用いるかなど、システム構築時にしっかりと試用および検証することが大切です。
RAGの導入には、データベースやサーバーといったクラウドインフラの利用料をはじめ、LLMの利用料、検索システムの構築費など初期費用が必要です。
この中でもとくにLLMの利用料は、ユーザーからの質問の度に「検索」と「LLMによる生成」が同時に行われることによりAPIコストが増加する傾向にあります。
また、RAGの運用にはベクトルデータベースの維持費や検索システムの保守・管理費などランニングコストはもちろん、継続的な管理・運用の手間もかかります。
RAGを導入する場合、セキュリティとプライバシーを確保しなければなりません。データベースには社内資料や顧客データなど機密情報や個人情報が含まれており、それらがLLMからの回答を通じて漏洩するリスクがあるためです。
そこで、データソースとして機密情報や個人情報を用いる場合には、厳格にアクセスを制御するアプローチが必要です。例えばユーザーの役職や所属部署などに応じて、検索範囲を制限できるようにするための仕組みを構築すると良いでしょう。
RAGの導入は、SEO記事の制作やオウンドメディアの運営などにも有効です。
ここでは、ライターや編集者、ディレクターの皆さんがコンテンツ制作にRAGを活用する際のポイントを紹介します。
以下のような、自社にしかない独自データをRAGのデータベースに格納します。
これらの独自かつ事実の情報にもとづいて、LLMに記事の草案を作成してもらいます。そうすることで、一般的な情報だけでなく自社ならではの経験・専門性・権威性・信頼性(E-E-A-T)を交えたコンテンツ制作が可能です。
▼ E-E-A-Tについては、以下の記事で解説しています。
業界のニュースサイトや競合他社の動向、SNSから生まれたトレンドなどのリアルタイムな情報を、RAGのデータベースに追加します。
これによって、ユーザーは「〇〇業界の最新動向を踏まえて、記事の切り口を提案して」という質問に対しても、LLMから時事性のある回答を得られるようになります。それにともない、コンテンツもよりスピーディーに制作できるようになるでしょう。
自社にあるサービス資料や過去のブログ記事、FAQデータをすべて、RAGのデータベースに読み込ませます。
そうすることで、検索者からの具体的かつニッチな質問に対してもその関連情報を的確に組み合わせた回答をLLMから得られます。
コンテンツの質を、もう一段階引き上げるために

RAGによる正確な情報発信に加え、SEOやユーザー理解に基づいた戦略的なコンテンツ設計が不可欠。「AIを使ったけれど成果が伸び悩んでいる」という方に向けて、Webマーケティングについてまとめた資料をご用意しました。
RAG(検索拡張生成)に関するよくある質問とその回答をまとめました。
完全になくなるわけではありません。しかし、LLMのハルシネーションを大幅に抑制できます。
詳しくは、記事内の「RAG(検索拡張生成)とは?LLMの『知ったかぶり』を防ぐ技術」をご覧ください。
「AIチャットボット」として活用されているのが、もっとも一般的です。とくに社内ナレッジを検索したり、カスタマーサポートとしてFAQに用いたりするなど、その活用領域は多岐に渡ります。
詳しくは、記事内の「RAG(検索拡張生成)の必要性|なぜ従来のLLMだけでは不十分なのか」をご確認ください。
専門知識の必要性は、RAG導入に求める成果レベルによって異なります。Amazon Web Services(AWS)やMicrosoft Azure、Google Cloudなどが提供するRAG構築サービスは、ローコードまたはノーコードです。このような形式であれば比較的容易に導入できるでしょう。
詳しい内容は、記事内の「RAG(検索拡張生成)の構築フロー」で解説しています。
RAGは、LLM最大の弱点である「ハルシネーション」を抑制するために開発された技術です。RAGに社内データや最新ニュースなど信頼できるデータベースを組み込むことで、LLMの能力を最大限に引き出し、的確な回答を得られるようになります。
LLMを業務に活用しているものの、適切な回答を得られないビジネスパーソンは、RAGについて理解度を高めた上で、その導入を検討することをおすすめします。
執筆者
コンテンツディレクター/ライター
Tomoyuki Chiba
2024年ファングリーに入社。人材紹介会社と広告代理店で営業を経験。その後ジョブチェンジを行い、クリエイティブエージェンシーでディレクターや編集者、ライターとして社内報やパンフレットといった紙媒体を中心した制作業務に従事。趣味はサッカー観戦とドライブ。