RA0.CN · AI TOOL WATCH · SCENE 01 · TAKE 01
给你的 AI 任务开个剧组会:CrewAI 用三个概念管住一群智能体
拍电影时,导演从不亲自又演又拍又录音——他组建剧组,把剧本拆成分镜,让合适的人各司其职。CrewAI 把这套片场哲学做成了 Python 开源框架:由巴西工程师 João Moura 于 2023 年底创建[1],用「智能体当演员、任务当分镜、Crew 当剧组」的三层抽象,让多个大模型驱动的角色按流程协作交付一份成果。它是目前上手门槛最低的多智能体编排框架之一,仓库 star 数已达数万量级(实时数据以 GitHub 为准),配套文档维护在 docs.crewai.com[2]。
第一幕为什么是「剧组」:一张隐喻映射表
多智能体听起来玄乎,但换成片场语言立刻好懂。下面这张映射表覆盖了 CrewAI 的全部核心词汇——看懂它,就看懂了整个框架的世界观。
| 片场里的东西 | 在 CrewAI 中 | 一句话职责 |
|---|---|---|
| 导演(你自己) | 运行脚本的开发者 | 定目标、选演员、喊开机 |
| 演员及其人设 | Agent | 带着 role / goal / backstory 去干活的角色 |
| 分镜脚本 | Task | 写清做什么、交付什么、由谁负责 |
| 整个剧组 | Crew | 把演员和分镜装订在一起的对象 |
| 拍摄方式 | Process | 顺场拍摄还是总监制协调(顺序 / 层级) |
| 道具箱 | Tools | 搜索、读文件、调 API 等外部能力 |
| 杀青成片 | kickoff() | 运行后拿到最终交付物 |
第二幕三层抽象:Agent、Task、Crew 拆开看
CrewAI 刻意把 API 表面做得极小。真正需要理解的就是下面三层,每层只有几个字段,但组合起来足以表达相当复杂的协作关系。
Agent:先立人设,再派活
每个智能体用三个字段定义:role(你是谁)、goal(你要达成什么)、backstory(你的背景经历)。实践证明「资深研究员」「挑剔的主编」这类具体人设,比泛泛的「助手」能榨出明显更高质量的表现——本质上是用提示词工程给模型戴上专业面具。还可以挂载工具、指定所用大模型。
Task:把目标翻译成验收单
任务的核心是 description(做什么)与 expected_output(交付成什么样),再绑定一个执行它的 agent。把「写份报告」写成「输出不超过八百字、含三个要点、附数据来源的纪要」,是决定产出质量的关键动作——验收标准写得越像验收单,结果越可控。
Crew:装订成组,一次开机
把 agents 列表、tasks 列表和执行流程组装进 Crew,调用 kickoff() 即开始运转。上一棒任务的产出会作为上下文流入下一棒,形成流水线;后续版本还加入了记忆、Flows 事件流等更高层能力,边界持续扩展,以官方文档为准。
第三幕两种拍摄方式:顺场拍还是总监制盯场
同一个剧组,调度方式不同,成本与质量特性完全不同。CrewAI 内置两种流程,选错方式是新手最常见的踩坑点。
Sequential · 顺场拍摄
- 任务严格按列表顺序执行,前一个的输出喂给后一个
- 行为可预测、便于排查,token 消耗相对可控
- 适合线性流水线:调研 → 写作 → 审校
- 新手默认从这里起步,九成场景够用
Hierarchical · 总监制盯场
- 框架自动产生一个「经理」智能体做调度、分派与质检
- 允许按情况改写计划、要求重做,弹性更高
- 代价是多一层调度开销,token 消耗显著上升
- 适合任务边界模糊、需要边干边调整的探索型工作
第四幕二十行代码,开机一部「双人剧」
下面是最小可运行的骨架:一位研究员加一位作者,先整理事实,再落笔成稿。把它贴进 Python 环境、配上模型密钥就能跑通,之后再逐步给角色挂工具。
from crewai import Agent, Task, Crew, Process
researcher = Agent(
role="行业研究员",
goal="收集并核实该赛道近一年的关键事实",
backstory="十年科技媒体从业经验,只认一手来源。",
)
writer = Agent(
role="专栏作者",
goal="把研究结论写成一篇可读性强的中文短评",
backstory="擅长把复杂概念讲给普通人听。",
)
t1 = Task(description="梳理该赛道近一年的大事",
expected_output="要点式纪要", agent=researcher)
t2 = Task(description="基于纪要撰写一篇短评",
expected_output="Markdown 成稿", agent=writer)
crew = Crew(agents=[researcher, writer],
tasks=[t1, t2], process=Process.sequential)
result = crew.kickoff()
第五幕同台竞技:CrewAI、AutoGen、LangGraph 横评
多智能体赛道上另有两个高频名字:微软研究院系出身的 AutoGen,以及 LangChain 家族的图编排器 LangGraph。三者哲学差异很大,选型先看团队气质。
| 框架 | 出身背景 | 编排哲学 | 上手曲线 | 典型适配 |
|---|---|---|---|---|
| CrewAI | João Moura 个人发起的开源项目[1] | 角色扮演 + 任务流水线,抽象层薄 | 最低,几十行代码即可跑通 | 内容生产、调研报告等清晰流水线 |
| AutoGen | 微软主导的研究型项目,有多智能体对话论文背书[3] | 智能体之间靠「对话」推进,自由度高[4] | 中等偏陡,需要设计对话协议 | 科研原型、需要多轮协商的开放问题 |
| LangGraph | LangChain 官方推出的图编排引擎[5] | 状态机 + 图结构,节点边显式声明,支持循环与断点续跑 | 较陡,需理解图建模思维 | 强控制流的生产级应用、复杂审批链路 |
一句话总结差异:AutoGen 像圆桌会议,LangGraph 像流程图引擎,CrewAI 像剧组通告单。要快速验证一个多角色协作点子,CrewAI 的启动成本最低;要把流程钉死到每个分支,LangGraph 更让人安心。
第六幕什么活该交给剧组,什么活不该
多智能体不是万金油。下面这份清单按实战经验划分了甜区与雷区,开工前对号入座能省下大量试错 token。
✓ 放心交给它
- 内容流水线:选题调研 → 初稿 → 事实核查 → 润色定稿
- 行业与竞品研究报告:检索、交叉验证、汇总成文一条龙
- 客服工单预处理:分类、分诊、起草回复供人工复核
- 批量资料整理:长文档摘要、抽取结构化字段入库
- 多视角评审模拟:让「法务」「财务」「用户」轮流挑刺
△ 想清楚再用
- 毫秒级响应的线上实时链路——多智能体循环延迟不可控
- 强事务一致性场景(如支付扣款),容不得概率性出错
- 单个函数就能解决的小任务,拉剧组纯属杀鸡用牛刀
- token 预算极敏感的高频调用,层级模式的调度开销会放大账单
- 无人值守的关键决策——务必保留人工终审环节
第七幕三步开机:从安装到第一个成品
- 装环境:建一个干净的 Python 虚拟环境后
pip install crewai,包已发布在 PyPI[6],版本兼容说明见文档。 - 选演员、写分镜:从两三个 Agent 起步,认真打磨每句 backstory 与 expected_output——提示词质量决定八成的产出上限。
- 开机并复盘:先用 sequential 跑通全流程看日志,再考虑加工具、上层级模式;每次只改一处变量,方便归因。
彩蛋问答关于 CrewAI 的六个高频疑问
CrewAI 是免费的吗?商用要授权费吗?
核心框架以开源许可发布、免费使用(具体条款以 GitHub 仓库 LICENSE 文件为准);官方另提供面向企业的托管与企业版服务,属商业收费产品,价格以官网为准。
完全不会编程的人能用它吗?
不太适合。它是 Python 框架,至少要会读写基础代码、配置运行环境;非技术用户更适合图形化的智能体搭建平台,或找开发伙伴协作。
和我自己写代码串联大模型 API 有什么区别?
手动串 API 时,角色设定、上下文传递、流程与异常处理都要自己造轮子;CrewAI 把这些封装成 Agent/Task/Crew 结构,让你专注业务逻辑本身,也换来社区沉淀的最佳实践。
能用国产大模型吗?
框架通过统一的 LLM 配置接入底层模型,兼容 OpenAI 接口格式的服务端点通常都能对接;具体配置方法与已知限制以 docs.crewai.com 的模型章节为准。
token 消耗是不是特别大?
多智能体往返天然比单次调用更烧 token,层级模式还会叠加经理调度开销。建议小规模跑通后再放量,并用日志定位冗余轮次,必要时精简角色数量。
敢用在生产环境吗?
社区已有不少生产案例,但复杂剧组仍需自建监控、重试与效果评估机制;关键业务建议先灰度,并把人工终审固定在流程末端。
参考资料
- 来源:GitHub 仓库 joaomdmoura/crewAI(项目主页与许可证)— https://github.com/joaomdmoura/crewAI
- 来源:CrewAI 官方文档 — https://docs.crewai.com
- 来源:arXiv 论文《AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation》(arXiv:2308.08155)— https://arxiv.org/abs/2308.08155
- 来源:GitHub 仓库 microsoft/autogen — https://github.com/microsoft/autogen
- 来源:LangGraph 官方文档 — https://langchain-ai.github.io/langgraph/
- 来源:PyPI · crewai 包发布页 — https://pypi.org/project/crewai/
- 来源:LangChain 官方博客(图编排与多智能体实践)— https://blog.langchain.dev