ai-agents-for-beginners

Agentic RAG

(このレッスンのビデオを見るには、上の画像をクリックしてください)

Agentic RAG

このレッスンでは、エージェント的Retrieval-Augmented Generation(Agentic RAG)について包括的に解説します。これは、大規模言語モデル(LLM)が外部ソースから情報を取得しながら次のステップを自主的に計画する新しいAIパラダイムです。静的な取得してから読むパターンとは異なり、Agentic RAGはLLMへの反復呼び出しを含み、その間にツールや関数の呼び出しと構造化された出力が挿入されます。システムは結果を評価し、クエリを洗練し、必要に応じて追加ツールを呼び出し、このサイクルを満足のいく解決策が得られるまで続けます。

はじめに

このレッスンで学ぶ内容:

学習目標

このレッスンを終えた後、以下のことが理解できるようになります:

Agentic RAGとは?

Agentic Retrieval-Augmented Generation(Agentic RAG)は、大規模言語モデル(LLM)が外部から情報を取得しながら、自分自身で次のステップを計画する新興のAIパラダイムです。静的な取得してから読むパターンとは異なり、Agentic RAGはLLMへの反復呼び出しを伴い、ツールや関数呼び出しと構造化された出力が組み合わされます。システムは結果を評価し、クエリを洗練し、必要に応じて追加ツールを呼び出して満足のいく解決策が得られるまでこのサイクルを繰り返します。この反復的な「メーカー・チェッカー」スタイルにより、正確性が向上し、不正なクエリへの対応や高品質な結果の確保が可能になります。

システムは自身の推論プロセスを積極的に所有し、失敗したクエリを書き換え、異なる取得方法を選択し、Azure AI Searchのベクトル検索、SQLデータベース、カスタムAPIなど複数のツールを統合して回答を完成させます。エージェント的なシステムの特徴は、推論プロセスを自ら所有する能力にあります。従来のRAGはあらかじめ定義された経路に依存しますが、Agenticシステムは見つけた情報の質に基づき、ステップの順序を自主的に決定します。

Agentic Retrieval-Augmented Generation(Agentic RAG)の定義

Agentic Retrieval-Augmented Generation(Agentic RAG)は、LLMが外部データソースから情報を取得するだけでなく、自律的に次のステップを計画する新興のAI開発パラダイムです。静的な取得-読取パターンや慎重にスクリプト化されたプロンプトの連鎖と異なり、Agentic RAGはLLMへの反復的な呼び出しのループに、ツールや関数の呼び出しおよび構造化された出力を間に挟みます。毎回、システムは得られた結果を評価し、クエリの洗練が必要か判断し、必要に応じて追加ツールを呼び出し、満足できる解決策が得られるまでこのサイクルを続けます。

この反復的な「メーカー・チェッカー」式の動作は、正確性向上、不正なクエリの対応(例:NL2SQLなど構造化データベースへの不正クエリ)、バランスの取れた高品質な結果の確保を目的としています。慎重に設計されたプロンプトチェーンのみに頼らず、システム自らが推論プロセスを所有しています。失敗したクエリを書き直したり、異なる取得方法を選択し、Azure AI Searchのベクトル検索、SQLデータベース、カスタムAPIなど複数のツールを統合して回答を最終化します。これにより過度に複雑なオーケストレーションフレームワークが不要になり、比較的単純な「LLM呼出 → ツール利用 → LLM呼出 → …」のループで高度かつ確固たる出力が得られます。

Agentic RAG Core Loop

推論プロセスの所有

システムを「エージェント的」にする際立った特徴は、推論プロセスを自ら所有する能力です。従来のRAG実装では、しばしば人間がモデルに対して取得すべき情報やタイミングを示す思考連鎖をあらかじめ定義します。 しかし、本当にエージェント的なシステムは、問題へのアプローチ方法を内部で自律的に決めます。ただのスクリプト実行ではなく、得た情報の質に基づいて手順の順序を自ら判断します。 例えば、製品発売戦略を作成するよう依頼された場合、リサーチや意思決定の全ワークフローを明文化したプロンプトだけに頼らず、エージェント的モデルは以下を独自に決定します。

  1. Bing Web Groundingを使い最新の市場動向レポートを取得する
  2. Azure AI Searchを使い関連する競合他社データを特定する
  3. Azure SQL Databaseで過去の社内販売指標を相関付ける
  4. Azure OpenAI Service経由で発見事項を統合し一貫した戦略を構築する
  5. 戦略にギャップや矛盾がないか評価し、必要なら再度情報取得を促す これらすべてのステップは、クエリの洗練や情報源の選択、回答に「満足」するまでの反復を含め、人間による事前スクリプトではなくモデル自身が決定します。

