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 角色设计的最佳实践
  • ✅ 两种执行流程的区别
相关推荐
rcc86288 小时前
企业AI转型指南:从降本增效到收益增长的双重突破
人工智能·决策选型
懂AI的老郑8 小时前
YOLOv26联手大模型,开启智能视觉新时代
人工智能·yolo·目标跟踪
火山引擎开发者社区14 小时前
火山引擎发布《企业级 ArkClaw 安全白皮书》
人工智能
阿里云大数据AI技术14 小时前
Hologres AI Function 文本分类实战:从提示词设计到 KV-Cache 调优,全程 SQL 搞定
人工智能·sql
code_pgf15 小时前
AI-Agent记忆机制分析
大数据·人工智能
阿拉斯攀登16 小时前
安全与可控性:输出校验、权限控制
人工智能·chatgpt·agent·memory·claude·知识库·向量数据库
冬奇Lab16 小时前
每日一个开源项目(第152篇):SAG - 用 SQL JOIN 代替 PageRank 做多跳 RAG 检索
人工智能·开源
冬奇Lab16 小时前
Workflow 系列(09):主流框架对比——Prompt-based、LangGraph、Temporal、n8n 如何选
人工智能·工作流引擎