LLM 対 RAG

Dev.to / 2026/4/16

💬 オピニオンIdeas & Deep AnalysisTools & Practical Usage

要点

  • LLM(大規模言語モデル)は、学習時の知識に基づいて応答を生成する事前学習済みの言語モデルですが、幻覚(ハルシネーション)を起こす可能性があり、プロンプトに関連データが与えられない限り知識の期限(知識カットオフ)が固定されがちです。
  • RAG(Retrieval-Augmented Generation)は単体のモデルではなく、システム設計パターンです。関連する外部ドキュメントやリアルタイムのデータを取得し、それらをプロンプトに注入したうえで、LLMが根拠のある回答を生成します。
  • 主な違いは、LLMの知識が学習データ由来であるのに対し、RAGは外部ソースから参照する点です。またRAGは、裏付けのない推測を減らすことで、一般に精度を向上させます。
  • 更新の仕方も異なります。LLMを改善するには通常再学習が必要ですが、RAGシステムは基盤となるデータソース(DB/ドキュメント/API/ベクターインデックス)を更新することで対応できます。
  • LLMのみは創造的なアイデア出しやブレインストーミングに適しています。一方でRAGは、特に正確性や頻繁に変化する情報が重要となる、ドメイン固有の事実ベースQ&Aに向いています。

LLM(Large Language Model)

GPT-4 や Claude のような LLM は:

大規模なテキストデータで事前学習されたモデル
学習中に身につけた内容に基づいて回答を生成する
プロンプトで提供されない限り、あなたのプライベートなデータやリアルタイムデータは知らない

制限:

幻覚(ハルシネーション)を起こしうる
知識は固定的(カットオフに基づく)

RAG(Retrieval-Augmented Generation)

RAG はモデルではなく、システム設計パターンです。

仕組みは次のとおりです:

ユーザーが質問する
システムが関連データを取得する(ドキュメント、DB、API、ベクトル検索)
そのデータをプロンプトに注入する
LLM がその文脈を使って回答を生成する

LLM はジェネレーター(生成器)として見なせます
RAG はリトリーバー(検索)と LLM の組み合わせです

主な違い

観点 LLM RAG
タイプ モデル アーキテクチャ/パターン
知識ソース 学習データ 外部+リアルタイムデータ
精度 ハルシネーションしうる より根拠に基づく
更新 再学習が必要 データソースを更新するだけ
用途 一般的なタスク ドメイン固有・事実に基づく Q&A

RAG なしの場合:

ユーザー:「最新の金利は?」
LLM:推測したり、古い情報を提示したりするかもしれない

RAG ありの場合:

システムが DB/API から最新の金利を取得する
LLM がそのデータを使って回答する
正確で最新

利用方法

LLM 単体を使うべきとき:

創作(クリエイティブライティング)
一般的なコーディング支援
ブレインストーミング

RAG を使うべきとき:

会社のデータ/社内ドキュメントが必要なとき
精度が重要(金融、法務、医療)なとき
データが頻繁に変わるとき