用途
CrewAI 是一个多智能体编排框架,用于构建由多个自主 AI 智能体组成的团队,让它们协作解决复杂任务。根据资料,适合在以下情况使用:构建具有专门角色的多智能体系统;需要智能体之间的自主协作;希望实现基于角色的任务委派(如研究员、写作者、分析师);需要顺序或层级流程执行;构建带记忆和可观测性的生产工作流;以及希望比 LangChain/LangGraph 更简单的搭建方式。
主要能力
- 独立运行:不依赖 LangChain,占用精简。
- 基于角色:智能体拥有角色、目标和背景故事。
- 双范式:Crews(自主协作)与 Flows(事件驱动)。
- 50+ 工具:网页抓取、搜索、数据库、AI 服务等。
- 记忆:短期、长期和实体记忆。
- 生产就绪:追踪、企业级特性。
核心概念包括:
- Agents(智能体):自主工作者,可配置 role(角色)、goal(目标)、backstory(背景)、llm、tools、memory、verbose、allow_delegation、max_iter、max_rpm 等。
- Tasks(任务):工作单元,可配置 description、expected_output、agent、context、output_file、async_execution、human_input 等。
- Crews(团队):智能体团队,可配置 agents、tasks、process、verbose、memory、cache、max_rpm、share_crew 等,通过 kickoff 执行并传入 inputs,可访问 result.raw、result.tasks_output、result.token_usage。
流程类型:
- Sequential(默认):任务按顺序执行,前一个智能体完成任务后下一个才开始。
- Hierarchical:自动创建一个管理者智能体来委派和协调任务,可指定 manager_llm。
工具:
- 内置工具(50+):安装
pip install 'crewai[tools]'后可使用,如 SerperDevTool(网页搜索)、ScrapeWebsiteTool(网页抓取)、FileReadTool(读取文件)、PDFSearchTool(搜索 PDF)、WebsiteSearchTool(搜索网站)、CodeDocsSearchTool(搜索代码文档)、YoutubeVideoSearchTool(搜索 YouTube)等。 - 自定义工具:继承
crewai.tools.BaseTool,定义 name、description 并实现_run方法。
Flows(事件驱动编排):用于带条件逻辑的复杂工作流,使用 crewai.flow.flow 中的 Flow、listen、start、router,配合 Pydantic 定义状态模型。
记忆系统:通过 memory=True 启用,可自定义 embedder。记忆类型包括短期(ChromaDB)、长期(SQLite)、实体(ChromaDB)。
LLM 提供方:支持 OpenAI(默认)、Anthropic、本地 Ollama、Azure 等,通过 crewai.LLM 配置模型与 base_url。
使用方式
安装:
# 核心框架
pip install crewai
# 含 50+ 内置工具
pip install 'crewai[tools]'
使用 CLI 创建项目:
# 创建新的 crew 项目
crewai create crew my_project
cd my_project
# 安装依赖
crewai install
# 运行 crew
crewai run
纯代码方式:定义智能体(Agent)、任务(Task),再创建 Crew 并指定 process,最后调用 crew.kickoff(inputs={...}) 执行并打印结果。
也推荐使用 YAML 配置方式组织较大项目(资料指向 references/yaml-configuration-recommended.md)。
适用场景
- 需要角色分工与任务委派的多智能体协作。
- 顺序或层级流程的生产工作流。
- 需要记忆与可观测性的团队式任务。
- 带条件逻辑的复杂事件驱动工作流(Flows)。
限制与注意事项
- 资料建议每个智能体工具数量控制在 3-5 个以内。
- 应设置 max_iter 防止无限循环(默认 15),并设置 max_rpm 避免触发 API 限流。
- 任务未使用上下文时需显式传入 context。
- 记忆错误可通过环境变量
CREWAI_STORAGE_DIR指定存储目录。 - 与替代方案对比:LangChain 适合通用 LLM 应用与 RAG 管道;LangGraph 适合带循环的复杂有状态工作流;AutoGen 适合微软生态的多智能体对话;LlamaIndex 适合文档问答与知识检索。
资源
- GitHub:https://github.com/crewAIInc/crewAI
- 文档:https://docs.crewai.com
- 工具:https://github.com/crewAIInc/crewAI-tools
- 示例:https://github.com/crewAIInc/crewAI-examples
- 版本:1.2.0+
- 许可证:MIT
关于具体收费、价格与平台支持范围,资料暂未提供。