Foundry ToolkitのAgent Inspectorでエージェントを開発する
本記事では、Agent Inspectorを使用して、VS Code上で直接AIエージェントのデバッグ、視覚化、改善を行う方法を説明します。F5キーを押すだけで、完全なデバッガーサポートを備えたエージェントを起動し、ストリーミング応答をリアルタイムで確認したり、複数のエージェントがどのように連携するかを視覚的に把握したりできます。

利点
Agent Inspectorは、エージェント開発ワークフローに対して以下の機能を提供します。
| 利点 | 説明 |
|---|---|
| ワンクリックでのF5デバッグ | ブレークポイント、変数検査、ステップ実行デバッグを使用してエージェントを起動します。 |
| Copilotによる自動構成 | GitHub Copilotがエージェントのコード生成から、デバッグ、エンドポイント、環境の構成までを行います。 |
| 本番環境対応のコード | 生成されたコードはHosted Agent SDKを使用しており、Microsoft Foundryへのデプロイ準備が整っています。 |
| リアルタイムの視覚化 | エージェント間のストリーミング応答、ツール呼び出し、ワークフローグラフを確認できます。 |
| 迅速なコードナビゲーション | ワークフローノードをダブルクリックして、対応するコードへジャンプします。 |
前提条件
- Python 3.10以上 および VS Code Foundry Toolkit 拡張機能
- デバッグサポート用の Python 拡張機能 (VS Code用)(Pythonを使用する場合)
クイックスタート
Agent Inspectorをエージェントプロジェクトですぐに使い始めるには、以下のいずれかのオプションを選択してください。

オプション1: サンプルを構築する(推奨)
- アクティビティバーで Foundry Toolkit > Developer Tools > Build > Agent Inspector の順に選択します。
- Try a Sample を選択して、事前構成済みのプロジェクトを生成します。
- READMEに従って、サンプルエージェントを実行およびデバッグします。
オプション2: Copilotを使用して新しいエージェントを作成する
- アクティビティバーで Foundry Toolkit > Developer Tools > Build > Agent Inspector の順に選択します。
- create with Copilot を選択し、エージェントの要件を入力します。
- GitHub Copilotがエージェントコードを生成し、デバッグ設定を自動的に構成します。
- Copilotが出力した手順に従って、エージェントを実行およびデバッグします。
オプション3: 既存のエージェントで開始する
Microsoft Agent Framework SDKで構築済みのエージェントがある場合は、GitHub CopilotにAgent Inspector用のデバッグ設定を依頼してください。
-
エージェントのドロップダウンから AIAgentExpert を選択します。
-
プロンプトを入力します
Help me set up the debug environment for the workflow agent to use Foundry Toolkit Agent Inspector -
GitHub Copilotが、Agent Inspectorを使用してエージェントを実行・デバッグするために必要な構成ファイルと手順を生成します。
デバッグを手動で構成する
これらのファイルを .vscode フォルダーに追加してエージェントのデバッグをセットアップし、${file} をエージェントの entrypoint Pythonファイルパスに置き換えてください。
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Validate prerequisites",
"type": "aitk",
"command": "debug-check-prerequisites",
"args": { "portOccupancy": [5679, 8087] }
},
{
"label": "Run Agent Server",
"type": "shell",
"command": "${command:python.interpreterPath} -m debugpy --listen 127.0.0.1:5679 -m agentdev run ${file} --port 8087",
"isBackground": true,
"dependsOn": ["Validate prerequisites"],
"problemMatcher": {
"pattern": [{ "regexp": "^.*$", "file": 0, "location": 1, "message": 2 }],
"background": {
"activeOnStart": true,
"beginsPattern": ".*",
"endsPattern": "Application startup complete|running on"
}
}
},
{
"label": "Open Inspector",
"type": "shell",
"command": "echo '${input:openTestTool}'",
"presentation": { "reveal": "never" },
"dependsOn": ["Run Agent Server"]
},
{
"label": "Terminate All",
"command": "echo ${input:terminate}",
"type": "shell",
"problemMatcher": []
}
],
"inputs": [
{
"id": "openTestTool",
"type": "command",
"command": "ai-mlstudio.openTestTool",
"args": { "port": 8087 }
},
{
"id": "terminate",
"type": "command",
"command": "workbench.action.tasks.terminate",
"args": "terminateAll"
}
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Agent",
"type": "debugpy",
"request": "attach",
"connect": { "host": "localhost", "port": 5679 },
"preLaunchTask": "Open Inspector",
"postDebugTask": "Terminate All"
}
]
}
Inspectorを使用する
チャットプレイグラウンド
メッセージを送信してワークフローをトリガーし、実行結果をリアルタイムで確認します。 
ワークフローの視覚化
WorkflowAgent の場合、エージェント間のメッセージフローを含む実行グラフを表示できます。また、以下の操作が可能です。
- 各ノードを選択して、エージェントの入出力を確認する。
- ノードをダブルクリックして、該当コードに移動する。
- コードにブレークポイントを設定して実行を一時停止し、変数を検査する。

トラブルシューティング
| 問題 | 解決策 |
|---|---|
| APIエラー | Agent Frameworkは日々進化しています。ターミナルのエラーをコピーしてCopilotに貼り付け、修正案を取得してください。 |
| 接続失敗 | サーバーが期待されるポート(デフォルト: 8087)で実行されているか確認してください。 |
| ブレークポイントで止まらない | debugpy がインストールされていること、および launch.json のポートが一致していることを確認してください。 |
仕組み
F5キーを押すと、Inspectorは以下の動作を行います。
- エージェントサーバーの起動:
agentdevCLIがエージェントをポート8087のHTTPサーバーとしてラップし、ポート5679でdebugpyをアタッチします。 - エージェントの検出: UIが
/agentdev/entitiesから利用可能なエージェント/ワークフローを取得します。 - 実行のストリーミング: チャット入力が
/v1/responsesに送信され、リアルタイム視覚化のためにSSE経由でイベントがストリーミングされます。 - コードナビゲーションの有効化: ワークフローノードをダブルクリックすると、エディターで対応するソースファイルが開きます。
アーキテクチャの概要
agentdev CLIはローカルのTestToolServerを起動し、エージェントをポート8087でHTTPサーバーとしてラップします。Inspector UI(VS Code Webview)は、このサーバーとHTTPおよびWebSocketで通信し、エージェントの一覧取得、SSE応答のストリーミング、エディターでのコードナビゲーションを実行します。EventMapperはAgent FrameworkのイベントをOpenAI互換のSSE形式に変換し、Pythonデバッガー(debugpy)がポート5679にアタッチされてステップ実行デバッグを可能にします。エージェントまたはワークフローは、Agent Framework SDKを通じて run_stream() により実行されます。
