agent-framework-builder-dotnet について
Microsoft Agent Framework を使った .NET アプリ開発向けのコーディングスキルです。コーディングエージェントが実装パターンを選び、関連資料を参照し、現行 API に基づいて検証する手順を示します。
主な機能
- 01フレームワークパターンの選択
- 02関連リファレンスの参照
- 03現行 API の検証
- 04実装とテストの手順
- 05統合とデプロイのガイダンス
活用シーン
- 01Agent Framework アプリの開始
- 02.NET ソリューションへのエージェントやワークフローの追加
- 03プロバイダー、プロトコル、ホスティングの選定
- 04実行時の挙動や品質低下の調査
MCP 対応
最新のドキュメントやコードサンプルを調べるため、Microsoft Learn MCP Server を Streamable HTTP ソースとして設定する方法を案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ agent-framework --skill agent-framework-builder-dotnetインストール後、Claude Code で/agent-framework-builder-dotnetを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/agent-builder.mddeclarative.mdevaluation.mdextensibility.mdharness-agent-builder.mdhosting-and-deployment.mdintegrations.mdobservability.mdworkflow-builder.md詳細
.NET 用 Agent Framework ビルダー
このスキルを、.NET Agent Framework アプリケーション開発の入り口として使用してください。必要な動作を維持できる最小のフレームワークパターンを選び、関連する参照だけを読み、記憶に頼ったプレビュー時代の構文ではなく、現在の API に照らして検証してください。
ワークフロー
- 既存のソリューションを確認します。対象フレームワーク、SDK バージョン、パッケージ管理方式(一元管理かプロジェクト単位か)、インストール済みの
Microsoft.Agents.AI.*パッケージとそのバージョンを調べます。 - 以下の表から、最もシンプルで要件に合った方法を選びます。
- 実装に大きく影響する場合に限り、設計上の疑問点を解決します。
- 選択した方法に対応するリンク先の参照だけを読みます。
- 一貫性のある最小限の変更を実装し、それを検証できる最小範囲のテストを実行します。
コア抽象化
- チャットクライアントは
Microsoft.Extensions.AI.IChatClientです。モデルプロバイダーにメッセージとオプションを送信し、チャット応答またはストリーミング更新を返します。Agent Framework は、これらを再定義するのではなく、ChatMessage、AIFunction、ChatOptionsなどのMicrosoft.Extensions.AIの型を基盤として構築されています。 - エージェントは
AIAgentを継承し、RunAsync(...)とRunStreamingAsync(...)を公開します。標準実装のChatClientAgentは、IChatClientを指示、ツール、コンテキストプロバイダー、チャット履歴プロバイダー、セッション処理とともにラップします。プロバイダーパッケージでは通常、AsAIAgent(...)拡張メソッドを使ってエージェントを作成します。 - ハーネスエージェントは、
Microsoft.Agents.AI.HarnessのHarnessAgentです。定められた一連のコンテキストプロバイダーとエージェントデコレーターでChatClientAgentをラップしますが、これもAIAgentです。 - ワークフロー(
Microsoft.Agents.AI.Workflows)は、実行器とエージェント間の明示的な実行パスを調整します。AgentWorkflowBuilderは、AIAgentの参加者を使った標準的な逐次、並行、引き継ぎ、グループチャット、Magentic パターンを提供します。呼び出し元がエージェントの契約を必要とする場合、ワークフローをAIAgentとして公開できます。
ユーザーインターフェイスの選択肢
- DevUI(
Microsoft.Agents.AI.DevUI)は、エージェントやワークフローと対話するためのローカル開発、テスト、デバッグツールです。DevUI を本番環境のアプリケーションホストとして実行またはデプロイしないでください。 - AG-UI は、エージェントまたはワークフローを AG-UI 対応のフロントエンドに接続するための、アプリケーション向けプロトコル統合です。ストリーミング UI イベント、ツールとの対話、共有状態、中断、または再開の動作が製品で必要な場合は、
Microsoft.Agents.AI.Hosting.AGUI.AspNetCore(サーバー)を使用してください。
ビルドパスを選択する
| パス | 選択する場面 | 詳細 |
|---|---|---|
| プレーンエージェント | 1 つのモデル駆動型アクターがタスクを担い、ツール、セッション、コンテキスト、ミドルウェアで十分な場合。 | プレーンエージェント |
| ハーネスエージェント | todo、モード、メモリ、承認、スキル、オプションのファイルアクセス、バックグラウンドエージェント、シェル、コンパクション、または繰り返し実行を備えた動作ループが製品に必要な場合。 | ハーネスエージェント |
| ワークフローまたはオーケストレーション | 明示的なステージ、ルーティング、並列処理、複数の参加者、チェックポイント、人間による入力、中間出力が正確性の要となる場合。 | ワークフロー |
| 宣言的定義 | サポート対象のエージェントまたはワークフローにおいて、YAML を信頼できる情報源とする場合。 | 宣言的定義 |
| 評価 | 期待される出力、ツール呼び出し、失敗した実行、または品質の低下が主な懸念事項である場合。 | 評価 |
| 可観測性 | トレース、ログ、メトリクスを使って実行時の動作を診断または監視する場合。 | 可観測性 |
| 拡張性 | アプリケーションにカスタムチャットクライアント、エージェント、コンテキストプロバイダー、チャット履歴プロバイダー、またはミドルウェアが必要な場合。 | 拡張性 |
| 統合 | プロバイダー、プロトコル、メモリストア、ツールサービス、UI、またはプラットフォーム拡張を選択または接続する場合。 | 統合 |
| ホスティングとデプロイ | Agent Framework のコードにプロセスホスト、プロトコルエンドポイント、ID コントラクト、またはデプロイ形態が必要な場合。 | ホスティングとデプロイ |
デフォルト
- 現在サポートされている .NET リリースを対象にしてください。パッケージは現在および直近の LTS .NET バージョンをマルチターゲットしており、一部は .NET Standard 2.0 と .NET Framework 4.7.2 もサポートしています。プロジェクトで SDK が固定されていない限り、最新のサポート対象 SDK を使用してください。
Microsoft.Agents.AIとプロバイダーパッケージ 1 つなど、アプリケーションに必要な最小限のパッケージだけを追加し、 すべてのMicrosoft.Agents.AI.*パッケージを追加するのは避けてください。- パッケージごとに成熟度は異なります。リリース済みのものもあれば、
-previewまたは-alphaのものもあります。依存する前に パッケージの現在のステータスを確認し、必要な場合に限りプレリリースバージョンを許可してください。 - 一部の API には
[Experimental]のマークが付き、診断 ID(例:MAAI001)が通知されます。機能が変更される可能性を確認したうえで、 API を使用するコードの範囲に限定し、意図的に診断を抑制してください。 - Agent Framework が設定を代わりに読み込むことはありません。
IConfiguration、ユーザーシークレット、または環境変数からエンドポイント、 モデル、キーを読み込み、それらをクライアントに明示的に渡してください。API キーよりもDefaultAzureCredentialなどのトークン資格情報を優先し、 シークレットをハードコードしないでください。 DefaultAzureCredentialは複数の資格情報ソースを確認するため、本番環境では遅延とリスクが増加します。ホスティング ID が既知の場合 (例:マネージド ID)は、その特定の資格情報を使用してください。
最新のドキュメント参照
安定した判断や一般的なパターンには、ローカルのガイダンスを使用してください。プロバイダーの比較表、パッケージの成熟度、ホスト型ツール、デプロイの詳細、不慣れな API については、コードを生成する前に最新の情報源を確認してください。
リファレンスページでは、意図的に選択ルール、不変条件、分かりにくい注意点について説明しています。シグネチャやオプションの詳細には XML ドキュメントまたは API リファレンスページを使用し、エンドツーエンドの手順には Learn または保守されているサンプルを使用してください。
コーディングエージェントが MCP をサポートしている場合は、Microsoft Learn MCP Server を Streamable HTTP サーバーとして設定してください。
https://learn.microsoft.com/api/mcp
クライアントの設定については、Microsoft Learn MCP Server のセットアップを参照してください。このエンドポイントは MCP クライアント向けであり、ブラウザーで直接開くとエラーを返します。
microsoft_docs_searchを使用して Microsoft Learn を検索します。microsoft_docs_fetchを使用して関連ページを取得します。- 最新の実装例が必要な場合は、
microsoft_code_sample_searchを使用します。 - Learn MCP を利用できず、信頼できる
mslearnCLI がすでにインストールされている場合は、同等のコマンドを使用します。
| MCP ツール | プリインストール済みの CLI |
|---|---|
microsoft_docs_search(query="...") | mslearn search "..." |
microsoft_docs_fetch(url="...") | mslearn fetch "..." |
microsoft_code_sample_search(query="...", language="csharp") | mslearn code-search "..." --language csharp |
コーディングセッション中に、バージョンを固定していない CLI パッケージを取得して実行しないでください。意図的にインストールまたは更新する場合は、Microsoft Learn MCP/CLI の公式セットアップを使用してください。
正規の出発点: