blog

RAGとは?意味・仕組み・活用事例を初心者向けにやさしく解説

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について編集方針

本ページは「RAG(検索拡張生成)とは何か」という基礎概念・仕組み・代表的な活用事例の理解に特化して解説します。チャンキングや埋め込み、ベクトルDB設計など実装の具体的な手順・進め方を知りたい方は、ハブ記事のRAGの作り方・実装方法ガイドをご覧ください。

RAGとは何か?生成AIの「知識不足」を解決する仕組みをわかりやすく解説

RAG(Retrieval-Augmented Generation)とは、大規模言語モデル(LLM)が回答を生成する際に、外部のデータベースや文書から関連情報を検索・取得し、その情報を根拠として活用する技術です。ChatGPTをはじめとするLLMは学習データの範囲外の情報や最新情報を知らないという根本的な課題を抱えていますが、RAGはこの弱点を補う現実的なアプローチとして、企業のAI活用シーンで急速に普及しています。本記事では、RAGの仕組み・メリット・具体的な活用事例・実装の注意点まで、一つの記事で体系的に解説します。

RAGのイメージ:文書から情報を取得して回答を生成する概念図
RAGのイメージ:文書から情報を取得して回答を生成する概念図

RAGが登場した背景――LLMの根本的な限界

生成AIの飛躍的な進化により、自然な文章を生成する能力は大幅に向上しました。しかし、LLM単体では次のような構造的な問題が残ります。

  • 知識のカットオフ:学習データには更新の締め切り日(カットオフ)があり、それ以降の情報は持っていない
  • ハルシネーション(幻覚):知らない情報について、もっともらしい嘘をついてしまう
  • 社内・独自情報の欠如:自社マニュアル・契約書・製品仕様書など、学習対象外の情報を参照できない
  • ファインチューニングのコスト:新しい知識を追加するたびにモデルを再学習させるのは時間・費用ともに非現実的

RAGはこれらの問題を「モデルを作り直す」のではなく「必要な情報を検索して渡す」というアプローチで解決します。2020年にMeta AI(旧Facebook AI Research)がNeurIPSで発表した論文「Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks」が起源とされており、以降、実用化が急速に進みました。

RAGの基本的な仕組み

RAGは大きく「検索(Retrieval)」と「生成(Generation)」の2ステップで構成されます。ユーザーの質問に対して、まず関連文書を探し出し、その文書をLLMへのプロンプトに付加した上で回答を生成するという流れです。

① ユーザー入力
質問・クエリ
② クエリ変換
ベクトル化
(埋め込み)
③ 検索
ベクトルDBから
類似文書取得
④ プロンプト生成
質問+取得文書
を結合
⑤ LLM生成
根拠に基づく
回答を出力

ステップ①:ユーザーのクエリ入力

ユーザーが自然言語で質問を入力します。「今期の返金ポリシーはどう変わりましたか?」のような、社内情報に関する質問が典型例です。

ステップ②:クエリのベクトル化(埋め込み)

入力されたテキストを、意味を数値で表現した「埋め込みベクトル(Embedding)」に変換します。OpenAI Embeddingsや各種オープンソースモデルが使われます。文字の一致ではなく、意味的な近さで検索できるのがポイントです。

ステップ③:ベクトルデータベースからの検索

事前にインデックス化されたドキュメント群(社内マニュアル・FAQ・議事録など)の中から、クエリのベクトルと最も近いチャンク(文書の断片)を取得します。代表的なベクトルDBとしては、Pinecone・Chroma・Weaviate・pgvector(PostgreSQL拡張)などがあります。

ステップ④:プロンプトへの結合(コンテキスト注入)

取得した文書チャンクを、元の質問と合わせてプロンプトとしてまとめます。「以下の情報を参考にして答えてください:[取得文書] 質問:[ユーザーの質問]」という形式が基本です。

ステップ⑤:LLMによる回答生成

プロンプトを受け取ったLLMが、渡された文書を根拠として自然言語で回答を生成します。LLM自身の汎用的な推論力と、取得した具体的な情報の両方を活用できます。

RAGにおける「インデックス作成」の仕組み

