目录
  1. 1. 目录
  2. 2. 项目速览
  3. 3. 功能概述
    1. 3.1. Crews — 角色化自主协作
    2. 3.2. Flows — 事件驱动精确控制
    3. 3.3. MCP 支持与工具生态
    4. 3.4. Guardrails 安全护栏
    5. 3.5. CrewAI Studio v2 与可观测性
  4. 4. 适用场景
    1. 4.1. 自动化研究报告生成
    2. 4.2. 客户服务升级处理
    3. 4.3. 代码审查与 DevOps
    4. 4.4. 内容创作与营销
    5. 4.5. 多数据源情报分析
  5. 5. 快速上手
    1. 5.1. 环境要求
    2. 5.2. 安装
    3. 5.3. 最简示例:研究团队
  6. 6. 源码架构
  7. 7. 实操 Demo
  8. 8. 同类对比
  9. 9. 参考资源
CrewAI — 多 Agent 协作编排框架

GitHub: crewAIInc/crewAI
Stars: 53,600+ | Language: Python (98.7%) | License: MIT
官网: crewai.com

目录

  1. 项目速览
  2. 功能概述
  3. 适用场景
  4. 快速上手
  5. 源码架构
  6. 实操 Demo
  7. 同类对比
  8. 参考资源

项目速览

CrewAI 是由 Joao Moura 于 2023 年底创建的多 Agent 协作框架,定位为 “Framework for orchestrating role-playing, autonomous AI agents”。截至 2026 年 6 月,项目在 GitHub 上已获得超过 53,600 颗 Star,月下载量超过 100 万次,拥有 10 万+ 认证开发者。

CrewAI 的核心设计哲学是”像管理团队一样管理 AI”:将 Agent 视为拥有特定角色(Role)、目标(Goal)和背景故事(Backstory)的”数字员工”,通过 Crew 进行协作编排。2025 年发布的 v1.0 GA 版本标志着 CrewAI 从一个简单的编排工具进化为完整的 Agentic AI 平台,新增了 Flows(事件驱动工作流)、MCP 支持、Guardrails(安全护栏)、CrewAI Studio v2(可视化构建器)和企业级治理功能。

CrewAI 已完全脱离 LangChain 依赖,成为独立的 Python 框架,并被 IBM、Microsoft、P&G、Walmart、SAP、Adobe、PayPal 等大型企业采用,驱动了超过 14 亿次 Agent 自动化任务。

功能概述

Crews — 角色化自主协作

Crews 是 CrewAI 的核心编排模式,支持两种执行策略:

  • Sequential Process(顺序执行):任务按预定义顺序链式执行,前一个 Agent 的输出自动成为下一个 Agent 的输入上下文。
  • Hierarchical Process(层级执行):引入 Manager Agent 充当”项目经理”,自动将目标分解为子任务,指派给专门的 Worker Agent 执行(Plan-then-Execute 模式)。

每个 Agent 被赋予明确的角色(如”研究员”、”撰稿人”、”审核员”)、目标和背景故事,Agent 会根据这些设定自主决定如何完成任务。

Flows — 事件驱动精确控制

Flows 是 CrewAI 的生产级工作流引擎,采用事件驱动架构,提供以下能力:

  • 条件分支与循环:基于执行结果动态决定下一步路径
  • 安全状态管理:步骤之间的状态安全传递,支持类型化状态
  • 混合编排:将自主 Crew 嵌入受控 Flow 中,兼顾灵活性和可靠性
  • 与生产代码集成:Flow 中可以混合 Agent 任务和普通 Python 函数

Flows 和 Crews 的组合模式使得 CrewAI 既能处理需要高度自主性的探索型任务,也能胜任需要严格流程控制的业务自动化场景。

MCP 支持与工具生态

CrewAI 原生支持 MCP(Model Context Protocol),可以连接数千个 MCP Server 提供的工具。在企业版中,Crew 本身也可以作为 MCP Server 对外暴露,允许桌面应用、Web 应用和其他 Agent 框架远程调用。

工具系统支持任务级权限范围(Task-Level Tool Scoping):Agent 级定义完整工具集,Task 级动态限制可用工具子集,实现最小权限原则(Principle of Least Privilege)。

Guardrails 安全护栏

