多智能体框架:用 CrewAI 让一群 Agent 协作
把 a4.1 手写的「写手 + 编辑」,升级成框架级的一支团队
还记得 a4.1 你手写的"写手 + 编辑"吗?两个角色还好,可一旦要做一支真正的团队——调研员查资料、作者写稿、编辑挑错——你得自己管"谁先说、说给谁、什么时候停",消息传来传去,很快就乱。
多智能体框架就是专门干这个的:你只声明角色和任务,消息路由、轮次、协作流程,框架全包。这一节,我们用框架,把"写手+编辑"升级成一支会自己跑起来的团队。
多智能体框架帮你管什么
手写多智能体,累在"编排"——谁发言、消息给谁、何时结束。框架把这些抽象成几个概念:
- 角色(Agent):一个有身份、目标、背景的"员工"
- 任务(Task):派给某个角色的具体活,带期望产出
- 团队(Crew)/ 群聊:把角色和任务组织起来,按流程跑
主流框架:
- CrewAI——最像"招一支团队"(角色/目标/背景 + 任务),上手最直观,2026 最火。
- AutoGen(微软)——群聊式编排(轮流发言 / LLM 选下一个发言者),偏对话协作。
- AgentScope(阿里)——国内生态的多智能体框架。
入门先用 CrewAI(可读性最好),需要复杂对话编排再看 AutoGen。
🔧 上手:一支"调研员 + 作者"小队
下面 复制即可运行。两个角色接力:调研员先收集要点,作者再写成科普——你不用管消息怎么传,框架替你接力。
# pip install "crewai>=0.80" # 钉个版本,CrewAI 升级较快
import os
os.environ["DEEPSEEK_API_KEY"] = "你的KEY" # CrewAI 底层用 litellm,它认这个环境变量
from crewai import Agent, Task, Crew, LLM
llm = LLM(model="deepseek/deepseek-chat") # litellm 内置 DeepSeek,不用再写 base_url
researcher = Agent(role="调研员", goal="收集某主题的关键事实",
backstory="你严谨、只讲有依据的事实,不编。", llm=llm)
writer = Agent(role="科普作者", goal="把要点写成通俗易懂的短文",
backstory="你擅长把复杂的东西讲得有趣好懂。", llm=llm)
t1 = Task(description="调研「AI 智能体是什么」的 3 个关键点",
expected_output="3 条简洁要点", agent=researcher)
t2 = Task(description="根据上一步的要点,写一段约 100 字的科普",
expected_output="一段通俗科普短文", agent=writer)
crew = Crew(agents=[researcher, writer], tasks=[t1, t2])
print(crew.kickoff()) # 调研员先干 t1,作者拿着结果干 t2,最后输出短文
运行后,调研员先产出 3 条要点,作者自动拿到这些要点写成短文——你一句"消息传递"的代码都没写。这就是多智能体框架的价值:声明角色和任务,协作自动发生。
📌 CrewAI / AutoGen API 都在快速演进,以官方文档为准;但"角色 + 任务 + 团队"这个心智模型是稳定的。
对比 a4.1 手写版
| a4.1 手写 | 框架(CrewAI) | |
|---|---|---|
| 角色 | 自己写两段 system 提示 | Agent(role/goal/backstory) 声明 |
| 消息传递 | 手动把初稿传给编辑 | 框架自动接力 |
| 扩展到多角色 | 越加越乱 | 加 Agent + Task 即可 |
| 适合 | 学原理、两三个角色 | 正经的多角色团队 |
框架级多智能体很强,但代价实打实:更慢(多轮多次调用)、更贵(token 翻倍)、更难调(谁说错了不好追)、角色多了易扯皮跑偏。
原则(和 a4.1 一致):单个 Agent 能稳定搞定的,就别上多智能体;两三个角色手写也行;真要做复杂团队,才上框架。 好钢用在刀刃上。
我想用 CrewAI 做一个多智能体团队完成这个任务:『___』(我来描述)。请帮我设计 2-3 个角色(role/goal/backstory)和对应的 Task(description/expected_output),并给出用 Crew 组装、kickoff 运行的完整代码。
现在你会用框架搭一支协作团队了——声明角色和任务,框架替你跑起来。加上上一节的 LangGraph,你已经摸到了生产级智能体开发的两大主力。
但你有没有好奇:这些框架的"黑箱"里,到底是怎么把角色、循环、工具串起来的?下一节(硬核选修),我们亲手从 0 造一个迷你 Agent 框架——把前面手写的 ReAct + 工具,封装成可复用的几行。造完它,你就彻底看穿了所有框架的底。