RAGの検索精度は、事前準備であるインデックス作成の品質に大きく依存します。検索時に初めて文書を読み込むのではなく、あらかじめ文書を処理して検索可能な状態にしておきます。

処理ステップ 内容 ポイント
文書の読み込み PDF・Word・Webページ・DBなどを取り込む 形式の統一化が重要
チャンキング 文書を適切なサイズの断片に分割 チャンクサイズ・重複幅(オーバーラップ)の設定が精度を左右
埋め込み生成 各チャンクをベクトルに変換 埋め込みモデルの選択が検索精度に直結
ベクトルDB格納 ベクトルとメタデータをDBに保存 メタデータ(日付・カテゴリ等)でフィルタリングも可能

チャンキングは特に重要な工程です。チャンクが小さすぎると文脈が失われ、大きすぎるとノイズが増えます。一般的には256〜512トークン程度を基準に、文書の性質に合わせて調整します。段落・セクション単位での分割、あるいは文章の意味的まとまりを保った「セマンティックチャンキング」も有効なアプローチです。

RAGの主要な種類・アーキテクチャ

RAGは「シンプルなRAG」から始まり、精度向上のためにさまざまな発展形が生まれています。

Naive RAG(ベーシックRAG)

前述の基本的なフローをそのまま実装したもの。シンプルで導入しやすい反面、検索精度の限界や、取得した文書が回答に使われない「Lost in the Middle」問題(プロンプト中間部の情報が無視されやすい現象)が起きやすいという課題があります。

Advanced RAG

検索前・検索後に追加処理を加えて精度を高めたアーキテクチャです。

  • クエリ変換(Query Rewriting):ユーザーの曖昧な質問をLLMが検索に最適な形に書き換える
  • ハイブリッド検索:ベクトル検索とキーワード検索(BM25など)を組み合わせて検索漏れを減らす
  • Re-ranking(再ランキング):取得した文書を関連度で並べ替え、上位のみをプロンプトに使用する
  • HyDE(Hypothetical Document Embeddings):質問に対する仮回答を生成し、その仮回答で検索する手法

Modular RAG

検索・生成・評価の各コンポーネントをモジュールとして組み合わせ、柔軟に構成できるアーキテクチャ。FLARE(Forward-Looking Active REtrieval)のように、生成中に不確かな部分が出たら追加検索を行うアプローチも含まれます。

Graph RAG

MicrosoftがオープンソースとしてリリースしたGraph RAGは、ドキュメントをベクトルで管理するのではなく、エンティティ(人・組織・概念)の関係性をグラフ構造で表現します。複数の文書にまたがる複雑な関係性の質問(「AとBはどう関連しているか」など)に強く、従来のRAGが苦手とした分析的な質問に対応できます。

RAGと他のアプローチとの比較

RAGは「外部知識をLLMに持たせる」唯一の手段ではありません。類似のアプローチとの違いを整理します。

比較項目 RAG ファインチューニング ロングコンテキスト
(プロンプト全文入力)
知識の更新性 ◎ リアルタイム更新可 △ 再学習が必要 ○ ファイル差し替えで対応
コスト ○ 比較的低い △ GPU・時間コスト大 △ トークン課金が高額になる
情報の根拠提示 ◎ 出典ページ等を明示可 ✗ 不透明 ○ 原文を含む
大量文書への対応 ◎ 数百万文書でも可 ○ 学習に取り込める ✗ コンテキスト長に制限
ハルシネーション抑制 ◎ 根拠文書で抑制 △ 効果は限定的 ○ 原文参照で抑制
文体・挙動のカスタマイズ △ システムプロンプトで対応 ◎ 深くカスタマイズ可 △ 限定的

RAGとファインチューニングは競合するものではなく、組み合わせることも可能です。「特定の業界用語や文体をファインチューニングで習得させ、事実情報はRAGで補完する」という使い方が現実的には多く見られます。

RAGの代表的な活用事例

社内ナレッジQ&Aシステム