反復ループ、ツール統合、メモリ

Tool Integration Architecture

エージェント的システムは以下のループ型インタラクションパターンに依存しています:

これにより、理解が進化する感覚が生まれ、その結果、複雑で多段階のタスクも人間の継続的な介入やプロンプトの書き換えなしに進行できます。

障害モードの処理と自己修正

Agentic RAGの自律性は堅牢な自己修正機構も伴います。システムが行き詰まり(例えば、無関係な文書を取得したり不正なクエリに遭遇した場合)に遭遇すると、以下を行います:

この反復的かつ動的な方法により、モデルは単発ではなく、セッション中に失敗から継続的に学ぶシステムとなります。

Self Correction Mechanism

エージェンシーの境界

タスク内での自律性はあっても、Agentic RAGは汎用人工知能(AGI)とは異なります。その「エージェンシー」能力は人間開発者が提供するツール、データソース、ポリシーに限定されています。独自にツールを発明したりドメインの枠を超えたりはできません。逆に、手元のリソースを動的にオーケストレートすることに長けています。 高度なAI形態との主な違いは:

  1. ドメイン固有の自律性: Agentic RAGシステムは、既知ドメイン内でユーザー定義の目標を達成することに集中し、結果改善のためにクエリ書き換えやツール選択といった手法を活用します。
  2. インフラ依存: システムの能力は開発者が統合したツールやデータに依存し、それらを超えるには人間の介入が必要です。
  3. ガードレールの尊重: 倫理指針、遵守規則、ビジネスポリシーは非常に重要であり、エージェントの自由度は安全措置や監督機構によって常に制約されます(願わくば)。

実用的なユースケースと価値

Agentic RAGは反復的な洗練と精度が求められるシナリオで威力を発揮します:

  1. 正確性優先環境: コンプライアンスチェック、規制分析、法務調査などで、エージェントモデルは事実を繰り返し検証し、多様なソースを参照、クエリを書き換えて徹底的に検証された回答を作ります。
  2. 複雑なデータベース操作: クエリが失敗しやすい、または調整が必要な構造化データを扱う場面で、Azure SQLやMicrosoft Fabric OneLakeを活用してクエリを自律的に改善し、最終取得がユーザーの意図に合致するようにします。
  3. 長期化するワークフロー: 長時間にわたるセッションでは、新情報が得られるにつれて戦略を変えつつ継続的にデータを取り入れます。

ガバナンス、透明性、信頼

こうしたシステムが推論をより自律的に行うにあたり、ガバナンスと透明性は不可欠です:

行動の明確な記録を提供できるツールが不可欠です。これがなければ多段階プロセスのデバッグは非常に困難です。Literal AI(Chainlitの背後の会社)によるAgent実行の例を以下に示します:

AgentRunExample

結論

Agentic RAGは、AIシステムが複雑でデータ集約的なタスクを扱う際の自然な進化形態を表しています。ループ型インタラクションパターンを採用し、自律的にツールを選択し、クエリを洗練しながら高品質な結果を達成することで、静的なプロンプト追従型を超えた、より適応性があり文脈を意識した意思決定者へと進化しました。依然として人間が定義したインフラや倫理指針の枠内にありますが、これらのエージェント的能力により、企業とエンドユーザーの双方にとってより豊かで動的かつ最終的に有用なAIインタラクションを実現します。

Agentic RAGについてさらに質問がありますか?

Microsoft Foundry Discord に参加して、他の学習者と交流したり、オフィスアワーに参加してAIエージェントについて質問してください。

追加リソース

学術論文

前のレッスン

ツール使用のデザインパターン

次のレッスン

信頼できるAIエージェントの構築


免責事項
本書類はAI翻訳サービス「Co-op Translator」(https://github.com/Azure/co-op-translator)を使用して翻訳されました。正確性の確保に努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。原文はあくまで公式の情報源としてご参照ください。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の使用により生じたいかなる誤解や誤訳についても、当方は一切の責任を負いかねます。