用途
CrewAI 是一个用于编排角色扮演型、自主 AI 智能体的框架。它通过培育协作智能,让智能体无缝协同工作,以应对复杂任务。官方将其定位为快速、灵活的多智能体自动化框架,既提供高层抽象,也提供低层 API,用于构建生产就绪的多智能体工作流。
主要能力
CrewAI 提供两种互补的方案,可以无缝配合使用:
Crews:由具备真正自主性与能动性的 AI 智能体组成的团队,通过基于角色的协作共同完成复杂任务。它支持智能体之间自然、自主的决策,动态的任务委派与协作,以及具有明确目标和专长的专门角色,并支持灵活的问题解决方式。
Flows:生产就绪、事件驱动的工作流,为复杂自动化提供精确控制。它提供对执行路径的细粒度控制、任务之间安全一致的状态管理、AI 智能体与生产级 Python 代码的干净集成,以及面向复杂业务逻辑的条件分支。
Crews 与 Flows 结合:两者结合可以构建复杂的生产级应用,在自主性与精确控制之间取得平衡,处理复杂真实场景,并保持代码结构清晰可维护。
框架特点包括:专为智能体编排设计的架构,轻量级 Python 内核与清晰的基元;面向速度与最小资源占用的高性能优化;从工作流、系统架构到智能体行为、内部提示与执行逻辑的完整低层定制自由;适用于简单任务、复杂工作流与生产级自动化;由超过 10 万名通过社区课程认证的开发者组成的社区支持。
能力方面还提到:智能体就绪能力,包括工具、记忆、知识、检查点、异步执行以及 MCP/A2A 支持;生产就绪模式,包括确定性步骤、人工输入、结构化输出与检查点。
使用方式
安装要求 Python >=3.10 且 <3.14。CrewAI 使用 UV 进行依赖管理与包处理,需先安装 uv,然后安装 CrewAI CLI。可通过 crewai create crew 创建 JSON 优先的 crew 项目:智能体位于 agents/*.jsonc,任务与 crew 级设置位于 crew.jsonc,crewai run 直接加载该 JSON 定义。命令会生成包含以下结构的新项目文件夹。如需旧的 Python/YAML 脚手架(含 crew.py、config/agents.yaml 和 config/tasks.yaml),可运行相应命令,经典模式参见 Using Annotations。
项目文件编辑:修改 agents/*.jsonc 定义每个智能体的角色、目标、背景故事、LLM、工具与行为;修改 crew.jsonc 定义任务、流程与输入默认值;在 tools/ 中添加自定义工具并以 "custom:<name>" 引用;在 knowledge/ 添加可选知识文件、在 skills/ 添加技能文件;将环境变量写入 .env 文件。在智能体与任务文本中使用 {placeholder} 值,并在 crew.jsonc 的 inputs 下设置默认值;运行 crewai run 时 CLI 会提示缺失的值。
运行前需在 .env 中设置所需密钥:模型提供商 API 密钥(见 LLM setup);若使用网页搜索,需 Serper.dev API 密钥 SERPER_API_KEY=YOUR_KEY_HERE。然后在项目目录中安装依赖并运行。若需额外包,使用 uv add <package-name>。输出会显示在控制台,并在项目根目录创建 output/report.md。除顺序流程外,还可使用层级流程,自动为定义的 crew 分配管理者,通过委派与结果验证协调任务的规划与执行。
连接模型:CrewAI 支持通过多种连接选项使用各种 LLM。默认情况下,智能体查询模型时使用 OpenAI API;也可将智能体配置为通过 Ollama 工具使用本地模型。详情参见 Connect CrewAI to LLMs 页面。
适用场景
当你需要的不只是单次提示或聊天机器人时,可使用 CrewAI:多步骤工作、专门化智能体、工具使用、结构化输出、人工审核,或结合自主推理与明确业务逻辑的工作流。尤其适用于:协调具有明确角色与任务的多个智能体;将智能体工作包装进确定性、事件驱动的工作流;将应用逻辑保留在常规 Python 中;在不同框架之间不切换即可从实验走向生产;随着系统增长添加工具、记忆、检查点与异步执行。
官方示例仓库 CrewAI-examples 提供可测试的真实 AI crew 示例,包括 Landing Page Generator、Trip Planner、Stock Analysis、Write Job Descriptions、在流程中组合多个 Crews 等。
限制与说明
- 运行环境要求 Python >=3.10 且 <3.14,依赖 UV 管理。
- Windows 上若遇到 chroma-hnswlib==0.7.6 构建错误(fatal error C1083: Cannot open include file: 'float.h'),需安装带 Desktop development with C++ 的 Visual Studio Build Tools。
- CrewAI 使用匿名遥测收集使用数据,主要目的是帮助改进库、聚焦最常用的功能、集成与工具。官方说明:除特定条件外,不会收集提示、任务描述、智能体背景故事或目标、工具使用、API 调用、响应、智能体处理的任何数据,或密钥与环境变量。当启用 share_crew 功能时,会收集包括任务描述、智能体背景故事或目标及其他特定属性在内的详细数据,同时尊重用户隐私。用户可通过将环境变量 OTEL_SDK_DISABLED 设为 true 来禁用遥测。收集的数据包括:CrewAI 版本(了解有多少用户使用最新版本)、Python 版本(决定更好地支持哪些版本)、通用操作系统信息(如 CPU 数量、macOS/Windows/Linux,以了解应聚焦的操作系统以及能否构建特定于操作系统的功能)。
- 官方提供商业版 CrewAI AMP Suite,为需要围绕 CrewAI 的商业控制平面的组织添加托管部署、可观测性、治理、安全与企业支持。可免费试用其中一部分——Crew Control Plane。其关键功能包括:追踪与可观测性(实时监控与跟踪 AI 智能体与工作流,含指标、日志与追踪)、统一控制平面(集中管理、监控与扩展 AI 智能体与工作流的平台)、无缝集成(轻松连接现有企业系统、数据源与云基础设施)、高级安全(内置稳健的安全与合规措施)、可操作洞察(实时分析与报告)、24/7 支持、本地与云部署选项。
- 计费与价格等更多商业细节暂未提供。