跳转到内容

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 SDKOpenAI SDK, Anthropic SDK, Google GenAI SDK, boto3
向量存储LanceDB(本地)、Qdrant(边缘)、ChromaDB(知识)
遥测OpenTelemetry(OTLP)
序列化Pydantic JSON 序列化

架构概览

快速体验

Terminal window
# 1. 克隆源码
git clone https://github.com/crewAIInc/crewAI.git
cd 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
01Crew 与 Flow 双模式编排多 Agent 路由编排模式
02角色驱动 Agent 设计Agent 核心循环Agent 个性
03Plan-and-Execute 执行架构状态图 Agent 循环
04统一记忆与 LLM 分析记忆系统RAG 管线
05MCP 与工具集成工具调用MCP 协议
06Skills 注册表与渐进式披露Skill 设计

Dev 教程(dev/)

聚焦 CrewAI 的工程实践与架构决策:

章节知识点
01框架独立架构(脱离 LangChain 的设计考量)
02Flow 事件驱动状态机(装饰器 DSL、AND/OR 条件、竞态处理)
03Flow 持久化与 HITL(SQLite 追加写入、异步暂停/恢复)
04多模型 Provider 层(Prompt 缓存、原生工具调用、流式传输)
05事件总线与遥测(懒加载、重放机制、OpenTelemetry 集成)
06检查点与分支谱系(JSON/SQLite 双后端、事件驱动触发)
07测试策略(VCR 录制、pytest 插件、跨提供商测试)