😽

Azure AI Foundry Agent Serviceにてマルチエージェント作成

に公開

業務でAzure(特にAzureOpenAI)を使用する機会が多いため、Azure AI Foundry Agent Serviceについても触れておこうと思い、今回試した結果を記載します。

Azure AI Foundry Agent Serviceとは

Azure AI Foundry Agent Serviceは、Azure AI Foundryプラットフォームの中核をなす「エージェント」実行基盤です。
モデル、ツール、セキュリティ、ガバナンスなどを一体化したランタイム環境を提供し、安全かつスケーラブルなAIエージェント運用を可能にしています。。

https://learn.microsoft.com/ja-jp/azure/ai-foundry/agents/overview

主な特徴

  • 統合されたエージェントランタイム
    モデル(GPT‑4o、GPT‑4、GPT‑3.5、Llamaなど)、ツール(Azure AI Search、Logic Apps、Azure Functionsなど)、フレームワーク(Semantic Kernel、AutoGen など)を接続し、エージェント用の実行環境を構築可能
  • マルチエージェントの協調
    複数の専門エージェントによる協調処理、エージェント間メッセージ交換が可能。
  • ツールオーケストレーション
    ツール呼び出しの管理やリトライ、ログ出力を統制。明示的なツール制御フローをサポートしている。
  • 観測性・ガバナンス
    スレッド単位(会話全体)のログ取得、Application Insights連携による監視、トレース可能な記録によって、設計・デバッグ・改善がしやすくなっている。
  • エンタープライズ向け信頼性
    Microsoft Entra によるID管理、RBAC、ネットワーク分離、暗号化、コンテンツフィルタリングなど、企業のガバナンス要件への対応が組み込まれている
  • Azure ポータル(UI)または SDK(Python/C#/TypeScript)を使えば、モデルやツール、指示(Instructions)を宣言的に定義するだけでエージェントを構築可能。

クイックスタート

概要を確認したところで、クイックスタートをもとに、Azure AI Foundry Agent Serviceにてエージェントの作成を行います。

https://learn.microsoft.com/ja-jp/azure/ai-foundry/agents/quickstart?pivots=ai-foundry-portal

クイックスタート通り、「エージェントを作成する」から作成を開始します。

プロジェクト、サブスクリプション、リソースグループ、リージョンなどを設定し、「作成する」を実行します。

プロジェクトの作成が完了すると、モデルのデプロイ画面が出てきましたので、合わせてデプロイもしておきます。
今回は、gpt-4o-miniをデプロイしてこの後のエージェント作成に使用していきます。

エージェントの作成

エージェントについては、APIで作成もできますが、今回はAzure AI Foundryの画面を使って作成してみます。
エージェントの構成は以下の通りにします。

Web検索エージェントの作成

まずは「新しいエージェント」からエージェントを作成します。
名前などは以下のように設定しました。

  • エージェント名
    web-searchh-agent
  • エージェントの説明
    ユーザーの質問を基にBing Search をしようしてWeb検索を実施する

エージェントの作成が加療しましたら、ナレッジとして、Bing searchを設定します。
作成したエージェントを選択し、右側のメニューから、「ナレッジの追加 > Bing検索を使用したグラウンド」を選択します。
※Grounding with Bing Searchは事前にデプロイしておく必要があります。

これで、Web検索エージェントの作成は完了です。

社員情報検索エージェント

社員情報検索エージェントの作成方法は、Web検索エージェントと同じです。
社員情報については今回、ダミーの情報をいくつかPDFファイルで用意しました。


そのため、ナレッジの部分だけ、Web検索ではなく、ファイルを選択してこれらのデータを追加します。
※今回は、一時ファイルをナレッジにアップロードしていますが、AzureAISearchを利用しているのであれば、そちらにデータを移して利用するのが良さそうです。

以下のように、エージェントを設定しました。

  • エージェント名
    employee-search-agent
  • エージェントの説明
    ユーザーの質問を基に、社員情報をもとに回答を作成する。

社内規則検索エージェント

社内規則検索エージェントは、社員情報検索エージェントと同様の作り方になります。

以下のように、エージェントを設定しました。

  • エージェント名
    rule-search-agent
  • エージェントの説明
    ユーザーの質問を基に、社内規則情報をもとに回答を作成する。

オーケストレーションエージェント

最後に、上記エージェントを取りまとめるオーケストレーションエージェントを作成します。

こちらのも作成手順としては同じになりますが、エージェントの説明の部分に、各エージェントへハンドオフする指示を書きます。

以下のように、エージェントを設定しました。

  • エージェント名
    orchestration-agent
  • エージェントの説明
    ユーザーの質問を基に、Web検索が必要であれば、web-searchh-agentに社員情報が必要であればemployee-search-agentに社内規則情報が必要であれば、rule-search-agentにハンドオフしてください。

エージェント間の連携

オーケストレーションエージェントは、質問に応じて各エージェントへクエリーを渡す必要があります。
その設定については、「接続されたエージェント」で実施します。

接続するエージェントについて設定します。
エージェント名:接続先のエージェント
エージェントをアクティブ化する手順の詳細:エージェントに移譲する際の条件を記載

それぞれ以下のように作成しました。

エージェント 一意の名前 エージェントをアクティブ化する手順の詳細
employee-search-agent employee_search ユーザのクエリーで、社員情報に関する内容であれば、employee-search-agentへハンドオフする。
rule-search-agent rule_search ユーザのクエリーで、社員規則に関する内容であれば、rule-search-agentへハンドオフする。
web-search-agent web_search ユーザのクエリーで、Web検索が必要な内容であればあれば、web-search-agentへハンドオフする。

以下のように、オーケストレーションエージェントも対して、3つの接続されたエージェントを設定します。

これで設定は完了です。

実行結果

オーケストレーションエージェントの「プレイグラウンドで試す」から結果を確認します。

質問

Web検索を行い2025年8月23日の大阪の天気を教えてください。

実行結果は以下のようになりました。
Web検索エージェントにアクセスし、検索を実行できているのがわかります。

実行情報のついても表示することができます。
クエリーに対して臨んだ回答が得られない場合は、実行情報を確認して、どこのエージェントでうまくいっていないかを確認することができます。

社員情報と社内規則についても確認します。

問題なく、登録したナレッジから回答を生成することができました。

このように、Azure AI Foundry Agent Serviceを使用すれば、GUI上でも簡単なマルチエージェントの作成を行うことができます。

まとめ

Azure AI Foundry Agent Serviceでのエージェントの作り方、マルチエージェントの作り方を確認しました。
ナレッジについては、AzureAISearchを使用できるので、マルチエージェントを用いたRAGを簡単に作成できそうできそうです。

今回はGUI上での作成を試しましたが、コードでも作成実行が可能ですので、作成したアプリに組み込むこともできそうです。
こちらについてもまた試してみようと思います。

Discussion