AI小栈AI小栈
首页
  • 模块概览
  • Transformer 与注意力机制
  • 主流大模型对比
  • Prompt Engineering
  • Token 与成本核算
  • Function Calling
  • 模块概览
  • Agent 范式
  • 多 Agent 协作
  • 记忆系统
  • 规划与推理
  • 安全与可控性
  • 模块概览
  • LangChain / LangGraph
  • Claude Agent SDK
  • OpenAI Agents SDK
  • AutoGen / CrewAI
  • Dify / Coze
  • MCP 协议
  • 模块概览
  • RAG 工程化
  • 工具设计与封装
  • 流式输出与 UX
  • 可观测性
  • 部署与成本优化
  • 测试与评估
  • 模块概览
  • 智能编程助手
  • 知识库问答 Agent
  • 数据分析 Agent
  • 多模态 Agent
  • 运维 Agent
  • 从0到1构建
  • 模块概览
  • 论文解读
  • 开源项目追踪
  • MCP 生态
  • Agent 商业化
  • 职业路径
  • 模块概览
  • 技术面试实战
  • Agent 面试题解析
  • 项目经验包装
  • 流程与心态准备
首页
  • 模块概览
  • Transformer 与注意力机制
  • 主流大模型对比
  • Prompt Engineering
  • Token 与成本核算
  • Function Calling
  • 模块概览
  • Agent 范式
  • 多 Agent 协作
  • 记忆系统
  • 规划与推理
  • 安全与可控性
  • 模块概览
  • LangChain / LangGraph
  • Claude Agent SDK
  • OpenAI Agents SDK
  • AutoGen / CrewAI
  • Dify / Coze
  • MCP 协议
  • 模块概览
  • RAG 工程化
  • 工具设计与封装
  • 流式输出与 UX
  • 可观测性
  • 部署与成本优化
  • 测试与评估
  • 模块概览
  • 智能编程助手
  • 知识库问答 Agent
  • 数据分析 Agent
  • 多模态 Agent
  • 运维 Agent
  • 从0到1构建
  • 模块概览
  • 论文解读
  • 开源项目追踪
  • MCP 生态
  • Agent 商业化
  • 职业路径
  • 模块概览
  • 技术面试实战
  • Agent 面试题解析
  • 项目经验包装
  • 流程与心态准备
  • Agent 开发框架

    • 模块概览
    • LangChain 与 LangGraph
    • Claude Agent SDK 与 Anthropic API
    • OpenAI Agents SDK
    • AutoGen 与 CrewAI
    • Dify 与 Coze 低代码 Agent 平台
    • MCP 协议详解
    • 大模型 Skill 系统

AutoGen 与 CrewAI

多 Agent 协作是 Agent 应用的高级形态——多个具有不同能力或角色的 Agent 共同完成一个复杂任务。AutoGen 和 CrewAI 是这一领域的两个代表性框架,它们从不同的设计哲学出发解决同一个问题:如何让多个 Agent 有效协作而非互相干扰。

AutoGen:对话驱动的多 Agent 协作

AutoGen 由微软研究院开发,其核心设计理念是对话即编排。Agent 之间的协作通过多轮对话自然展开,而非通过预定义的流程图硬性规定。

核心概念

  • ConversableAgent:所有 Agent 的基类,每个 Agent 有系统消息、LLM 配置和人类交互模式。Agent 可以发送和接收消息,消息是协作的基本单元。
  • AssistantAgent:内置的 LLM 驱动 Agent,默认使用 GPT-4 模型,负责推理和代码生成。它接收其他 Agent 的消息,生成回复或代码。
  • UserProxyAgent:代表人类用户的 Agent,可以执行代码、提供反馈或确认操作。它的存在让人类介入成为协作流程的自然部分,而非外部中断。
  • GroupChat:多 Agent 群聊管理器,维护参与 Agent 列表、消息历史和发言顺序策略。支持自动选择下一个发言者(基于 LLM 判断)或轮询等模式。

对话流程

AutoGen 的典型工作流程:

  1. 用户通过 UserProxyAgent 发起任务描述
  2. AssistantAgent 接收任务,生成解决方案或代码
  3. UserProxyAgent 执行代码,将执行结果反馈给 AssistantAgent
  4. 如果结果有问题,AssistantAgent 修正方案,重复 2-3
  5. 任务完成,对话结束

