【Microsoft Azure】AI Foundry を活用してお手軽エージェントを作ってみる Part2

(この記事はPart2です。もしよろしければPart1からご覧くださいませ。)
こんにちは、MS開発部の渋谷です。
昨今AIエージェントという言葉が広まりつつありますが、エージェントの試作やPoCどまりになっていることはありませんか?
最近、生成AIのプロトタイプを作るのは、驚くほど簡単になりました。しかし、多くの企業が「さあ、これを本格的に使おう!」と思った瞬間に、大きな壁にぶつかります。それが「本番環境への展開」です。あちこちのサービスをその場しのぎでつなぎ合わせるような「手作り」の開発スタイルでは、企業の厳しい要求(例えば、たくさんの人が同時に使えるか、会社のルールを守れるか、セキュリティは万全か)をクリアするのは至難の業です。
この大きな課題に対する答えの1つが Azure AI Foundry です。そのゴールは、アイデアが生まれてから、実際にみんなが使えるようになり、その後も安定して動き続けるまで、AIアプリの一生をすべて一つの場所で面倒見ることです。モデル、ツール、データ、そして会社のルール(ガバナンス)を全部まとめて、チームが安全に、そして大規模にAIアプリを作って、展開して、管理できるように設計されています。
この記事(Part2)では、、AI FoundryをつかってAIエージェントを作成する方法について解説します。
Azure AI Foundry Agent Service について
単なるチャットボットの時代は終わりを告げ、AIは新たなパラダイムへと移行しています。それは、目標達成のために自ら意思決定し、ツールを呼び出し、ワークフローに参加するAIエージェントの登場です 。これは、単に質問に答えるだけでなく、複雑なビジネスタスクを自動化する能力を意味します 。この次世代のデジタルワーカーを構築、展開、そして大規模にスケールさせるために設計されたフルマネージドサービスが、Azure AI Foundry Agent Serviceです 。Agent Serviceの核心的な価値は、インフラ管理、オーケストレーション、状態管理、セキュリティ、可観測性といった、開発者が直面する困難で煩雑な業務を抽象化し、肩代わりすることにあります 。これにより、開発者はエージェントの知能とビジネス価値の創造という、本来注力すべき業務に集中できます。
Agent Service のコンポーネント
Agent Serviceで構築されるエージェントは、3つの核となるコンポーネントで構成されています。
- モデル (LLM): エージェントの思考と意思決定を司る「頭脳」です。複雑な推論にはGPT-4o、効率性を求めるならLlamaなど、Foundryの広範なモデルカタログからタスクに最適なモデルを選択できる点が強みです。
- 指示 (Instructions): エージェントの目標、人格、制約、行動規範を定義する自然言語の「設計図」です。これにより、エージェントの振る舞いを細かく制御します 。
- ツール (Tools): エージェントが外部世界を認識し、行動するための「手足」です。ナレッジを検索したり、特定のアクションを実行したりする関数群がこれにあたります 。

Agent Serviceが開発者から抽象化してくれる運用上の複雑さは、以下の通りです。
- ツールオーケストレーション: 開発者が手動でオーケストレーションコードを書くことなく、ツール呼び出しのサーバーサイド実行、リトライ、ロギングをサービスが自動で管理します 。
- 状態管理 (スレッド): 対話の履歴を構造化された「スレッド」として永続化し、管理します。これにより、デバッグ、トレーニングデータの収集、UI構築が容易になり、長期間にわたるステートフルな対話を実現します 。
- 信頼性と安全性: Microsoft Entra IDによるID管理、コンテンツフィルター、ネットワーク分離といったエンタープライズ級のセキュリティ機能が組み込まれており、エージェントは設計段階から安全かつ信頼性の高いものとなります 。
- 可観測性: 全てのステップ、メッセージ、ツール呼び出しが組み込みでトレース・ログ記録され、Application Insightsと統合されます。これにより、エージェントの思考プロセスを詳細に追跡し、継続的な改善を促進します 。
ツールについて
エージェントに真の能力を与えるには、外部システムと連携するための「ツール」と、事実に基づいた応答をするための「ナレッジ」が不可欠です。
- OpenAPI連携: Agent Serviceの最も強力な特徴の一つが、OpenAPI 3.0仕様を提供するだけで、あらゆるREST APIをエージェントのツールとして統合できる点です 。これにより、既存の社内システムや外部サービスを、標準化された方法でエージェントに接続できます。
- Azure Functions連携: エージェントはサーバーレスコンピューティング基盤であるAzure Functionsをトリガーできます。堅牢なイベント駆動型実行のために、ストレージキューを介した非同期パターンが推奨されます 。
- Azure AI Searchツール: 既存のAzure AI Searchインデックスに接続するための主要なツールです。AI Searchリソースへの接続を作成し、それをエージェントのツールとして追加するだけで、強力な検索能力をエージェントに付与できます 。
他にも、AI FoundryのUIから連携できるツールが確認可能です。


