CrewAI 项目介绍
CrewAI 项目介绍
项目定位
CrewAI 是一个从零构建(不依赖 LangChain)的 Python 多 Agent 编排框架,通过角色分工与事件驱动两种模式,实现从简单任务到复杂业务流程的全覆盖。
一句话:面向生产环境的多 Agent 协作框架 —— Crew 管”谁做什么”,Flow 管”什么之后做什么”。
核心能力
- Crew 模式:基于角色扮演的多 Agent 团队,支持顺序执行(Sequential)和层级管理(Hierarchical)两种编排方式
- Flow 模式:基于装饰器的事件驱动状态机,支持 AND/OR 条件、动态路由、人机交互(HITL)和状态持久化
- 计划执行引擎:Plan-and-Execute 架构,先生成结构化计划,再按依赖关系串行/并行执行步骤,支持动态重规划
- 统一记忆系统:LLM 驱动的记忆编码/召回管线,支持层次化 Scope、复合评分、LanceDB/Qdrant 向量存储
- MCP 集成:原生支持 Model Context Protocol,三种传输方式(Stdio/SSE/HTTP),工具自动解析
- Skills 注册表:基于
SKILL.md标准,三级渐进式披露(元数据 → 指令 → 资源),支持本地/缓存/远程三级解析 - 多模型支持:OpenAI、Anthropic、Gemini、Azure、Bedrock 及兼容协议,内置 Prompt 缓存断点标记
- 事件驱动检查点:100+ 事件类型,JSON/SQLite 双后端,支持分支谱系追踪与断点恢复
- A2A 协议:Agent-to-Agent 远程代理通信协议
- LangGraph/OpenAI 适配器:无缝集成第三方框架的 Agent
技术栈
| 维度 | 选择 |
|---|---|
| 语言 | Python 3.10 ~ 3.13 |
| 数据验证 | Pydantic v2 |
| 包管理 | uv |
| 测试 | pytest + VCR 录制 |
| LLM SDK | OpenAI SDK, Anthropic SDK, Google GenAI SDK, boto3 |
| 向量存储 | LanceDB(本地)、Qdrant(边缘)、ChromaDB(知识) |
| 遥测 | OpenTelemetry(OTLP) |
| 序列化 | Pydantic JSON 序列化 |
架构概览
快速体验
# 1. 克隆源码git clone https://github.com/crewAIInc/crewAI.gitcd crewAI
# 2. 安装依赖(使用 uv 包管理器)uv sync
# 3. 最简 Crew 示例python -c "from crewai import Agent, Task, Crew
researcher = Agent( role='研究员', goal='回答用户问题', backstory='你是一位专业的研究助手',)
task = Task( description='解释什么是 CrewAI', agent=researcher,)
crew = Crew(agents=[researcher], tasks=[task])result = crew.kickoff()print(result)"教程导读
本教程分为 AI 应用 和 开发工程 两部分:
AI 教程(ai/)
聚焦 CrewAI 的 AI 应用通用知识,从项目实践出发,抽象出行业通用的 Agent 设计模式:
| 章节 | 知识点 | 引用 Common |
|---|---|---|
| 01 | Crew 与 Flow 双模式编排 | 多 Agent 路由、编排模式 |
| 02 | 角色驱动 Agent 设计 | Agent 核心循环、Agent 个性 |
| 03 | Plan-and-Execute 执行架构 | 状态图 Agent 循环 |
| 04 | 统一记忆与 LLM 分析 | 记忆系统、RAG 管线 |
| 05 | MCP 与工具集成 | 工具调用、MCP 协议 |
| 06 | Skills 注册表与渐进式披露 | Skill 设计 |
Dev 教程(dev/)
聚焦 CrewAI 的工程实践与架构决策:
| 章节 | 知识点 |
|---|---|
| 01 | 框架独立架构(脱离 LangChain 的设计考量) |
| 02 | Flow 事件驱动状态机(装饰器 DSL、AND/OR 条件、竞态处理) |
| 03 | Flow 持久化与 HITL(SQLite 追加写入、异步暂停/恢复) |
| 04 | 多模型 Provider 层(Prompt 缓存、原生工具调用、流式传输) |
| 05 | 事件总线与遥测(懒加载、重放机制、OpenTelemetry 集成) |
| 06 | 检查点与分支谱系(JSON/SQLite 双后端、事件驱动触发) |
| 07 | 测试策略(VCR 录制、pytest 插件、跨提供商测试) |