CrewAI如何超越编排,打造最强大的代理AI平台
Shane Johnson
市面上有许多广为人知的智能体框架和平台,你猜怎么着?它们都能通过简单的概念验证(PoC)来展示智能体的价值。它们也都支持智能体规划、编排、记忆管理和工具调用——这些都是智能体工作流的基石。没错,它们也都是“有主见”(opinionated)的框架。然而,它们在实现这些基础模块时所存在的差异,并不是最关键的。
支持概念验证是一回事,但在生产环境中支持成百上千个智能体工作流则是另一回事。这才是至关重要的:即从通过智能体协作执行简单任务,成长为通过自主智能体有效支持企业内每个角色和部门,处理复杂、关键任务的能力——用 CrewAI 的话来说,就是实现“原生智能体化”(agent-native)。
MCP (模型上下文协议)
MCP 成功标准化了智能体调用工具和访问数据源的方式,拥有成千上万个服务器,涵盖从云服务、开发工具到文件系统和安全平台的各类应用。通过对 MCP 的支持,构建能够自主决定访问哪些工具及何时访问的强大智能体工作流变得前所未有的简单。
构建能够执行以下操作的智能体:
在 Neon 数据库中查找数据
从 Qdrant 或 Weaviate 中检索知识
发送 Slack 消息并回复对话线程
更新 Linear 中的问题工单
创建 Docker 容器
以及更多功能!
serverparams = {"url": "https://:8000/sse"}
with MCPServerAdapter(serverparams) as tools:
# tools is now a list of CrewAI Tools matching 1:1 with the MCP server's tools
agent = Agent(..., tools=tools)
task = Task(...)
crew = Crew(..., agents=[agent], tasks=[task])
crew.kickoff(...)这还不是全部。
CrewAI 企业版现已包含双向 MCP 支持,这意味着远程 MCP 客户端(无论是桌面应用、Web 应用、服务器,甚至是远程智能体)都可以访问这些工作组(Crew)和工作流(Flow)——使客户能够将 CrewAI 企业版与现有基础设施和系统全面集成,并实现真正的原生智能体化。
工具库
随着企业寻求扩大智能体使用范围并实现原生智能体化,集中部署和管理可被不同工作流中不同智能体访问的自定义工具,对于规模化发展至关重要。
CrewAI 企业版现在为客户提供私有工具库,并遵循高安全标准,通过基于角色的访问控制(RBAC)来管理对工具的访问。公共工具可供组织内任何构建智能体的人使用,而私有工具则需要明确授权,向仓库发布工具的权限也是如此。

护栏 (Guardrails)
AI 助手和副驾驶(Copilots)在没有护栏的情况下不应部署到生产环境,智能体也是如此。在尝试智能体和构建简单原型时,护栏往往被忽视,但为了确保通过智能体实现的关键业务流程自动化在正确性和行为上都能值得信赖,它们是必不可少的。
CrewAI 允许开发者通过函数或“LLM 作为评判者”(LLM-as-a-Judge)提示词来添加护栏。例如,一个用于检查输出长度(例如,太长)或查看输出是否包含特定关键词或短语(例如,提到竞争对手)的函数。对于更主观的检查,你可以指定一个提示词,并根据需要指定模型(例如,Llama Guard 3)。
blog_task = Task(
description="Write a blog post about AI",
expected_output="A blog post under 200 words",
agent=blog_agent,
guardrail=TaskGuardrail(
description="Ensure the blog is less than 200 words",
llm=LLM(model="gpt-4o-mini"),
)
)CrewAI 企业版还为客户提供先进的、开箱即用的幻觉检测护栏。
事件与 Webhooks
任何基础设施平台都需要强大的事件系统,这为开发者提供了宝贵的支持,使其能够扩展从自定义调试和监控到与其他平台及服务的高级集成等功能。此外,事件和 Webhooks 可用于添加评估能力,或与外部评估平台集成。
CrewAI 现在包含一个事件总线,允许开发者创建监听器,在触发以下任何事件时运行:
工作组启动(Crew kickoff)——开始、完成和失败
工作组训练(Crew train)——开始、完成和失败
工作组测试(Crew test)——开始、完成和失败
智能体(Agent)——开始、完成、错误
任务(Task)——开始、完成、失败、评估
工具使用(Tool use)——开始、结束、错误
工具验证、执行和选择——错误
LLM 调用——开始、完成和失败
LLM 流式传输——接收到数据块(chunk)
CrewAI 企业版客户可以为这些事件注册带有身份验证令牌的 Webhooks,从而更轻松地与其他平台和服务进行集成。
{
"inputs": { "foo": "bar"},
"taskWebhookUrl": "", // unchanged for compatibility
"stepWebhookUrl": "", // unchanged for compatibility
"crewWebhookUrl": "", // unchanged for compatibility
"webhooks": {
"events": ["crew_kickoff_started", "llm_call_started"], // list of events to subscribe to
"url": "https://webhook.test/foo/bar", // url to send events to
"authentication": {
"strategy": "bearer",
"token": "de82dc64-8e4c-4270-81fb-ac9668a79f5e" // sent in every webhook request over headers
}
}
}智能体 RAG (Agentic RAG)
随着 2020 年 Meta 研究人员引入检索增强生成(RAG),外部知识发挥了至关重要的作用——特别是在企业 AI 应用中。然而,RAG 目前正让位于“智能体 RAG”,即由智能体自主决定访问哪些知识库以及如何访问。
CrewAI 增加了一系列功能,不仅是为了支持智能体 RAG,更是为了给开发者提供更大的灵活性。
查询重写(Query rewriting)允许智能体将原始提示词转换为针对知识库搜索优化的提示词。例如,修改带有用户查询的提示词,以聚焦最相关的关键词,整合相关上下文,并删除不必要的陈述(如指令和输出格式)。
Qdrant 现已加入 CrewAI 智能体可原生搜索的矢量数据库列表,该列表还包括 Amazon Bedrock Knowledge Bases、MySQL、Pinecone(即将推出)、PostgreSQL 和 Weaviate。
嵌入函数(Embedding functions)允许开发者绕过默认的嵌入模型,自定义嵌入的生成方式,通常使用独立的嵌入模型。
# Original task prompt
task_prompt = "Answer the following questions about the user's favorite movies: What movie did John watch last week? Format your answer in JSON."
# Behind the scenes, this might be rewritten as:
rewritten_query = "What movies did John watch last week?"智能体 AI 的时代已经到来
CrewAI 是目前最强大的智能体 AI 平台,但更重要的是,它是一个企业可以信赖并依靠其推动 AI 转型的平台。CrewAI 团队的驱动力源于释放智能体 AI 全部潜力的热情。然而,这需要的不仅仅是构建新的 API,更需要致力于交付组织实现成功所需的功能和能力。
CrewAI 的首个发布周开局顺利,但我们还有更多内容要分享。
欢迎报名参加我们本周四的网络研讨会,共同探索智能体 AI 在当下的无限可能!


