CrewAI 架构概览
CrewAI 是一个专注于多 Agent 协作的框架,通过 Role(角色)、Task(任务)、Process(流程) 三大抽象,将复杂项目拆解为多个 Agent 协同完成。适合研究助理、内容生产、代码审查等需要分工协作的场景。
Role(角色)
Role 定义 Agent 的「人设」:
- goal:该角色的核心目标(如「写出高质量技术文档」)
- backstory:背景描述,影响其决策风格
- llm:可指定不同模型,实现成本与效果平衡
- tools:该角色可用的工具集
researcher = Agent(
role="研究员",
goal="搜集并整理准确的信息",
backstory="严谨的学术背景,擅长文献检索",
tools=[search_tool]
)
writer = Agent(
role="撰稿人",
goal="将信息转化为易读的文章",
backstory="曾任科技媒体编辑"
)
Task(任务)
Task 是具体工作单元,包含:
- description:任务描述
- expected_output:期望产出(如「一份 500 字摘要」)
- agent:负责执行的 Role
- context:依赖其他 Task 的输出,形成依赖图
context=[task1, task2],可实现「先调研再写作」的流水线。
Process(流程)
Process 决定 Task 的执行顺序与协作方式:
- Sequential:按依赖顺序依次执行,适合线性流水线
- Hierarchical:引入 Manager Agent,由它根据任务类型分配给下属 Agent,适合复杂、多分支项目
Delegation(委派)
Delegation 即 Agent 将子任务交给其他 Agent:
- 在 hierarchical 模式下,Manager 根据 Task 描述和下属能力进行分配
- 在 Task 的
expected_output中可明确「将 X 部分交给 Y 角色完成」 - 通过
context传递上游输出,下游 Agent 基于已有结果继续工作
实战技巧
小结
CrewAI 通过 Role、Task、Process 和 Delegation,将多 Agent 协作抽象为可配置的流水线或层级结构。掌握这些概念,可快速搭建研究助手、内容团队、自动化工作流等协作型 Agent 系统。