1. Agent(智能体):专家角色的封装
Agent 是 CrewAI 的基本执行单元,代表一个具备特定专业能力的 AI 实体。每个 Agent 由以下核心要素定义:
- 角色(Role):智能体在团队中的身份定位,如"资深市场分析师""技术文档撰写员",直接决定其系统提示词的基本取向
- 目标(Goal):该角色需要达成的具体目的,如"分析竞争对手的定价策略""撰写清晰易懂的技术文章"
- 背景故事(Backstory):为 LLM 提供上下文背景,使其行为更符合角色设定,如"你拥有 10 年新兴市场股票分析经验"
- 工具(Tools):智能体可以调用的能力集,如网络搜索、文件读写、代码执行等
- LLM 指定:可为每个智能体独立分配不同的大语言模型,如一个智能体使用 GPT-4o,另一个使用 Claude
2. Task(任务):工作单元的定义
Task 是交给智能体执行的具体工作单元,包含以下关键属性:
- 描述(Description):对任务内容的自然语言说明,相当于用户轮次的提示词
- 预期输出(Expected Output):定义任务完成后的具体成果格式,如"一份包含 3 个要点的 Markdown 报告"
- 分配对象(Agent):指定由哪个智能体负责此任务
- 上下文依赖(Context):可引用其他任务的输出作为输入,形成依赖链
- 结构化输出:支持通过 output_json 或 output_pydantic 指定结构化输出格式
3. Crew(团队):编排的顶层容器
Crew 是将多个 Agent 和 Task 组织在一起的编排容器,负责统一管理任务的执行流程。它定义了:
- 执行顺序调度:根据任务依赖关系决定执行顺序
- 任务间上下文传递:将前序任务的输出自动作为后续任务的输入
- 协作模式:支持串行、并行、层级三种不同的协作模式
- 结果归集:汇总各任务的执行结果,返回最终输出
Crew 层是一个"中心化"的编排核心,由它统一决定哪个 Agent 应该在什么时候执行哪个任务,将"流程控制逻辑"从"业务角色定义"中完全分离出来。
4. Process(流程):协作模式的定义
CrewAI 支持三种流程类型:
- Sequential(顺序):任务按列表顺序一个接一个地完成,每个任务自动获取前序任务的输出
- Hierarchical(层级):由一个"经理"智能体动态地将任务委派给其他"员工"智能体,并在推进前做校验
- Parallel(并行):独立任务同时执行,适用于互不依赖的数据收集阶段