マルチエージェントシステムの構築
現実世界の複雑なワークフローは、一人の万能な専門家ではなく、専門家チームによって遂行されます。マルチエージェントシステムは、この考え方をAIの世界で実現するもので、大きな問題を専門エージェントが分担して解決します 。
Agent Serviceにおけるマルチエージェント連携の主要なメカニズムが「Connected Agents」です 。このパターンでは、「メインエージェント」または「オーケストレーターエージェント」が、他の専門エージェントをツールのように扱います。メインエージェントは、ユーザーの要求を自然言語で理解し、適切な専門サブエージェント(例:「営業支援エージェント」が「市場調査エージェント」や「財務分析エージェント」にタスクを委任する)にタスクをインテリジェントに委譲します 。このアプローチの革新性は、従来必要だった複雑なルーティングロジックのコーディングを不要にする点にあります。開発者は、各サブエージェントが何をするのかを自然言語で記述し、それらをメインエージェントに接続するだけで、LLM自身がタスクの委譲というオーケストレーションを担います。
これにより、従来は高度なコーディングスキルを要したマルチエージェントシステムの構築が、よりシンプルな「設計」の問題へと変わり、そのハードルは劇的に下がります。これは、洗練された協調型AIシステムの構築を、より広範な開発者にとってアクセス可能なものにする強力な抽象化です。
実際にエージェントを作ってみる
1.AI Foundryへのサインイン
AI Foundryの作成が完了したらAI Foundryポータルに移動します。おそらく、以下のような画面が表示されていると思います。

画面左の「エージェント」という項目をクリックしてエージェントの作成画面に移ります。
2.まずはシングルエージェントを作ってみる
何もエージェントがない場合は、Foundryモデルのデプロイから実施する必要があるので、画面の指示に従ってFoundryモデルをデプロイしてください。次に画面の「+新しいエージェント」をクリックすると、画面右にエージェントのセットアップ画面が出てきます。

ここの画面の「手順」に具体的にAgentにしてもらいたいことの手続きを記入します。今回はサンプルで
# 役割 (Role) あなたは、IT業界の動向に精通したシニア・マーケットアナリストです。あなたの任務は、指定されたテーマに関する最新の市場情報を収集し、要点をまとめたレポートを作成することです。 # 指示 (Instruction) ユーザーから与えられたテーマについて、信頼できる情報源(大手ニュースメディア、公的機関のレポート、企業のプレスリリースなど)を基にウェブで調査を行ってください。 以下の構成要素を含む市場調査レポートを出力してください。 1. **市場概要:** 市場の現状と全体的なトレンドを3〜4文で要約。 2. **主要プレイヤー:** 市場をリードする主要な企業やサービスを3〜5社リストアップ。 3. **市場規模と成長予測:** 現在の市場規模と、今後3〜5年の成長に関する予測。具体的な数値を引用すること。 4. **最新の技術動向:** 市場に影響を与えている最新の技術やイノベーションについて解説。 5. **課題と機会:** 市場が直面している主な課題と、ビジネスチャンスとなりうる機会をそれぞれ2つずつ挙げる。 # 制約 (Constraint) – 個人的な意見や憶測は含めず、客観的な事実に基づいて記述してください。 – 情報源の鮮度を重視し、できるだけ過去1年以内の情報を参照してください。 – 出力は日本語のマークダウン形式で行ってください。と入力してみます。保存が完了したら、これで最低限のエージェント作成は完了です!他にも、ナレッジやツールを追加することも可能ですが、今回はこの状態で画面右上の「プレイグラウンドで試す」をクリックしてください。
3.作成したエージェントをプレイグラウンドで試す
あとは、よく見慣れたチャット画面でエージェントの動作を確認するだけです。

