RAGとは——社内文書を読ませる仕組みと、期待どおりに動かない理由
質問のたびに社内文書から関連部分を探し出し、それを材料としてAIに答えさせる仕組み。モデルを作り変えずに、自社の情報を反映させる方法です。
「社内のマニュアルを読ませて、新人の質問に答えさせたい」。この要望に対する現実的な答えが、RAGと呼ばれる作りです。
日本語では検索拡張生成と訳されますが、やっていることは名前ほど複雑ではありません。
open book の試験にする
素のAIは、閉じた本の試験を受けているようなものです。記憶だけを頼りに答えるので、知らないことも埋めようとしてハルシネーションが起きます。
RAGは、この試験を持ち込み可に変えます。
- 社員が質問する
- 仕組みが、社内文書の中から関連しそうな部分を探す
- 探してきた文章を、質問と一緒にAIへ渡す
- AIは、渡された文章を材料に答える
AIが自分の記憶から引き出すのではなく、こちらが材料を渡す形になります。ハルシネーションの起きやすい仕事を、起きにくい仕事へ移し替える作りです。出典を添えて答えさせられるのも、この形だからです。
子育ての現場でいうと
「絆創膏取ってきて」と子どもに頼めるのは、置き場所が決まっているからです。
決まっていない家では、頼めません。結局、親が探すことになる。家にちゃんとあるのに、置き場所を知っている人しか取り出せないという状態です。
RAGを入れて「思ったほど答えられない」となる会社で起きているのは、たいていこれです。文書はある。ただ、最新版がどれか決まっていない。社内の呼び方と文書の中の言葉が違う。そして、いちばん大事なことは誰かの頭の中にしかない。
うちで棚にラベルを貼ったのは、子どもに頼めるようにするためでした。仕組みを足す前に、置き場所を決める。順番としてはそちらが先で、しかもこの作業は、AIの世代が変わっても無駄になりません。
モデルを作り変えるのとの使い分け
同じ「社内のことを反映させる」でも、ファインチューニングとは向く場面が違います。
| RAG | ファインチューニング | |
|---|---|---|
| 変えるもの | 渡す材料 | モデルそのもの |
| 内容の更新 | 文書を差し替えれば済む | 作り直しが要る |
| 根拠の提示 | 出典を示せる | 示せない |
| 得意なこと | 事実を答える | 書式・文体を揃える |
| 始めやすさ | 段階的に広げられる | まとまった準備が要る |
社内規程・マニュアル・議事録のように内容が更新されるものはRAG、決まった様式で大量に出力させたい場合はファインチューニング、という分け方が実務では収まりがいいところです。
入れたのに使われない、が起きるとき
導入したものの定着しなかった、という相談も受けます。原因はいくつかに絞られます。
文書がそもそも整っていない。版が複数あって、どれが最新か人間にも分からない。古い規程が残ったままになっている。この状態で検索させると、AIは平然と古いほうを引いてきます。人が探すときは日付を見て判断しますが、仕組みは指示されない限り判断しません。
探す精度が低い。質問の言い方と文書内の言い回しが違うと、関連部分にたどり着けません。「有給」と書いた質問に対して、文書側が「年次有給休暇」としか書いていない、といった食い違いです。ここを吸収するのが埋め込みという技術で、検索の質の大半はここで決まります。
答えが文書にない。いちばん多い原因です。長年の判断は、たいてい文書ではなく人に残っています。RAGは書いてあることしか答えられないので、書き出す作業が先に要ります。
三つ目に当たったとき、それは仕組みの不備ではなく、社内の知識が言語化されていないという状態が見えたということです。判断基準を書き出す作業そのものが、コンテキストエンジニアリングの入り口になります。
始めるときの現実的な範囲
いきなり全社の文書を対象にすると、たいてい進みません。整理の量が膨大になり、権限の設計も重くなります。
- 質問が集中している業務を、ひとつ選ぶ
- その業務で参照される文書を、最新版に揃える
- 担当者が答えている内容のうち、文書にないものを書き足す
- 使いながら、答えられなかった質問を記録して補う
四つ目まで回ると、仕組みが育ちはじめます。最初から完璧な文書群を用意しようとして着手が遅れるより、答えられなかった記録を溜めながら埋めていくほうが、結果として早く形になります。
顧問先によく聞かれること
- RAGを入れれば、社内の質問に何でも答えられるようになりますか。
- 文書に書いてあることには答えられるようになります。書いていないこと——口伝えの判断基準、担当者の頭の中にある例外処理——には答えられません。導入して物足りなさが残る会社の多くは、実は文書化されていない領域を期待しています。
- ファイルを置くだけで使えるサービスもありますが、違いは何ですか。
- 小規模ならそれで足ります。差が出るのは、文書が増えたとき・更新されるとき・権限を分けたいときです。誰がどの文書まで見てよいかを制御する必要が出た段階で、作り込みが要るようになります。
出典(一次情報)
- Retrieval(セマンティック検索) OpenAI API Docs
- File search(文書の分割・埋め込み・検索) OpenAI API Docs
解釈を挟まない一次情報だけを挙げています。仕様・条件・制度は改定されるため、 判断に使う際は必ずリンク先の最新版をご確認ください。