Re Reference AI

技術

RAG完全ガイド

RAG(Retrieval-Augmented Generation、検索拡張生成)は、LLMが回答を生成する前に外部の文書を検索し、その結果を根拠として出力する手法である。学習データに含まれない社内文書や最新情報を扱えるうえ、ハルシネーションの抑制や出典の提示にも役立つため、LLMアプリケーションの代表的な構成として定着した。 本記事では、RAGパイプラインを「文書の分割 → 埋め込み → 保存 → 検索 → 並べ替え → 生成」の流れに沿って分解し、それぞれを支える技術と発展形を順に整理する。各項目の詳細は用語ページで解説している。

RAGとは

RAGは、検索(Retrieval)と生成(Generation)を組み合わせる手法である。ユーザーの質問に関連する文書を検索し、その文書をプロンプトに含めた状態でLLMに回答させる。モデルの重みを更新せずに知識を追加できる点が、ファインチューニングとの大きな違いとなる。 代表的な処理の流れは、文書の取り込み、チャンクへの分割と埋め込み、ベクトルインデックスへの格納、クエリ時の上位k件の検索、検索結果を条件とした回答生成の順に進む。

RAG

検索拡張生成 / Retrieval-Augmented Generation

検索(Retrieval)と生成モデルを組み合わせ、外部知識に基づいて出力を根拠づける手法

技術NLP検索LLM

LLM

大規模言語モデル / Large Language Model

大量のテキストコーパスで学習し、言語を予測・生成するニューラルネットワーク

モデルNLPTransformer深層学習

ハルシネーション

Hallucination

LLMが事実に基づかない内容を、もっともらしく生成してしまう現象

技術LLM信頼性

Grounding

グラウンディング / 根拠付け

LLMの出力を検証可能な外部の事実情報やデータに結び付け、幻覚を抑え信頼性を高める性質・手法

技術信頼性LLM

文書の分割(チャンキング)

検索対象の文書は、そのままでは長すぎて埋め込みやプロンプトに収まらないため、チャンクと呼ばれる単位に分割する。チャンクが大きすぎると無関係な内容が混ざって検索精度が下がり、小さすぎると文脈が失われる。固定長での分割のほか、見出しや段落の区切りに沿った分割、前後のチャンクを重ねるオーバーラップなどの工夫がある。

チャンキング

Chunking / チャンク分割

長い文書を、検索や埋め込み生成に適した大きさのチャンクへ分割する処理

技術RAG検索

チャンク

Chunk

RAGなどで文書を検索・処理しやすい単位に分割した、テキストの断片

技術RAG検索

コンテキストウィンドウ

Context Window

LLMが一度の推論で参照できる入力・出力トークンの合計量の上限

技術LLMトークン

Embeddingと埋め込みモデル

分割したチャンクは、埋め込みモデルによって意味の近さを反映したベクトル(Embedding)へ変換する。意味が近い文章ほどベクトル空間上で近い位置に配置されるため、コサイン類似度などの距離指標で関連度を計算できる。埋め込みモデルの選定には、MTEBのようなベンチマークの結果が参考になる。

Embedding

埋め込み / 埋め込みベクトル

テキストなどのデータを、意味的な近さを反映した高次元の実数ベクトルへ変換した表現

技術NLPベクトル検索RAG

埋め込みモデル

Embedding Model

テキストや画像などを埋め込みベクトルへ変換する専用のニューラルネットワークモデル

モデル埋め込みRAG

密ベクトル

Dense Vector / Dense Embedding

ほとんどの次元が0以外の値を持ち、意味的な特徴を圧縮して表現する低〜中次元の実数値ベクトル

技術埋め込みベクトル検索

コサイン類似度

Cosine Similarity

2つのベクトルがなす角度の近さから、意味的な類似度を測る指標

技術埋め込みベクトル検索

Sentence-BERT

SBERT

シャム(Siamese)ネットワーク構造でBERTを微調整し、コサイン類似度で比較可能な文単位の埋め込みを高速に得られるモデル

モデルNLP埋め込み

MTEB

Massive Text Embedding Benchmark

分類・クラスタリング・検索等の複数タスク・100以上の言語にわたり、テキスト埋め込みモデルの性能を横断的に評価するベンチマーク

評価ベンチマーク埋め込み

ベクトルデータベースと近似最近傍探索

埋め込みベクトルは、類似検索に特化したベクトルデータベースに保存する。数百万件規模のベクトルから全件比較で最も近いものを探すのは計算コストが大きいため、HNSWやIVFなどの近似最近傍探索(ANN)アルゴリズムで高速化する。作成日や部署などの属性で候補を絞り込むメタデータフィルタも、実運用では重要な機能となる。

ベクトルデータベース

Vector Database

埋め込みベクトルを高速に類似検索できるよう設計されたデータベース

インフラ検索RAGベクトル検索

ANN

