MAF

3天前更新 14 0 0

微软生产级多智能体框架,AutoGen与Semantic Kernel统一继任者,MIT许可,1.0 GA。

语言:
中文
收录时间:
2026-07-31
维护者:Microsoft
产品定位:生产级多智能体框架与SDK
开源协议:MIT
部署方式:本地部署,SaaS
核心能力:智能体,图式工作流,多智能体编排,工具调用,中间件
特色功能:顺序/并发/交接/群协作,A2A,MCP,Foundry托管,OpenTelemetry
支持模型:多模型兼容
工具调用方式:Function Calling,MCP
记忆机制:短期,长期,向量记忆

Microsoft Agent FrameworkMAF)是微软推出的开源、多语言智能体框架,用于在 .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 迁移指南:https://learn.microsoft.com/agent-framework/migration-guide/from-autogen
  • Semantic Kernel → MAF 迁移指南:Migration Guide from Semantic Kernel

新项目建议直接采用 MAF,它已是微软生态团队的默认智能体 SDK 选型。

相关导航