
Microsoft Agent Framework(MAF)是微软推出的开源、多语言智能体框架,用于在 .NET 和 Python 中构建生产级 AI 智能体和多智能体工作流。
MAF 将 AutoGen 的多智能体编排创新能力与 Semantic Kernel 的企业级基础(基于会话的状态管理、类型安全、中间件、遥测)合二为一,并引入基于图的工作流引擎,让开发者显式控制多智能体执行路径,配套可靠的状态管理系统以支撑长时运行与人机回路场景。简言之,MAF 是 Semantic Kernel 和 AutoGen 的下一代统一框架。
产品概述
MAF 由微软核心 AutoGen 与 Semantic Kernel 团队联合打造,2025 年 10 月首次亮相,2026 年 4 月 2 日达成 1.0 GA(Generally Available),承诺稳定 API 与长期支持。它提供跨 .NET 和 Python 的一致编程模型,开发者可在两种语言间无缝切换。
MAF 支持广泛的模型提供商生态,包括 Microsoft Foundry、Azure OpenAI、OpenAI、Anthropic、Amazon Bedrock、Google Gemini、Ollama 等,Swapping providers 仅需一行代码。框架提供本地开发与云部署两种模式,可部署到 Foundry 托管基础设施(仅需 2 行额外代码),也可在本地应用进程中运行。
BUILD 2026 上,微软进一步发布了 Agent Harness(生产模式内置)、Hosted Agents、CodeAct 等能力。
核心能力
- 智能体(Agent):基于模型客户端构建单个智能体,支持指令设定、工具挂载、多轮会话、流式响应
- 图式工作流(Workflow):基于图的多步任务编排,支持顺序(Sequential)、并发(Concurrent)、交接(Handoff)、群协作(Group Collaboration)四种编排模式,配备检查点(Checkpointing)、流式传输、人机回路、时间旅行(Time-travel)
- 多智能体编排:原生支持顺序、并发、handoff、group chat 等模式,超越单一提示或聊天循环
- 中间件(Middleware):灵活的请求/响应处理、异常处理、自定义管道拦截机制
- Agent 记忆:支持多种后端——会话历史(短期)、持久化键值状态(长期)、向量检索(向量记忆)
- 工具与 MCP 集成:通过 MCP 客户端接入工具,支持 Function Calling 与 Model Context Protocol
- A2A 与 MCP 互操作:原生支持 Agent-to-Agent 协议与 Model Context Protocol,实现跨框架智能体协作
- Foundry 托管智能体:仅需 2 行代码即可将智能体部署到 Foundry 托管基础设施
- 声明式智能体(Declarative Agents):通过 YAML 定义智能体,加速搭建与版本管理
- 可观测性:内置 OpenTelemetry 分布式追踪、监控与调试
- Agent Skills:从文件、内联代码、类库等多源构域特定知识库
- DevUI:浏览器交互式开发调试界面
优势亮点
- AutoGen + Semantic Kernel 统一继任者:1.0 起成为微软生态团队的默认智能体 SDK 选型
- 生产级就绪:稳定 API、长期支持承诺、企业级特性(状态管理、类型安全、中间件、遥测)
- 双语言一等公民:.NET 与 Python 完全一致的概念与 API 形状
- 6+ 模型提供商一行切换:Azure OpenAI、OpenAI、Anthropic、Bedrock、Gemini、Ollama
- MCP 与 A2A 原生:不是外挂,1.0 起即为原生能力
- 图式工作流引擎:显式控制执行顺序,支持检查点、暂停/恢复、人机回路——这是生产级多智能体系统的核心诉求
- Foundry 托管集成:2 行代码部署到云托管基础设施
- 丰富的迁移指南:提供从 Semantic Kernel 和 AutoGen 的专门迁移指南与迁移助手
短板
- 生态相对年轻:1.0 发布不久,第三方集成与社区插件生态不及 LangChain 丰富
- 分布式执行仍在规划:当前聚焦单进程组合,分布式运行时为未来规划
- 学习曲线:概念密集(Agent、Workflow、Middleware、Context Provider、Harness 等),对新手有一定门槛
- Azure 绑定倾向:虽然支持多模型提供商,但 Foundry 托管、A2A 等深度集成更偏向 Azure 生态
- 前身框架维护模式:Semantic Kernel 与 AutoGen 已进入维护模式,老用户需评估迁移成本
适用企业/部门
企业 IT 部门、.NET 开发团队、AI 应用开发团队、R&D 部门。特别适合:微软技术栈团队构建生产级智能体系统、需要多智能体显式编排的企业应用、要求长期支持与稳定 API 的生产项目、Azure 生态内的智能体部署。新项目在 Python 或 .NET 上起步,MAF 是微软生态团队的默认推荐。
安装教程
前提条件
- Python 3.10+ 或 .NET 9+(C# 13)
- pip(Python)或 dotnet CLI(.NET)
Python 快速安装
# 安装 MAF 核心包(包含所有子包) pip install agent-framework # 如需 Foundry 托管集成 pip install agent-framework-foundry-hosting pip install azure-identity python-dotenv
MAF 不会自动加载 .env 文件,需在应用开始时调用
load_dotenv(),或直接在 shell/IDE 中设置环境变量。
.NET 快速安装
dotnet add package Microsoft.Agents.AI dotnet add package Microsoft.Agents.AI.Foundry # Foundry 集成 dotnet add package Azure.AI.Projects dotnet add package Azure.Identity
Python 验证:创建第一个智能体
# pip install agent-framework
# 使用 az login 进行 Azure CLI 认证
import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
async def main():
agent = Agent(
client=FoundryChatClient(
project_endpoint="https://your-project.services.ai.azure.com",
model="gpt-4o",
credential=AzureCliCredential(),
),
name="HelloAgent",
instructions="You are a friendly assistant.",
)
print(await agent.run("Write a haiku about Microsoft Agent Framework."))
asyncio.run(main())
Python 多智能体顺序工作流
import asyncio
from agent_framework import Agent, Message
from agent_framework.foundry import FoundryChatClient
from agent_framework.orchestrations import SequentialBuilder
from azure.identity import AzureCliCredential
from typing_extensions import cast
async def main():
client = FoundryChatClient(credential=AzureCliCredential())
writer = Agent(client=client,
instructions="You are a concise copywriter. Provide a single, punchy marketing sentence.",
name="writer")
reviewer = Agent(client=client,
instructions="You are a thoughtful reviewer. Give brief feedback on the previous message.",
name="reviewer")
workflow = SequentialBuilder(participants=[writer, reviewer]).build()
async for event in workflow.run("Write a tagline for Microsoft Agent Framework 1.0.", stream=True):
if event.type == "output":
outputs = event.data
for msg in outputs[-1]:
print(f"[{msg.author_name or 'user'}]: {msg.text}")
if __name__ == "__main__":
asyncio.run(main())
本地开发运行
MAF 支持完全本地开发,可将模型端点指向本地 Ollama 或 LM Studio:
from agent_framework import Agent
# 指向本地 Ollama(需先启动 Ollama 服务)
agent = Agent(
client=YourLocalClient(base_url="http://localhost:11434/v1"),
name="LocalAgent",
instructions="You are a helpful assistant.",
)
部署到 Foundry 托管(云部署)
# 仅需 2 行额外代码即可部署为 Foundry 托管智能体 from agent_framework_foundry_hosting import ResponsesHostServer # 通过 ResponsesHostServer 暴露 OpenAI 兼容的 /responses 端点
DevUI 调试
MAF 提供 DevUI 交互式开发者界面,用于智能体开发、测试与调试工作流。
*迁移提示:如果您当前在使用 AutoGen 或 Semantic Kernel,微软官方提供了专门的迁移指南:
- AutoGen → MAF 迁移指南:
- Semantic Kernel → MAF 迁移指南:Migration Guide from Semantic Kernel
新项目建议直接采用 MAF,它已是微软生态团队的默认智能体 SDK 选型。
相关导航


OpenAI Agents SDK

CrewAI

LangGraph

LlamaIndex