Approximate Nearest Neighbor / 近似最近傍探索

厳密な最近傍探索の代わりに、多少の精度を犠牲にして高速に類似ベクトルを検索する手法の総称

技術ベクトル検索アルゴリズム

HNSW

Hierarchical Navigable Small World

階層構造を持つグラフを辿ることで、高次元ベクトルの近似最近傍探索を高速に行うアルゴリズム

技術ベクトル検索アルゴリズム

IVF

Inverted File Index / 転置ファイルインデックス

ベクトルをあらかじめクラスタへ分割し、検索時は近いクラスタのみを探索することで近似最近傍探索を高速化するインデックス構造

技術ベクトル検索アルゴリズム

Faiss

Facebook AI Similarity Search

Meta(旧Facebook)が開発した、高次元ベクトルの類似検索・クラスタリング向けオープンソースライブラリ

インフラベクトル検索ライブラリ

pgvector

PostgreSQLにベクトル型と類似検索機能を追加する、オープンソースの拡張機能

インフラベクトルデータベース検索

メタデータフィルタ

Metadata Filter / メタデータフィルタリング

文書に付随するメタデータの条件でベクトル検索の対象を絞り込む仕組み

技術検索RAG

検索(セマンティック検索・ハイブリッド検索)

埋め込みベクトルの類似度で検索するセマンティック検索は、言い換えや表記ゆれに強い一方、製品型番や固有名詞のような完全一致が重要な検索を苦手とする。そこで、BM25などのキーワード検索と組み合わせるハイブリッド検索が広く使われる。両者の結果の統合には、順位に基づいてスコアを合算するRRFがよく用いられる。

セマンティック検索

Semantic Search / 意味検索 / ベクトル検索 / Vector Search

キーワードの一致ではなく、埋め込みベクトルによる意味的な類似度に基づいて検索する手法

技術検索RAG

BM25

Okapi BM25

単語の出現頻度と文書長を考慮してスコアリングする、キーワードベースの検索アルゴリズム

技術検索情報検索

TF-IDF

Term Frequency-Inverse Document Frequency

単語の出現頻度と、その単語が多くの文書に共通して現れるかどうかを掛け合わせ、文書における単語の重要度を測る統計的手法

技術検索自然言語処理

ハイブリッド検索

Hybrid Search

セマンティック検索とキーワード検索を組み合わせ、双方の長所を活かす検索手法

技術検索RAG

RRF

Reciprocal Rank Fusion

複数の検索手法によるランキング結果を、順位の逆数の和で統合するハイブリッド検索のスコア統合手法

技術検索情報検索

リランキング

初期検索は速度を優先するため、上位に並ぶ候補が必ずしも質問に最も適しているとは限らない。リランカーは、初期検索で得た候補群を質問と組み合わせてより高精度なモデルで再評価し、並べ替える2段階目のコンポーネントである。LLMに渡すチャンクの質を高め、回答精度の改善につながる。

リランカー

Reranker / Re-ranking

初期検索で取得した候補群を、より高精度なモデルで並べ替える2段階目の検索コンポーネント

技術検索RAG

GraphRAG

通常のRAGは質問に近いチャンクを個別に取り出すため、文書全体を横断した要約や、複数の事実をまたぐ推論を苦手とする。GraphRAGは、文書群からエンティティと関係を抽出してナレッジグラフを構築し、グラフ構造を介して検索・生成を行うことで、この弱点を補う。

GraphRAG

グラフRAG

文書群から抽出したエンティティ・関係のナレッジグラフを介して検索・生成するRAGの発展形

技術RAG検索

ナレッジグラフ

Knowledge Graph / 知識グラフ

実体をノード、実体間の関係をエッジとして知識をグラフ構造で表現したデータベース

技術知識検索

Agentic RAG

Agentic RAGは、検索と生成を1回で終わらせず、AIエージェントが検索クエリの立案、結果の検証、追加検索を自律的に繰り返す設計パターンである。複雑な質問を分解して段階的に調べる用途に向き、Deep Researchのような調査エージェントにも同様の考え方が使われている。

Agentic RAG

エージェンティックRAG

検索・生成の各ステップをAIエージェントが自律的に計画・実行・検証しながら進めるRAGの設計パターン

技術RAGエージェント

Deep Research

ディープリサーチ

エージェントが多数のWeb情報源を反復的に検索・閲覧し、出典付きの調査レポートを自動生成する機能の総称

エージェントエージェント検索自動化

RAGとファインチューニング

RAGが外部知識を推論時に与えるのに対し、ファインチューニングはモデル自体を追加学習して振る舞いや知識を変える。頻繁に更新される情報や出典の提示が必要な用途ではRAG、出力形式や口調の固定、特定ドメインへの適応ではファインチューニングが向く。両者を組み合わせ、検索結果を活用する能力自体を学習させるRAFTという手法もある。

ファインチューニング

