agent-framework
Microsoft Agent Framework 是微软推出的开源框架,旨在帮助开发者轻松构建、编排和部署 AI 智能体及多智能体协作工作流。它同时支持 Python 和 .NET (C#) 两种主流技术栈,提供了一致且强大的 API 体验。
面对从简单对话机器人到复杂自动化流程的开发需求,该框架解决了智能体之间协作难、状态管理复杂以及调试不便等痛点。它特别适合软件工程师、系统架构师及 AI 研究人员使用,无论是希望从 Semantic Kernel 或 AutoGen 迁移的老用户,还是想要探索前沿多智能体系统的新技术爱好者,都能从中获益。
其核心技术亮点在于基于图的编排能力,允许开发者通过数据流将智能体与确定性函数灵活连接,并原生支持流式输出、检查点保存、人机协同干预甚至“时间旅行”(回溯执行状态)等高级功能。此外,框架内置了 OpenTelemetry 可观测性支持,方便进行分布式追踪与监控;配套的 DevUI 交互式界面则让开发、测试和调试过程更加直观高效。对于追求实验创新的用户,它还提供了包含基准测试和强化学习功能的 AF Labs 实验包。
使用场景
某电商企业的技术团队正致力于构建一个能自动处理“用户退货申请、库存核对及退款审批”的复杂多智能体协作系统。
没有 agent-framework 时
- 流程编排混乱:开发者需手动编写大量胶水代码来串联不同功能的 AI 模型,一旦某个环节出错,整个链路难以定位和恢复。
- 调试黑盒化:缺乏可视化的追踪手段,当智能体之间传递数据出现偏差时,只能依靠打印日志盲目猜测,排查效率极低。
- 人机协作困难:在需要人工介入审批的关键节点,难以优雅地暂停工作流并等待反馈,导致自动化流程经常中断或逻辑死锁。
- 技术栈割裂:团队内 Python 算法组与 .NET 业务组各自为战,无法复用同一套智能体逻辑,造成严重的重复开发和维护成本。
使用 agent-framework 后
- 图形化工作流编排:利用基于图的编排能力,通过清晰的数据流将各个智能体与确定性函数连接,天然支持断点续传和时间旅行(Time-travel)调试。
- 全景可观测性:内置 OpenTelemetry 集成,让开发者在 DevUI 中实时看到每个智能体的思考路径、工具调用及数据流转,故障定位从小时级缩短至分钟级。
- 灵活的人机回环:原生支持“人在回路”(Human-in-the-loop)模式,工作流可在审批节点自动挂起,待人工确认后无缝继续,确保业务流程严谨可靠。
- 跨语言统一架构:Python 和 .NET 拥有完全一致的 API 设计,算法团队用 Python 训练的智能体可直接被 .NET 后端业务系统调用,实现了真正的技术栈融合。
agent-framework 通过标准化的图编排与全链路可观测性,将原本碎片化的 AI 实验转化为稳定、可控且易于协作的企业级生产工作流。
运行环境要求
- Windows
- Linux
- macOS
未说明
未说明

快速开始

欢迎来到 Microsoft Agent Framework!
欢迎来到微软的全面多语言框架,用于构建、编排和部署 AI 代理,同时支持 .NET 和 Python 实现。该框架提供从简单聊天代理到复杂多代理工作流的一切功能,并采用基于图的编排方式。
观看完整的 Agent Framework 介绍(30 分钟)
📋 入门指南
📦 安装
Python
pip install agent-framework --pre
# 这将安装所有子包,单个包请参阅 `python/packages`。
# 在 Windows 上首次安装时可能需要一分钟。
.NET
dotnet add package Microsoft.Agents.AI
📚 文档
- 概述 - 框架的高层次概述
- 快速入门 - 使用简单代理开始
- 教程 - 分步教程
- 用户指南 - 构建代理和工作流的深入用户指南
- 从 Semantic Kernel 迁移指南 - 从 Semantic Kernel 迁移的指南
- 从 AutoGen 运行时迁移指南 - 从 AutoGen 运行时迁移的指南
仍有疑问?加入我们的 每周办公时间 或在我们的 Discord 频道 中提问,以获得团队和其他用户的帮助。
✨ 亮点
- 基于图的工作流:使用数据流连接代理和确定性函数,具备流式处理、检查点、人机协作和时间旅行等功能
- AF Labs:用于前沿功能的实验性包,包括基准测试、强化学习和研究项目
- DevUI:用于代理开发、测试和调试工作流的交互式开发者界面
- Python 和 C#/ .NET 支持:完整框架同时支持 Python 和 C#/ .NET 实现,且 API 一致
- 可观测性:内置 OpenTelemetry 集成,用于分布式追踪、监控和调试
- 多代理提供商支持:支持多种 LLM 提供商,并将持续增加更多提供商
- 中间件:灵活的中间件系统,用于请求/响应处理、异常处理和自定义管道
💬 我们期待您的反馈!
- 如发现任何问题,请提交 GitHub 问题。
快速入门
基础代理 - Python
创建一个简单的 Azure Responses 代理,撰写一首关于 Microsoft Agent Framework 的俳句。
# pip install agent-framework --pre
# 使用 `az login` 通过 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():
# 初始化一个使用 Microsoft Foundry 的聊天代理
# 终端节点、部署名称和 API 版本可以通过环境变量设置
# 或直接传递给 FoundryChatClient 构造函数
agent = Agent(
client=FoundryChatClient(
credential=AzureCliCredential(),
# project_endpoint=os.environ["FOUNDRY_PROJECT_ENDPOINT"],
# model=os.environ["FOUNDRY_MODEL_DEPLOYMENT_NAME"],
),
name="HaikuBot",
instructions="你是一位乐观开朗、文笔优美的助手。",
)
print(await agent.run("写一首关于 Microsoft Agent Framework 的俳句。"))
if __name__ == "__main__":
asyncio.run(main())
基础代理 - .NET
使用 OpenAI 响应创建一个简单的代理,该代理会撰写一首关于 Microsoft 代理框架的俳句。
// dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
using Microsoft.Agents.AI;
using OpenAI;
using OpenAI.Responses;
// 将 <apikey> 替换为您的 OpenAI API 密钥。
var agent = new OpenAIClient("<apikey>")
.GetResponsesClient("gpt-4o-mini")
.AsAIAgent(name: "HaikuBot", instructions: "您是一位积极向上、文笔优美的助手。");
Console.WriteLine(await agent.RunAsync("请写一首关于 Microsoft 代理框架的俳句。"));
使用基于令牌的身份验证的 Microsoft Foundry 创建一个简单的代理,该代理会撰写一首关于 Microsoft 代理框架的俳句。
// dotnet add package Microsoft.Agents.AI.AzureAI --prerelease
// dotnet add package Azure.Identity
// 使用 `az login` 通过 Azure CLI 进行身份验证
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
var endpoint = Environment.GetEnvironmentVariable("AZURE_AI_PROJECT_ENDPOINT") ?? throw new InvalidOperationException("AZURE_AI_PROJECT_ENDPOINT 未设置。");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_AI_MODEL_DEPLOYMENT_NAME") ?? "gpt-4o-mini";
var agent = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
.AsAIAgent(model: deploymentName, name: "HaikuBot", instructions: "您是一位积极向上、文笔优美的助手。");
Console.WriteLine(await agent.RunAsync("请写一首关于 Microsoft 代理框架的俳句。"));
更多示例与样本
Python
- 入门:从“Hello World”到托管的逐步教程
- 代理概念:按主题深入探讨的示例(工具、中间件、提供商等)
- 工作流:工作流的创建及与代理的集成
- 托管:A2A、Azure Functions、Durable Task 托管
- 端到端:完整应用、评估和演示
.NET
- 入门:从简单代理到托管的逐步教程
- 代理概念:基础代理的创建及工具的使用
- 代理提供商:展示不同代理提供商的示例
- 工作流:高级多代理模式及工作流编排
- 托管:A2A、Durable Agents、Durable Workflows
- 端到端:完整应用及演示
故障排除
身份验证
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 使用 Azure 凭证时出现身份验证错误 | 未登录 Azure CLI | 在启动应用程序前运行 az login |
| API 密钥错误 | API 密钥错误或缺失 | 验证密钥,并确保其适用于正确的资源/提供商 |
提示:
DefaultAzureCredential在开发阶段很方便,但在生产环境中,建议使用特定的凭证(例如ManagedIdentityCredential),以避免延迟问题、意外的凭证探测以及回退机制可能带来的安全风险。
环境变量
示例通常从环境变量中读取配置。常见的必需变量如下:
| 变量 | 使用于 | 目的 |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Azure OpenAI 示例 | 您的 Azure OpenAI 资源 URL |
AZURE_OPENAI_DEPLOYMENT_NAME |
Azure OpenAI 示例 | 模型部署名称(例如 gpt-4o-mini) |
AZURE_AI_PROJECT_ENDPOINT |
Microsoft Foundry 示例 | 您的 Microsoft Foundry 项目端点 |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
Microsoft Foundry 示例 | 模型部署名称 |
OPENAI_API_KEY |
OpenAI(非 Azure)示例 | 您的 OpenAI 平台 API 密钥 |
贡献者资源
重要说明
如果您使用 Microsoft 代理框架构建与第三方服务器或代理交互的应用程序,则需自行承担相关风险。我们建议您仔细审查与第三方服务器或代理共享的所有数据,并了解其在数据保留和存储位置方面的做法。确保您的数据不会流出贵组织的 Azure 合规范围和地理边界,以及由此可能产生的任何影响,这完全由您负责。
版本历史
dotnet-1.0.02026/04/02python-1.0.02026/04/02dotnet-1.0.0-rc52026/04/01python-1.0.0rc62026/03/30python-1.0.0rc52026/03/20python-1.0.0rc42026/03/11dotnet-1.0.0-rc42026/03/11python-1.0.0rc32026/03/04dotnet-1.0.0-rc32026/03/04python-1.0.0rc22026/02/26dotnet-1.0.0-rc22026/02/25dotnet-1.0.0-rc12026/02/20python-1.0.0rc12026/02/20python-1.0.0b2602122026/02/13python-1.0.0b2602102026/02/11dotnet-1.0.0-preview.260209.12026/02/10dotnet-1.0.0-preview.260205.12026/02/06python-1.0.0b2601302026/01/30python-1.0.0b2601282026/01/28dotnet-1.0.0-preview.260128.12026/01/28常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。