AutoGen 是由 Microsoft Research 研发的开源多智能体协作框架,核心创新在于将自由多轮对话作为智能体协作的原生机制,使多个大语言模型驱动的智能体通过结构化对话、工具调用和代码执行协同完成复杂任务。该框架支持灵活的人工介入机制和安全的代码沙箱执行环境,自 2023 年开源以来迅速成为多智能体系统领域的标杆性项目,深刻影响了后续众多同类框架的设计思路。
AutoGen 摒弃了传统链式调用的串行处理模式,采用"群聊"作为基本协作单元。每个智能体拥有独立的身份设定、系统提示词和工具集,通过消息传递机制交换信息、协商分工并迭代推进任务。这种设计让智能体能够自主决定发言时机和内容,形成类似人类团队讨论的协作流程。
AutoGen 支持从简单双智能体对话到复杂多智能体群聊的多种拓扑结构。最基础的两人模式下,一个智能体负责规划与生成,另一个负责代码执行与反馈;复杂场景下可组建包含规划者、研究者、编码者、测试者、评审者等角色的完整虚拟团队,智能体数量通常在 5 至 12 个之间。
AutoGen 在 v0.4 版本进行了彻底重构,形成了清晰的三层架构体系:
智能体之间通过结构化消息进行通信,每条消息包含角色名、内容和可选的工具调用指令。消息传递支持同步和异步两种模式,底层基于话题订阅机制实现解耦——智能体注册感兴趣的消息类型,仅接收匹配的消息。
各智能体按照固定顺序依次发言,每轮每个智能体都有机会表达观点。这种模式结构简单、行为可预测,适用于需要确保每个角色都参与的结构化工作流,如产品评审会式的多角色意见收集。
由一个 LLM 驱动的选择器动态决定下一个发言者,根据当前对话上下文选择最合适的智能体回应。这种模式更加灵活,模拟了真实团队中"谁擅长谁上"的协作方式,适用于开放-ended 的研究或分析问题。
智能体通过 HandoffMessage 直接向其他智能体移交控制权,无需中央协调者。每个智能体声明可以转交的目标列表,路由决策由智能体自身做出。这种模式适用于客服工单分流、按技能分派任务等场景。
基于有向无环图的条件工作流,支持分支、合并和条件跳转,可实现确定性的多步骤流水线编排。适用于数据管道、文档处理等有明确阶段划分的工作流。
AutoGen 预置的一个最先进的通用型团队配置,集成了浏览器浏览、代码编写与执行、文件操作等多种能力,可在无需固定计划的情况下自主完成开放式研究任务。
当智能体生成代码时,UserProxyAgent 或 CodeExecutorAgent 会在隔离环境中执行该代码并捕获输出结果,再将执行结果(包括标准输出、错误信息和返回值)反馈给对话上下文,供其他智能体据此进行下一步推理。这一机制形成了"生成代码-执行-根据结果修正"的自动化闭环。
代码执行提供多级安全隔离方案:
开发者可通过配置控制代码执行行为,包括禁用代码执行(code_execution_config=False)、指定工作目录、选择是否使用 Docker、设置执行超时时间等。v0.4 中将代码生成功能(AssistantAgent)与代码执行功能(CodeExecutorAgent)分离,允许对两者应用不同的信任级别和安全策略。
AutoGen 在设计之初就将人工介入作为一等公民支持,而非事后添加的功能。UserProxyAgent 提供了三种人工输入模式:
人工介入可以在任意对话节点发生,不限于流程末尾。用户可以查看中间过程、修改智能体的输出、调整方向后再继续执行。这种颗粒度远高于传统自动化流程的"是/否"审批模式。
Human-in-the-Loop 机制使 AutoGen 特别适用于需要人工监督的场景,如法律文档审查、医疗数据分析、内容审核等合规要求较高的领域。
AutoGen Studio 是一个基于 Web 的可视化低代码/无代码开发工具,让开发者无需深入编程即可快速构建、测试和调试多智能体工作流。它基于 FastAPI 后端和 SQLite 状态存储,提供浏览器端的拖拽式界面。
通过 pip install autogenstudio 安装后,使用 autogenstudio ui --port 8080 启动 Web 界面,即可在浏览器中进行可视化开发。
基于 v0.4 的 autogen-core 层,AutoGen 支持将不同智能体部署在不同的进程或机器上,通过 gRPC 协议进行跨节点通信。Python 和 .NET 两个实现共享同一套 protobuf 消息定义,实现了跨语言的智能体联邦。
开发者可以将需要访问私有数据的智能体部署在企业内网,将需要调用公网工具的智能体部署在公网,满足数据安全与功能需求的平衡。智能体之间通过 gRPC 连接,应用程序代码保持不变,只需配置运行时连接参数。
分布式部署适用于智能体数量多、计算负载大、或有网络隔离要求的企业级场景。结合 Azure Container Apps 等云原生平台,可以实现弹性伸缩的长运行智能体集群。
v0.4 版本在运行时层面集成了 OpenTelemetry 追踪支持,可以自动记录智能体间的消息流转、工具调用、代码执行结果等关键事件。开发者可以通过标准的 OpenTelemetry 采集器将遥测数据发送到后端系统进行分析和可视化。
可视化的聊天界面允许开发者实时观察智能体对话过程,查看每条消息的内容、角色和工具调用详情,是原型阶段最常用的调试工具。
autogen-core 提供了结构化的日志输出,记录事件驱动的消息分发过程。对于分布式部署场景,结合 OpenTelemetry 的分布式追踪可以跨越多个进程和机器追溯完整的对话链路,帮助定位问题所在。
AutoGen 的对话机制天然会产生较长的消息历史。每个智能体维护自己的对话历史,群聊模式下所有消息在 GroupChat 中共享。随着对话轮次增加,消息总量可能快速增长,消耗大量 Token。
长对话导致的 Token 爆炸是实际落地时的主要挑战之一。当消息量超出大模型的上下文窗口时,早期消息可能被截断,导致智能体丢失重要上下文信息。
AutoGen 不绑定特定大模型,支持通过 OpenAI 兼容 API 接入各类模型。在国内环境中,可以使用腾讯云混元大模型、智谱 GLM、百度文心一言等支持中文的优质模型,只需配置对应的 API 端点和密钥即可。
AutoGen 本身是纯 Python 开源框架,可以部署在任何支持 Python 的环境中。配合本地推理方案如 Ollama、LM Studio 等,可以在国内企业的私有服务器上完全离线运行,满足数据不出域的安全要求。
AutoGen 原生支持 Model Context Protocol(MCP),该协议正在成为智能体工具调用的行业标准。通过 MCP,国内开发者可以接入丰富的本土化工具和服务生态,包括中文搜索、国内数据库、企业 API 等。
AutoGen 拥有活跃的中文社区,CSDN、知乎等平台上有大量中文教程和实践案例,涵盖从入门到高级应用的各个层次,方便中文开发者学习和参考。
2025 年 10 月,微软正式宣布 AutoGen 和 Semantic Kernel 同时进入维护模式,不再投入新功能开发,仅持续提供 bug 修复和安全补丁。GitHub 仓库目前保持活跃维护,社区贡献持续不断。
AutoGen 在 2026 年的生态分化为三个方向:
学习研究和原型开发场景中,经典 AutoGen 仍是非常好的入门工具,文档成熟且教程丰富。生产环境和新项目应优先考虑 Microsoft Agent Framework,以获得长期 API 稳定性和企业级特性支持。偏好原始简洁性且需要活跃功能更新的团队可以选择 AG2。
微软曾同时维护两个 AI 开发框架:AutoGen 侧重于多智能体研究和原型开发的对话式编排模式,Semantic Kernel 侧重于企业 AI 集成的状态管理、遥测和中间件能力。这种双轨制导致开发者在选择框架时面临困惑,许多客户同时使用两个框架却面临 API 漂移、连接器代码重复和遥测分散等问题。
2025 年 10 月,微软宣布将 AutoGen 与 Semantic Kernel 合并为统一的 Microsoft Agent Framework,旨在提供一个覆盖构建、编排、部署和管理全流程的单 SDK。MAF 继承了 AutoGen 的简洁智能体和团队抽象,融合了 Semantic Kernel 的会话状态管理、类型安全、过滤器和遥测体系,并新增了基于图的工作流、声明式 YAML 智能体定义、OpenTelemetry 可观测性等工程化能力。
Microsoft Agent Framework 1.0 于 2026 年 4 月 3 日达到通用可用(GA)版本,原生支持 MCP(Model Context Protocol)和 A2A(Agent-to-Agent)协议,实现了跨运行时互操作性。框架同时支持 Python 和 .NET 双语言,API 形状镜像对称,为 enterprise 客户提供了一致的开发体验。微软建议现有 AutoGen 项目在 6 至 12 个月内迁移至 MAF,以获取长期 API 稳定性和生产级特性。