第9回 RAG
社内の資料を参照させる
- RAGとは何か、なぜ社内の資料を参照させる必要があるのか
- 「探す」と「書く」の2段階で動くしくみ
- RAGで減らせる間違いと、それでも残る間違い
AIは社内のことを知らない
LLM(学習して、人間のように文章を理解・生成できるAI。ChatGPTやGeminiの中身。">大規模言語モデル)は、学習に使った大量の文章から、言葉の使い方や一般的な知識を身につけています。けれども、あなたの会社の就業規則や、先週決まった新しい価格表、社内だけで使っている製品マニュアルは、学習した文章の中にありません。学習を終えた後に起きた出来事も知りません。
知らないことを聞かれても、LLMは文章を止めずに、もっともらしい答えを作ってしまいます。第8回で見たハルシネーションです。そこで考えられたのが、答える前に資料を探して渡すしくみ、RAGです。
RAGのしくみ: 探してから書く
RAGは英語のRetrieval-Augmented Generationの略で、日本語では検索拡張生成と呼ばれます。名前のとおり、「探す」と「書く」の2段階で動きます。
まず、質問を受け取ると、社内の文書やマニュアルの中から、質問に関係しそうな部分を数件探し出します。次に、見つけた部分と元の質問をまとめて、「この資料に基づいて答えてください」という指示と一緒にLLMへ渡します。LLMは渡された資料を読みながら答えを書くので、根拠のある答えが返りやすくなります。どの資料のどこを参考にしたかという出典を、答えに添えることもできます。
大事なのは、RAGではAIのモデル自体は何も変わらない、という点です。資料を差し替えれば、その日から新しい内容で答えられます。モデルに追加で学習させて中身を作り変えるのは、第10回のファインチューニングで、これとは別の技術です。
職場での使い道は幅広く、総務や情報システム部門への「よくある質問」に社内規程をもとに答える窓口、営業担当が製品の仕様書や過去の提案書から必要な情報を探す道具、コールセンターで応対マニュアルを引きながら回答の下書きを作る仕組みなどに使われています。
意味で探す検索
「探す」段階でよく使われるのが、言葉の意味の近さで探す方法です。あらかじめ文章を、意味を表す数値の並びに変換しておきます。これをベクトル) に変換すること。検索や重複判定、RAGの土台になる。">埋め込みと呼びます。意味の似た文章ほど近い数値になるので、数値の近さで探せば、言葉が違っても関係のある部分が見つかります。この探し方をベクトル検索と呼びます。
たとえば「育休」と質問されても、規則に「育児休業」や「子どもが生まれたときの休暇」と書かれていれば見つけ出せます。キーワードが一致しないと見つからない、昔ながらの検索との大きな違いです。

たとえるなら
物知りだけれど社内のことは知らない書き手に、司書が関係する本を探して、該当するページに付箋を貼って渡すようなものです。書き手は記憶だけに頼らず、手元の資料を見ながら答えを書けます。ただし、司書が違う本を持ってくれば、書き手がどれほど優秀でも、答えは外れてしまいます。
RAGでも残る間違い
RAGはハルシネーションを大きく減らしますが、ゼロにはしません。よくある失敗は3つです。1つ目は、探す段階で関係のない資料や古い資料を拾ってしまうこと。探す段階で外れると、答えも外れます。2つ目は、資料に書かれていないことを、AIが一般論で補ってしまうこと。3つ目は、元の資料そのものが間違っていたり、古いまま放置されていたりすることです。
だからこそ、答えに出典を付けさせて、大事な点は元の資料で確かめることが欠かせません。
ニュースを読むコツ
「社内データを活用できる生成AI」「RAGに対応」といったニュースを見たら、どんな資料を探しに行くのか、資料をどうやって新しく保つのか、だれがどの資料を見てよいかという権限をどう守るのかに注目してみてください。ウェブを検索してから答えるAI検索も、広い意味では同じ「探してから書く」考え方で作られています。
やってみよう
本物のRAGは資料を自動で探してきますが、ここでは「探す」役を自分で引き受けて、資料を貼り付けて渡してみましょう。資料に沿って答えるAIの動きを確かめられます。
- 「次の【資料】だけを根拠にして、【質問】に答えてください。資料に書かれていないことは『資料には書かれていません』と答えてください。【資料】架空の会社『みどり商事』の在宅勤務ルール。在宅勤務は週2日まで。申請は前日の17時までに、直属の上司へメールで送る。交通費は出社した日の分だけ支給する。【質問】在宅勤務の申請は、いつまでに、だれに出せばよいですか?」
成功の目安: 「前日の17時までに、直属の上司へメールで」と、資料のとおりに答えれば成功です。資料を渡すと、AIはその内容に沿って答えます。
- 同じ会話の続きで「在宅勤務の日の、自宅のインターネット代は会社が払ってくれますか?」と聞いてみてください。
成功の目安: 「資料には書かれていません」と答えれば成功です。「一般的には〜」と推測で答えた場合は、資料にないことを補ってしまうという、RAGの弱点を自分の目で見たことになります。
確認クイズ
Q1. RAGのしくみとして正しいのはどれ?
- AIに社内の資料を追加で学習させて、モデルの中身を作り変える
- 答える前に関係する資料を探し、それをAIに渡して答えさせる
- 同じ質問を複数のAIに送り、多数決で答えを決める
答えを見る
正解は B。RAGは「探す」と「書く」の2段階で動きます。モデル自体は変えないので、資料を差し替えればすぐに新しい内容で答えられます。モデルを作り変えるのは第10回のファインチューニングです。Q2. RAGの「探す」段階でよく使われる方法として、本文で説明したのはどれ?
- 文章を意味を表す数値の並び(埋め込み)に変えて、意味の近いものを探す
- いちばん新しく作られた文書だけを選んで渡す
- 文書のファイル名を50音順に並べて、上から順に探す
答えを見る
正解は A。意味の似た文章ほど近い数値になるので、言葉が違っても関係する部分が見つかります。この探し方をベクトル検索と呼びます。Q3. RAGを使っても残る間違いとして、本文で挙げたのはどれ?
- 探す段階で関係のない資料や古い資料を拾うと、答えも外れる
- 資料が日本語だと、必ず英語で答えてしまう
- 資料を渡すと、AIが文章をまったく書けなくなる
