Microsoft Agent Framework
用 Python 和 .NET 构建、编排并部署生产级 AI 智能体工作流。
- Star 数
- ★ 15k
- 最近更新
- 今天
- License
- MIT
- 主语言
- Python
- FA 评分
- 49/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- Python 团队需要把单次聊天原型扩展为可检查点、可重启的多智能体工作流时。
- 不适合
- 只想用单一厂商 SDK、不愿接受多提供商抽象层的开发者
- 希望零配置、无需 Azure 账号或环境变量即可上手的初学者
- 源码审查
- 49/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Microsoft Agent Framework(MAF)是面向 Python 与 C#/.NET 的开源框架,用于构建生产级 AI 智能体和多智能体工作流。它提供 Agent/AIAgent 接口、提供商集成、中间件,以及基于图的顺序、并发、交接和群组协作编排模式。工作流支持检查点、流式处理、人工介入和 time-travel,并提供 OpenTelemetry 集成用于分布式追踪、监控与调试。项目还提供 YAML 声明式智能体、Agent Skills、DevUI,以及本地开发和云部署样例,包括 Foundry 托管智能体、A2A、Azure Functions 与 Durable Task。
开发者可在 Python 中创建 Agent,并传入 FoundryChatClient、名称和 instructions;调用 await agent.run(...) 后获得模型响应。在 .NET 中,可通过 new AIProjectClient(...).AsAIAgent(...) 创建 AIAgent,再用 await agent.RunAsync(...) 调用它。框架提供中间件处理请求、响应和异常,并用图式工作流组织多个智能体的顺序、并发、交接或群组协作执行;工作流可进行检查点、流式输出和人工介入。它还提供 OpenTelemetry 追踪、YAML 声明式配置,以及用于 Foundry 托管基础设施的部署样例。
- Python 团队需要把单次聊天原型扩展为可检查点、可重启的多智能体工作流时。
- 使用 C#/.NET 的应用团队希望通过 AIAgent 和 RunAsync 将 Microsoft Foundry 智能体接入现有服务时。
- 需要在顺序、并发、交接或群组协作模式中编排多个智能体的业务系统开发者。
- 需要借助 OpenTelemetry 对智能体调用进行分布式追踪、监控和调试的平台团队。
- 计划使用 Foundry 托管智能体,或评估 A2A、Azure Functions、Durable Task 托管样例的 Azure 团队。
如何安装或部署这个 Agent?
Python:运行 pip install agent-framework。README 的 Python Foundry 快速入门还要求先执行 az login,并安装示例导入所需的 azure.identity;随后创建 Agent(client=FoundryChatClient(credential=AzureCliCredential()), name="HaikuAgent", instructions="..."),并调用 await agent.run("Write a haiku about Microsoft Agent Framework.")。
.NET:运行 dotnet add package Microsoft.Agents.AI。如使用 README 的 Foundry 快速入门,还需运行 dotnet add package Microsoft.Agents.AI.Foundry、dotnet add package Azure.AI.Projects 和 dotnet add package Azure.Identity,并设置 AZURE_AI_PROJECT_ENDPOINT;AZURE_AI_MODEL_DEPLOYMENT_NAME 可选,默认示例值为 gpt-5.4-mini。
如何使用这个 Agent?
Python 首次调用可使用 FoundryChatClient(credential=AzureCliCredential()) 创建 Agent,并在 asyncio.run(main()) 中执行 print(await agent.run("Write a haiku about Microsoft Agent Framework."))。端点、部署名称和 API 版本可经环境变量配置,或直接传给 FoundryChatClient。
.NET 可读取 AZURE_AI_PROJECT_ENDPOINT,使用 new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential()).AsAIAgent(model: deploymentName, instructions: "...", name: "HaikuAgent") 创建 AIAgent,然后执行 Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."))。
这个 Agent 有哪些优点和局限?
- 同时提供 Python 和 C#/.NET 实现,并强调一致的 API 基础。
- 工作流覆盖顺序、并发、交接和群组协作,并列出检查点、流式处理、人工介入和 time-travel。
- 内置 OpenTelemetry 集成,面向分布式追踪、监控和调试。
- 提供多个生态集成方向,包括 Microsoft Foundry、Azure OpenAI、OpenAI 和 GitHub Copilot SDK,并附有本地与云端托管样例。
- Python 快速入门依赖 Azure CLI 登录和 Azure 凭据;.NET Foundry 示例依赖 Azure 项目终结点及 Azure.Identity。
- 第三方服务器、智能体、代码或非 Azure Direct 模型由其自身许可条款约束,使用方需自行承担费用、数据流和合规责任。
- 项目明确要求应用开发者自行审查、测试并实现内容过滤、metaprompt 等负责 AI 缓解措施。
- 提供商支持虽较广,但具体样例和环境变量配置分散在各样例目录,接入前需要按目标提供商核对。
这个 Agent 与同类方案有什么区别?
项目提供从 Semantic Kernel 和 AutoGen 迁移的指南;给定材料未声明与这些框架的功能完全对等。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Microsoft Agent Framework 当前 | 49 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 15k | 今天 | Python | OpenAI API |
| OpenAI Agents SDK | 64 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 31k | 1 天前 | Python | OpenAI API |
| Inkeep Agents | 45 · 缺口较多 | 网页应用免费版 + 付费版 | ★ 1.5k | 1 天前 | TypeScript | — |
| agentUniverse | 30 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 2.4k | 12 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库包含安全策略(SECURITY.md)和CodeQL工作流,但未提供权限最小化、用户确认、数据流透明性、敏感数据处理、依赖安全、外部影响、回滚等具体实现细节。扣分原因:这些方面仅部分提及或未明确说明。来源归属:明确为Microsoft官方组织,但未提供具体作者或贡献者信息。
证据显示:README和代码结构一致,但未提供依赖可用性、失败消息的具体实现。扣分原因:自一致性尚可,但依赖可用性和失败消息仅部分覆盖。
证据显示:README明确目标受众和场景,提供多种示例,但未明确能力边界和触发精度。扣分原因:环境适配良好,但能力边界和触发精度未充分说明。
证据显示:README结构清晰,提供安装说明和示例,但未提供命名稳定性、已知限制、版本变更日志。扣分原因:信息架构和安装说明良好,但命名稳定性、已知限制、版本变更日志缺失。
证据显示:README提供快速入门和示例,但未提供成本效益分析。扣分原因:输出可用性和边际价值尚可,但成本效益未说明。
证据显示:README中的声明未提供具体证据,且未区分事实与推断。扣分原因:声明可追溯性、交叉来源验证、事实与推断分离均不足。
- 静态审查无法验证实际运行行为,所有评分基于源代码和文档。
- 依赖安全性和外部影响未在提供的文件中详细说明,需进一步审查。
- 版本变更日志和已知限制未在README中提及,可能影响用户决策。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[1.24.0] - 2026-10-30 > [!WARNING] > Redis context index migration: The beta RedisContextProvider now preserves exact scope identity and rejects the legacy raw-scope index schema. Delete the old context index and its context hashes, let the provider create a new index, and re-ingest the context data. overwrite_index=True does not migrate incompatible indexes. > [!IMPORTANT] …在 GitHub 查看 ↗ -
发布说明摘录
[1.27.0] - 2026-10-30 Added * skills: Add a .NET consumer skill for building with Agent Framework ([#9651](https://github.com/microsoft/agent-framework/pull/9651) by @westey-m). * .NET, CI: Add a script to bump the .NET release version ([#9894](https://github.com/microsoft/agent-framework/pull/9894) by @baywet). Changed * .NET, AgentServer: [BREAKING] Update AgentServer dependencies ([#9721](https://github.com/microsoft/agent-framework/pull/9721) by @rogerbarreto). …在 GitHub 查看 ↗ -
发布说明摘录
Changes: * 9c8a3514a15a702f81bfda456d80c7ccaa4d2712 Update package versions for release (#9650) * c3b9f22d64fd86e8133395555a1fa4aa22f745e0 Add ACGS to the Python community projects (#9618) * 71cf48cb4019bc503c7ceb61420cc3d836250790 Python: Honor allow_multiple_tool_calls in AnthropicClient when tool_choice is unset (#8980) * ea32b6db9e9b4b434a86496bacd9cc6dd0422a69 Python: compose Copilot session hooks correctly (#9649) * 678c6616aa4c73ecfc28cc6fc119a3928ba04024 .NET: Fix AG-UI sample prerequisites and troubleshooting paths (#9620) …在 GitHub 查看 ↗