Microsoft Agent Framework (MAF) は、.NET および Python で本番レベルの AI エージェントおよびマルチエージェント ワークフローを構築するためのオープンでマルチ言語対応のフレームワークです。
Microsoft Agent Framework は、エージェントをプロトタイプから本番環境へ移行するチームのために構築されています。Python と .NET 全体でエージェント システムを構築、オーケストレーション、および操作するための一貫した基盤を提供し、要件が進化するにつれてアーキテクチャの選択肢をオープンに保ちながら、Microsoft Foundry、Azure OpenAI、OpenAI、GitHub Copilot SDK など幅広いエコシステムをサポートし、ローカル開発とクラウド デプロイメントの両方のサンプルとホスティング パターンが含まれています。
Agent Framework の完全な紹介をご覧ください (30 分)
以下の場合、MAF は適切な選択肢です:
- 本番環境で実行することを想定したエージェントおよびワークフローを構築している
- 単一プロンプトまたはステートレスチャットループ以上のオーケストレーションが必要
- 順次実行、並行実行、ハンドオフ、グループ コラボレーションなどのグラフベースのパターンが必要
- 耐久性、再起動性、可観測性、ガバナンス、または人間参加型の制御を重視している
- アーキテクチャを大きく変更することなく進化できるようにプロバイダーの柔軟性が必要
新しい MAF 機能と実装パターンについては、公式ブログをご覧ください。
- Python および C#/.NET サポート:Python および C#/.NET 実装の両方に対する完全なフレームワーク サポートと一貫した API
- 複数のエージェント プロバイダー サポート:様々な LLM プロバイダーをサポートしており、継続的に追加されています
- ミドルウェア:リクエスト/レスポンス処理、例外処理、カスタム パイプラインのための柔軟なミドルウェア システム
- オーケストレーション パターンとワークフロー:順次実行、並行実行、ハンドオフ、グループ コラボレーション パターンをサポートするグラフベースのワークフローを使用してマルチエージェント システムを構築します。チェックポイント、ストリーミング、人間参加型、およびタイムトラベルが含まれます
- Foundry ホスト型エージェント (新規):わずか 2 行の追加コードで、Foundry ホスト型インフラストラクチャにエージェントをデプロイおよびホストします
- 可観測性:分散トレーシング、監視、デバッグのための組み込み OpenTelemetry 統合
- 宣言的なエージェント:YAML を使用してエージェントを定義し、セットアップとバージョン管理を高速化します
- エージェント スキル:ファイル、インラインコード、クラス ライブラリなど複数のソースからドメイン固有の知識ベースを構築し、エージェントが発見して使用できるようにします
- AF Labs:ベンチマーク、強化学習、研究イニシアティブを含む最先端機能の実験的パッケージ
- DevUI:エージェント開発、テスト、ワークフロー デバッグのためのインタラクティブな開発者 UI
Python
pip install agent-framework
# This will install all sub-packages, see `python/packages` for individual packages.
# It may take a minute on first install on Windows..NET
dotnet add package Microsoft.Agents.AI
# For Foundry integration (used in the .NET quickstart below):
dotnet add package Microsoft.Agents.AI.Foundry
dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity- 概要 - フレームワークの高レベルな概要
- クイックスタート - シンプルなエージェントで始める
- チュートリアル - ステップバイステップのチュートリアル
- ユーザーガイド - エージェントとワークフロー構築の詳細ガイド
- Semantic Kernel からの移行 - Semantic Kernel からの移行ガイド
- AutoGen からの移行 - AutoGen からの移行ガイド
Microsoft Agent Framework についてハイクを書く Azure Responses エージェントをシンプルに作成します。
# pip install agent-framework
# Use `az login` to authenticate with Azure CLI
import os
import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
async def main():
# Initialize a chat agent with Microsoft Foundry
# the endpoint, deployment name, and api version can be set via environment variables
# or they can be passed in directly to the FoundryChatClient constructor
agent = Agent(
client=FoundryChatClient(
credential=AzureCliCredential(),
# project_endpoint=os.environ["FOUNDRY_PROJECT_ENDPOINT"],
# model=os.environ["FOUNDRY_MODEL_DEPLOYMENT_NAME"],
),
name="HaikuAgent",
instructions="You are an upbeat assistant that writes beautifully.",
)
print(await agent.run("Write a haiku about Microsoft Agent Framework."))
if __name__ == "__main__":
asyncio.run(main())Microsoft Foundry を使用して、Microsoft Agent Framework についてハイクを書くシンプルなエージェントを作成します。
// This sample shows how to create and run a basic agent with AIProjectClient.AsAIAgent(...).
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
string endpoint = Environment.GetEnvironmentVariable("AZURE_AI_PROJECT_ENDPOINT") ?? throw new InvalidOperationException("AZURE_AI_PROJECT_ENDPOINT is not set.");
string deploymentName = Environment.GetEnvironmentVariable("AZURE_AI_MODEL_DEPLOYMENT_NAME") ?? "gpt-5.4-mini";
AIAgent agent =
new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
.AsAIAgent(model: deploymentName, instructions: "You are an upbeat assistant that writes beautifully.", name: "HaikuAgent");
// Once you have the agent, you can invoke it like any other AIAgent.
Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."));- はじめに: hello-world からホスティングまでの段階的なチュートリアル
- Agent Concepts: トピック別の詳細なサンプル(tools、middleware、providers など)
- Workflows: ワークフローの作成とエージェントとの統合
- Hosting: A2A、Azure Functions、Durable Task ホスティング
- End-to-End: 完全なアプリケーション、評価、デモ
- はじめに: hello agent からホスティングまでの段階的なチュートリアル
- Agent Concepts: 基本的なエージェントの作成とツールの使用
- Agent Providers: 異なるエージェントプロバイダーを示すサンプル
- Workflows: 高度なマルチエージェントパターンとワークフロー オーケストレーション
- Hosting: A2A、Durable Agents、Durable Workflows
- End-to-End: 完全なアプリケーションとデモ
- バグを見つけましたか? 改善を支援するために GitHub issue を報告してください。
- MAF を楽しんでいますか?
サポートを示し、他のユーザーがプロジェクトを発見するのを支援するために GitHub でスターを付けてください。
- 質問がありますか? Discord に参加するか、週間オフィスアワーにアクセスしてください。
| 問題 | 原因 | 解決方法 |
|---|---|---|
| Azure 認証情報を使用する際の認証エラー | Azure CLI にサインインしていない | az login を実行してアプリを開始してください |
| API キーエラー | API キーが間違っているか不足している | キーを確認し、正しいリソース/プロバイダーのものであることを確認してください |
ヒント:
DefaultAzureCredentialは開発に便利ですが、本番環境では、レイテンシの問題、意図しない認証情報のプロービング、およびフォールバックメカニズムからの潜在的なセキュリティリスクを避けるために、特定の認証情報(例:ManagedIdentityCredential)の使用を検討してください。
各サンプルに固有の環境変数設定については、サンプルディレクトリの README を参照してください(Python samples | .NET samples)。
