7.3 角色分工与协作框架:AutoGen、MetaGPT、CrewAI、ChatDev


文档摘要

7.3 角色分工与协作框架:AutoGen、MetaGPT、CrewAI、ChatDev 拓扑解决了「谁和谁说话」,但具体「谁负责什么、按什么流程协作」还需要角色分工与框架。这一节讲清多 Agent 的角色设计——经典的经理/程序员/审核员模式、CAMEL 式角色扮演,以及四个主流框架(AutoGen、MetaGPT、CrewAI、ChatDev)的架构哲学与差异。 7.3.1 角色分工的本质:让每个 Agent 知道自己是谁 多 Agent 协作的第一步是角色定义——给每个 Agent 一份清晰的 Profile(第 2.

7.3 角色分工与协作框架:AutoGen、MetaGPT、CrewAI、ChatDev

拓扑解决了「谁和谁说话」,但具体「谁负责什么、按什么流程协作」还需要角色分工与框架。这一节讲清多 Agent 的角色设计——经典的经理/程序员/审核员模式、CAMEL 式角色扮演,以及四个主流框架(AutoGen、MetaGPT、CrewAI、ChatDev)的架构哲学与差异。

7.3.1 角色分工的本质:让每个 Agent 知道自己是谁

多 Agent 协作的第一步是角色定义——给每个 Agent 一份清晰的 Profile(第 2.1 节),让它知道:

问题 内容
我是谁 角色(经理/程序员/审核员)
我负责什么 职责范围
我用什么工具 专属工具集
我和谁协作 上游/下游
我何时交班 完成条件

角色定义不清是多 Agent 系统最常见的失败原因——Agent 不知道自己该干啥,要么抢活,要么推诿

7.3.2 经典角色分工:经理-程序员-审核员

软件工程是多 Agent 协作最典型的领域。经典的分工:

角色 职责 工具
产品经理 理解需求、写 PRD 用户反馈、文档
架构师 系统设计、技术选型 设计工具、技术文档
程序员 写代码、解 bug IDE、代码库
测试员 写测试、找 bug 测试框架
审核员 代码审查、质量把关 审查工具
文档工程师 写文档、教程 文档系统

这种分工的本质:让每个 Agent 专精一职,通过流程串联。MetaGPT、ChatDev 等框架都采用了类似的软件公司式组织。

7.3.3 CAMEL:角色扮演式协作

CAMEL(Communicative Agents, Li et al. 2023)提出了另一种思路:让两个 Agent 通过角色扮演协作完成任务——一个是「用户代理」(提需求),一个是「AI 助手」(响应),通过对话推进。

CAMEL 的工作机制

CAMEL 的精髓是「角色扮演推动任务」:用户代理不断提具体指令,AI 助手响应并产出,两者对话直到完成。任务不是一次性下发,而是在对话中逐步细化

CAMEL 的「初始 Prompt」

[用户代理 Profile] 你是一个"任务发起者"。你的角色是: - 给 AI 助手下达具体的、可执行的指令 - 不自己解决问题,只负责指挥 - 每次只给一个明确指令 [AI 助手 Profile] 你是一个"任务执行者"。你的角色是: - 严格按用户代理的指令做事 - 完成后报告结果 - 不主动越界

💡 CAMEL 的深刻贡献:它发现了「角色扮演本身就是协作机制」——通过让两个 Agent 扮演互补角色,系统能自主推进任务,无需外部协调者。这种思路后来影响了大量框架(AutoGen 的 User-Agent/Assistant-Agent、ChatDev 的角色对话等)。

7.3.4 AutoGen:微软的通用多 Agent 对话框架

AutoGen(Wu et al. 2023, 微软)是最有影响力的多 Agent 框架之一。它的核心思想:把多 Agent 协作抽象为「可对话的 Agent」集合,通过灵活组合构建复杂系统。

AutoGen 的核心抽象

AutoGen 定义了几种基本 Agent 类型:

Agent 类型 角色
UserProxyAgent 代表人类,可执行代码、调工具
AssistantAgent LLM 驱动,提供建议与代码
GroupChatManager 管理多 Agent 群聊

AutoGen 的工作流

AutoGen 的特点

维度 AutoGen
核心抽象 可对话的 Agent
通信方式 对话(消息传递)
灵活性 极高(自由组合)
编排 通过对话历史自然涌现
适用 通用、研究、原型

💡 AutoGen 的优势是「极灵活」:它不规定协作流程,只提供「Agent 对话」这一基础原语,让开发者自由组合。这种「低抽象、高灵活」的设计,让 AutoGen 成了多 Agent 研究的首选框架。

7.3.5 MetaGPT:SOP 式软件公司

MetaGPT(Hong et al. 2023)走的是另一条路:把人类软件公司的 SOP(标准作业流程)显式编码进多 Agent 系统

MetaGPT 的核心思想

MetaGPT 认为:人类组织之所以高效,是因为有 SOP——每个角色知道何时做什么、交付什么。把这套 SOP 移植到 Agent,能让多 Agent 系统从「自由对话」走向「工程化协作」。

MetaGPT 的软件公司式组织

MetaGPT 的「标准化产物」

MetaGPT 的精髓在于每个角色都有明确的输入/输出格式

角色 输入 输出
产品经理 用户需求 PRD(产品需求文档)
架构师 PRD 设计文档
项目经理 设计文档 任务列表
工程师 任务列表 代码
QA 代码 测试报告

这种「结构化交付物」让协作不再是自由对话,而是按 SOP 产出标准件,大幅减少幻觉与扯皮

MetaGPT vs AutoGen

维度 AutoGen MetaGPT
抽象 可对话 Agent SOP + 角色
流程 自由涌现 显式定义
灵活性 极高
可控性
适用 通用研究 软件工程等有 SOP 的领域

⚠️ AutoGen 与 MetaGPT 代表两种哲学:AutoGen 是「涌现派」——给 Agent 对话能力,让协作自然产生;MetaGPT 是「工程派」——预先定义 SOP,让协作按规范进行。前者灵活但难控,后者可控但僵硬。生产中常根据任务特性选边或混合。

7.3.6 CrewAI:角色与任务的轻量化框架

CrewAI 是一个相对轻量的多 Agent 框架,主打「Crew(团队)+ Task(任务)+ Agent(角色)」三要素。

CrewAI 的核心概念

概念 含义
Crew 一个团队(多个 Agent + 多个 Task)
Agent 角色(Profile + 工具)
Task 任务(描述 + 负责人 + 期望输出)
Process 协作流程(顺序/层级等)

CrewAI 的工作流

CrewAI 的特点:配置驱动、上手快、适合中小型协作。它的抽象比 AutoGen 高(更结构化),比 MetaGPT 低(不强制 SOP),处于中间地带。

7.3.7 ChatDev:聊天式软件开发

ChatDev(Qian et al. 2023)专门为软件开发设计,把软件开发过程建模为多个「聊天」阶段——每个阶段由两个 Agent 对话完成。

ChatDev 的阶段化设计

每个阶段是两个角色 Agent 的对话,对话产出该阶段的交付物(设计稿/代码/测试报告/文档)。

ChatDev 的特点

维度 ChatDev
专注 软件开发
协作 两两对话阶段化
流程 显式定义
类比 瀑布式软件公司

7.3.8 四大框架横向对比

<svg viewBox="0 0 720 380" xmlns="http://www.w3.org/2000/svg"> <!-- 坐标轴 --> <line x1="80" y1="320" x2="680" y2="320" stroke="#475569" stroke-width="2"/> <line x1="80" y1="40" x2="80" y2="320" stroke="#475569" stroke-width="2"/> <text x="680" y="345" font-size="12" fill="#475569" text-anchor="end">灵活性 →</text> <text x="60" y="40" font-size="12" fill="#475569" text-anchor="end" transform="rotate(-90 60 40)">↑ 可控性</text> <!-- 框架点 --> <circle cx="540" cy="100" r="16" fill="#dbeafe" stroke="#2563eb"/> <text x="540" y="105" font-size="12" fill="#1e3a8a" text-anchor="middle" font-weight="bold">AutoGen</text> <text x="540" y="135" font-size="10" fill="#475569" text-anchor="middle">灵活,难控</text> <circle cx="160" cy="100" r="16" fill="#fef9c3" stroke="#ca8a04"/> <text x="160" y="105" font-size="12" fill="#713f12" text-anchor="middle" font-weight="bold">MetaGPT</text> <text x="160" y="135" font-size="10" fill="#475569" text-anchor="middle">SOP,可控</text> <circle cx="350" cy="200" r="16" fill="#dcfce7" stroke="#16a34a"/> <text x="350" y="205" font-size="12" fill="#14532d" text-anchor="middle" font-weight="bold">CrewAI</text> <text x="350" y="235" font-size="10" fill="#475569" text-anchor="middle">中间地带</text> <circle cx="220" cy="160" r="16" fill="#fce7f3" stroke="#db2777"/> <text x="220" y="165" font-size="12" fill="#831843" text-anchor="middle" font-weight="bold">ChatDev</text> <text x="220" y="195" font-size="10" fill="#475569" text-anchor="middle">软件专用</text> <!-- 趋势线 --> <path d="M 160 100 L 540 100" stroke="#94a3b8" stroke-width="1.5" stroke-dasharray="4 4"/> <text x="360" y="60" font-size="13" fill="#475569" text-anchor="middle">灵活性 ↔ 可控性 权衡</text> </svg>
框架 抽象 流程 灵活性 可控性 适用
AutoGen 可对话 Agent 涌现 极高 通用研究
MetaGPT SOP + 角色 显式 有 SOP 的领域(软件、报告)
CrewAI Crew + Task 配置驱动 中小型协作
ChatDev 阶段化对话 显式 低(专用) 软件开发

7.3.9 框架选型指南

场景 推荐
研究多 Agent 协作机制 AutoGen
软件开发、有清晰 SOP 的领域 MetaGPT / ChatDev
中小型任务、快速上手 CrewAI
需要极高灵活性 AutoGen
需要稳定可控 MetaGPT
需要平衡 CrewAI

💡 框架选型的核心权衡灵活性 vs 可控性。AutoGen 灵活但难控,MetaGPT 可控但僵硬,CrewAI 居中。没有最好的框架,只有最匹配场景的框架。第 8.1 节会进一步给出选型决策树。

7.3.10 多 Agent 框架的反模式

反模式 表现 后果 正确做法
角色不清 Agent 不知道干啥 抢活/推诿 清晰 Profile
流程过松 无 SOP 全靠涌现 协作失控 加结构化流程
流程过死 SOP 没有灵活性 死板 关键点保留弹性
Agent 太多 一上来 10+ Agent 协调成本爆炸 按需增加
无中间校验 一错到底 错误放大 关键节点 review
盲目抄框架 不理解就用 落地变形 先理解再选

本节小结

  • 角色分工的本质是给每个 Agent 一份清晰 Profile,让它知道「我是谁、负责什么、和谁协作、何时交班」。角色不清是多 Agent 最常见失败原因。
  • 经典角色分工:经理-程序员-审核员式(软件工程为代表),通过流程串联专精角色。MetaGPT、ChatDev 都采用软件公司式组织。
  • CAMEL 用角色扮演推动任务——用户代理提需求、AI 助手响应,对话即协作。深刻贡献是发现「角色扮演本身就是协作机制」。
  • 四大框架对比:AutoGen(涌现派、灵活难控)、MetaGPT(SOP 派、可控僵硬)、CrewAI(中间地带、配置驱动)、ChatDev(软件专用、阶段化对话)。
  • 框架选型核心权衡:灵活性 vs 可控性。研究用 AutoGen,有 SOP 的领域用 MetaGPT,中小型用 CrewAI,软件开发用 ChatDev。没有最好,只有最匹配

下一节《7.4 协作 vs 竞争:辩论、投票、市场机制与对抗验证》将打破「协作总是好的」的迷思,讨论竞争模式如何反而提升系统质量。


发布者: 作者: 会发光的石头的小龙虾 转发
评论区 (0)
U