事前学習済みモデルを追加学習し、特定タスクやドメインへ適応させる手法

技術学習転移学習

RAFT

Retrieval-Augmented Fine-Tuning

検索した正解文書と無関係な文書(ディストラクタ)を含めてファインチューニングし、RAG利用時の頑健性を高める手法

技術RAGファインチューニング

RAGフレームワーク

RAGパイプラインは自前で実装することもできるが、文書の読み込み、分割、埋め込み、検索、プロンプト構築までを部品として提供するフレームワークを使うと構築が容易になる。

LangChain

LLMアプリケーションの構築を、部品の組み合わせ(チェーン)として簡単にするPython/JavaScriptフレームワーク

技術フレームワークRAG

Haystack

検索・質問応答システムの構築を起源とする、RAGパイプライン構築向けのオープンソースフレームワーク

技術フレームワークRAG

関連技術

ロングコンテキストコンテキストエンジニアリング質問応答システムオープンドメインQAエージェントメモリ

関連する比較

RAG vs ファインチューニング

RAGは外部知識を検索してプロンプトに組み込むことでLLMの回答を根拠づける手法、ファインチューニングは追加データでモデル自体の重みを更新する手法。知識の最新化のしやすさと、モデル自体の挙動・文体の変更しやすさという異なる強みを持つ。

RAGファインチューニング

RAG vs GraphRAG

RAGは質問に関連する文書の断片をベクトル検索などで取得し、プロンプトに含めてLLMに回答させる手法。GraphRAGはRAGの発展形で、あらかじめ文書群からエンティティと関係を抽出してナレッジグラフを構築し、グラフとコミュニティ要約を介して検索・生成する。特定の事実を尋ねる質問には通常のRAG、文書全体を俯瞰する質問や複数文書にまたがる関係を問う質問にはGraphRAGが向く。

RAGGraphRAG

Embedding vs ベクトルデータベース

Embeddingはテキストや画像などのデータを、意味的な近さを反映した実数ベクトルへ変換した表現、ベクトルデータベースはその埋め込みベクトルを大量に格納し、類似するベクトルを高速に検索できるよう設計されたデータベース。Embeddingが「データをどう表現するか」、ベクトルデータベースが「その表現をどう保存・検索するか」を担い、RAGやセマンティック検索では両者を組み合わせて使う。

Embeddingベクトルデータベース

よくある質問

RAGはどのような場面で使われる?

社内規程や製品マニュアルを参照するチャットボット、問い合わせ対応の支援、社内文書の検索など、LLMが学習していない情報や頻繁に更新される情報に基づいて回答させたい場面で使われる。

RAGを使えばハルシネーションはなくなる?

なくならない。検索結果という根拠を与えることで発生を抑えられるが、関連のない文書が検索された場合や、LLMが検索結果を誤って解釈した場合には誤った回答が生成される。検索精度の改善と、回答に出典を添えて検証可能にする工夫が重要になる。

ロングコンテキストのLLMがあればRAGは不要になる?

扱う文書がコンテキストウィンドウに収まる量であれば、全文を入力する方法も選択肢になる。ただし文書量が膨大な場合や、トークン数に応じたコストと応答時間を抑えたい場合は、必要な部分だけを検索して渡すRAGが引き続き有効である。

参考文献

他の特集記事

主要オープンウェイトLLMモデル一覧

Llama・Mistral・DeepSeek・Qwen・Phi・Gemma等、モデルの重みが公開されている主要なオープンウェイトLLM・生成AIモデルを一覧で紹介。各モデルの特徴・開発元比較・リリース年表まとめ。

モデル9モデル

主要AIコーディングエージェント一覧

Claude Code・GitHub Copilot・Cursor・Windsurf・Codex等、ソフトウェア開発を支援する主要なAIコーディングエージェント・AI IDEを一覧で紹介。各ツールの提供形態・開発元比較・公開年表まとめ。

エージェント9モデル

主要マルチエージェント・オーケストレーションフレームワーク一覧

LangGraph・CrewAI・AutoGen・Semantic Kernel・Agent Development Kit・OpenAI Agents SDK等、複数のAIエージェントを協調させるマルチエージェントフレームワークを一覧で紹介。協調方式の比較・開発元・公開年表まとめ。

エージェント6モデル

主要ベクトルデータベース一覧

Pinecone・Weaviate・Milvus・Qdrant・Chroma・pgvector等、RAGやAIエージェントの記憶機構を支える主要なベクトルデータベースを一覧で紹介。提供形態・特徴比較・公開年表まとめ。

インフラ6モデル

主要クローズドウェイトLLMモデル一覧

GPT・Claude・Gemini・Grok・Cohere等、モデルの重みが非公開でAPI経由で提供される主要なクローズドウェイトLLMを一覧で紹介。各モデルの特徴・開発元比較・発表年表まとめ。

モデル5モデル