
AG2 是 AG2AI 维护的开源多智能体编程框架,Apache-2.0 许可,官方定位为”Open-Source AgentOS for AI Agents” 。
它起源于 Microsoft AutoGen 0.2——2024 年 11 月原作者团队分叉出来独立演进,2026 年 7 月 27 日发布 v1.0,协议驱动框架成为顶层包 ag2,经典 autogen.* 命名空间和 ConversableAgent/GroupChat 等类迁移到独立的 ag2-classic 仓库继续维护 。
AG2 旨在简化多智能体 AI 的开发与研究,提供支持智能体互相交互、各种 LLM 接入、工具调用、自主与人机协同工作流、多智能体对话模式等能力 。它是 Agent 框架分类中“对话驱动多智能体”的代表作,与 LangGraph(已收录,图式有状态编排)、CrewAI(已收录,角色分工)、MAF(已收录,微软官方生产级多智能体框架)、OpenManus(新增,通用智能体框架)形成清晰的差异化。
产品概述
AG2 的故事是 2025-2026 年 Agent 框架生态最大的一次”分叉与重组”:AutoGen 最初是 Microsoft Research 项目,因 0.2→0.4 的不兼容重写引发社区分裂;2024 年 11 月原作者团队 fork 出 AG2 延续 0.2 的对话式架构;2025 年 10 月 Microsoft 将 AutoGen 与 Semantic Kernel 合并为 Microsoft Agent Framework(MAF)并进入维护模式 ;2026 年 7 月 AG2 发布 v1.0,协议驱动框架成为顶层包。
核心定位哲学:
官方 GitHub 描述开宗明义——”AG2 is an open-source programming framework for building AI agents and facilitating cooperation among multiple agents to solve tasks” 。三个不可妥协的设计原则:
- 对话即原语(Classic):智能体通过消息互相交互,角色从对话历史中涌现,而非预先声明——这是与 CrewAI(角色分工)、LangGraph(图式编排)、MAF(typed-graph workflows)最根本的架构差异
- 协议驱动(v1.0+):AG2 v1.0 引入 Network hub + 四种 typed channels(conversation / consulting / discussion / workflow),将”哪个智能体现在可以说话”从 prompt engineering 问题变为 routing 问题
- 开放治理:AG2 在 Apache-2.0 许可下由社区维护,不绑定单一厂商路线图
它做什么 / 不做什么(关键归类):
- ✅ 做:作为 Python 框架安装到你的环境中 → 写代码定义 Agent、配置 LLM 提供商 → 通过 GroupChat(Classic)或 Network(v1.0+)编排多智能体对话 → 调用工具、执行代码、接入人机协同 → 在你的 Python 进程内运行
- ❌ 不做:不提供独立 SaaS 服务、不生成 Embeddings、不做业务级 RAG 编排(是 Agent 的底层框架);本身不是独立”服务”,而是嵌入你应用的库
- 本质是开源多智能体框架:它必须
pip install安装、配置 API Key、写 Python 代码调用——与 AutoGPT(有可视化 Platform 服务)、Pinecone(有独立 SaaS)有本质区别。
技术架构:
- 实现语言:Python,要求 >= 3.10
- 包名与导入:
- v1.0+:
pip install ag2,import ag2,核心类Agent - Classic(AG2 < 1.0 或
pip install ag2-classic):import autogen,核心类ConversableAgent/GroupChat
- v1.0+:
- AG2 v1.0 架构:
- Network hub:多智能体协作的协调中心
- 四种 typed channels:conversation(开放对话)、consulting(问答)、discussion(辩论)、workflow(结构化交接)
- AG2 Classic 架构 :
- ConversableAgent:基础类,能发送/接收消息,用 GenAI 模型、非 GenAI 工具或人类输入生成回复
- AssistantAgent:基于 LLM 生成回复
- UserProxyAgent:人类输入代理,可自动执行代码
- GroupChat / GroupChatManager:多智能体群聊与消息路由(round-robin 或 LLM 自动选择)
- Orchestration patterns:swarms、nested chats、sequential chats
- 接口:Python API(async 优先,v1.0+ Agent.ask() 返回 AgentReply)
- 部署形态:作为库嵌入你的 Python 应用 → 本地脚本 / Jupyter Notebook / FastAPI 服务 / Docker 容器 / K8s 调度
- 能力矩阵:多 LLM 接入(OpenAI/Anthropic/Gemini/Ollama 等,通过 extras 安装)、工具调用、代码执行(可选 Docker 隔离)、人机协同、多智能体对话模式、A2A 协议支持(v0.10.0+)
许可策略:Apache-2.0 许可证 ,允许商用、修改、分发,与 Milvus/Qdrant/Vespa 同属最干净许可阵营。
版本与迁移关键事实:
⚠️ AG2 v1.0 不是经典 AutoGen 的就地升级:agent model、orchestration、imports 全部改变 。
pip install ag2(v1.0+)不再提供autogen导入名和经典 agent 类。经典 API 在独立的ag2-classic仓库继续维护,通过pip install ag2-classic安装 。这意味着:
- 新项目用 AG2 v1.0:
pip install ag2[openai],import ag2- 已有 AutoGen 0.2 / AG2 < 1.0 代码:
pip install ag2-classic,import autogen不变
生态定位(2026 年三分天下):
- AutoGen(Microsoft 官方):2025 年 10 月起维护模式,仅修复 bug 和安全补丁,不再加新功能
- MAF(Microsoft Agent Framework):微软官方继任者,2026 年 4 月 2 日 1.0 GA,MIT 许可,AutoGen + Semantic Kernel 合并
- AG2:社区开放治理路径,延续对话式架构,v1.0 重构为协议驱动框架
💡 与同层 Agent 框架的关键差异:
- vs MAF(已收录):MAF 是微软官方把 AutoGen 与 Semantic Kernel 融合的生产级框架(1.0 GA 2026.4.2,MIT 许可,typed-graph workflows + handoff orchestration,Python/.NET 双语言,Azure AD/RBAC/SOC 2 企业特性);AG2 是社区开放治理路径,经典对话式 API 在
ag2-classic中延续,v1.0 重构为协议驱动 。选型规则:”当流程可预先知晓选 CrewAI;当智能体之间的协商本身就是工作选 MAF 或 AG2“- vs CrewAI(已收录):CrewAI 是角色分工式(声明角色/目标/工具,Process 决定流转);AG2 Classic 是对话驱动式(GroupChat 中消息交换,角色从对话中涌现) 。AG2 v1.0 用四种 typed channels 把”哪个智能体现在可以说话”变成 routing 问题
- vs LangGraph(已收录):LangGraph 是图式有状态编排(StateGraph + checkpointer + interrupt);AG2 Classic 是对话历史驱动,AG2 v1.0 是 Network hub + typed channels
- vs OpenManus(新增):OpenManus 是通用智能体框架产品(六层架构 + 工具链 + 可视化);AG2 是对话驱动多智能体框架(开发者写代码编排)
核心能力
-对话驱动多智能体(Classic 基因)
- ConversableAgent:基础类,能发送/接收消息,用 LLM/工具/人类输入生成回复
- AssistantAgent:LLM 驱动,生成模型回复
- UserProxyAgent:人类输入代理,可配置 human_input_mode(NEVER/ALWAYS/TERMINATE),可自动执行代码
- GroupChat / GroupChatManager:多智能体群聊,speaker_selection_method 支持 round-robin、auto(LLM 选择)、custom function
- Orchestration patterns:swarms、nested chats(子流水线)、sequential chats
- 角色涌现:智能体角色从消息历史和 system prompt 中涌现,而非预先声明
-协议驱动框架(v1.0+)
- Network hub:多智能体协作的协调中心
- 四种 typed channels:
- conversation:开放对话
- consulting:问答
- discussion:辩论
- workflow:结构化交接
- Agent 核心类:
from ag2 import Agent,async 优先,Agent.ask()返回AgentReply,文本内容在reply.body - OpenAIConfig:
from ag2.config import OpenAIConfig,支持 per-request API key
-工具与代码执行
- 工具注册:Classic 通过
register_function;v1.0+ 通过@tool装饰器,plain Python functions - 代码执行:Classic 通过 UserProxyAgent 的
code_execution_config(建议使用 Docker 隔离);v1.0+ 可选 jupyter-executor - 多 LLM 接入:通过 extras 安装——
ag2[openai]、ag2[anthropic]、ag2[gemini]、ag2[ollama]等
-人机协同
- Classic:UserProxyAgent 的 human_input_mode(NEVER/ALWAYS/TERMINATE)
- v1.0+:Human in the loop 通过暂停运行收集人工确认或缺失信息
-协议互操作
- A2A 协议:v0.10.0+ 引入原生 A2A(Agent-to-Agent)协议支持
- MCP 协议:通过 MCP 实现跨框架智能体互操作
- 开放治理:Apache-2.0 许可下由社区维护,欢迎全球开发者贡献
-增强 LLM 推理
- 多模型 LLM 配置:cache seeding、configurable termination conditions
- 推理优化:支持 enhanced LLM inference APIs 以提升性能与降低成本
优势亮点
- Apache-2.0 最干净许可:与 Milvus/Qdrant/Vespa 同属最宽松许可阵营,商用、修改、分发无限制
- AutoGen 0.2 的真正延续:社区开放治理路径,对话式多智能体基因完整保留
- v1.0 协议驱动重构:Network hub + 四种 typed channels,将”哪个智能体现在可以说话”从 prompt engineering 变为 routing 问题
- 双向兼容策略:v1.0 协议驱动框架(
import ag2)+ Classic 独立仓库(pip install ag2-classic,import autogen)并行维护,存量代码零修改继续工作 - 对话即原语:GroupChat 中智能体自由辩论、协商,角色从对话中涌现——适合开放式研究、探索性任务
- 多 LLM 接入:OpenAI/Anthropic/Gemini/Ollama 等通过 extras 安装
- 代码执行:可选 Docker 隔离的代码执行能力,开发者编码助手场景开箱即用
- A2A + MCP 互操作:v0.10.0+ 原生 A2A 协议支持,与 MCP 一起实现跨框架智能体互操作
- 社区规模:AG2 仓库 4.8K+ Stars(v1.0 重写后),AutoGen 0.2 时代累积 42K+ Stars,Discord 社区 20,000+ 成员
- 与 MAF 差异化共存:MAF 是微软官方生产级路径(Azure 企业特性);AG2 是社区开放治理路径(供应商中立)
局限
- v1.0 不向后兼容 Classic:
pip install ag2(v1.0+)不再提供autogen导入名和 ConversableAgent/GroupChat 类,迁移需重写代码 - Classic 与 v1.0 双线并行:团队需明确选择
ag2(v1.0 协议驱动)还是ag2-classic(Classic 对话驱动),概念模型不同 - 不是独立服务:AG2 是库,必须嵌入 Python 应用进程运行,无独立”SaaS 服务”形态(与 AutoGPT Platform、Pinecone 不同)
- 需自运维:生产部署需要自己封装 FastAPI/Flask + Docker + K8s,AG2 本身不提供托管服务
- 与 MAF 对比:MAF 有 Azure AD/RBAC/SOC 2 企业特性、Python/.NET 双语言、OpenTelemetry 原生可观测性;AG2 是企业特性需自集成
- 与 LangGraph 对比:LangGraph 已吃下约 40% 生产级 Agent 部署份额(Airbnb/Shopify/UnitedHealth 等),有 LangSmith 可观测性;AG2 生产验证规模相对较小
- 与 CrewAI 对比:CrewAI 角色分工式更适合流程可预先知晓的场景;AG2 对话驱动在开放式任务更强,但 token 开销更大
- AutoGen 生态分裂:Microsoft 官方 AutoGen 已进入维护模式,新功能只落在 MAF ;AG2 是社区路径,新模型接入/协议特性/安全控制可能滞后于 MAF
- 学习曲线:v1.0 的 Network hub + typed channels 是新概念;Classic 的 GroupChat 模式也需要理解对话驱动范式
适用人群
- AutoGen 0.2 存量用户:希望继续获得活跃功能更新(而非仅 bug 修复),通过
pip install ag2-classic零修改延续代码 - 对话驱动多智能体需求:需要智能体自由辩论、协商、角色涌现的开放式研究与探索任务
- 供应商中立诉求:不愿绑定 Microsoft/Azure 生态的团队,AG2 在 Apache-2.0 下开放治理
- 协议互操作需求:需要通过 A2A/MCP 与其他框架智能体协作
- 学术与研究:多智能体交互模式研究,AG2 的经典对话式架构是最自然的实验台
- 新型项目选 v1.0:希望采用协议驱动框架(Network hub + typed channels)的团队
- 社区贡献者:AG2 欢迎全球开发者贡献
安装与部署
1. 环境要求
- Python >= 3.10(v1.0 要求;Classic 0.9.x 要求 >= 3.9, < 3.14)
- pip 包管理器
- 虚拟环境(推荐 venv)
2. 安装 AG2 v1.0(协议驱动框架)
# 创建虚拟环境 python3 -m venv .venv source .venv/bin/activate # 安装 AG2 + OpenAI 支持 # Windows/Linux: pip install ag2[openai] # Mac: pip install 'ag2[openai]' # 其他模型提供商 pip install ag2[anthropic] pip install ag2[gemini] pip install ag2[ollama] pip install ag2[anthropic,cohere,mistral]
3. 配置 API Key
export OPENAI_API_KEY="your-api-key" # 或 ANTHROPIC_API_KEY、GEMINI_API_KEY 等
4. AG2 v1.0 运行第一个智能体
import asyncio
from ag2 import Agent
from ag2.config import OpenAIConfig
agent = Agent(
"assistant",
prompt="You are a helpful assistant.",
config=OpenAIConfig(model="gpt-4o-mini"),
)
async def main() -> None:
reply = await agent.ask("Summarize the main differences between Python lists and tuples.")
print(reply.body)
asyncio.run(main())
5. 安装 AG2 Classic(延续 AutoGen 0.2 API)
# 安装经典版
pip install ag2-classic
# 使用经典 API
from autogen import ConversableAgent, LLMConfig
import os
llm_config = LLMConfig.from_json(path="OAI_CONFIG_LIST")
assistant = ConversableAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
user_proxy.run(assistant, message="Summarize the main differences between Python lists and tuples.").process()
6. AG2 Classic 多智能体群聊示例
import autogen
import os
llm_config = {"config_list": [{"model": "gpt-4o", "api_key": os.environ["OPENAI_API_KEY"]}]}
# 定义三个角色智能体
planner = autogen.AssistantAgent("Planner", system_message="You break down tasks into steps.", llm_config=llm_config)
coder = autogen.AssistantAgent("Coder", system_message="You implement the code.", llm_config=llm_config)
reviewer = autogen.AssistantAgent("Reviewer", system_message="You review code.", llm_config=llm_config)
user_proxy = autogen.UserProxyAgent("User",
human_input_mode="NEVER",
code_execution_config={"work_dir": "coding", "use_docker": False},
is_termination_msg=lambda x: "TERMINATE" in x.get("content", "")
)
# GroupChat 编排多智能体
groupchat = autogen.GroupChat(
agents=[user_proxy, planner, coder, reviewer],
messages=[],
max_round=12,
speaker_selection_method="auto" # LLM 自动选择下一个发言者
)
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)
user_proxy.initiate_chat(manager, message="Build a REST API endpoint for user authentication.")
7. 生产部署参考架构
AG2 本身是库,生产部署需要将它嵌入你的服务:
# FastAPI 封装 AG2 智能体
from fastapi import FastAPI
from ag2 import Agent
from ag2.config import OpenAIConfig
app = FastAPI()
agent = Agent(
"assistant",
prompt="You are a helpful assistant.",
config=OpenAIConfig(model="gpt-4o-mini"),
)
@app.post("/chat")
async def chat(message: str):
reply = await agent.ask(message)
return {"reply": reply.body}
# 容器化:Dockerfile 基于 python:3.12-slim
# 编排:K8s Deployment + Service
# 扩展:通过 replicas 横向扩展,AG2 无状态可多副本
8. 部署前必检清单
- 确认仓库位于
github.com/ag2ai/ag2(官方) - 许可:Apache-2.0
- 严格属于 Agent 框架分类,“对话驱动多智能体”子类
- 官方定位:”Open-Source AgentOS for AI Agents”
- 开发方:AG2AI(AutoGen 原作者 Chi Wang、Qingyun Wu 等社区组织)
- 语言:Python,要求 >= 3.10
- 最新版本:v1.0(2026 年 7 月 27 日发布)
- v1.0 架构:Network hub + 四种 typed channels(conversation/consulting/discussion/workflow)
- Classic API:
pip install ag2-classic,import autogen,ConversableAgent/GroupChat(在独立仓库ag2ai/ag2-classic维护) - v1.0 不向后兼容 Classic:agent model、orchestration、imports 全部改变
相关导航


LangGraph

Goose

Mastra

CrewAI

LlamaIndex

OpenAI Agents SDK

