このクイック スタートでは、Foundry モデルを呼び出し、Foundry Agent Service で Foundry ツールを使用するコンテナー化された AI エージェントをデプロイします。 サンプル エージェントでは、Web 検索と必要に応じてモデル コンテキスト プロトコル (MCP) ツールを使用して質問に回答します。 最終的には、Foundry プレイグラウンドを介して対話できる実行中のホスト型エージェントが用意されています。 使用を開始するには、お好みのデプロイ方法を選択します。
メモ
ランタイム動作: ホストされるエージェントは、スケールからゼロまでのコンピューティングを使用します。 アイドル状態のコンピューティングは、約 15 分の非アクティブ状態の後にプロビジョニング解除され、次の要求で自動的に復元され、予測可能なコールド スタートが発生します。 セッションはステートフルです。各セッションには永続的なファイルシステムがあり、最大 30 日間保持できます。
このクイック スタートでは、次の操作を行います。
- Foundry ツールを使用してエージェント サンプル プロジェクトを設定する
- エージェントをローカルでテストする
- Foundry エージェント サービスへのデプロイ
- プレイグラウンドでエージェントと対話する
- リソースのクリーンアップ
前提 条件
開始する前に、次のものが必要です。
- Azure サブスクリプション - 無料で作成します
- (省略可能) あなたが使用したいMCPツールがある場合は。
- Python 3.10 以降
- Azure Developer CLI バージョン 1.24.0 以降
メモ
現在、ホストされているエージェントはプレビュー段階です。
必要なアクセス許可
ホストされたエージェントを作成してデプロイするには、プロジェクトの範囲でAzureのAIプロジェクトマネージャーが必要です。 このロールには、エージェントを作成するためのデータ プレーンのアクセス許可と、プラットフォームで作成されたエージェント ID に Azure AI ユーザー ロールを割り当てる機能の両方が含まれます。 実行時にモデルやアーティファクトにアクセスするには、プロジェクト内の AzureのAIユーザーとしてのエージェントの識別情報が必要です。
azd または VS Code 拡張機能を使用する場合、ツールは次のようなほとんどの RBAC 割り当てを自動的に処理します。
Foundry Project のマネージド ID に、使用するAzure Container Registryに対する ACR プル ロールがあることを確認します。 所有者または "ユーザー アクセス管理者" アクセス権を持っている場合は、ツール azd/vscode でもこの割り当てを行うことができます。 プラットフォームで作成されたエージェント ID の Azure AI ユーザー(ランタイムモデルとツールアクセスのため)
手順 1: サンプル プロジェクトを設定する
警告
このドキュメントは、新しいバックエンドの Hosted Agents を対象としており、azd ai agent バージョン 0.1.27-preview 以降が必要です。 Azure Container Appsを使用するレガシ エクスペリエンスについては、引き続き 0.1.25-preview を使用してください。
Azure Developer CLI エージェント拡張機能をインストールし、新しいホステッド エージェント プロジェクトを初期化します。
Azure Developer CLI の
ai agent拡張機能をインストールします。azd ext install azure.ai.agents拡張機能がインストールされていることを確認するには、次を実行します。
azd ext list空のディレクトリで新しいホステッド エージェント プロジェクトを初期化します。
azd ai agent init対話型フローでは、次の構成について説明します。
- Language — サンプル コードを使用するプログラミング言語 (C# または Python) を選択します。
- エージェント テンプレート - 開始するサンプルを選択します。
- Model Configuration - Foundry に新しいモデルをデプロイする場合、または既存の Foundry Projectの既存のモデルを使用する場合に選択します。
- Azure サブスクリプション - Foundry リソースを作成するサブスクリプションを選択します。
- 場所 - リソースのリージョンを選択します。
- モデル SKU — リージョンとサブスクリプションで使用可能な SKU を選択します。
- デプロイ名 - モデル デプロイの名前を入力します。
- コンテナー サイズ — CPU とメモリの割り当てを選択するか、既定値をそのまま使用します。
重要
ツールでサンプルを選択し、MCP サーバーを使用していない場合は、
agent.yamlファイル内の次の行をコメント アウトまたは削除します。- name: AZURE_AI_PROJECT_TOOL_CONNECTION_ID value: <CONNECTION_ID_PLACEHOLDER>ヒント
CI/CD パイプラインや SSH セッションなどの非対話型環境で実行している場合は、
--no-promptと共にazd ai agent initフラグを使用します。 また、対話型プロンプトに応答するのではなく、必要なすべての値をコマンド ライン フラグとして指定する必要があります。必要なAzure リソースをプロビジョニングします。
メモ
リソース のプロビジョニングには、Azure サブスクリプションContributor アクセス権が必要です。
azd provisionこのコマンドには数分かかり、次のリソースが作成されます。
リソース 目的 コスト リソース グループ 関連するすべてのリソースを同じ領域に整理します コストなし モデルの展開 エージェントによって使用されるモデル Foundry の価格を参照してください Foundry プロジェクト エージェントをホストし、AI 機能を提供する 使用量に基づく; Foundry pricingを参照してください Azure Container Registry エージェント コンテナー イメージを格納します Basic レベル。ACR の価格を参照してください Log Analytics ワークスペース すべてのログ データを 1 か所で管理する 直接コストはかからなくなります。 Log Analytics コスト を参照してください。 Application Insights エージェントのパフォーマンスとログを監視する 従量制であり、Azure Monitor の価格を参照してください マネージド ID Azure サービスに対してエージェントを認証します コストなし ヒント
このクイック スタートが完了したら、
azd downを実行してリソースを削除し、料金の発生を停止します。
手順 2: エージェントをローカルでテストする
デプロイする前に、エージェントがローカルで動作することを確認します。
エージェントをローカルで起動します。
azd ai agent runこのコマンドは、環境を自動的に設定し、依存関係をインストールして、エージェントを起動します。
startupCommandで定義されているazure.yamlを使用してエージェントを起動します。メモ
プレビュー パッケージは、セットアップ中に pip 依存関係のバージョン競合の警告を生成できます。 これらの警告は非ブロッキングです。エージェントは起動し、それらの警告に対して正しく応答します。
エージェントの起動に失敗した場合は、次の一般的な問題を確認してください。
エラー ソリューション AuthenticationErrorまたはDefaultAzureCredentialエラーazd auth logoutを実行し、azd auth loginしてセッションを更新します。ResourceNotFoundエンドポイント URL が Foundry ポータルの値と一致するかどうかを確認します。 DeploymentNotFoundBuild>Deployments でデプロイ名を確認します。 Connection refused他のプロセスでポート 8088 が使用されていないことを確認します。 別のターミナルで、ローカル エージェントにテスト メッセージを送信します。
Responses API を使用するエージェントの場合は、ペイロードとして文字列を送信できます。
azd ai agent invoke --local "What is Microsoft Foundry?"Invocations API を使用するエージェントの場合は、予想されるペイロードの
README.mdを確認します。 サンプルには通常、JSON ペイロードが必要ですが、そのサンプルのREADME.mdの内容を特定の例で確認します。エージェントからの応答が表示されます。
手順 3: Foundry エージェント サービスにデプロイする
手順 1 でインフラストラクチャを既にプロビジョニングしているため、エージェント コードをAzureにデプロイします。
azd deploy
エージェント コンテナーはリモートでビルドされるため、Docker Desktop はコンピューター上で必要ありません。
メモ
azd deploy コマンドは、Azure RBAC ロールをエージェントのエージェント ID に割り当てます。 このロールの割り当てには、プロビジョニングに必要な共同作成者ロールに加えて、サブスクリプションに対する所有者またはユーザー アクセス管理者のアクセス許可が必要です。
警告
ホストされているエージェントでは、デプロイ中に料金が発生します。 テストが完了したら、 リソースのクリーンアップ を完了してリソースを削除し、課金を停止します。
完了すると、出力には、エージェントプレイグラウンドへのリンクと、プログラムによってエージェントを呼び出すためのエンドポイントが表示されます。
Deploying services (azd deploy)
(✓) Done: Deploying service af-agent-with-foundry-tools
- Agent playground (portal): https://ai.azure.com/nextgen/.../build/agents/af-agent-with-foundry-tools/build?version=1
- Agent endpoint: https://ai-account-<name>.services.ai.azure.com/api/projects/<project>/agents/af-agent-with-foundry-tools/versions/1
重要
VS Code でプレリリース バージョンの Microsoft Foundry Toolkit 拡張機能と Foundry 拡張機能を使用していることを確認します。
VS Code 拡張機能ページで、Foundry Toolkit 拡張機能と Foundry 拡張機能を選択し、プレリリース バージョンに切り替えます。
手順 1: Foundry プロジェクトを作成する
VS Code の Microsoft Foundry Toolkit 拡張機能を使用して、新しい Microsoft Foundry Project リソースを作成します。
コマンド パレット (Ctrl + Shift + P) を開き、Microsoft Foundry: Create Project を選択します。
Azure サブスクリプションを選択します。
新しいリソース グループを作成するか、既存のリソース グループを選択します。
Foundry Project リソースの名前を入力します。
プロジェクトの作成が完了したら、次の手順に進み、モデルをデプロイします。
手順 2: モデルをデプロイする
VS Code の Microsoft Foundry Toolkit 拡張機能を使用して、Foundry にモデルをデプロイします。
コマンド パレット (Ctrl + Shift + P) を開き、Microsoft Foundry: Open Model Catalog を選択します。
モデル カタログを参照するか、gpt-4.1 を検索し、[ デプロイ ] ボタンを選択します。
モデルのデプロイ ページで、Microsoft Foundry にデプロイ ボタンを選択します。
モデルが正常にデプロイされたら、次の手順に進み、Hosted Agent プロジェクトを作成します
手順 3: ホステッド エージェント プロジェクトを作成する
VS Code の Microsoft Foundry Toolkit 拡張機能を使用して、新しいホステッド エージェント プロジェクトをスキャフォールディングします。
コマンド パレット (Ctrl + Shift + P) を開き、Microsoft Foundry: Create new Hosted Agent を選択します。
使用するフレームワークを選択します。
プログラミング言語 、Python、または C# を選択します。
[応答 API] または [API の呼び出し] を選択します。
使用するサンプル コードを選択します。
プロジェクト ファイルを保存するフォルダーを選択します。
ホストされるエージェントの名前を入力します。
新しい VS Code ウィンドウが起動し、新しいエージェント プロジェクト フォルダーがアクティブなワークスペースとして表示されます。
手順 4: 依存関係をインストールする
仮想環境を使用してプロジェクトの依存関係を分離することをお勧めします。
macOS/Linux:
python -m venv .venv
source .venv/bin/activate
Windows (PowerShell):
python -m venv .venv
.\.venv\Scripts\Activate.ps1
依存関係のインストール
pip を使用して必要なPythonの依存関係をインストールします。
pip install -r requirements.txt
必要なパッケージの一覧については、requirement.txt を参照してください。
手順 5: エージェントをローカルでテストする
デプロイする前に、エージェントを実行してテストします。
オプション 1: F5 キーを押す (推奨)
VS Code で F5 キーを押してデバッグを開始します。 または、VS Code デバッグ メニューを使用することもできます。
- [実行とデバッグ] ビューを開きます (Ctrl + Shift + D / Cmd + Shift + D)
- ドロップダウンから [Debug Local Workflow HTTP Server]\(ローカル ワークフロー HTTP サーバーのデバッグ\) を選択します
- 緑色の [デバッグの開始 ] ボタンをクリックします (または F5 キーを押します)
これにより、次の操作が行われます。
- デバッグを有効にして HTTP サーバーを起動する
- Foundry Toolkit Agent Inspector を開いて対話型テストを行う
- ブレークポイントを設定し、ワークフローを検査できるようにします
オプション 2: ターミナルで実行する
HTTP サーバーとして実行する (既定):
python main.py
これにより、 http://localhost:8088/でホストされるエージェントがローカルで開始されます。
PowerShell (Windows):
$body = @{
input = "I need a hotel in Seattle from 2025-03-15 to 2025-03-18, budget under `$200 per night"
stream = $false
} | ConvertTo-Json
Invoke-RestMethod -Uri http://localhost:8088/responses -Method Post -Body $body -ContentType "application/json"
Bash/curl (Linux/macOS):
curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
-d '{"input": "Find me hotels in Seattle for March 20-23, 2025 under $200 per night","stream":false}'
エージェントは、 get_available_hotels ツールを使用して、条件に一致する利用可能なホテルを検索します。
手順 6: Foundry Agent Service にデプロイする
VS Code から直接エージェントをデプロイします。
コマンド パレット (Ctrl + Shift + P) を開き、Microsoft Foundry: Deploy Hosted Agent を選択します。
[既定の ACR] を選択する
ホストされるエージェント コンテナーの CPU とメモリの構成を選択します。
左側のアイコンを選択して、Microsoft Foundry Toolkit エクスプローラーに切り替えます。 デプロイが完了すると、エージェント が [Hosted Agents (Preview)] ツリー ビュー サイドバーに表示されます。
エージェントを確認してテストする
デプロイが完了したら、エージェントが実行されていることを確認します。
エージェントの状態を確認する
エージェントの状態を確認して、実行中であることを確認します。
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
デプロイしたばかりのエージェントを選択する
詳細ページには、[コンテナーの詳細] セクションの下に [状態] が表示されます。
VS Code を使用してプレイグラウンドでテストする
Microsoft Foundry Toolkit for VS Code には、エージェントとチャットして対話するための統合されたプレイグラウンドが含まれています。
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
Playground オプションを選択し、メッセージを入力して送信してエージェントをテストします。
エージェントの状態を確認する
デプロイされたエージェントの状態を確認します。
azd ai agent show
出力をテーブル形式で表示するには:
azd ai agent show --output table
プロジェクトに複数のエージェント サービスがある場合は、位置引数としてエージェント名を指定します。
azd ai agent show <agent-name>
ヒント
<agent-name> セクションのazure.yaml ファイルでservices:を見つけます。
デプロイされたエージェントをテストする
前に使用したのと同じ invoke コマンドを使用して、 --local フラグを指定せずに、デプロイされたエージェントにテスト メッセージを送信します。
Responses API を使用するエージェントの場合は、ペイロードとして文字列を送信できます。
azd ai agent invoke <payload>
数秒後にエージェントからの応答が表示されます。
エージェント ログの表示
エージェントのライブ ログを監視します。
# Fetch recent container console logs
azd ai agent monitor
# Fetch the last N lines of console logs
azd ai agent monitor --tail 20
# Fetch system event logs (container start and stop events)
azd ai agent monitor --type system
# Stream session logs in real time
azd ai agent monitor --session <session-id> --follow
プロジェクトに複数のエージェント サービスがある場合は、位置引数としてエージェント名を指定します。
azd ai agent monitor <agent-name> --follow
メモ
プラットフォームは、Application Insights 接続文字列を環境変数としてエージェント コンテナーに自動的に挿入し、既定で OpenTelemetry トレースを有効にします。 分散トレース、要求、および依存関係を表示するには、 azd ai agent monitor を使用します。
Foundry プレイグラウンドでのテスト
Foundry ポータルでエージェントに移動します。
Foundry ポータルを開き、Azure アカウントでサインインします。
最近使用したプロジェクトの一覧からプロジェクトを選択するか、すべてのプロジェクトを選択して見つけます。
左側のナビゲーションで、[ ビルド ] を選択してメニューを展開し、[エージェント] を選択 します。
エージェントの一覧で、デプロイされたエージェントを見つけます (デプロイのエージェント名と一致します)。
エージェント名を選択して詳細ページを開き、上部のツール バー の [プレイグラウンドで開く ] を選択します。
チャット インターフェイスで、"What is Microsoft Foundry?" のようなテスト メッセージを入力し、Enter キーを押>。
エージェントが Web 検索結果からの情報で応答することを確認します。 エージェントが外部ソースに対してクエリを実行する場合、応答には数秒かかる場合があります。
ヒント
プレイグラウンドが読み込まれない場合、またはエージェントが応答しない場合は、前述の [コンテナーの詳細] ページを使用して、エージェントの状態が Started されていることを確認します。
リソースのクリーンアップ
料金を回避するには、完了したらリソースを削除します。
警告
このコマンドは、Foundry プロジェクト、モデルのデプロイ、Container Registry、Application Insights、およびホストされているエージェントなど、リソース グループ内のすべてのAzure リソースを完全に削除します。 この操作を元に戻すことはできません。 他のリソースを含む既存のリソース グループを使用している場合は、このクイックスタートで作成したリソースだけでなく、グループ内のすべてを削除 azd down 注意してください。
削除される内容をプレビューするには、 down コマンドを実行します。
azd down
完了すると、 azd 削除されるすべてのリソースが表示され、確認を求められます。 続行するには yes を選択するか、キャンセルする no を選択します。
クリーンアップ プロセスには約 2 ~ 5 分かかります。
警告
リソースを削除すると、Foundry プロジェクト、Container Registry、Application Insights、ホステッド エージェントなど、このクイック スタートで作成されたすべてのAzure リソースが完全に削除されます。 この操作を元に戻すことはできません。
リソースを削除するには、Azure ポータルを開き、リソース グループに移動して、含まれているすべてのリソースと共に削除します。
リソースが削除されたことを確認するには、Azure ポータルを開き、リソース グループに移動して、リソースが表示されなくなったかどうかを確認します。 リソース グループが空の場合は、削除することもできます。
トラブルシューティング
問題が発生した場合は、一般的な問題に対して次の解決策を試してください。
| 問題 | ソリューション |
|---|---|
SubscriptionNotRegistered エラー |
プロバイダーの登録: az provider register --namespace Microsoft.CognitiveServices |
AuthorizationFailed プロビジョニング中 |
サブスクリプションまたはリソース グループの 共同作成者 ロールを要求します。 |
| エージェントがローカルで起動しない | 環境変数が設定されていることを確認し、 az login 実行して資格情報を更新します。 |
AcrPullUnauthorized エラー |
コンテナー レジストリ上のプロジェクトのマネージド ID に AcrPull ロールを付与します。 |
ホストされたエージェントの展開に関連するすべてのアクセス許可とロールの割り当ての詳細については、「 ホストされたエージェントのアクセス許可のリファレンス」を参照してください。
| 問題 | ソリューション |
|---|---|
azd ai agent init 失敗 |
azd versionを実行してバージョン 1.24.0 以降を確認します。
winget upgrade Microsoft.Azd (Windows) または brew upgrade azd (macOS) で更新します。 エージェント拡張機能が azd ext listと共にインストールされていることを確認します。 拡張機能のバージョンがazd ext upgrade azure.ai.agents0.1.27-preview以降の最新バージョンであることを確認してください。 |
エージェントのコンテナー ログを表示する
問題のトラブルシューティングを行うには、コンテナーのコンソールとシステム ログを確認できます。
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
ホストされているエージェントの [プレイグラウンド] タブを選択します
セッションの詳細で [ログ] セクションを選択します。
エージェントのセッション ファイルを表示する
ADC ベースのエージェントのホーム ディレクトリに格納されているすべてのファイルを表示できます
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
ホストされているエージェントの [プレイグラウンド] タブを選択します
セッションの詳細で [ファイル] セクションを選択します。
現在のフォルダー内のフォルダーをダウンロード、アップロード、作成できます。フォルダーをクリックするとフォルダーにステップ インし、上部のナビゲーション バーをクリックすると、そのフォルダーに戻ります。
| 問題 | ソリューション |
|---|---|
| 拡張機能が見つかりません | VS Code Marketplace から Microsoft Foundry Toolkit for VS Code 拡張機能をインストールします。 |
学習した内容
このクイック スタートでは、次の操作を行います。
- Foundry ツール (Web 検索と MCP) を使用してホストされるエージェント サンプルを設定する
- エージェントをローカルでテストしました
- Foundry エージェント サービスにデプロイ済み
- Foundry プレイグラウンドであなたのエージェントを検証しました
次の手順
最初のホステッド エージェントをデプロイしたので、次の方法を学習します。
追加の機能を使用してエージェントをカスタマイズします。
- MCP ツールを接続 してエージェント機能を拡張する
- 関数呼び出しを使用して カスタム ロジックを統合する
- ファイル検索を追加 してドキュメントを検索する
- コード インタープリターを使用してコードPython実行する
使用可能なツールの完全な一覧については、 ツール カタログ の記事を参照してください。