最も普及している用途です。社内規定・人事ポリシー・製品マニュアル・過去の議事録などをRAGのデータソースとして登録し、「育児休暇の申請方法は?」「製品Aの仕様書のどこに耐荷重が記載されていますか?」といった質問に、根拠文書とともに回答します。情報が更新されるたびに再学習は不要で、ドキュメントを差し替えるだけで最新の情報に対応できます。

カスタマーサポートの自動化

FAQ・利用規約・過去のサポート履歴をデータソースとしたチャットボットを構築します。一般的なLLMだけでは回答できない製品固有の質問にも、正確に答えられます。回答の根拠となる文書のリンクをあわせて提示することで、顧客の信頼も得やすくなります。

法律・コンプライアンス分野

法令・判例・社内コンプライアンス規定を対象にしたRAGは、法務担当者の調査業務を効率化します。回答の根拠となる条文や判例が明示されるため、専門家が内容を検証しやすく、ハルシネーションのリスクを管理しながら活用できます。

医療・製薬の情報検索

最新の論文・添付文書・治療ガイドラインを対象にしたRAGは、医師や薬剤師が必要な情報を素早く見つける支援をします。医療分野では情報の正確性と根拠の明示が特に重要なため、RAGの「出典提示」能力が生きます。

コード・技術ドキュメント検索

APIドキュメント・コードベース・技術仕様書をインデックス化し、開発者が「このAPIのパラメータは何か」「このエラーの原因は何か」と質問できる環境を作ります。GitHubリポジトリのREADMEやissueも対象にできます。

RAGの実装に使われる主なツール・フレームワーク

カテゴリ 代表的なツール・サービス 特徴
RAGフレームワーク LangChain、LlamaIndex RAGパイプライン構築のデファクトスタンダード。コンポーネントが豊富
ベクトルDB(クラウド) Pinecone、Weaviate、Qdrant マネージドサービスで運用負荷が低い
ベクトルDB(OSS・自己ホスト) Chroma、pgvector、Milvus データをオンプレミスで管理したい場合に有効
埋め込みモデル OpenAI Embeddings、Cohere Embed、BGE、multilingual-e5 日本語対応の精度にはモデル選定が重要
LLM(生成部分) GPT-4o、Claude 3.5、Gemini 1.5、Llama 3など コンテキスト長・コスト・日本語対応で選択
統合プラットフォーム Azure AI Search、Amazon Kendra、Vertex AI Search クラウド環境にすでにある場合は導入が容易

日本語ドキュメントを対象とする場合、埋め込みモデルの日本語対応品質が検索精度に直結します。英語中心のモデルをそのまま使うと精度が低下するケースがあるため、multilingual-e5-largetext-embedding-3-large(OpenAI)など日本語評価が高いモデルを選ぶか、日本語に特化したモデルを検討することが重要です。

RAG導入時の課題と対処法

課題1:検索精度(検索ミス・ノイズ)

「質問に関連する文書が取得できない」または「関係ない文書が大量に取得される」問題が最も頻繁に起きます。

  • 対処:ハイブリッド検索(ベクトル検索+キーワード検索)の導入、クエリ変換の追加、Re-rankingモデル(Cohere Re-rank等)による絞り込み

課題2:チャンキングの設計ミス

チャンクのサイズや分割位置が不適切だと、文脈が途切れた状態で取得され、回答の質が下がります。

  • 対処:オーバーラップ付きチャンキング(隣接チャンクを一部重複させる)、文書構造(見出し・段落)に沿った分割、セマンティックチャンキングの採用

課題3:Long Context問題(Lost in the Middle)

取得した文書をプロンプトに詰め込みすぎると、LLMが中間にある情報を見落とす現象が起きます。

  • 対処:取得チャンク数の制限(上位3〜5件に絞る)、Re-rankingで最重要チャンクを先頭に配置

課題4:データの鮮度・品質管理

インデックス化されたドキュメントが古いままになっていると、誤った情報を根拠に回答するリスクがあります。

  • 対処:文書更新時の自動再インデックス化パイプラインの整備、メタデータ(更新日時)の活用、古い文書への優先度ダウン

課題5:セキュリティとアクセス制御

