Microsoft Agent Framework 是什么?14K 星多语言 Agent 平台,微软把 AutoGen 和 Semantic Kernel 焊一起了

Microsoft Agent Framework 是什么?14K 星多语言 Agent 平台,微软把 AutoGen 和 Semantic Kernel 焊一起了

横向 Agent 平台这个系列,前面写的大多是“拖拽派”——Make、Zapier、Dify、Flowise 这类靠画布搭流程的,自动化老将和可视化新贵都聊过了。这篇换换口味,聊聊“代码派”里最近最能打的一个:微软的 Microsoft Agent Framework(以下简称 MAF)。它是 AutoGen 和 Semantic Kernel 两条老线合并之后的统一框架,也是微软现在 Agent 方向的主线。

项目介绍

先摆数据,核实时间 2026 年 10 月 9 日早上。MAF 的仓库是 github.com/microsoft/agent-framework,14,017 星,MIT 协议,10 月 8 日还在提交,同一天 PyPI 上的 agent-framework 包发了 1.21.0——大厂开源里这个更新频率算很勤的。

三条线的关系值得说清楚:AutoGen 61.3K 星,名气最大,但仓库 4 月 15 日之后就基本停更了;Semantic Kernel 28.6K 星,10 月 7 日还在更新;MAF 星数最少,却最年轻也最活跃。顺带一提,AutoGen 仓库标注的是 CC-BY-4.0,MAF 是 MIT,商用友好度后者更省心。MAF 仓库里直接放着 autogen-migration 和 semantic-kernel-migration 两个样例目录,官方迁移指南两边都给了——新项目该选谁,微软态度很明确。

跟前面写过的 CrewAI 基础篇、LangGraph 基础篇 比,MAF 的差异在“出身”:CrewAI 是社区起家的 Python 轻框架,LangGraph 是 LangChain 家的状态图引擎,而 MAF 是微软按企业交付标准做的全家桶,配套的托管、可观测、治理能力都是现成的,不用自己攒。

能力上,MAF 不是聊天套壳,是冲着生产去的:Python、C#/.NET、Go 三套 SDK(Go 在独立仓库);多 Agent 用图工作流编排,顺序、并发、handoff、群体协作四种模式;工作流自带 checkpoint、流式输出和 time-travel,能把执行回放到某一步重跑;中间件统一拦截请求、异常和工具调用;OpenTelemetry 追踪开箱即用;Agent 还能用 YAML 声明式定义,方便进版本库做评审;托管到 Microsoft Foundry 只要两行代码。模型侧不挑食,provider 目录里 OpenAI、Anthropic、Gemini、Ollama、Azure/Foundry、AWS Bedrock、Mistral、GitHub Copilot 都有现成接入。

Microsoft Agent Framework 架构:三语言 SDK、Agent 运行时、图工作流、Checkpoint、OpenTelemetry 与托管部署分层
MAF 分层架构:同一进程里跑 Agent 运行时和图工作流,状态进 Checkpoint,观测走 OpenTelemetry,出入口是三语言 SDK 和托管平台。

上手

代码路线的上手就是一条命令:pip install agent-framework。最小的 Agent 长这样(官方 01-get-started 样例改写):

from agent_framework import Agent, tool

@tool(approval_mode="never_require")
def get_weather(location: str) -> str:
    return f"{location}:晴,26 度"

agent = Agent(client=client, instructions="回答必须用工具", tools=[get_weather])
print(await agent.run("西雅图天气怎么样?"))

要编排多 Agent,就用 WorkflowBuilder 拼图(官方 05c 样例):

from agent_framework import WorkflowBuilder, WorkflowContext, executor

@executor(id="upper")
async def upper(text: str, ctx: WorkflowContext) -> None:
    await ctx.send_message(text.upper())

@executor(id="reverse")
async def reverse(text: str, ctx) -> None:
    await ctx.yield_output(text[::-1])

wf = WorkflowBuilder(start_executor=upper).add_edge(upper, reverse).build()
print((await wf.run("hello world")).get_outputs()[0])

官方 samples 目录是按难度排好的:01-get-started 里从 hello agent、加工具、多轮对话、记忆一路排到工作流、harness 和 hosting,照着序号走就行。模型不一定要花钱,provider 里有 ollama,本地起个模型把 client 换掉就能跑通整套;.NET 用户走 NuGet 装 Microsoft.Agents.AI,API 跟 Python 版基本对齐。

实话

优点是真优点:工程化程度高,生产特性给得足,MIT、几乎天天提交,模型随便换;从 AutoGen、Semantic Kernel 迁移有现成脚手架,Python 或 .NET 老栈能直接接上。

缺点也得说:它是写代码路线,跟 Dify、Flowise 那种拖拽完全是两个物种,不想碰代码的可以直接跳过;官方 quickstart 默认走 Foundry 的 endpoint 和 AzureCliCredential,想接 OpenAI 兼容接口得自己换 client,第一体验不算丝滑;子包拆得细(meta 包下面还套着 agent-framework-core),文档散在 MS Learn、devblogs 和仓库三处,第一次找资料要点时间。还有一点要留意:AutoGen 老教程现在满网都是,照着旧教程写会装错包,认准 agent-framework 这个包名。

一句话结论:想认真做多 Agent 生产落地、又不排斥写代码,MAF 是微软系里现在最值得押的主线;只想拖拽玩玩的,回看之前的基础篇就行。给自己排个顺序:先用本地模型跑通 hello agent,再上图工作流,最后才碰 Foundry 托管,别一上来就啃部署。延伸阅读:Google ADK 基础篇、微软 Foundry 基础篇。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注