CrewAI 是一个开源的 多智能体协作框架,由 João Moura 创建,旨在通过模拟"团队协作"的方式,让多个 AI Agent 各司其职、协同完成复杂任务。


🎯 核心定位

"像管理一支真实团队一样,编排你的 AI Agent"

CrewAI 的设计哲学来源于人类组织分工:每个 Agent 有明确的角色、目标、背景,像员工一样被分配任务,最终汇聚成高质量的输出。


🏗️ 核心架构

              ┌──────────────────────┐
              │        Crew          │  ← 整个团队
              │  (任务统筹 / 流程控制) │
              └──────────┬───────────┘
                         │
        ┌────────────────┼────────────────┐
        ▼                ▼                ▼
   [Agent A]        [Agent B]        [Agent C]
    研究员             撰写员            审核员
   + Tools           + Tools           + Tools
        │                │                │
        ▼                ▼                ▼
   [Task 1]          [Task 2]         [Task 3]
   收集资料           撰写报告          质量审核
        └────────────────┴────────────────┘
                         │
                    最终输出结果

🧩 四大核心概念

1. 🤖 Agent(智能体)

每个 Agent 拥有独特的"人设":

属性

说明

示例

role

角色名称

资深数据分析师

goal

个人目标

从数据中发现关键洞察

backstory

背景故事

10年金融数据分析经验…

tools

可用工具

搜索、代码执行、文件读写

llm

驱动模型

GPT-4o / Claude / Gemini


2. 📋 Task(任务)

每个任务明确定义做什么、谁来做、输出什么

属性

说明

description

任务的详细描述

expected_output

期望的输出格式或内容

agent

负责执行的 Agent

context

依赖的上游任务(结果传递)

output_file

自动保存到文件


3. 👥 Crew(团队)

将 Agent 和 Task 组装成一个完整的工作流

crew = Crew(
    agents=[researcher, writer, reviewer],
    tasks=[task1, task2, task3],
    process=Process.sequential   # 或 hierarchical
)

4. ⚙️ Process(流程模式)

模式

说明

适用场景

Sequential(顺序)

任务按顺序依次执行,上游结果传递给下游

线性工作流

Hierarchical(分层)

由 Manager Agent 分配任务、监督执行

复杂动态任务


🛠️ 工具生态(Tools)

CrewAI 内置丰富工具,也支持自定义:

内置工具
├── 🔍 SerperDevTool      # 谷歌搜索
├── 🌐 WebsiteSearchTool  # 网页内容抓取
├── 📄 FileReadTool       # 文件读取
├── 🐍 CodeInterpreter    # 代码执行
├── 📊 CSVSearchTool      # CSV 数据查询
└── 🗃️ RAGTool            # 向量检索

兼容工具
└── LangChain Tools       # 完全兼容

🚀 快速示例

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

search_tool = SerperDevTool()

# 定义 Agent
researcher = Agent(
    role="市场研究员",
    goal="调研2025年AI Agent市场最新动态",
    backstory="你是一位经验丰富的科技市场分析师",
    tools=[search_tool],
    llm="gpt-4o"
)

writer = Agent(
    role="内容撰写员",
    goal="将研究成果撰写成专业报告",
    backstory="你擅长将复杂信息转化为清晰的商业报告",
)

# 定义 Task
research_task = Task(
    description="搜集2025年AI Agent市场规模、主要玩家、发展趋势",
    expected_output="一份包含数据和来源的调研摘要",
    agent=researcher
)

write_task = Task(
    description="基于调研结果撰写一份500字的市场分析报告",
    expected_output="结构清晰的Markdown格式报告",
    agent=writer,
    context=[research_task],     # 依赖上游任务
    output_file="report.md"
)

# 组建 Crew 并执行
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    process=Process.sequential,
    verbose=True
)

result = crew.kickoff()
print(result)

🌟 进阶特性

特性

说明

Flows(工作流)

v0.9+ 新增,支持事件驱动的状态机式流程控制

Memory(记忆)

短期/长期/实体记忆,Agent 可跨任务记住信息

Human-in-the-loop

关键节点可暂停等待人工审核确认

多模型支持

GPT / Claude / Gemini / Ollama 本地模型

异步执行

支持 kickoff_async 异步并发运行

训练模式

支持对 Agent 行为进行人工反馈训练


📊 与同类框架横向对比

维度

CrewAI

AutoGen

LangGraph

MetaGPT

上手难度

⭐ 简单

⭐⭐ 中等

⭐⭐⭐ 较难

⭐⭐ 中等

角色设定

✅ 非常直观

⚠️ 一般

❌ 无内置

✅ 完善

流程控制

✅ 顺序/分层

✅ 灵活

✅ 图结构

⚠️ 固定

代码执行

✅ 支持

✅ 强项

✅ 支持

✅ 支持

适合场景

业务流程自动化

代码/研究任务

复杂状态流程

软件开发


📦 版本与生态

CrewAI
├── crewai              # 核心框架
├── crewai-tools        # 官方工具库
└── CrewAI Studio       # 可视化 GUI(无代码编排)
  • 📂 GitHub:github.com/crewAIInc/crewAI

  • 🌟 Star 数:30k+

  • 🏢 背后公司:CrewAI Inc(已获风险投资)


💡 最适合 CrewAI 的场景

✅ 内容创作流水线(搜集 → 撰写 → 润色)
✅ 自动化研究报告生成
✅ 客户服务多角色处理
✅ 数据分析 → 可视化 → 报告一体化
✅ 电商选品、竞品分析自动化
✅ 代码开发(需求 → 编码 → 测试)

CrewAI 以其直观的角色化设计低门槛成为 Multi-Agent 领域最受欢迎的框架之一,特别适合快速搭建业务流程自动化的应用。需要进一步了解某个功能或实战案例吗?