CrewAI 提供了多层次的安全护栏机制:

  • 函数式检查:基于规则的输出校验(长度、关键词过滤、格式约束)
  • LLM-as-a-Judge:使用 LLM 对输出进行主观质量判断(如使用 Llama Guard 3 检测有害内容)
  • RBAC 集成:角色权限控制,确保 Agent 只能访问授权的工具和数据

CrewAI Studio v2 与可观测性

CrewAI Studio v2 是一个拖拽式可视化构建器,允许领域专家无需编码即可构建 Agent 工作流。特性包括:

  • Agent 仓库:集中管理可复用的 Agent 定义
  • AI 辅助设计:内置 AI 助手审查和改进工作流设计
  • 原生追踪:免费内置的每次执行追踪,无需第三方工具
  • 企业监控仪表盘:性能分析、成本追踪和审计日志

适用场景

自动化研究报告生成

一个典型场景是自动化行业研究报告:Researcher Agent 搜索和收集信息,Analyst Agent 分析数据并识别趋势,Writer Agent 撰写报告,Reviewer Agent 审核质量。CrewAI 的角色化设计和顺序执行模式天然适合这种”流水线”式协作。

客户服务升级处理

在客服场景中,Triage Agent 初步分类客户请求,Technical Agent 处理技术问题,Billing Agent 处理账单问题,Manager Agent 协调复杂案例。层级执行模式可以让 Manager Agent 根据问题复杂度自动指派和升级。

代码审查与 DevOps

构建代码审查 Agent 团队:Code Analyzer Agent 检查代码质量,Security Agent 扫描安全漏洞,Documentation Agent 检查文档完整性。可以与 GitHub、Jira 等企业连接器集成,实现 CI/CD 流水线中的自动审查。

内容创作与营销

Content Strategist Agent 制定内容策略,Copywriter Agent 撰写文案,SEO Agent 优化关键词和元数据,Design Reviewer Agent 检查视觉一致性。CrewAI 的 Flows 模式可以加入人工审批环节,确保品牌一致性。

多数据源情报分析

对于需要从多个异构数据源收集和交叉验证信息的场景,CrewAI 的多 Agent 协作模式可以将不同数据源的查询分派给专门 Agent,由 Manager Agent 整合分析结果,识别矛盾和需要进一步调查的信息缺口。

快速上手

环境要求

  • Python 3.10 - 3.14
  • LLM API Key(支持 OpenAI、Anthropic、Gemini、Ollama 等)

安装

pip install crewai crewai-tools

最简示例:研究团队

from crewai import Agent, Task, Crew, Process

# 定义 Agent
researcher = Agent(
role="资深研究员",
goal="对 {topic} 进行全面的研究,收集最新和最权威的信息",
backstory="你是一位拥有 10 年经验的研究专家,擅长从多个来源",
verbose=True,
)

writer = Agent(
role="技术撰稿人",
goal="将研究结果转化为清晰、易懂、结构良好的报告",
backstory="你是一位善于将复杂概念转化为通俗读物的专业作家",
verbose=True,
)

# 定义任务
research_task = Task(
description="研究 {topic} 的最新进展、关键技术和行业趋势",
expected_output="一份包含 3 个主要部分的研究摘要:概述、关键技术、未来趋势",
agent=researcher,
)

writing_task = Task(
description="基于研究结果撰写一份完整的报告",
expected_output="一份 Markdown 格式的完整报告,包含标题、摘要、正文和结论",
agent=writer,
context=[research_task], # 依赖上一个任务的输出
)

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

# 执行
result = crew.kickoff(inputs={"topic": "量子计算"})
print(result)

源码架构

CrewAI 采用标准的 Python 包结构,核心代码位于 lib/crewai/ 下:

crewAI/
├── lib/
│ └── crewai/
│ ├── agent/ # Agent 核心实现
│ │ ├── core.py # Agent 类(角色、目标、背景故事)
│ │ └── executor.py # Agent 执行器
│ ├── task.py # Task 定义与执行
│ ├── crew.py # Crew 编排器(顺序/层级执行)
│ ├── flow/ # Flows 事件驱动工作流引擎
│ ├── process/ # 执行过程(Sequential, Hierarchical)
│ ├── tools/ # 工具系统(MCP 集成、权限范围)
│ ├── memory/ # 记忆系统(短期+长期)
│ ├── guardrails/ # 安全护栏
│ ├── events/ # 事件总线与 Webhooks
│ ├── project/ # 项目脚手架(crewai create)
│ ├── llm.py # LLM 抽象层(多提供商支持)
│ └── cli/ # 命令行工具
├── docs/ # 文档
├── scripts/ # 开发脚本
└── pyproject.toml
  • **agent/**:Agent 模块核心,实现 Agent 类及其执行引擎。Agent 携带角色、目标、背景故事和工具集,能够自主规划和执行任务。
  • crew.py:Crew 编排器,支持 Sequential(顺序)和 Hierarchical(层级)两种执行策略。负责管理 Agent 之间的上下文传递和协作。
  • **flow/**:Flows 事件驱动工作流引擎,支持条件分支、循环和状态管理,可与 Crew 混合使用。
  • **guardrails/**:安全护栏系统,提供函数式规则检查和 LLM-as-a-Judge 两种校验模式。
  • **events/**:事件总线,支持 Crew/Agent/Task 的生命周期事件监听和 Webhook 通知。

实操 Demo

下面是一个完整的多 Agent 协作 Demo:自动化商业分析报告生成。

"""
完整的多 Agent 商业分析系统 Demo
团队结构:研究员 → 数据分析师 → 战略顾问 → 撰稿人 → 审核员
"""

from crewai import Agent, Task, Crew, Process
import os

# ===================== 配置 LLM =====================
os.environ["OPENAI_API_KEY"] = "sk-..." # 替换为你的 API Key

# ===================== 定义 Agent 团队 =====================

researcher = Agent(
role="市场研究员",
goal="对 {company} 及其所在行业进行深入的市场研究",
backstory="""你是一位经验丰富的市场研究员,在麦肯锡工作过 8 年。
你擅长收集行业数据、分析竞争格局和识别市场趋势。
你的每一份研究报告都以数据驱动、逻辑严谨著称。""",
verbose=True,
allow_delegation=False,
)

data_analyst = Agent(
role="数据分析师",
goal="基于研究数据,提取关键量化指标并进行分析",
backstory="""你是一位数据科学专家,擅长从原始信息中提取结构化数据。
你能够识别关键指标、进行趋势分析,并用清晰的表格和图表呈现数据。""",
verbose=True,
allow_delegation=False,
)

strategist = Agent(
role="战略顾问",
goal="基于研究和数据分析,提出可执行的战略建议",
backstory="""你是一位资深战略顾问,曾为 50+ 家世界 500 强企业提供咨询服务。
你擅长从复杂信息中提炼 actionable insights,提出既务实又有远见的战略建议。
你的建议总是包含具体的行动步骤和风险评估。""",
verbose=True,
allow_delegation=False,
)

writer = Agent(
role="商业报告撰稿人",
goal="将所有分析结果整合为一份专业、结构清晰的商业报告",
backstory="""你是一位顶级商业报告作家,曾为《经济学人》和《哈佛商业评论》撰稿。
你擅长将复杂分析转化为流畅、有说服力的叙述,同时保持严谨和专业。
你的报告风格:数据支撑、逻辑清晰、可读性强。""",
verbose=True,
allow_delegation=False,
)

reviewer = Agent(
role="质量审核员",
goal="确保报告数据准确、逻辑一致、格式规范",
backstory="""你是一位严谨的质量审核专家,曾在四大会计师事务所担任高级审计师。
你对数据的准确性、逻辑的连贯性和格式的规范性有着极为严格的标准。
你总是能发现别人忽略的细节问题。""",
verbose=True,
allow_delegation=False,
)

# ===================== 定义任务链 =====================

research_task = Task(
description=f"""对目标公司进行全面市场研究,包括:
1. 公司概况与商业模式
2. 所在行业市场规模和增长率(引用具体数据)
3. 竞争格局分析(主要竞争对手及其市场份额)
4. 行业趋势和技术变革
5. 监管环境与政策风险""",
expected_output="一份结构化的市场研究报告,包含以上 5 个部分,每部分至少 200 字",
agent=researcher,
)

data_task = Task(
description=f"""基于研究报告,提取并分析关键量化指标:
1. 市场规模和增长率数据
2. 市场份额分布
3. 关键财务指标(如有)
4. 用户/客户规模相关指标
请用清晰的对比表格呈现数据。""",
expected_output="一份数据分析报告,包含量化指标表格和趋势分析",
agent=data_analyst,
context=[research_task],
)

strategy_task = Task(
description=f"""基于研究和数据分析,提出战略建议:
1. SWOT 分析(优势、劣势、机会、威胁)
2. 3 条具体的战略建议,每条包含:
- 建议内容
- 预期效果
- 实施步骤(至少 3 步)
- 风险评估
3. 优先级排序和 12 个月实施路线图""",
expected_output="一份战略建议书,包含 SWOT 分析和具体行动建议",
agent=strategist,
context=[research_task, data_task],
)

writing_task = Task(
description=f"""整合所有分析结果,撰写一份完整的商业分析报告。
报告结构:
1. 执行摘要(150 字以内)
2. 市场分析
3. 竞争格局
4. 战略建议
5. 风险与应对
6. 结论
使用专业但可读性强的语言,关键数据用加粗标注。""",
expected_output="一份 Markdown 格式的完整商业报告,不少于 800 字",
agent=writer,
context=[research_task, data_task, strategy_task],
)

review_task = Task(
description=f"""审核最终报告:
1. 检查所有数据是否有来源支撑
2. 验证逻辑链条是否完整
3. 检查格式和排版
4. 指出需要修正的问题(如有)
如果报告质量达标,输出 "审核通过"。
如有问题,列出具体的修改建议。""",
expected_output="审核意见:通过/不通过,附具体的修改建议清单",
agent=reviewer,
context=[writing_task],
)

# ===================== 组建并运行 Crew =====================

crew = Crew(
agents=[researcher, data_analyst, strategist, writer, reviewer],
tasks=[research_task, data_task, strategy_task, writing_task, review_task],
process=Process.sequential, # 顺序执行,每个任务的输出自动传递给下游
verbose=True,
)

# 执行分析
print("=" * 60)
print(" 开始自动化商业分析...")
print("=" * 60)

result = crew.kickoff(inputs={
"company": "Tesla(特斯拉)",
})

print("\n" + "=" * 60)
print(" 最终报告")
print("=" * 60)
print(result)

运行:

pip install crewai crewai-tools
export OPENAI_API_KEY="sk-..."
python business_analysis_demo.py

这个 Demo 展示了一个完整的 5 人 Agent 团队如何协作完成商业分析报告。你可以将 company 参数替换为任何你感兴趣的公司。

同类对比

特性 CrewAI AutoGPT AutoGen (Microsoft)
定位 多 Agent 角色化协作编排 全自主单 Agent 任务执行 多 Agent 对话与协作框架
Stars 53,600+ 185,000+ 38,000+
核心优势 角色扮演设计直观,顺序+层级两种协作模式,Flows 提供精确控制 自主性最高,无需人工干预即可执行复杂任务 微软研究院出品,对话式多 Agent 模式灵活,与 Semantic Kernel 融合中
协作模式 角色分工(角色/目标/背景故事)+ 顺序/层级执行 单 Agent 自主循环(规划→执行→反思),非多 Agent 协作 对话式多 Agent,支持群聊和嵌套对话
企业功能 RBAC、Guardrails、审计日志、HIPAA/SOC2 合规 企业连接器、OAuth/SAML、RBAC Azure 生态集成
适用场景 需要明确角色分工的团队协作型任务 需要高度自主、少人工干预的独立任务 需要灵活对话式协作的研究和原型场景

分析:CrewAI 的独特优势在于其直观的角色扮演设计——“像管理团队一样管理 AI”。通过为 Agent 定义角色、目标和背景故事,它比 AutoGPT 更适合需要精细分工的多人协作场景。相比 AutoGen,CrewAI 的 API 更简洁,企业级功能(Guardrails、RBAC、审计日志)更完善。AutoGPT 则走了一条不同的路——它聚焦于单个 Agent 的全自主执行,而不是多 Agent 协作。如果你的场景需要多个专业 Agent 像团队一样协作完成任务,CrewAI 是目前设计最成熟的框架。

参考资源

文章作者: Leo·Cheung
文章链接: http://tufusi.com/2026/06/15/SKILL-CrewAI/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ONE·PIECE
打赏
  • 微信
  • 支付宝

评论