CrewAI 入门指南01:从零开始构建多 Agent 协作系统
CrewAI学习路程
·
CrewAI 入门指南:从零开始构建多 Agent 协作系统
学习路径: Day 1-2 | 难度: ⭐ | 前置知识: Python 基础
📖 什么是 CrewAI?
CrewAI 是一个基于 LangChain 构建的多 Agent 协作框架,它让多个 AI 智能体能够像真实团队一样分工合作,共同完成复杂任务。
核心优势
- 🎯 角色明确: 每个 Agent 有清晰的角色、目标和背景
- 🤝 协作灵活: 支持顺序执行和层级管理两种模式
- 🛠️ 工具丰富: Agent 可以使用各种工具扩展能力
- 💡 易于上手: API 简洁,几行代码就能跑起来
🏗️ 三大核心概念
1. Agent(智能体)
Agent 是团队中的"员工",有自己的角色和专业技能。
from crewai import Agent
researcher = Agent(
role='AI 技术研究员',
goal='搜集和整理最新 AI 技术信息',
backstory='你是一位资深的 AI 技术研究员,有 10 年行业经验。',
verbose=True,
allow_delegation=False,
)
关键参数:
role: 角色名称,要具体(如"高级 Python 工程师"而非"助手")goal: 明确的目标,可衡量backstory: 背景故事,增加专业性和上下文verbose: 是否输出详细过程allow_delegation: 是否允许委派任务
2. Task(任务)
Task 是要完成的具体工作,分配给特定的 Agent。
from crewai import Task
research_task = Task(
description="""
研究当前 AI 大模型领域的最新进展。
重点关注:
1. 主流大模型的特点
2. 技术创新点
3. 应用场景和趋势
""",
expected_output="一份 500 字左右的 AI 技术研究报告",
agent=researcher,
)
关键参数:
description: 任务描述,越详细越好expected_output: 期望的输出格式agent: 执行任务的 Agent
3. Crew(团队)
Crew 是将 Agent 和 Task 组织在一起的团队。
from crewai import Crew, Process
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True,
process=Process.sequential, # 顺序执行
)
关键参数:
agents: Agent 列表tasks: Task 列表process: 执行流程(sequential 或 hierarchical)
🚀 第一个 CrewAI 程序
环境准备
# 安装依赖
pip install crewai crewai-tools langchain langchain-openai
# 设置 API Key(以 DeepSeek 为例)
export DEEPSEEK_API_KEY=your-api-key
完整示例
from crewai import Agent, Task, Crew, Process
# 配置 LLM
llm = "deepseek/deepseek-chat"
# 创建 Agent
researcher = Agent(
role='AI 技术研究员',
goal='搜集和整理最新 AI 技术信息',
backstory='你是一位资深的 AI 技术研究员。',
verbose=True,
llm=llm,
)
writer = Agent(
role='技术作家',
goal='将技术信息转化为通俗易懂的文章',
backstory='你是一位专业的技术作家。',
verbose=True,
llm=llm,
)
# 创建 Task
research_task = Task(
description="研究当前 AI 大模型领域的最新进展。",
expected_output="一份 AI 技术研究报告",
agent=researcher,
)
writing_task = Task(
description="根据研究报告,撰写一篇面向初学者的科普文章。",
expected_output="一篇 AI 大模型科普文章",
agent=writer,
)
# 创建 Crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True,
process=Process.sequential,
)
# 执行
result = crew.kickoff()
print(result)
💡 最佳实践
1. Agent 角色设计
❌ 不好的设计:
agent = Agent(
role='助手',
goal='帮忙做事',
backstory='你是一个助手',
)
✅ 好的设计:
agent = Agent(
role='高级 Python 工程师',
goal='编写高质量、可维护的代码',
backstory='你有 8 年 Python 开发经验,擅长代码优化和最佳实践。',
)
2. 任务描述要具体
❌ 不够具体:
task = Task(
description="研究 AI",
expected_output="报告",
)
✅ 具体清晰:
task = Task(
description="""
研究 AI 在医疗领域的应用。
请包含:
1. 主要应用场景
2. 技术实现方式
3. 挑战和未来趋势
""",
expected_output="一份 800 字的医疗 AI 应用报告",
)
3. 使用 verbose 调试
开发阶段设置 verbose=True,可以看到:
- Agent 的思考过程
- 工具调用情况
- 任务执行状态
生产环境可以设为 False 减少输出。
🎯 执行流程
顺序模式(Sequential)
Task 1 → Task 2 → Task 3
每个任务按顺序执行,前一个任务的输出可以作为后一个的输入。
层级模式(Hierarchical)
Manager
↙ ↓ ↘
Agent1 Agent2 Agent3
Manager 负责任务分解和分配,员工执行具体工作。
📝 总结
通过本文,你学会了:
- ✅ CrewAI 的三大核心概念(Agent、Task、Crew)
- ✅ 如何创建第一个多 Agent 协作程序
- ✅ Agent 角色设计的最佳实践
- ✅ 两种执行流程的区别
更多推荐


所有评论(0)