【AIとの距離感】RAGという仕組みが気になった|RAG
この記事はTransformerとAttentionの話を読んでいるとより理解しやすくなっています。
はじめての方は先にこちらをどうぞ。
以前、RAGプロンプトについての記事を書いたことがあります。情報が古くなっている部分もありますが、RAGの概要やプロンプトへの応用が気になる方はこちらもどうぞ。
🗂️ なぜ最新情報を教えられるのか、知らなかった
GeminiでもClaudeでもGPTでも、最近の出来事を聞くと答えてくれます。検索と連携している、というのはなんとなく知っていました。
でも「どうやって連携しているのか」は、ずっと考えたことがありませんでした。答えが返ってくることに慣れていて、仕組みを気にしていなかった。
調べていたら、RAGという仕組みに行き着きました。

まず、前回の練習問題の答えから。
前回の問いはこちらでした。
TransformerがRNNやLSTMと最も大きく異なる点はどれでしょう?
A. 重みを使わずに学習する
B. 画像と文章を同時に処理できる
C. 文章を順番に読まず、全体を一度に処理する
D. 人間がルールを書いて与える
正解は C. 文章を順番に読まず、全体を一度に処理する でした。
順番に読むという前提を疑ったことで、言語AIの世界が変わった、という話でしたね。参加してくださったみなさん、ありがとうございました。
🔍 RAGとは何か
RAG(Retrieval-Augmented Generation)は、検索拡張生成と訳されます。つまり、質問に答える前に関連する情報を検索して取得し、その情報を参照しながら回答を生成する仕組みのことです。
「Retrieval」は検索・取得、「Augmented」は拡張、「Generation」は生成という意味です。名前の通り、「検索で拡張した生成」というのがそのままコンセプトになっています。
最初にこの名前を見たとき「またアルファベット3文字か」と思いました。ただ仕組みを知ると、発想自体はわかりやすかった。

📚 どうやって動くのか
RAGの流れは大きく3つのステップに分けられます。
ステップ1:質問を受け取る
ユーザーが質問を入力します。たとえば「この会社の2024年の売上はいくらですか?」のような質問です。
ステップ2:関連情報を検索する
質問の内容に関連するドキュメントやデータを、あらかじめ用意されたデータベースから検索します。つまり、LLM自身の知識だけに頼るのではなく、外部の情報源を参照するということです。
ここが普通のLLMとの大きな違いです。外部のデータベースには、最新の情報や社内の非公開情報も入れられます。
ここは少し難しいので、わからなければ「外から情報を持ってくる」とだけ覚えておけば大丈夫です。
ステップ3:情報を参照して回答する
検索で取得した情報をLLMに渡して、その情報を参照しながら回答を生成します。一言でいうと、「カンニングペーパーを見ながら答える」ような仕組みです。
カンニングというと聞こえが悪いですが、正確な情報を参照した上で答えてくれる方が、むしろ嬉しい。

🛠️ どんな場面で使われているか
RAGが活躍する場面は、主に2つあります。
最新情報が必要なとき
LLMの学習データには時間的な限界があります。RAGを使うと、最新のニュースや更新されたドキュメントを参照しながら答えられるようになります。Geminiが検索と連携して最新情報を返してくれる感覚は、これに近い仕組みが使われています。
特定の情報源に基づいて答えてほしいとき
社内の規定書、製品マニュアル、過去のプロジェクト資料。こういった非公開の情報をLLMに読み込ませて、それを参照しながら答えさせる場合にRAGが使われます。Claude・GPTもAPIを通じてこういった使い方ができます。
🔗 毎日使っているAIとのつながり
Geminiで調べものをするとき、Google検索の結果を参照しながら答えてくれることがあります。これはRAGの考え方に近い動きです。
ClaudeやGPTでも、長い文章やPDFをアップロードして「この内容に基づいて答えて」という使い方をすることがあります。あれも、外部の情報を参照して生成する、というRAGの発想と同じです。
知らずに使っていた、というパターンがまた出てきました。
ま、いっか。
練習問題
RAGの説明として正しいものはどれでしょう?
A. LLMを大量のデータで再学習させる手法
B. 質問に答える前に外部から関連情報を検索・取得して参照する仕組み
C. 複数のLLMを組み合わせて精度を上げる手法
D. 画像と文章を同時に処理するための仕組み
正解は次回の冒頭で発表します。
あとがき
ここまで読んでくださり、ありがとうございます。
RAGは昔にやってて、今でもずっとお世話になってますね〜。これをしておかないと不安になることもw
メンバーシップの皆様、いつもありがとうございます!
「フォロー」や「スキ」をしていただけると励みになります!
今後ともよろしくお願いします!

いいなと思ったら応援しよう!
気に入っていただけたら、チップで応援してもらえると嬉しいです。
いただいた応援は、今後の記事作りの励みになります!