CrewAI多Agent协作教程:让多个AI分工干活

分类:AI开发框架 · 2026-08-01 · AI Tools Hub

什么是CrewAI

CrewAI是一个Python多Agent编排框架,让你定义多个AI角色(Agent),每个角色有不同职责、工具和目标,协同完成复杂任务。比如:一个Agent负责调研、一个负责写作、一个负责审核。

与单个AI对话不同,CrewAI让AI像团队一样分工合作,适合内容生产、数据分析、代码审查等复杂工作流。

CrewAI核心概念

概念说明类比
Agent一个AI角色,有角色定义、目标、工具团队成员
Task一个具体任务,有描述和预期输出工作分配
Crew多个Agent+Task的组合,定义执行顺序团队+项目
ToolAgent可使用的工具(搜索、计算等)工作工具
Process任务执行方式(顺序/层级)工作流程

一、安装CrewAI

pip install crewai crewai-tools

# 验证安装
python -c "import crewai; print(crewai.__version__)"

配置API Key

export OPENAI_API_KEY="sk-xxx"

# 或用其他模型
export ANTHROPIC_API_KEY="sk-ant-xxx"
export DEEPSEEK_API_KEY="sk-xxx"

二、第一个Crew:内容创作团队

我们来创建一个3人AI团队:调研员→写手→编辑,协作写一篇文章。

from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool

# 工具:网络搜索
search_tool = SerperDevTool()

# Agent 1:调研员
researcher = Agent(
    role='内容调研员',
    goal='搜集关于{topic}的最新信息和数据',
    backstory='你是一位资深研究员,擅长快速搜集和整理信息。',
    tools=[search_tool],
    verbose=True,
    llm='gpt-4o'
)

# Agent 2:写手
writer = Agent(
    role='内容写手',
    goal='根据调研结果写一篇2000字的深度文章',
    backstory='你是一位专业写手,擅长把复杂概念讲清楚。',
    verbose=True,
    llm='gpt-4o'
)

# Agent 3:编辑
editor = Agent(
    role='内容编辑',
    goal='审核文章质量,修改语法和逻辑问题',
    backstory='你是一位严格的技术编辑,注重准确性和可读性。',
    verbose=True,
    llm='claude-3-5-sonnet'
)

# Task 1:调研
research_task = Task(
    description='搜集关于{topic}的以下信息:1.基本概念 2.核心优势 3.应用场景 4.最新进展',
    expected_output='一份详细的调研报告,包含数据和案例',
    agent=researcher
)

# Task 2:写作
writing_task = Task(
    description='根据调研报告写一篇2000字的文章,要求通俗易懂,有实操价值',
    expected_output='一篇完整的2000字文章(Markdown格式)',
    agent=writer,
    context=[research_task]  # 依赖调研结果
)

# Task 3:审核
editing_task = Task(
    description='审核文章的准确性、逻辑性和可读性,修改问题',
    expected_output='审核修改后的最终文章',
    agent=editor,
    context=[writing_task]
)

# 组建Crew
crew = Crew(
    agents=[researcher, writer, editor],
    tasks=[research_task, writing_task, editing_task],
    process=Process.sequential,  # 顺序执行
    verbose=True
)

# 启动
result = crew.kickoff(inputs={'topic': 'AI Agent在企业中的应用'})
print(result)

三、执行模式

3.1 顺序模式(Sequential)

任务按顺序执行,前一个的输出是后一个的输入:

crew = Crew(
    agents=[agent1, agent2, agent3],
    tasks=[task1, task2, task3],
    process=Process.sequential
)

3.2 层级模式(Hierarchical)

有一个Manager Agent负责分配任务给其他Agent:

manager = Agent(
    role='项目经理',
    goal='协调团队高效完成任务',
    backstory='你是经验丰富的项目经理。',
    llm='gpt-4o'
)

crew = Crew(
    agents=[researcher, writer, editor],
    tasks=[research_task, writing_task, editing_task],
    process=Process.hierarchical,
    manager_agent=manager
)

四、自定义工具

给Agent添加自定义工具,让它能执行特定操作:

from crewai.tools import tool

@tool('计算器')
def calculate(expression: str) -> str:
    """计算数学表达式并返回结果"""
    try:
        result = eval(expression)
        return f"计算结果: {result}"
    except:
        return "计算失败"

@tool('读取文件')
def read_file(filepath: str) -> str:
    """读取指定文件内容"""
    with open(filepath, 'r') as f:
        return f.read()

# 在Agent中使用
analyst = Agent(
    role='数据分析师',
    goal='分析数据并生成报告',
    backstory='你是数据分析专家。',
    tools=[calculate, read_file],
    llm='gpt-4o'
)

五、实战案例:自动化代码审查

# Agent 1:代码审查员
reviewer = Agent(
    role='代码审查员',
    goal='审查代码质量,找出bug和安全问题',
    backstory='你是资深安全工程师,精通代码审查。',
    llm='claude-3-5-sonnet'
)

# Agent 2:修复工程师
fixer = Agent(
    role='代码修复工程师',
    goal='根据审查结果修复所有问题',
    backstory='你是全栈工程师,擅长修复代码问题。',
    llm='gpt-4o'
)

review_task = Task(
    description='审查以下Python代码,找出bug、安全问题、性能问题:\n{code}',
    expected_output='问题清单,每个问题包含位置、严重程度、修复建议',
    agent=reviewer
)

fix_task = Task(
    description='根据审查结果修复代码,输出修复后的完整代码',
    expected_output='修复后的完整Python代码',
    agent=fixer,
    context=[review_task]
)

crew = Crew(agents=[reviewer, fixer], tasks=[review_task, fix_task])
result = crew.kickoff(inputs={'code': open('app.py').read()})
提示:CrewAI可以和 Difyn8n 配合使用,CrewAI负责AI决策层,Dify/n8n负责流程执行层。

六、省钱技巧

方案模型组合成本/次适合场景
全GPT-4o3×GPT-4o~$0.5高质量输出
混合GPT-4o+DeepSeek~$0.1日常任务
全DeepSeek3×DeepSeek~$0.02批量处理
# 用DeepSeek省钱
researcher = Agent(..., llm='deepseek/deepseek-chat')
writer = Agent(..., llm='deepseek/deepseek-chat')

📚 常见问题

CrewAI多Agent协作是什么?

CrewAI是一个Python多Agent编排框架,让你定义多个AI角色(Agent),每个角色有不同职责、工具和目标,协同完成复杂任务。比如:一个Agent负责调研、一个负责写作、一个负责审核。