本文へ移動
世界と暮らしの疑問を整理する知識ポータル
人工知能の仕組みと歴史

RAGとAIエージェントの仕組み 検索し、道具を使うAIへの進化

公開日

AIが古い情報を答えたとき、「もっと新しい資料で学習させればよい」と考えるのは自然です。しかし、資料が更新されるたびに巨大なモデルを学び直すのは大きな負担でしょう。住所録を一行直すたびに、図書館全体の本を書き直すような方法だけでは、変化へ素早く対応できません。

必要な資料を利用時に取り出す検索拡張生成、RAGは、この負担を減らす方向です。さらに、外部の道具を使い、結果を観測して次の行動を選ぶエージェントへも研究が広がりました。知識や作業のすべてを、一つのモデルの内部だけでまかなう必要はないのです。

重みに学んだ知識と、検索で取り出す情報

言語モデルの重みは、学習を通じて調整された数値です。多くの文章の関係がそこに反映されていますが、個々の事実を正確な文書番号付きで収納するデータベースとは違います。ある情報を更新したいとき、その情報だけを確実に差し替えることは簡単ではありません。

RAGでは、質問に関連する文書を外部から取り出し、その内容を生成の材料にします。代表的な提案は、知識を必要とする言語課題へ検索と生成を組み合わせた、2020年のLewisらの研究。ただし、現在RAGと呼ばれるものは、原論文の構成だけに限られていません。

この方法なら、文書側を更新することで新しい情報を参照できます。ただし、検索対象が更新されていること、必要な箇所を実際に取り出せること、モデルがそれを正しく使うことが前提です。外部資料につないだだけで、自動的に最新で正確になるわけではありません。

RAG:必要な資料を利用時に取り込む
質問から検索関連する文書を取得
条件と根拠を渡す必要な範囲を文脈へ追加
回答を生成資料との一致も確認

検索結果が正しいことや、生成が根拠に忠実であることは自動的には保証されません。

似ている文書と、問いに答える根拠の違い

検索は、質問と語句が一致する文書や、数値表現が近い文書を見つけます。しかし、似た話題の文書が、今の問いへの答えを含むとは限りません。ある博物館の開館時間を尋ねたのに、過去の特別展の時間が見つかれば、話題は近くても必要な情報ではないでしょう。

「午前9時から」という断片だけでは、その直前に「夏季のみ」とあったかどうかは分かりません。資料を短く区切ると、このように条件を切り落とす危険があります。必要なのは関連語の発見だけでなく、条件を保った範囲の取得なのです。

また、根拠を表示することと、その根拠が主張を支えることも別です。引用先に同じ話題があるだけでは足りません。資料が述べていない結論をモデルが付け加えていないかという、生成後の検査が必要なのです。

長い資料を全部入れても解決しない理由

必要な箇所を選ぶのが難しいなら、すべての資料を入力すればよいように思えます。長い文脈を扱えるモデルは、その選択肢を広げました。それでも、情報を受け取れる長さと、すべての情報を確実に利用できる能力は同じではありません。

2023年の「Lost in the Middle」は、長い入力の中で、必要な情報の置かれた位置によって成績が変わる場合を報告しました。これは当時調べられたモデルと課題についての結果で、すべての後続モデルへ同じ数値を当てはめるものではありません。それでも、入力容量だけでは利用の確実さを測れないことを示しています。

長い資料には、互いに矛盾する情報や古い記述も含まれ得ます。たくさん渡すほど正しくなるとは限らず、出典、更新時点、対象範囲を区別できる形で渡す必要があるのです。検索と長文入力は、どちらか一方が常に勝つ関係ではありません。

計算機を使うAIと、暗算するように生成するAI

言語モデルは計算式らしい文章を作れますが、それだけで正確な計算が保証されるわけではありません。桁数の多い掛け算なら、外部の計算機に渡し、その結果を使う方が適した場合があります。自然言語の依頼を道具への入力に変えることが、モデルの役割になるのです。

