エージェントのテスト、デプロイ、統合
Tip
詳細については、「 テキストと画像 」タブを参照してください。
エージェントのテスト、デプロイ、発行は、開発から運用環境への移行において重要な手順です。 Microsoft Foundry には、エージェントの動作の検証、Foundry プロジェクトへのデプロイ、および外部のコンシューマーとアプリケーションが使用できる呼び出し可能なエンドポイントとしてのエージェントの発行に関する包括的な機能が用意されています。
エージェントのテスト戦略
徹底的なテストにより、エージェントはユーザーに到達する前に、さまざまなシナリオで確実に動作します。 Foundry ポータルと Visual Studio Code 拡張機能の両方で、対話型テスト用のプレイグラウンドが提供されます。
遊び場を効果的に使用する:
- 満足のいくパス テスト - エージェントが一般的な予期される要求を正しく処理するかどうかを確認します。
- エッジ ケース テスト - あいまいな入力、不完全な情報、および通常とは異なる要求を試して、エージェントが不確実性をどのように処理するかを明らかにします。
- 境界テスト - スコープ外の要求をテストして、エージェントが命令で定義されている境界を尊重することを確認します。
- 複数ターンの会話テスト - エージェントが複数の交換にわたってコンテキストを維持し、以前の応答に基づいて構築されていることを確認します。
- ツール呼び出しテスト - エージェントが適切な時間に適切なツールを呼び出し、結果を正しく組み込むことを確認します。
テスト結果を記録して改善を追跡し、回帰をキャッチします。
プロジェクトへのエージェントの配置
Microsoft Foundry では、ポータルまたは Visual Studio Code からのエージェントのデプロイがサポートされています。 配置すると、エージェント構成が Foundry プロジェクトに保存されるため、テストと反復処理が可能になります。
Foundry ポータルからのデプロイ
- Foundry ポータルでエージェントに移動する
- 構成とテスト結果が十分であることを確認する
- エージェントのページから [保存] を選択する
- バージョンと展開の設定を確認する
Visual Studio Codeからのデプロイ
- Foundry Toolkit でエージェントを開く
- [ Foundry に保存] を 選択して構成の変更をプッシュする
- ホストされているエージェントの場合は、開発者ツールで [+ビルド] メニューを開き、[Microsoft Foundry にデプロイ] を選択します
- デプロイ方法を選択:
- コード (ZIP Code Deploy) - ソース コードをパッケージ化し、コンテナー イメージなしで直接デプロイする
- コンテナー (BYOI) - Azure Container Registryの事前構築済みコンテナー イメージを使用してデプロイする
- モデルを選択して確認する
どちらの方法でも、チーム メンバーがアクセスしてテストできるプロジェクト ワークスペース内にエージェントが保持されます。
エンドポイントへのエージェントの公開
Microsoft Foundry でエージェントを作成すると、安定したエンドポイント、独自の Entra エージェント ID、およびエージェント ブループリントが自動的に付与されます。 発行とは、外部のコンシューマーとアプリケーション (Microsoft TeamsやMicrosoft 365 Copilotを含む) がそれを呼び出すことができるようにエージェントを配布することを指します。
各エージェントに含まれる内容
Foundry で作成されたすべてのエージェントには、次のものがプロビジョニングされます。
- 安定したエンドポイント - エージェントのバージョンを更新しても呼び出し URL が変わらない、運用対応のエンドポイント。
- Entra エージェント ID - プロジェクトの共有 ID とは別に、独自の RBAC スコープを持つ専用のMicrosoft Entra ID。
- 認証ポリシー - 組み込みのMicrosoft Entra ID認証。 呼び出し元には、エージェント リソースに対する Foundry ユーザー ロールが必要です。 API キー認証はサポートされていません。
Important
各エージェントは、専用の Entra ID を受け取ります。 アクセス許可は、プロジェクトの識別情報から自動的に転送されません。 エージェントがアクセスするすべてのリソースについて、エージェント ID に RBAC ロールを割り当てる必要があります。 この手順を省略すると、エージェントが発行されると、開発中に機能するツール呼び出しが承認エラーで失敗します。
Microsoft TeamsとMicrosoft 365 Copilotへの公開
Foundry ポータルから、エージェントを Microsoft Teams と Microsoft 365 Copilot に、再構築を必要とせず 1 つの手順で発行できます。 エージェントは、統合パイプラインを介して、ユーザーが既に作業しているアプリケーション内で利用可能になります。
エージェントのエンドポイント
エージェントは、Responses API プロトコルを使用して安定したエンドポイントを公開します。
https://<foundry-resource-name>.services.ai.azure.com/api/projects/<project-name>/agents/<agent-name>/endpoint/protocols/openai/responses
この URL は、新しいエージェント バージョンをロールアウトしても同じままであるため、ダウンストリーム コンシューマーは更新によって中断されません。
エンドポイントの確認
エージェントを作成して構成した後、エンドポイントが動作することを確認します。
アクセス トークンを取得します。
az account get-access-token --resource https://ai.azure.comエージェント エンドポイントを呼び出す:
curl -X POST \ "https://<foundry-resource-name>.services.ai.azure.com/api/projects/<project-name>/agents/<agent-name>/endpoint/protocols/openai/responses?api-version=2025-11-15-preview" \ -H "Authorization: ******" \ -H "Content-Type: application/json" \ -d '{"input":"Say hello"}'
403 Forbiddenを受け取った場合は、呼び出し元にエージェント リソースに対する Foundry ユーザー ロールがあることを確認します。
エージェントの更新
新しいエージェント バージョンをロールアウトするには:
- 開発環境に変更を加え、徹底的にテストする
- Foundry ポータルで、更新されたエージェント構成を保存します
- エンドポイントはトラフィックを新しいバージョンに自動的にルーティングします
エンドポイント URL は変更されないため、既存の統合は引き続き機能します。
統合コードの生成
Foundry Toolkit for VS Code では、発行されたエージェントにアプリケーションを接続するためのサンプル統合コードが生成されます。
- [マイ リソース] ビューでデプロイしたエージェントを選択する
- コードの表示を選択してください。
- フォルダーを選択する
- この拡張機能は、認証、接続、メッセージの送信、応答の処理のためのコードを生成します
統合パターン
公開されたエージェントを統合するための一般的なパターンは次のとおりです。
- Web アプリケーション - Responses API エンドポイントにユーザー メッセージを送信し、UI に応答を表示します。 複数ターンの対話のために、クライアント側で会話履歴を保存します。
- API 駆動型ワークフロー - イベントまたはスケジュールによってトリガーされるバックエンド サービスからエージェント エンドポイントを呼び出します。 応答をプログラムで処理して、ダウンストリーム アクションを推進します。
- チャットボット インターフェイス - ユーザー セッションを会話にマップします。 エンドポイントを介してリアルタイムのメッセージ交換を処理します。
- バックグラウンド自動化 - 定期的なタスクのエージェント呼び出しをスケジュールします。 システム データをエージェントにフィードし、出力を処理してビジネス システムを更新します。
実稼働に関する考慮事項
運用環境でエージェントを実行するには、いくつかの運用領域に注意する必要があります。
- 監視 - Application Insights 統合を使用して、応答時間、ツール呼び出しの成功率、エラー パターン、トークン消費量を追跡します。
- セキュリティ - 認証にマネージド ID を使用し、最小特権アクセスを適用し、データ保持ポリシーを定義します。
- コスト管理 - トークンの使用状況を監視し、応答の長さの制限を設定し、予期しないスパイクを防ぐためにレート制限を実装します。
- エラー処理 - 一時的な障害に対して指数バックオフを使用して再試行ロジックを実装します。 バックオフ戦略を使用してレート制限を処理します。 エージェントに送信する前に入力を検証します。
- 会話管理 - エージェント エンドポイントは現在、ステートレスな Responses API のみをサポートしています。 会話履歴をクライアントに保存して、複数ターンのエクスペリエンスを提供します。