生成AIに社内の質問を投げても、学習した時点までの一般的な知識でしか答えてもらえない。そう感じたことがある人は少なくないはずです。RAGは、この壁を越える仕組みです。AIが回答を作る前に社内文書やデータベースを検索し、そこで見つけた情報を参考にして答えを組み立てます。モデル自体に知識を覚え込ませる方法とは違います。参照する文書を差し替えるだけで、AIが答える内容を最新の状態に近づけられます。
この記事では、RAGがなぜ必要とされているのか、内部でどのような処理が行われているのか、どのような業務で使われているのか、ファインチューニングとどう違うのか、精度を高めるにはどこを見ればよいのかを順に説明します。導入がうまくいくかどうかの分かれ目は、AIの性能よりも、検索対象にする文書とその文書への閲覧権限をどれだけきちんと管理できているかにあります。
回答を作るAIのモデルだけを新しくしても、問題は残ります。古い版の文書が検索結果に混ざる、質問の意図に合う箇所を検索で拾えない、本来見せてはいけない情報を取得してしまう。こうした問題はそのままです。RAGの品質は、回答を生成する部分だけでは決まりません。参照する文書の整備、検索の精度、閲覧権限の制御、根拠の表示、評価用の質問セットまでを一つの仕組みとして設計する必要があります。そして公開した後も、検索の失敗や誤った回答を記録して直し続けられるかどうかで決まります。
RAGとは
RAG(Retrieval-Augmented Generation)は、質問に答える前にAIが外部の情報を検索し、その結果を参照して回答を組み立てる仕組みです。日本語では検索拡張生成と呼ばれます。流れはこうです。利用者から質問を受け取ると、あらかじめ用意した知識ベースやデータベースから関連する情報を検索し、その内容を大規模言語モデル(LLM)へ渡した上で回答させます。AWSも、外部のデータを使ってLLMの回答を補強する手法として、RAGをこのように説明しています。
通常の生成AIは、学習した時点までの知識だけをもとに回答を作ります。一方、RAGを組み込んだ生成AIは違います。自社の規程やマニュアル、製品情報、FAQなど、学習データに含まれていない情報も、回答のたびに検索して参照できます。とはいえ、参照できることと、その回答が正しいことは別問題です。検索が質問に合った箇所を拾えたか。その情報をもとに正しく答えられたか。この二つは、別々に見る指標です。
RAGが必要とされる理由
LLMが学習したデータには、学習した時点と対象範囲という制約があります。企業の社内規程や非公開の技術情報は、そもそもこの学習データに含まれていません。参照させたいなら、質問のたびに外部から渡すしかない情報です。回答の文章がどれだけ自然に整っていても関係ありません。参照する社内規程が古い版のままでは、実務では使えない回答になってしまいます。
かといって、関連しそうな文書をすべて毎回AIへ入力する方法にも限界があります。入力できる文章の長さには上限があり、費用もかさみ、どの文書を渡すべきかを人が選ぶ手間も残るからです。RAGは、質問に関連する部分だけを検索して取り出し、その部分だけをAIへ渡すことでこの問題に対応します。検索で見つけた参照元を回答と一緒に示せば、利用者は原文に戻って内容を確認できます。社内検索やサポート業務のように情報が日々更新される場面。こうした場面で、AIに参照させる知識を文書の更新だけで最新化できる点。これがRAGを使う大きな理由になります。
RAGの仕組み
文書の取り込み、検索、回答生成、出力。RAGの処理は、大きく分けてこの4段階で進みます。まず、参照させたい文書を一定の単位に分割し、検索に使える形式へ変換して保存しておきます。利用者から質問を受け取ると、その質問に関連する文書の断片を検索して取り出し、質問文と合わせてLLMへ渡します。最後に、LLMが検索結果をもとに作った回答と、参照した文書の引用元を利用者へ返します。
この一連の流れで見落とされがちな点があります。回答の精度は、LLMの性能だけでは決まりません。古い版の文書が検索対象に混ざるケース、文書の分割の仕方が質問の内容に合っていないケース、質問文と表現は近いのに実際には答えを含んでいない文書を検索で拾ってしまうケース。こうした検索側の問題があると、LLMの性能がどれだけ高くても誤った回答は生まれます。だからこそ、必要な文書を検索で見つけられたか、見つけた文書の内容に沿って正しく答えられたかを、別々の指標として記録しておくことが欠かせません。
RAGのメリットと活用例
RAGが実際に使われている代表的な場面には、社内規程を探すための検索、製品マニュアルの検索、カスタマーサポートのFAQ対応、ヘルプデスク業務、契約書や技術文書の参照などがあります。いずれの場面にも共通する利点は一つです。利用者が「その情報がどのフォルダのどのファイルに入っているか」を知らなくても、自然な文章で質問するだけで関連する箇所を探し出して答えてもらえます。カスタマーサポートAIのように、AIが答えられない質問を人の担当者へ引き継ぐ設計まで含めて考えると、RAGは自動応答の一部として組み込みやすい仕組みだとわかります。
情報源となる文書を更新するだけでAIの回答にも反映されやすくなる点、回答の根拠となった文書を示せる点。この二つも、RAGを選ぶ理由になります。一方で、単純なキーワード検索だけで十分に用が足りる業務もあります。参照すべき文書がほぼ毎回一つに決まっている業務も同様です。こうした業務では、検索と回答生成を組み合わせるRAGをわざわざ作らなくても構いません。既存の検索の仕組みの方が安定して運用できる場合が少なくありません。
RAGとファインチューニングの違い
RAGとファインチューニングは、どちらも生成AIの回答を業務に合わせて変える方法です。ただし、変える対象が違います。RAGは、外部の情報を検索し、その内容を参照させながら回答を作る方法です。ファインチューニングは、追加の学習データを使ってモデル自体の振る舞いや出力の傾向を調整する方法にあたります。使い分けはこうです。社内の最新の規程や日々更新される情報を参照させたい場合はRAGが候補になります。決まった形式での出力や特定の分類を安定して行わせたい場合はファインチューニングが候補になります。
両者は組み合わせて使うこともできます。ただし、情報が更新されるたびにモデルを作り直す設計にしてしまうと、運用の負荷は一気に高くなります。現実的な順番はこうです。まずはプロンプトの工夫や通常の検索、長い文章をそのまま入力する方法で解決できないかを確かめます。それでも社内文書を継続的に参照させる必要があると分かった段階で、RAGの導入を検討します。
RAGのデメリットと導入時のポイント
文書の整備、検索の基盤づくり、閲覧権限の設計、回答の評価、継続的な更新。RAGを導入するには、こうした複数の運用作業が必要になります。どの文書が正しい最新版かが決まっていない状態で文書を集めてしまうと危険です。AIは古い版や内容が矛盾した文書をそのまま検索対象にしてしまい、結果として誤った回答につながります。元の文書に設定されていた閲覧権限を検索や回答の仕組みへ引き継がない場合も要注意です。本来はその利用者が見られないはずの情報まで、回答に含めてしまう危険が生じます。
こうした失敗を防ぐ鍵は、導入前の取り決めにあります。文書の所有者は誰か、どのくらいの頻度で更新するか、機密区分をどう扱うか、古くなった文書をどう削除するか、回答に引用元をどう表示するか、評価に使う正解データをどう用意するか、検索や回答に問題が起きた時の連絡先を誰にするか。これらを、あらかじめ決めておく必要があります。ログの扱いも論点です。生成AIのセキュリティ対策と合わせて、利用者からの質問、検索結果、AIの回答をどこまでログとして残すかを、運用担当者の間で詰めておきます。
RAGの精度を高める方法
RAGの精度を高める作業は、印象で採点するところから始めても、何を直せばよいのかは見えてきません。まず取り組むべきは、評価セットづくり。実際の質問と期待する回答、参照してほしい文書を組にしておきます。この評価セットを使えば、検索の段階では必要な文書が検索結果の上位に出てきたかを確認できます。回答生成の段階では、取得した文書の内容に沿って正しく答えられたかを確認できます。回答全体の印象だけで良し悪しを判断してしまうと、検索が悪かったのか回答生成が悪かったのかを切り分けられません。
改善の対象になりやすいのは、文書をどのくらいの単位に分割するか、見出しや作成日といったメタデータの持たせ方、検索の方式、一度に取得する文書の件数、検索結果を並べ替える再ランキングの仕組み、AIへ渡す回答の指示文です。始め方はシンプルです。最初は30問から100問程度の小さな評価セットを用意し、これらを変更する前後で結果を比べます。文書を更新した後も、同じ評価を繰り返し実行できる担当者と手順を残しておく。これが、精度を維持し続けるための最低条件です。
まとめ
RAGは、生成AIが回答を作る前に外部の知識ベースを検索し、そこで見つけた情報を根拠として渡す仕組みです。社内規程の検索やFAQ対応のように、日々更新される固有の情報を参照させたい業務であれば、RAGを使う意味は大きくなります。目的が近く見えるファインチューニングとは役割が異なります。最新の知識を参照させることだけが目的なら、まずRAGを検討するのが妥当な選択です。
導入を判断する際に確認すべき点は、AIの性能より前の工程にあります。参照する文書の正本が決まっているか、閲覧権限を検索や回答へ引き継げているか、回答に引用元を示せるか、評価に使う質問セットがあるか、文書を更新し続ける担当者がいるか。これらが揃っていない状態でRAGだけを作っても、公開後に安定して運用することは難しくなります。現実的な第一歩は、対象とする文書の範囲を絞り、小さな質問セットで検索と回答を試すこと。