在群聊模式下,多个 AssistantAgent 可以围绕同一个任务展开讨论——一个负责代码生成,一个负责代码审查,一个负责测试验证。发言顺序由 GroupChat 管理器的选择策略决定,最灵活的策略是让 LLM 根据当前对话内容判断最适合发言的 Agent。

优势与局限

AutoGen 的对话驱动模式具有极高的灵活性——Agent 之间可以自由讨论、质疑、修正,协作过程像专家团队的头脑风暴。但这种灵活性也带来挑战:对话可能偏离主题、Agent 可能陷入无意义的争论、流程的可预测性较低。调试长对话链的失败原因也比较困难。

CrewAI:角色驱动的多 Agent 编排

CrewAI 的设计哲学是结构化协作——通过显式定义角色、目标和任务,让多 Agent 协作像组织中的项目团队一样运转。

核心概念

  • Agent:具有角色(Role)、目标(Goal)和背景故事(Backstory)的 Agent 定义。角色决定 Agent 的专业领域,目标定义 Agent 的职责方向,背景故事为 LLM 提供行为约束的上下文。
  • Task:具有描述、预期输出和负责 Agent 的任务定义。每个 Task 可以指定由哪个 Agent 执行,也可以让 Agent 自主选择。
  • Crew:将多个 Agent 和多个 Task 组合在一起的项目团队。Crew 定义了任务执行流程(顺序或并行)和协作模式。
  • Process:Crew 的执行流程类型。sequential 模式下任务按顺序逐一完成;hierarchical 模式下有一个 Manager Agent 负责分配和监督任务。

任务流程

CrewAI 的典型工作流程:

  1. 定义 Agent 角色集合(例如:研究员、分析师、撰稿人)
  2. 定义任务列表(例如:调研 → 分析 → 撰写)
  3. 组建 Crew,指定执行流程
  4. Crew 按流程驱动任务执行,Agent 之间通过上下文共享传递中间成果
  5. 最终任务完成,输出汇总结果

在 sequential 模式下,每个任务的输出自动成为下一个任务的上下文输入——研究员的调研笔记传递给分析师,分析师的报告传递给撰稿人。在 hierarchical 模式下,Manager Agent 像项目经理一样协调任务分配和进度跟踪。

优势与局限

CrewAI 的角色驱动模式提供了清晰的结构和可预测的流程——每个 Agent 知道自己的职责,每个任务有明确的输出预期。这种结构化设计降低了调试难度,也让非技术人员更容易理解和配置协作流程。但结构化的代价是灵活性:Agent 之间的交互被任务流程约束,难以像 AutoGen那样展开自由讨论和即兴协作。

对比分析

维度AutoGenCrewAI
编排哲学对话驱动,灵活自然角色驱动,结构清晰
协作模式自由对话,LLM 决定发言顺序任务流程驱动,顺序或层级管理
人类介入UserProxyAgent 天然支持通过人类输入工具支持
流程可控性较低,对话可能偏离较高,任务顺序显式定义
灵活性高,适合探索性任务中,适合流程明确的任务
学习曲线中等,需理解对话管理较低,角色与任务的直觉式定义
适用场景代码生成与验证、探索性研究内容创作流水线、标准化业务流程

选择建议:如果任务需要 Agent 之间反复讨论和迭代修正(如代码开发),AutoGen 更合适;如果任务有明确的阶段划分和输出要求(如内容生产流程),CrewAI 的结构化编排更高效。两者都在快速演进中,未来可能互相借鉴对方的优点。

本章小结

维度AutoGenCrewAI
协作模式对话驱动(对话管理器路由)角色驱动(任务依赖图)
灵活性高,适合探索性任务中,适合流程明确任务
学习曲线中等较低
最佳场景代码生成、探索性研究内容生产、标准化业务流程

选型建议:需要反复迭代讨论选 AutoGen,有明确阶段划分选 CrewAI。


📖 延伸阅读

  1. AutoGen 官方文档 —— Microsoft 开源多 Agent 框架
  2. CrewAI 官方文档 —— 角色驱动多 Agent 框架
  3. AutoGen 论文 —— 对话驱动多 Agent 协作原论文
  4. CrewAI GitHub —— 开源代码与社区示例
Prev
OpenAI Agents SDK
Next
Dify 与 Coze 低代码 Agent 平台