一言でいうと
RAG(Retrieval-Augmented Generation、検索拡張生成)とは、質問に関連する資料をまず「検索」し、それをAIに渡したうえで「答えさせる」仕組みです。
生成AIは、学習した時点までの一般的な知識で答えます。そのため、最新の情報や、自社の社内資料については、知らないまま、それらしく答えてしまうことがあります。そこで、「答える前に、関連する資料を調べて渡す」ことで、資料に基づいた答えを引き出す。これがRAGです。
たとえ話:カンニングペーパーつきの回答
試験で、何も見ずに答える場合と、関連する資料を手元に置いて答える場合を、比べてみてください。
- 資料なし:自分の記憶だけで答える。知らないことは、推測で答えてしまう
- 資料あり(RAG):質問に合う資料を探し、それを読みながら答える
後者のほうが、根拠のある答えになります。RAGは、AIに、質問のたびに、適切な資料を探して渡す仕組みです。
仕組みの流れ
RAGは、大きく4つの段階で動きます。
| 段階 | 内容 |
|---|---|
| ① 資料の準備 | 社内文書などを細かく区切り、検索しやすい形で保存しておく(意味の近さで検索できる形式を使うことが多い) |
| ② 検索 | 質問が来たら、関連しそうな資料の断片を探し出す |
| ③ 回答の生成 | 「質問」と「見つけた資料」を、あわせてAIに渡し、答えを作らせる |
| ④ 根拠の提示 | どの資料を元にしたかを、あわせて表示する |
ここで、AIに一度に渡せる文章の量には上限があります(コンテキストウィンドウとは)。資料全部を渡せないため、関連する部分だけを検索して渡すことが、RAGの大きな役割です。
RAGで得られること
- 最新の情報や社内資料を、答えに反映できる:資料を差し替えれば、更新できる
- 根拠を示しやすい:どの資料から答えたかを、表示できる
- ハルシネーションを減らしやすい:資料に基づいて答えるため、でたらめな回答が起きにくくなる(ハルシネーションとは)
弱点と、よくある落とし穴
ただし、RAGは万能ではありません。
| 落とし穴 | 内容 |
|---|---|
| 検索が外れる | 関係のない資料が選ばれると、答えも的外れになる |
| 資料が古い・矛盾している | 古いマニュアルと新しいマニュアルが両方残っていると、AIが古い情報を参照してしまう |
| 資料にない質問に、一般知識で補う | 資料に書かれていない質問でも、AIが一般的な知識で補って、答えてしまうことがある |
| 見せてはいけない資料が出る | アクセス権の管理が甘いと、本来見られない人に、機密の資料の内容が答えとして出てしまう |
| 区切り方が不適切 | 文書の区切り方次第で、必要な情報が、途中で切れてしまう |
| 資料の読み違い | 資料を渡しても、AIが内容を取り違えることはある |
特に、アクセス権は見落とされがちです。「社内の全資料を、RAGに読ませた」結果、役員会の資料や人事情報が、一般の社員の質問への答えに含まれてしまう、といった事故が起こり得ます。
「読み込ませれば、正しく答える」わけではない
社内規程やマニュアル、過去の資料を活用できれば、とても便利です。ただし、資料を読み込ませれば、必ず正しい回答が返ってくるわけではありません。
特に、見落とされやすいのが権限管理です。人事情報や契約情報など、特定の人だけが閲覧できる資料をAIに接続するなら、AIを通じた質問でも、元の資料に対する閲覧権限が守られる設計が必要です。一般の職員がAIに質問しただけで、本来は見られない人事資料の内容まで答えられてしまうなら、便利さ以前の問題です。
導入する時は、回答の精度だけでなく、参照する資料の更新、検索結果の確認、アクセス権限、回答の根拠を確認できる仕組みまで、考える必要があります。
根拠が表示されても、元の資料を自分で開く
RAGでは、答えの根拠となった資料が、一緒に表示されることがあります。これは、とても便利な機能ですが、表示されたから正しい、とは限りません。
私自身、AIの回答がとても自然だったため、念のため元の資料を確認したところ、AIの説明と、実際の資料の内容に、違いがあった経験があります。それ以来、法令・契約・料金・仕様・数字・期限のように、間違えると実務に影響する内容は、AIの回答 → 元の資料を自分で開く → 該当箇所を確認する、という順番にしています(AIの嘘を見抜く5つの方法)。
RAGを導入しても、この考え方は変わりません。むしろ、根拠が示されているからこそ、確認しやすいと言えます。「仕組みに任せる」と同時に、「確認できる状態にしておく」ことが大切です。