ここで何か想定と異なる回答が出た場合は、即座に手順のプロンプトや他のパラメータやツールを調整することが可能です。プレイグラウンドを活用して高速なプロトタイピングをやっていきましょう。
4.マルチエージェントに挑戦
ここまではいわゆるシングルエージェントで、従来のチャットプレイグラウンドとそこまで大きな違いはありませんでした。次に、マルチエージェントの構築にチャレンジしてみます。従来、マルチエージェントのシステムを構築する際は、エージェントフレームワークを活用して、プログラムでエージェントのふるまいやオーケストレーションを実装していましたが、Agent ServiceのConnected Agentを使うことで自然言語でエージェント間の連携を実現したシステムを構築することが可能となりました。
もう一度新しいエージェントを作成する画面に戻り、新しくエージェントを作成してください。
今回は「plan」「researcher」「coordinator」3つのエージェントを作成し、「plan」エージェントが残りのエージェントのオーケストレーションを担当するようにしてみます。
それぞれの手順は次のようにしてください。
Plan
# 役割 (Role) あなたは、顧客の心に寄り添う経験豊富な旅行コンシェルジュです。顧客の漠然とした要望から、旅行のコンセプトを明確にし、魅力的な旅行先の候補を提案するのを得意とします。 # 指示 (Instruction) 1. ユーザーからの旅行に関する要望(予算、時期、興味など)を受け取ります。 2. 要望に基づき、コンセプトが異なる旅行先の候補地を3つ提案してください。 3. それぞれの候補地について、「食」「観光」「体験」の観点から魅力を簡潔に説明し、ユーザーに1つ選んでもらいます。 4. 最終的にユーザーが選択した旅行先の名前を、次の「リサーチャー」エージェントに渡してください。 5.リサーチャーから得た回答はコーディネーターに渡して最終成果物の作成を依頼してください # 制約 (Constraint) – 常に丁寧で親しみやすい言葉遣いを心がけてください。 – 提案する際は、なぜその場所がユーザーにおすすめなのか、理由を明確にしてください。researcher
# 役割 (Role) あなたは、航空券と宿泊施設の検索に特化したリサーチの専門家です。膨大なデータの中から、最適な選択肢を素早く見つけ出す能力があります。 # 指示 (Instruction) 1. 「トラベル・プランナー」エージェントから渡された旅行先の情報を受け取ります。 2. 指定された旅行先について、以下の条件でフライトとホテルをウェブ検索してください。 – **フライト:** 1ヶ月後の週末(金曜出発、日曜帰国)を想定した往復航空券の最安値。 – **ホテル:** 評価が4.0以上(5段階評価)のホテルを3件。それぞれの1泊あたりの参考価格と特徴(例:「駅近」「朝食が人気」など)を記載。 # 制約 (Constraint) – 料金はあくまで参考価格として提示してください。 – 検索結果は簡潔にまとめてください。coordinator
# 役割 (Role) あなたは、旅の全てをコーディネートする旅程作成のプロフェッショナルです。断片的な情報を組み合わせ、誰もがワクワクするような具体的な行動計画を作成します。 # 指示 (Instruction) 1. 「トラベル・プランナー」からの目的地情報と、「リサーチャー」からのフライト・ホテル情報を受け取ります。 2. それらの情報を基に、2泊3日の具体的な旅程表を作成してください。 3. 旅程には、観光スポット、おすすめのレストランやカフェを2〜3箇所含めてください。 4. 最終的なアウトプットは、時間軸に沿った分かりやすいマークダウン形式の旅程表とします。 # 制約 (Constraint) – 現実的に実行可能なプランを作成してください。移動時間も考慮に入れること。 – ユーザーが旅のイメージを掴めるよう、魅力的な表現を心がけてください。

最後に忘れずに「接続されたエージェント」の追加を実施してください。
5.再びプレイグラウンドで試す
実際にエージェントと会話してみると、途中で他のエージェントを呼び出している様子が見えると思います。これがConnected Agentの動作になります。

最終的なエージェント実行履歴も確認すると、しっかりConnected Agentが呼び出されていることが確認できました。

まとめ
今回実装したエージェントは最も基本的な部分でした。例えば、旅行のPlanエージェントの場合、旅行先のリサーチをするときにWeb検索を実施するツールを入れたり、最後の旅行プランをメールやチャットでお知らせしたりするといった追加実装が考えられます。一方で、マルチエージェントの開発を限りなくコードを書くことなく高速にプロトタイプできて、なおかつ本番への投入も考えられたマネージドなAI開発ツールという特徴も少しは実感いただければ幸いです。
Azure AI Foundry Agent Serviceは、エージェントのコンセプトを、スケーラブルで観測可能、かつガバナンスの効いたエンタープライズ向けの本番デプロイメントへと移行させるための、最も迅速かつ安全な道筋を提供します。このサービスの真の力は、開発者がビジネス価値の提供に集中できるよう、運用上の複雑さを徹底的に抽象化している点にあります。
Azure AI Foundryポータルにアクセスし、テンプレートと統合ツールを活用して、このプラットフォームがもたらす加速をぜひ自身で体験してみてください。
以上、最後までご愛読いただき
ありがとうございました。
お問い合わせは、
以下のフォームへご連絡ください。