一句话定义:AutoGen 和 CrewAI 都是用来搭建多智能体(multi-agent)系统的开源框架,也就是把一件复杂的事拆给几个各有所长的大模型“代理”(agent),让它们分工协作完成。
两种思路的差别:一个人忙不过来时,可以拉个群开会商量,也可以发工牌按岗位派活;这两个框架正是这两种风格的典型代表。
AutoGen 走的是对话式协作,它把多个 agent 组成一个可以互相发言的群聊:有负责干活的执行者,有专门挑错的批评者,有代表你本人的用户代理。谁发言、什么时候把发言权交给下一个 agent,都由“对话编程”(conversation programming)来安排。多个 agent 通过一来一回的发言反复修正结果,直到答案稳定下来。好处是灵活,遇到没预料到的问题也能在对话里绕回来;代价是轮次多、过程不容易预测,所以通常要设置最大轮数和人工确认环节。
CrewAI 走的是角色分工,它的核心概念是角色(role)、任务(task)和流程(process)。你先写清楚岗位说明,比如研究员、撰稿人、审稿编辑,再列出任务单,最后选择顺序执行,还是让一个“经理” agent 负责分派任务。它更像一条流水线,交接点都明确写了出来,读代码的人一眼就能看出,第一步产出交给第二步。
| AutoGen | CrewAI | |
|---|---|---|
| 组织方式 | 多个 agent 群聊、互相发言 | 角色、任务与流程 |
| 控制感 | 灵活,过程不易预测 | 结构清晰,便于检查和修改 |
| 适合场景 | 需要反复讨论、互相挑错的任务 | 步骤明确、分工固定的任务 |
和相邻概念的区别:它和“单个 agent + 工具调用”不同。单 agent 是一个人在那里反复调用工具;多智能体则是多个视角互相检查。它和传统的固定工作流(workflow)也不同:固定流程每一步由人写死,多智能体则把“下一步做什么”部分交给模型判断,换来灵活性,却也失去了确定性。
什么时候值得引入:任务能自然拆成几种明显不同的专业视角(写、审、查资料);单次上下文塞不下全部信息;需要并行推进或交叉复核;并且你接受一定的不确定性,还有人工作为最后把关。反过来说,如果步骤本来就固定、一两步就能搞定,直接写函数或用一个 agent 会更省事。
实际意义:对从业者来说,多智能体的成本和调试难度会随 agent 数量上升,别一上来就上图;先用单 agent 跑通,再拆角色。对普通职场人来说,这套“角色、任务单、交接规则”的思路,本身就是一份可以照搬的协作设计。各框架的具体能力以官方文档为准。
