目录

不是用多agent来模仿,而是用分层编排的方式来实现

CrewAI 的最佳使用方式并不是无处不在的代理,而是选择性的代理。

上手不难,但是有两个实际的限制需要牢记

最后一句


近两年来,很多团队在开发 Agent 系统的时候都会遇到同样的困境:把几个模型、几句提示语、一些工具拼凑起来就认为自己有了一个可以工作的“智能体协作”系统。跑 demo 很快,但是要进入生产环境却很难。造成这种情况的原因不是因为模型本身有问题,而是由于编排不当。

真正的矛盾在于:有的地方要让智能体自己决定,有的地方要控制、跟踪和恢复。前者追求的是灵活性,后者则要限定边界。大部分项目的失败就是因为在两种需求之间搞混了。

CrewAI的价值就在这里。

图片

不是用多agent来模仿,而是用分层编排的方式来实现

按照官方的 Readme 所述,CrewAI 是一个开源的 Python 框架,用来创建生产级别的多智能体工作流程,并且既有高级别的抽象又有低级别的接口:

  • • Crews:自治协作

  • • Flows:进行精确控制

CrewAI 最重要的一点就是这个设计了。

图片

Crew 的抽象非常接近真实的团队:许多代理,每个都有自己的角色、目标、工具和工作要完成一系列的工作。官方支持两种执行的方式:顺序和层次化,前者更适合线性的推进,而后者则是由经理代理来统筹安排并验证各个任务。

另外一种方法叫做 flow,它把系统做成结构化的、事件驱动的工作流,并用 @start() 来定义入口,@listen() 来连接后面的步骤,使用条件、路由、循环和分支来管理执行路径。flow 还有状态持久化的功能,默认的后端是 sqlite,可以恢复状态也可以分叉继续执行。

图片

这表示CrewAI并没有只是简单地提倡“找来更多的代理人来聊天”,而是针对一个更加实际的问题做出了回答:

哪些事情可以由智能体来决定,而哪些事情则需要工作流收尾?

CrewAI 的最佳使用方式并不是无处不在的代理,而是选择性的代理。

这是我认为 CrewAI 最好的地方。

有人把多智能体看作一个放大器,认为Agent越多,系统的性能就越好。但是多Agent并不是天然地具有更快或者更可靠的特性,在增加Agent、任务和工具调用的同时也会使整个系统变得更慢、更难管理。

图片

所以合理使用CrewAI的方法,并不是把整个系统都做成自组织协作,而是:

  • • 让crew来做开放性推理

  • • 把状态、条件、恢复和分支留到Flow中去处理

例如,分析、写作、评审等需要角色分工的工作用 Crew 很合适;而审批、路由、重试、状态延续等等工程性质比较强的部分则要放在 Flow 中。官方也表示可以将 Crew 视为 Flow 的一部分来使用。

给Agent系统安装上一道“安全网”,不是要降低它的智能水平,在正确的时机之下才使用它的能力。

上手不难,但是有两个实际的限制需要牢记

CrewAI 最新的发布版本号为 1.15.18,发布时间为 2026-08-27,所用的主要编程语言为 Python,并且遵循 MIT 许可协议,在使用时需要满足 Python 版本在 3.10 到 3.13 之间。

官方建议使用 uv 进行安装,命令为:

python3 --version
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安装 CLI:

uv tool install crewai

如果出现PATH警告的话:

uv tool update-shell

创建项目:

crewai create crew <project_name>

经典脚手架:

crewai create crew <project_name> --classic

安装并运行:

crewai install
crewai run

模型提供者的API密钥要放到.env文件里,如果有用到SerperDevTool的话还要加上SERPER_API_KEY。

但是更为重要的是两条边界意识:

效果、成本以及隐私都是由所选择的模型、工具、数据来源以及设置所决定的,并不是框架本身的能力就可以得到最好的结果。

2、JSON Crew项目也可以运行本地的Python程序
官方文档中已经说明了custom:<name>工具以及{"python":"module.attribute"}引用都会运行本地代码,所以只能使用来自可信任源的项目。

另外,在README中提到CrewAI默认情况下会进行匿名遥测,如果不希望这样做的话可以这样操作:

OTEL_SDK_DISABLED=true

最后一句

从今天的视角来看,拉开差距的是是否可以实现自治与确定性的分离,而不再是能不能多个角色协同工作了。

CrewAI 给出的答案非常明了,即由 Crew 来做思考的事情,而由 Flow 来做维持秩序的工作。

不是为了炫耀而起的名字,在多智能体进入生产之后最重要的一个抽象层次上。如果想要使 Agent 系统变得有用的话,并不是放任不管,而是要对它的自由加以适当的约束。

http://github.com/crewAIInc/crewAI

引入地址

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