什么是 CrewAI?

CrewAI 是一个开源 Python 智能体编排框架,通过 Agent、Task、Crew、Process 和事件驱动 Flow 组织多智能体协作与有状态工作流。

快速了解

全称CrewAI Collaborative Agent Framework
创建时间2023年底开源,因其极低的学习门槛和优秀的工程化设计迅速走红
规范文档官方规范

工作原理

Agent、Task、Crew 与 Process

Agent 组合角色、目标、指令、模型和可选工具;Task 定义工作、预期输出、上下文以及必要时的负责 Agent;Crew 再通过 Process 组织 Agent 与 Task。Sequential Process 按任务顺序执行,并可把前序输出作为上下文。Hierarchical Process 需要 Manager LLM 或 Manager Agent 负责任务分配与验收,它表达的是委派语义,不代表独立任务必然并发。

Flow 管理应用控制

CrewAI 当前生产指南推荐 Flow-first 架构。Flow 定义入口、Listener、Router、状态,以及对普通代码、模型或 Crew 的调用。应优先使用最小化的类型状态,并显式定义每次转换和终止状态。Crew 适合作为控制面中的有界概率工作单元,而不应成为凭证、业务事实或不可逆副作用的所有者。

持久化与副作用

Flow 持久化可以保存框架状态,并支持恢复或分叉执行,但 Checkpoint 不是分布式事务。外部写入仍需要幂等键、权威状态查询,以及超时或 Worker 失败后的对账。身份与租户应在 Prompt 之外推导,工具执行时重新鉴权,密钥需要隔离,同时限制迭代、委派和总预算,并在重要操作前设置人工审批。

评测与选型

先建立确定性代码或单 Agent 基线。只有当角色或上下文隔离、并行研究、独立复核或权限分离能改善实测结果时,再引入 Crew。评测应覆盖可接受任务完成率、来源质量、结构化输出有效性、交接损失、重复工作、工具拒绝、恢复、Token 成本和 p95 延迟。还要固定 CrewAI Package、CLI、项目模板、模型和配置版本,因为文档与默认值会演进。

主要特点

  • 把 Agent 和 Task 定义为角色化执行单元与工作契约
  • 使用 Sequential 或 Hierarchical Process 组织 Crew
  • 通过 Flow 管理事件驱动控制、状态、分支和编排
  • 支持结构化任务输出、Guardrail、持久化与追踪钩子
  • 可在多个层次配置模型、工具、记忆和知识
  • 仍需应用负责鉴权、幂等、预算与结果验收

常见用途

  1. 在有状态报告流程中运行边界明确的研究 Crew
  2. 在每个角色有可测价值时分离采集、分析和复核
  3. 编排需要等待输入或人工审批的长时间工作流
  4. 用类型状态、确定性分支和恢复逻辑包裹 Agent 工作
  5. 把多 Agent 编排与更简单的单 Agent 基线进行比较

示例

loading...
Loading code...

常见问题

CrewAI 中 Crew 与 Flow 有什么区别?

Crew 通过 Process 协调 Agent 与 Task,完成一个边界明确的工作单元;Flow 管理更外层的应用路径,包括状态、事件、分支、等待、普通代码、模型调用和一个或多个 Crew。当前官方指南建议生产应用从 Flow 开始,只在需要自主协作的环节调用聚焦的 Crew。

CrewAI 支持哪些 Process 类型?

当前 Processes 文档定义 Sequential 和 Hierarchical。Sequential 按任务顺序执行;Hierarchical 需要 Manager LLM 或自定义 Manager Agent 负责任务分配与复核。不要推断不存在的第三种 Process 枚举,也不要把层级委派等同于并发;Task 异步能力与 Flow 分支属于其他控制机制。

Role、Goal 和 Backstory 能降低幻觉吗?

它们可以影响模型上下文,却没有通用错误率保证。可靠性还取决于模型、工具、证据、任务定义、输出契约和评测集。角色 Prompt 只能作为行为引导,系统仍需核验事实、限制工具权限、校验结构化输出,并以完整任务结果进行测量。

持久化 CrewAI Flow 状态能保证 Exactly-once 执行吗?

不能。持久化状态有助于恢复框架控制流,但外部 API 或数据库写入可能已经成功,而 Worker 丢失了响应。需要使用幂等键记录副作用尝试,查询权威系统并对结果未知的操作做对账;不能只因 Flow Step 重试就再次执行重要写入。

团队应在什么情况下选择 CrewAI?

当 Crew 与 Flow 符合已经验证的角色隔离、有状态事件控制或可复用 Agent 工作单元需求时,可以选择 CrewAI。应使用代表性任务,从失败恢复、可观测、成本、延迟、部署约束和维护负担等方面,与确定性代码、单 Agent 和其他框架比较;Demo API 简洁并不是充分证据。

相关术语

相关文章