如果你做过几个 Agent,大概率会有这种体验:一个 Agent 能搞定”查天气””查数据库””算个数”这种单一任务,但当任务稍微复杂——比如”写一篇包含数据调研、用户访谈、竞品分析的完整报告”——单 Agent 就开始跑偏、漏步骤、生成质量下降。
原因很简单:一个 Agent 的能力边界是有限的。它一次只能”看到”一个上下文窗口,但真实业务任务往往涉及多个领域、需要多种技能、需要分多个阶段完成。单 Agent 把所有事情压在同一个上下文里,会:
- 上下文爆掉(超过 40% 就要开始变笨)
- 角色混乱(它要同时是分析师、作家、编辑,角色越多越失败)
- 错误级联(一个工具失败,整个 Agent 跑偏)
多 Agent 就是解决这个问题——把复杂任务拆给多个”专家 Agent”协作完成。每个 Agent 专注自己的领域,主 Agent(Orchestrator)负责协调。这种模式跟真实公司很像:不是一个人做所有事,而是 CEO + 部门经理 + 工程师协作。
2026 年,多 Agent 是企业级 AI 应用的标准架构。OpenAI 的 deep research、Anthropic 的 Claude 多 Agent、阿里通义的多 Agent 框架,本质上都是这个套路。
今天我们用两个最主流的框架——CrewAI 和 AutoGen——分别搭一个多 Agent 系统。学完这两个,你就能应对 90% 的多 Agent 场景。
一、CrewAI vs AutoGen:两个框架的差异
在动手之前,先理解两个框架的设计哲学差异。这能帮你选对工具。
| 维度 | CrewAI | AutoGen |
|---|---|---|
| 核心抽象 | 角色(Crew)+ 任务(Task) | 智能体(Agent)+ 对话(GroupChat) |
| 协作模式 | 流水线 + 角色分工 | 多 Agent 对话 |
| 上手难度 | 低(声明式,定义 Agent 和 Task 即可) | 中(需要写对话编排逻辑) |
| 适合场景 | 流程化任务(报告、市场分析、内容创作) | 协作式任务(代码 review、头脑风暴) |
| 控制粒度 | 中(任务粒度) | 高(消息粒度) |
| 生态成熟度 | 2025 年异军突起 | 微软加持,生态稳定 |
简单选:
- 任务流程化、有明确步骤 → 选 CrewAI
- 任务需要多 Agent 反复讨论、协作 → 选 AutoGen
- 不确定 → 先试 CrewAI,上手更快
两个框架都能用上 2026 年的所有主流 LLM(Claude、GPT、Gemini、DeepSeek、通义),没有厂商绑定。
决策树:遇到这种任务选哪个
光看表格你还是不会选。下面是一个实际选框架的决策树:
- 任务能拆成明确上下游吗(如:调研 → 写 → 审)?→ CrewAI 流水线
- 任务需要多 Agent 反复讨论(代码 review / 头脑风暴)?→ AutoGen GroupChat
- 任务需要子任务分配 + 汇总(如:多源数据分析报告)?→ CrewAI
- 任务需要多个角色联合决策(如:创业评审会)?→ AutoGen GroupChat
- 任务依赖外部服务编排(如:跨系统 ETL)?→ CrewAI(工具调用更自然)
如果你的场景在多个象限,不是”二选一”,那么更成熟的方案是用 LangGraph 手撕图。今天只讲 CrewAI 和 AutoGen,但生产级系统 LangGraph 其实更主流。
最后记住一点:两个框架不是互斥的。CrewAI 负责主管线,AutoGen 用作某个子任务的”讨论环节”,这种混搭在企业项目里不少见。
二、环境准备:5 分钟搞定
我们用 uv(快速 Python 包管理器)管理依赖,5 分钟装好:
步骤 1:装 uv(已有跳过)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows 用 powershell 脚本,见 uv 官网
步骤 2:建项目
uv venv && source .venv/bin/activate
uv add crewai autogen-agentchat~=0.4 "autogen-ext[openai,anthropic]" langchain-anthropic
步骤 3:配 API key
建 .env:
OPENAI_API_KEY=***
CrewAI + AutoGen 同时支持 Claude 和 GPT,我们用 Claude 写代码。
到这里就绪。下面分别搭两个框架的 demo。
三、用 CrewAI 搭一个”研究报告写作团队”
我们的第一个 demo:一个 3 人 Agent 团队,产出”2026 年 AI Agent 行业研究报告”。
- 研究员 Agent:负责搜资料、整理数据
- 作家 Agent:基于资料写报告内容
- 编辑 Agent:审稿、改稿、润色
三个 Agent 依次工作,产出最终报告。
完整代码
新建 crew_research.py:
from crewai_tools import SerperDevTool, ScrapeWebsiteTool
from langchain_anthropic import ChatAnthropic
from dotenv import load_dotenv
import os
load_dotenv()
# 1. 配置 LLM
llm = ChatAnthropic(model="claude-sonnet-4-6")
# 2. 准备工具
search_tool = SerperDevTool()
scrape_tool = ScrapeWebsiteTool()
# 3. 定义 Agent
researcher = Agent(
role="高级行业研究员",
goal="搜集 2026 年 AI Agent 行业的最新数据、趋势、案例",
backstory="你有 10 年行业研究经验,擅长从海量信息中提取关键洞察。",
tools=[search_tool, scrape_tool],
llm=llm,
verbose=True,
)
writer = Agent(
role="专业行业作家",
goal="基于研究员提供的资料,写一份结构清晰、数据丰富的行业报告",
backstory="你是《财经周刊》首席科技记者,擅长把复杂数据讲得通俗易懂。",
llm=llm,
verbose=True,
)
editor = Agent(
role="资深主编",
goal="审稿、修改润色,确保报告逻辑严谨、文笔流畅",
backstory="你是新华社高级编辑,擅长把控文章质量和节奏。",
llm=llm,
verbose=True,
)
# 4. 定义任务
research_task = Task(
description="""
搜集 2026 年 AI Agent 行业的关键数据:
1. 主要玩家(GPT、Claude、Gemini、DeepSeek 等)的市场份额
2. 典型应用场景(编程、客服、数据分析、自动化办公)
3. 投资金额、用户增长、技术突破
4. 至少 5 个行业标杆案例
输出:3000 字以内的调研笔记,带数据来源
""",
agent=researcher,
expected_output="结构化的调研笔记文档",
)
writing_task = Task(
description="""
基于研究员提供的资料,写一份 5000 字的行业研究报告:
1. 标题、引言
2. 市场格局(主要玩家 + 份额)
3. 技术趋势(多 Agent、RAG、Harness Engineering)
4. 典型案例(选 3-5 个最有代表性的)
5. 未来展望
6. 结论
风格:专业但通俗,适合科技行业从业者阅读
""",
agent=writer,
expected_output="完整的行业研究报告 Markdown 文档",
)
editing_task = Task(
description="""
审阅作家的初稿,进行以下修改:
1. 检查数据准确性(对照研究员笔记)
2. 删除冗余、压缩无关内容
3. 优化标题、增加过渡
4. 修正错别字、语法错误
5. 最终输出 4000-4500 字的精修版
""",
agent=editor,
expected_output="精修后的最终报告",
)
# 5. 创建 Crew
crew = Crew(
agents=[researcher, writer, editor],
tasks=[research_task, writing_task, editing_task],
process=Process.sequential, # 串行执行
verbose=2,
)
# 6. 运行
result = crew.kickoff(inputs={"topic": "2026 年 AI Agent 行业研究报告"})
print(result)
跑 python crew_research.py,你会看到三个 Agent 依次工作:
- 研究员 Agent 调搜索工具,搜集 2026 AI Agent 行业数据
- 作家 Agent 基于研究员的笔记写初稿
- 编辑 Agent 审稿、修改、润色,输出最终版本
整个流程大概 5-10 分钟,产出一份 4000+ 字的研究报告。
CrewAI 关键设计点
这种多 Agent 设计有几个亮点:
- 角色清晰:每个 Agent 有独立 role、goal、backstory,LLM 能”代入角色”
- 任务依赖:任务 2 依赖任务 1 输出(通过上下文自动传递),任务 3 依赖任务 2 输出
- 工具隔离:研究员有搜索工具,作家和编辑没有,符合”专业分工”
如果你想跑得更快,把 process=Process.sequential 改成 Process.hierarchical,让 CrewAI 自动加一个 Manager Agent 来调度——它会决定任务怎么分配、什么顺序。这种”自适应”模式适合更复杂的场景。
四、用 AutoGen 搭一个”协作决策团队”
第二个 demo 我们用 AutoGen。这次要搭的是”创业项目评审会”——3 个 Agent 模拟投资人、产品经理、技术 leader,他们讨论一个创业 idea,最后产出决策。
AutoGen 的核心理念是”对话”——多个 Agent 像人开会一样互相回复、追问、争论,最后达成共识。
完整代码
新建 autogen_pitch.py:
from dotenv import load_dotenv
load_dotenv()
# 1. 配置 LLM
config_list = [
{
"model": "claude-sonnet-4-6",
"api_key": "", # 从环境变量读
}
]
llm_config = {"config_list": config_list, "timeout": 120}
# 2. 定义 Agent
investor = autogen.AssistantAgent(
name="投资人老张",
system_message="""你是一位有 10 年经验的早期投资人。你关心:
1. 市场有多大?
2. 团队是否靠谱?
3. 商业模式是否清晰?
4. 估值是否合理?
你的风格:直接、尖锐、爱问"为什么"。
你会基于其他人的发言追问或质疑。""",
llm_config=llm_config,
)
pm = autogen.AssistantAgent(
name="产品经理小李",
system_message="""你是一位有 8 年经验的产品经理。你关心:
1. 用户需求是否真实?
2. 解决方案是否可行?
3. 产品定位是否差异化?
你的风格:用户视角、关注细节、爱问"用户会怎么想"。
你会基于其他人的发言追问或质疑。""",
llm_config=llm_config,
)
tech_lead = autogen.AssistantAgent(
name="技术总监老王",
system_message="""你是一位有 12 年经验的资深技术总监。你关心:
1. 技术方案是否可实现?
2. 工程复杂度如何?
3. 是否能规模化?
你的风格:技术视角、关注落地、爱问"具体怎么做"。
你会基于其他人的发言追问或质疑。""",
llm_config=llm_config,
)
user_proxy = autogen.UserProxyAgent(
name="创业者",
human_input_mode="TERMINATE", # 当 Agent 说"TERMINATE"就结束
max_consecutive_auto_reply=10,
)
# 3. 创建 GroupChat
groupchat = autogen.GroupChat(
agents=[investor, pm, tech_lead, user_proxy],
messages=[],
max_round=15, # 最多 15 轮对话
)
manager = autogen.GroupChatManager(
groupchat=groupchat,
llm_config=llm_config,
)
# 4. 启动对话
user_proxy.initiate_chat(
manager,
message="""
我有一个创业 idea,想听听各位的意见:
我们做一个 AI 周报生成 SaaS,用户输入几个关键词,系统自动生成结构化周报。
主打目标客户:大厂员工(他们周报义务重)、自由职业者(给客户发周报)。
定价:基础功能免费,Pro ¥29/月(无限次、可导出 PDF)。
请从你的角度分析这个 idea。
""",
)
跑 python autogen_pitch.py,你会看到一个”会议”过程:
- 创业者发起话题
- 投资人老张开始点评(关心估值、团队)
- 产品经理小李追问(关心用户需求)
- 技术总监老王评估可行性
- 三人互相追问、质疑
- 最后给出综合评估
整个对话会被打印出来。这是 AutoGen 的核心优势:真正的多 Agent 协作对话,不是流水线。
AutoGen 关键设计点
- 每个 Agent 有独立 system_message:这是 AutoGen 的灵魂——让 LLM”代入角色”必须靠精确的 system prompt
- 自动对话编排:GroupChat 的 messages 列表累积所有对话,GroupChatManager 决定下一轮谁说话
- max_round 控制轮数:避免无限对话,到 15 轮自动结束
AutoGen 的核心优势是”对话自然”,适合需要多 Agent 反复讨论、辩证思考的场景。但它的执行路径不确定(每次跑可能不同 Agent 先发言),不适合需要稳定步骤的任务。
五、多 Agent 协作模式:3 种核心架构
搭多 Agent 系统时,选对协作模式很关键。下面是 3 种最主流的架构。
架构 1:Orchestrator 模式(主从式)
一个主 Agent + 多个专家 Agent。
├─→ 专家 A(数据)
├─→ 专家 B(分析)
└─→ 专家 C(写作)
特点:
- 主 Agent 接收用户请求,拆分、分配、汇总
- 专家 Agent 各自处理自己的子任务
- 流程清晰,易于调试
适用:任务能清晰拆分成独立子任务的场景。CrewAI 默认就是这种架构。
架构 2:对等模式(自由讨论)
多个 Agent 地位平等,互相讨论。
↑ ↑
└───── Agent C
特点:
- 没有”主 Agent”,所有 Agent 平等
- 对话驱动,谁都可以主导
- 适合头脑风暴、辩证思考
适用:需要多视角讨论、批判性思考的场景。AutoGen 的 GroupChat 就是这种架构。
架构 3:流水线模式(顺序执行)
Agent 1 → Agent 2 → Agent 3 → 终产品。
特点:
- 严格顺序,每一步依赖上一步输出
- 像工厂流水线
- 适合”数据流”明显的场景
适用:研究报告、内容生成这类有明确上下游关系的任务。
怎么选?
- 任务流程化、上下游明确 → 流水线
- 任务需要多 Agent 协作讨论 → 对等模式
- 任务能清晰拆分、有主从关系 → Orchestrator
- 不确定 → 从 CrewAI 的 sequential 模式开始(默认 Orchestrator),逐步演进
架构 4:混合模式(Hybrid)— 企业级最常见
上面 3 种是”纯粹”架构,真实企业项目几乎都用第 4 种——混合模式。它组合了上面三种的核心思想:
├─→ 流水线 1:数据采集 → 加工 → 输出
├─→ 流水线 2:创作 → 审校 → 发布
└─→ 对等集群:多 Agent 讨论某个决策
混合架构的优势:
- 并行 + 串行都支持:不同子任务用不同模式,发挥各自长处
- 资源利用最充分:重计算的任务走流水线,需要讨论的走对等
- 可控性高:Orchestrator 统一调度,出问题时能定位到具体子图
代价是复杂度高——新手直接上混合模式容易栽坑。建议路径:
- 先写一个 Orchestrator 主 Agent + 2-3 个专家 Agent(纯主从)
- 跑通后,某个专家 Agent 内部改成流水线(比如数据分析 3 步)
- 跑通后,某两个 Agent 之间改成对等讨论(比如产品+技术联合决策)
- 最后再做”Orchestrator + 混合子图”
这种”渐进式”演进路径,让你每个阶段都能 debug、可验证、可回滚。
Anthropic 内部那个 Planner + Generator + Evaluator 三 Agent 架构,本质就是混合模式——Planner 是 Orchestrator,Generator 内部是流水线,Evaluator 是对等讨论的评审 Agent。这种架构在 2026 年逐渐成为”企业 Agent 标准模板”。
六、调优技巧:多 Agent 跑得更顺
多 Agent 比单 Agent 复杂,调优也讲究。
调优 1:精准的角色定义
system_message 写得越具体,Agent 表现越好。不要写”你是一个 AI 助手”,要写:
❌ “你是一个产品经理,要给 AI 周报 SaaS 提建议”
✅ “你是一个有 8 年 ToB SaaS 经验的产品经理,你曾主导过 [产品名] 的 0→1,你的关注点是用户画像、转化率、留存指标。当其他 Agent 发言时,你要追问具体数字(如 ARPU、conversion rate、retention),不接受抽象描述。”
“代入角色”越深,Agent 行为越稳定。
调优 2:明确的交接协议
Agent 之间传递任务时,要明确”输入是什么、输出是什么”。用 task description:
description="""
输入:[前面 Agent 的输出]
必须包含:
1. 关键数据(用列表呈现)
2. 数据来源(标注 URL)
3. 不确定的地方(明确标出)
输出格式:
– 开头:执行摘要(100 字)
– 中间:详细数据
– 结尾:待确认问题
""",
)
明确的”输入-输出”格式,能减少 Agent 之间的歧义。
调优 3:加 Guardrails(护栏)
多 Agent 容易”跑偏”。加护栏:
- 超时控制:每个 Agent 任务最多 60 秒,超时强制结束
- 轮数限制:AutoGen 的 max_round=15,避免无限对话
- 退出条件:Crews 的
Process.hierarchical可以让 Manager 主动终止 - 错误恢复:某个 Agent 失败,记录错误,继续下一步(而不是整个任务挂掉)
调优 4:评估 + 持续改进
跑 10-20 个测试 case,看多 Agent 系统的输出质量:
- 准确性(报告内容对不对)
- 一致性(同样输入,输出是否稳定)
- 效率(跑完要多久、token 用多少)
基于评估结果,迭代 Agent 的 system_message、任务描述、协作模式。
七、踩坑记录:多 Agent 最容易踩的 5 个坑
坑 1:Agent 角色模糊,说话像”群聊”
症状:三个 Agent 发言听起来像同一个人,没有角色区分。
修复:
- system_message 写具体(年龄、经验、专业领域、关注点)
- 给每个 Agent 一个”独特语言风格”(如:老张投资人说话直接、爱追问;小李 PM 说话接地气、爱举例子)
坑 2:Orchestrator 死循环
症状:主 Agent 反复分发同一个子任务,无限循环。
修复:
- 加 max_iterations 限制(主 Agent 最多重试 3 次)
- 让 Orchestrator 记录已派发的任务,避免重复
坑 3:对话 Agent 越聊越偏
症状:AutoGen 群聊跑 5 轮后,话题已经飘到完全无关的地方。
修复:
- 缩短 max_round(15 轮就够,别 50)
- 给 Manager 加 system_message:”每轮确保对话往既定目标推进”
坑 4:Token 消耗爆炸
症状:多 Agent 一次跑 100 块,主要是把对话历史全传给了每个 Agent。
修复:
- 上下文压缩(只传关键发言,不传全部历史)
- 给每个 Agent 单独的 context window 限制
- 选择更便宜的模型做”参与 Agent”,贵的只放关键决策点
坑 5:主 Agent 失控,生成违规内容
症状:Orchestrator 让专家 Agent 跑一些越界操作(发邮件、写数据库)。
修复:
- 给所有 Agent 配”权限列表”,强约束
- Audit Log:所有 Agent 操作都记录
- 人工审核:关键操作必须 confirm
八、下一步
学完 CrewAI + AutoGen,你的多 Agent 基础已经扎实。接下来推荐 3 个方向:
方向 1:基于 LangGraph 搭企业级多 Agent
LangGraph 提供了更精细的控制能力——你可以完全定义 Agent 的执行图,加上条件分支、并行、错误恢复。把今天学的 CrewAI/AutoGen 思维,用 LangGraph 实现成生产级系统。
方向 2:多 Agent + MCP = 企业 Agent 终极形态
把今天的多 Agent 接上 MCP 工具(数据库、GitHub、Slack),Agent 团队就能”动手做事”——这是 2026 年企业 AI 应用最前沿的架构。
方向 3:多 Agent + RAG = 智能研究助手
把多 Agent 跟 RAG 结合,Agent 团队能基于企业私有知识做研究、产出报告。这是个企业级 AI 应用的标准模式。
推荐路径
- 想从单 Agent 升级到多 Agent:你已经在正确路上了——CrewAI 是最容易上手的多 Agent 框架
- 想搭生产级多 Agent 系统:学 LangGraph,补足”控制粒度”
- 想让 Agent 能用工具:看本系列《MCP 实战》文章
- 想用多 Agent 做 RAG:看 Agentic RAG 专题(下一步会写)
最后一句话:多 Agent 不是”银弹”——它能让复杂任务变得可执行,但也会让系统变得复杂。在做多 Agent 之前,先确认单 Agent 真的搞不定。一个能用 30 行代码解决的任务,不要硬上多 Agent。
判断标准:”任务能拆分成 3+ 个独立子任务吗?” 能 → 多 Agent;不能 → 单 Agent。
下次我会单独写一篇《GraphRAG 实战》,把今天的多 Agent 能力 + RAG + 知识图谱结合,做出”智能研究助手”。这是 2026 年企业 Agent 应用的最复杂形态——学完这个,你就是顶级的 Agent 工程师。
今天先把 2 个框架跑通,体验”3 个 Agent 协作”的实际感受。多 Agent 的精髓,是让 LLM 像人一样”分工协作”,而不是把所有事压在一个 Agent 上。掌握这个思路,你在 AI 时代的产品能力会上一个台阶。
(综合 CrewAI 官方文档、AutoGen 官方文档、多 Agent 协作模式分析、企业 Agent 实战项目整理)




我要评论