CrewAI 入门指南01:从零开始构建多 Agent 协作系统

CrewAI 入门指南:从零开始构建多 Agent 协作系统

学习路径 : Day 1-2 | 难度 : ⭐ | 前置知识: Python 基础

📖 什么是 CrewAI?

CrewAI 是一个基于 LangChain 构建的多 Agent 协作框架,它让多个 AI 智能体能够像真实团队一样分工合作,共同完成复杂任务。

核心优势

  • 🎯 角色明确: 每个 Agent 有清晰的角色、目标和背景
  • 🤝 协作灵活: 支持顺序执行和层级管理两种模式
  • 🛠️ 工具丰富: Agent 可以使用各种工具扩展能力
  • 💡 易于上手: API 简洁,几行代码就能跑起来

🏗️ 三大核心概念

1. Agent(智能体)

Agent 是团队中的"员工",有自己的角色和专业技能。

python 复制代码
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。

python 复制代码
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 组织在一起的团队。

python 复制代码
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 程序

环境准备

bash 复制代码
# 安装依赖
pip install crewai crewai-tools langchain langchain-openai

# 设置 API Key(以 DeepSeek 为例)
export DEEPSEEK_API_KEY=your-api-key

完整示例

python 复制代码
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 角色设计

不好的设计:

python 复制代码
agent = Agent(
    role='助手',
    goal='帮忙做事',
    backstory='你是一个助手',
)

好的设计:

python 复制代码
agent = Agent(
    role='高级 Python 工程师',
    goal='编写高质量、可维护的代码',
    backstory='你有 8 年 Python 开发经验,擅长代码优化和最佳实践。',
)

2. 任务描述要具体

不够具体:

python 复制代码
task = Task(
    description="研究 AI",
    expected_output="报告",
)

具体清晰:

python 复制代码
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 角色设计的最佳实践
  • ✅ 两种执行流程的区别
相关推荐
幸福指北4 小时前
🚀 开源了,一个人 + AI 肝出一个 AI 终端 | AShell 技术分享
运维·人工智能·ai·终端
可以飞的话4 小时前
一、机器学习概述
人工智能·机器学习
sunneo5 小时前
磐石2.0发布,科学建模新突破
人工智能
煎饼学大模型5 小时前
Agent 的“大脑-手“解耦架构:当推理层和工具执行层各自独立演进
数据库·人工智能·oracle·架构·agent
南京码讯光电技术有限公司5 小时前
2026年4G/5G工业CPE推荐:从极端场景看硬核选型
人工智能
企业智能研究6 小时前
企业如何落地企微私域智能客服来降本增效:从技术选型到实施落地的完整指南
大数据·人工智能·企业微信·智能客服
AI办公探索者6 小时前
仓储物流AI任务执行的技术拆解:从WMS自动化到多设备协同的落地路径
运维·人工智能·ai·自动化
delishcomcn6 小时前
边缘计算+AI模型:电化铝分切装备的智能化改造路径
大数据·人工智能·边缘计算
fai厅的秃头姐!6 小时前
OpenCV——进阶
人工智能·opencv·计算机视觉
蓝速科技7 小时前
蓝速 AI 双屏翻译机酒店涉外接待部署指南
人工智能