RAG(検索拡張生成)
RAGとは、AIが回答や判断をするときに、あらかじめ用意した文書やデータベースを検索して、その内容を参照しながら出力する仕組みのことです。 Retrieval-Augmented Generationの略で、ラグと読みます。
別表記:RAG/検索拡張生成/検索補強生成/Retrieval-Augmented Generation/ナレッジ参照型AI
なぜ必要なのか
LLM(大規模言語モデル)は、学習した時点までの一般的な知識しか持っていません。自社の就業規則、製品の仕様書、過去の議事録といった社内の情報は知りません。学習に含まれていない内容について聞かれると、知らないまま、もっともらしい回答を作ってしまうこともあります。
RAGは、この問題を解く方法です。質問を受けたら、まず社内の文書から関連する部分を検索し、見つかった内容をAIに渡したうえで回答させます。AIは、渡された文書を根拠にして答えるので、社内の情報に基づいた回答ができ、根拠のない出力も減ります。
どう動いているか
社内の文書を、あらかじめ検索しやすい形に整えておきます。質問が来ると、その質問に関係しそうな文書の断片を探し出し、AIへの指示に添えます。AIは、質問と、添えられた文書の両方を読んで、回答を作ります。
社内の問い合わせ対応、マニュアルの検索、過去の事例の参照といった用途で広く使われています。AIエージェントが業務で社内の資料を読むときにも、この仕組みが土台になっていることが多くあります。
セキュリティ上の論点
RAGには、二つの論点があります。
一つは、AIが読める文書の範囲です。RAGの検索対象に、本来その利用者が見てはいけない文書が含まれていれば、AIが回答の中でその内容を漏らすことがあります。閲覧権限のない人事情報が、問い合わせへの回答に混ざる、といった形です。検索対象の文書に、利用者ごとの権限を正しく反映させる必要があります。
もう一つは、検索された文書の中身です。RAGで検索された文書の中に、指示のような文が紛れ込んでいれば、AIはそれに従ってしまうことがあります。取引先から届いた文書や、外部から取り込んだ資料が検索対象に含まれていれば、そこが攻撃の経路になります。間接プロンプトインジェクションと呼ばれる手口の、主な入口の一つです。
VCとの関係
AIエージェントがRAGで社内文書を読むとき、「このAIはどの文書を読んでよいか」を決めておく必要があります。VC(Verifiable Credentials)で権限を持たせておけば、検索の対象を、そのAIの権限の範囲に限定できます。
検索された文書に紛れ込んだ指示でAIが乗っ取られた場合でも、AIが持つ権限の外の操作はできません。読んでよい範囲の文書を読み、できる範囲の操作しかできない、という形で、被害を限定します。
よくある誤解
RAGを使えば、ハルシネーションはなくなるのか。 減りますが、なくなりません。検索結果が不適切だったり、AIが検索結果を誤って解釈したりすることはあります。
社内文書だけを検索対象にすれば、安全か。 社内文書に、外部から来た文書が含まれていれば、同じ問題が起きます。また、社内文書の中にも、利用者によって見てよいものと見てはいけないものがあります。