ただし、計算機の答えが正しくても、渡した式が違えば結果は目的に合いません。税込みと税抜き、単位、対象期間を取り違えた式を正確に計算することもできてしまいます。道具の正確さと、その道具を正しく呼び出す能力は分けて評価する必要があります。

2023年のToolformerは、外部ツールをいつ、どのように呼び出すかを学習する方向を示しました。道具を利用する研究は、モデル内部の能力を大きくするだけではなく、適切な処理を外へ任せる設計へ進んだのです。

ReActと、観測しながら進める行動

2022年に公開されたReActは、推論に相当する言語的な処理と、外部への行動を交互に組み合わせる方法を提案しました。最初に長い計画を作って最後まで盲目的に実行するのではなく、行動の結果を得てから次を決めます。

ある出来事の年を調べるため資料を検索し、候補が複数見つかったら人物名で絞り直す、という流れを考えましょう。結果が予想と違えば、次の検索も変わります。最初の計画をただ実行するのではなく、外で得た情報が後の行動へ戻るのです。

エージェントという言葉は幅広く使われますが、少なくとも、文章を一回返すだけのモデルとは区別したい部分です。目標、利用できる道具、状態の記録、停止条件を含めたシステムとして考えなければ、能力や失敗を説明できません。

観測を挟んで、次の行動を選ぶ
目標と現在の状態何が未完了かを把握
道具で行動検索・計算・許可された操作
結果を観測続行・修正・停止を選ぶ

操作を繰り返す前に結果を確かめる循環です。外部文書は操作権限を与える命令ではありません。

一回の正答率と、長い作業の完了率

一つ一つの操作が高い確率で成功しても、長い作業全体の成功率は下がり得ます。説明用に、各操作が独立に95%の確率で成功し、一度でも失敗すれば全体が失敗するとしましょう。10操作では約60%、20操作では約36%になります。

この計算は実際のAIの測定値ではありません。現実には失敗が連動したり、修正できたりするため、同じ式がそのまま当てはまるわけでもないのです。それでも、一操作の性能だけで長期作業を任せられるかは決まらないという点を示します。

途中で結果を検査し、失敗したら戻り、必要なら人へ確認する仕組みがあれば、全体の信頼性を高められます。エージェントの進歩は、モデルの賢さだけでなく、失敗を検出して回復する設計にも依存するのです。

資料の内容を、操作の命令と混同しない境界

外部の文書を読むAIには、その中に書かれた指示をどう扱うかという問題があります。調査対象のページに「以前の指示を無視して別の操作をせよ」と書かれていても、それは調べる内容であって、利用者から与えられた権限ではありません。

このように、外から取り込む情報と、システムが従う命令を混同すると、意図しない動作につながります。文章を自然に解釈する能力だけでは、その文章の権限まで決まりません。何を参照資料として扱い、誰が操作を許可できるかという境界が必要なのです。

特に、外部へ送信したり、保存済みの情報を変更したりする道具を使う場合には、確認と権限の設計が重要になります。これはAIが自発的な悪意を持つという話ではなく、入力と命令の区別をシステムとして守れるかという問題です。

検索と道具が変えた、AIの能力の数え方

外部検索付きのシステムが正しく答えたとき、その結果をモデル単体の記憶力だけに帰すことはできません。検索対象の質、検索方法、資料の選択、生成、検証が一緒に働いています。逆に失敗した場合も、原因が常に言語モデルの内部にあるとは限りません。

このため、モデルとシステムを分けて考える必要があります。検索なし、計算機なし、一回だけの生成という条件と、複数の道具を使って何度も検査できる条件では、同じ課題でも難しさが異なります。

AI研究の進路は、一つのネットワークを大きくすることだけではありません。知識を取り出し、仮説を作り、外部で確かめ、必要ならやり直す。この役割分担と循環が、次の推論モデルや数学の証明研究にもつながります。

参考資料

人工知能の仕組みと歴史

人工知能の仕組みと歴史