全社員が同じRAGシステムを使う場合、機密情報(役員決定事項・個人情報)が権限のないユーザーに届くリスクがあります。

  • 対処:文書へのACL(アクセス制御リスト)の付与、ユーザーの権限に応じて検索対象ドキュメントをフィルタリングする「Row-level Security」の実装

RAGの評価指標

RAGシステムの品質は「生成された回答が正しいか」だけでなく、「検索と生成それぞれが機能しているか」を分けて評価することが重要です。

評価指標 評価対象 説明
Context Precision 検索 取得した文書のうち、実際に質問と関連するものの割合
Context Recall 検索 正解に必要な情報がどれだけ取得できているか
Faithfulness(忠実性) 生成 生成された回答が取得文書の内容から逸脱していないか
Answer Relevancy 生成 生成された回答がユーザーの質問に対してどれだけ的確か

これらの指標を自動評価するフレームワークとしてRAGASが広く使われています。LLMを評価者として使い、テストセットに対するスコアを算出することで、チューニングの効果を定量的に測れます。

RAGにおける意味検索のイメージ:文書から関連情報を見つけ出すセマンティック検索
RAGにおける意味検索のイメージ:文書から関連情報を見つけ出すセマンティック検索

RAGの今後の動向

RAGは2026年現在も活発に研究・開発が続いており、以下のような方向性で進化しています。

  • マルチモーダルRAG:テキストだけでなく、画像・音声・動画もデータソースとして検索・活用できる拡張
  • エージェント型RAG(Agentic RAG):LLMが自律的に複数回の検索・推論・ツール呼び出しを行い、複雑な質問を段階的に解決するアーキテクチャ
  • Self-RAG:LLM自身が「検索が必要かどうか」「取得した文書は十分か」を自己評価し、必要に応じて追加検索を行う仕組み
  • Corrective RAG(CRAG):取得文書の品質をLLMが評価し、品質が低い場合はWeb検索にフォールバックする手法
  • Graph RAGの発展:エンティティ間の関係グラフと従来のベクトル検索を組み合わせたハイブリッドアプローチの普及

コンテキスト長の拡大(GPT-4oなどでは128K〜1Mトークンが利用可能)によって「全文書をプロンプトに入れれば良い」という考え方も出てきていますが、コスト・レイテンシ・Lost in the Middle問題から、現時点では大量文書への対応はRAGが現実的です。今後はRAGとロングコンテキストの使い分け・組み合わせがより精緻化されていく見込みです。

まとめ

RAG(Retrieval-Augmented Generation)は、LLMの「最新情報を知らない」「社内情報に答えられない」「ハルシネーションを起こす」という根本的な課題を、外部文書の検索・取得という仕組みで補完する技術です。

その核心は「検索してから生成する」という単純な発想ですが、実際の精度を高めるためにはチャンキング設計・埋め込みモデルの選定・ハイブリッド検索・Re-rankingといった多くのチューニングポイントがあります。また、Graph RAGやAgentic RAGへの発展が示すように、RAGは単一の手法ではなく、継続的に進化するアーキテクチャの総称です。

社内ナレッジ活用・カスタマーサポート・法務・医療など、あらゆる業界でRAGの実用化が進んでいます。生成AIを業務に本格導入する際には、RAGの仕組みと限界を正確に理解することが、成功するシステム設計の出発点になります。

関連記事

関連記事

AIブログ購読

 
クリスタルメソッドがお届けする
AIブログの更新通知を受け取る

Study about AI

AIについて学ぶ

  • Meta インド データセンター AIインフラ——Reliance 168MW契約の深層と日本企業の実務対応

    Meta インド データセンター AIインフラ——Reliance 168MW契約の深層と日本企業の実務対応

    監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...

  • ワーナー Sureel AI 音楽 著作権——買収の意味と日本企業への示唆

    ワーナー Sureel AI 音楽 著作権——買収の意味と日本企業への示唆

    監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...

  • Vector Lakebase ベクターDB RAG——Zillizが示す統合AIデータ基盤の論点

    Vector Lakebase ベクターDB RAG——Zillizが示す統合AIデータ基盤の論点

    監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...

View more