ai-agents-for-beginners

Agentic RAG

(上の画像をクリックすると、このレッスンの動画をご覧いただけます)

エージェンティックRAG

このレッスンでは、エージェンティック・リトリーバル・オーグメンテッド・ジェネレーション(Agentic RAG)について包括的に解説します。これは、大規模言語モデル(LLM)が外部情報を取得しながら次のステップを自律的に計画するという、新たなAIパラダイムです。静的な「取得して読む」パターンとは異なり、エージェンティックRAGでは、ツールや関数の呼び出し、構造化された出力を挟みながら、LLMへの反復的な呼び出しが行われます。このシステムは結果を評価し、クエリを修正し、必要に応じて追加のツールを呼び出し、満足のいく解決策が得られるまでこのサイクルを続けます。

はじめに

このレッスンでは以下を学びます:

学習目標

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

エージェンティックRAGとは?

エージェンティック・リトリーバル・オーグメンテッド・ジェネレーション(Agentic RAG)は、大規模言語モデル(LLM)が外部情報を取得しながら次のステップを自律的に計画するという、新たなAIパラダイムです。静的な「取得して読む」パターンとは異なり、エージェンティックRAGでは、ツールや関数の呼び出し、構造化された出力を挟みながら、LLMへの反復的な呼び出しが行われます。このシステムは結果を評価し、クエリを修正し、必要に応じて追加のツールを呼び出し、満足のいく解決策が得られるまでこのサイクルを続けます。この反復的な「メイカー・チェッカー」スタイルは、正確性を向上させ、誤ったクエリを処理し、高品質な結果を保証します。

システムは推論プロセスを積極的に所有し、失敗したクエリを書き直し、異なる取得方法を選択し、複数のツール(Azure AI Searchのベクター検索、SQLデータベース、カスタムAPIなど)を統合して最終的な回答を出します。エージェンティックシステムの際立った特徴は、推論プロセスを自律的に所有する能力です。従来のRAG実装では事前定義されたパスに依存しますが、エージェンティックシステムは取得した情報の質に基づいてステップの順序を自律的に決定します。

エージェンティックRAGの定義

エージェンティック・リトリーバル・オーグメンテッド・ジェネレーション(Agentic RAG)は、LLMが外部データソースから情報を取得するだけでなく、次のステップを自律的に計画するという、新たなAI開発のパラダイムです。静的な「取得して読む」パターンや慎重にスクリプト化されたプロンプトシーケンスとは異なり、エージェンティック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

エージェンシーの境界

エージェント型RAGはタスク内で自律性を持つものの、汎用人工知能(AI)とは類似していません。その「エージェント的」な機能は、人間の開発者が提供するツール、データソース、ポリシーに限定されます。独自のツールを開発したり、設定されたドメインの境界を越えたりすることはできません。むしろ、利用可能なリソースを動的に調整することに優れています。 より高度なAI形式との主な違いは次のとおりです。

  1. ドメイン固有の自律性: エージェント型RAGシステムは、既知のドメイン内でユーザーが定義した目標を達成することに重点を置いており、クエリの書き換えやツールの選択といった戦略を用いて結果を改善します。
  2. インフラストラクチャ依存: システムの機能は、開発者が統合したツールとデータに依存します。人間の介入なしにこれらの境界を超えることはできません。
  3. ガードレールの尊重: 倫理ガイドライン、コンプライアンスルール、ビジネスポリシーは依然として非常に重要です。エージェントの自由は常に安全対策と監視メカニズムによって制限されます(願わくば)。

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

Agentic RAG は、反復的な改良と精度が求められるシナリオで真価を発揮します。

  1. 正確性優先環境: コンプライアンスチェック、規制分析、法務調査などにおいて、Agentic RAG モデルは事実を繰り返し検証し、複数の情報源を参照し、クエリを書き換えることで、徹底的に検証された回答を生成します。
  2. 複雑なデータベースインタラクション: クエリが頻繁に失敗したり調整が必要になったりする構造化データを扱う場合、システムは Azure SQL または Microsoft Fabric OneLake を使用してクエリを自律的に改良し、最終的な結果がユーザーの意図と一致するようにします。
  3. 拡張ワークフロー: 長時間実行されるセッションは、新しい情報が発生するにつれて進化する可能性があります。Agentic RAG は継続的に新しいデータを取り込み、問題領域について学習するにつれて戦略を変化させることができます。

ガバナンス、透明性、そして信頼

これらのシステムがより自律的に推論を行うようになるにつれて、ガバナンスと透明性が極めて重要になります。

明確なアクション記録を提供するツールを持つことは不可欠です。これらがないと、複数ステップのプロセスのデバッグは非常に困難になります。Literal AI(Chainlitの背後にある企業)のエージェント実行例を以下に示します。

AgentRunExample

AgentRunExample2

結論

エージェント型RAGは、AIシステムが複雑でデータ集約的なタスクを処理する方法における自然な進化を表しています。ループ型のインタラクションパターンを採用し、ツールを自律的に選択し、高品質な結果が得られるまでクエリを洗練させることで、システムは静的なプロンプトに従うという従来の思考から、より適応性が高く、状況に応じた意思決定へと進化します。人間が定義したインフラストラクチャと倫理ガイドラインに制約されながらも、これらのエージェント機能は、企業とエンドユーザーの両方にとって、より豊かで動的、そして最終的にはより有用なAIインタラクションを実現します。

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

Azure AI Foundry Discord に参加して、他の学習者と交流したり、オフィスアワーに参加したり、AI エージェントに関する質問に回答してもらったりしましょう。

追加リソース

学術論文

前のレッスン

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

次のレッスン

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


免責事項:
この文書はAI翻訳サービスCo-op Translatorを使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書を正式な情報源としてご参照ください。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。