CrewAI 核心概念:Agent / Task / Crew / Process
一、概念速查
四大核心概念
| 概念 |
类比 |
职责 |
| Agent |
团队中的个人 |
具备特定角色、技能和目标,能独立完成分配的任务 |
| Task |
工作任务单 |
明确描述做什么、用什么工具、输出什么,可指派给 Agent 或标记为协作 |
| Crew |
项目团队 |
管理 Agent 成员和 Task 队列,协调执行流程 |
| Process |
工作流引擎 |
定义 Task 的分发和完成顺序——串行、层级还是异步 |
Agent 配置参数
from crewai import Agent, Task, Crew, Process
agent = Agent(
role="数据分析师",
goal="从原始数据中提取有价值的业务洞察",
backstory="你是一位有 10 年经验的资深数据分析师,擅长使用 Python 处理数据",
tools=[],
verbose=True,
allow_delegation=False,
max_iter=15,
memory=True,
cache=True,
)
Task 配置参数
from crewai import Task
task = Task(
description="分析销售数据文件 sales.csv,找出过去三个月的增长趋势",
expected_output="包含月度增长率、TOP 5 产品和可视化图表的分析报告",
agent="数据分析师",
tools=[],
async_execution=False,
context=[],
human_input=False,
)
代码示例:最小完整 Crew
from crewai import Agent, Task, Crew, Process
writer = Agent(
role="技术写手",
goal="撰写清晰的技术文档",
backstory="你擅长用通俗语言解释复杂技术概念。",
)
researcher = Agent(
role="技术研究员",
goal="收集和分析技术资料",
backstory="你擅长从文档和代码库中提取关键信息。",
)
research = Task(
description="研究 CrewAI 框架的 Process 机制,包括顺序、层级和异步三种模式",
expected_output="包含每种模式的优缺点对比表的研究笔记",
agent=researcher,
)
write = Task(
description="基于研究笔记撰写一篇 CrewAI Process 机制的技术博客",
expected_output="一篇 800 字以上的技术博客,包含代码示例",
agent=writer,
context=[research],
)
crew = Crew(
agents=[researcher, writer