CrewAI 发布周:从编排到企业级智能体平台
市面上知名的智能体框架和平台不少。说真的,它们都能用一个简单的概念验证来展示智能体的价值。它们都支持智能体规划、编排(Orchestration)、记忆管理和工具调用(Tool Use)——这些都是智能体工作流的基础构件。没错,它们也都是有自己一套设计理念的框架。
但实现这些构件的方式差异,其实不是最重要的。
支持一个概念验证是一回事。支持成百上千个在生产环境中运行的智能体工作流,那完全是另一回事。这才是关键——从通过智能体协作执行简单任务,发展到通过处理复杂关键任务的自主智能体,有效支持每个角色和部门。用 CrewAI 的话说,就是成为智能体原生(Agent-Native)。
MCP(模型上下文协议)
MCP 已成功标准化了智能体调用工具和访问数据源的方式,现在有数千个服务器可用,覆盖从云服务、开发工具到文件系统和安全平台的一切。支持 MCP 后,构建能决定何时访问何种工具的智能体工作流变得前所未有的简单。
现在可以构建这样的智能体:
- 在 Neon 数据库中查找数据
- 从 Qdrant 或 Weaviate 检索知识
- 发送 Slack 消息并回复话题
- 更新 Linear 中的问题
- 创建 Docker 容器
- 以及更多!
serverparams = {"url": "http://localhost: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 Enterprise 现在包含了双向 MCP 支持。这意味着智能体群组(Crew)和工作流(Flow)可以被远程 MCP 客户端访问,无论是桌面应用、Web 应用和服务器,甚至是远程智能体。这让客户能够将 CrewAI Enterprise 与现有基础设施和系统完全集成,实现真正的智能体原生。
工具仓库
随着企业希望扩大智能体使用并实现智能体原生,一个集中部署和管理自定义工具的手段变得必要。这些工具需要能被不同工作流中的不同智能体访问,以实现规模化。
CrewAI Enterprise 现在为客户支持私有工具仓库。为了符合高标准的安全要求,工具的访问通过基于角色的访问控制来管理。公共工具对组织内构建智能体的任何人都可用,而私有工具则需要明确的权限——将工具发布到仓库的权限也是如此。

安全护栏(Guardrails)
AI 助手和副驾驶不应该在没有安全护栏的情况下部署到生产环境,智能体也一样。在实验智能体和构建简单原型时,安全护栏常被忽视,但它们对于确保通过智能体自动化关键业务流程的可靠性是必要的——无论是结果的正确性还是行为本身。
CrewAI 允许开发者通过函数或 LLM-as-a-Judge 提示来添加安全护栏。例如,可以写一个函数来检查输出长度(比如是否太长),或者查看输出是否包含特定关键词或短语(比如提及竞争对手)。对于更主观的检查,你可以指定一个提示,并可选择使用的 LLM(例如 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 Enterprise 还为客户提供了一个开箱即用的高级安全护栏,用于检测模型幻觉(Hallucination)。
事件与 Webhook
任何基础设施平台都需要一个强大的事件系统,它为开发者提供了急需的支持,用以扩展平台功能,从自定义调试和监控到与其他平台和服务的深度集成。此外,事件和 Webhook 还可用于添加评估能力,或与外部评估平台集成。
CrewAI 现在包含一个事件总线,允许开发者创建监听器,在以下任何事件被触发时运行:
- 智能体群组启动(Crew kickoff)—— 开始、完成、失败
- 智能体群组训练(Crew train)—— 开始、完成、失败
- 智能体群组测试(Crew test)—— 开始、完成、失败
- 智能体(Agent)—— 开始、完成、错误
- 任务(Task)—— 开始、完成、失败、评估
- 工具调用(Tool use)—— 开始、完成、错误
- 工具验证、执行和选择 —— 错误
- LLM 调用(LLM call)—— 开始、完成、失败
- LLM 流式输出(Streaming)—— 收到数据块
CrewAI Enterprise 客户可以为这些事件中的任何一个注册带有身份验证令牌的 Webhook,从而更轻松地与其他平台和服务集成。
{
"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
自 2020 年 Meta 的研究人员引入检索增强生成(RAG)以来,外部知识在 AI 应用中,尤其是企业级应用中,扮演了关键角色。然而,RAG 现在正让位于智能体化 RAG,由智能体决定访问哪个知识库以及如何访问。
CrewAI 添加了一系列功能,不仅是为了支持智能体化 RAG,更是为开发者提供更大的灵活性。
- 查询重写(Query rewriting) 允许智能体将原始提示转换为针对知识库搜索优化的查询。例如,修改一个带有用户查询的提示,聚焦于最相关的关键词,融入相关上下文,并移除不必要的陈述,如指令和输出格式要求。
- Qdrant 加入了可被 CrewAI 智能体原生搜索的向量数据库(Vector Database)列表,该列表还包括 Amazon Bedrock Knowledge Bases、MySQL、Pinecone(即将推出)、PostgreSQL 和 Weaviate。
- 向量嵌入函数(Embedding functions) 允许开发者绕过默认的向量嵌入模型,自定义向量嵌入(Embedding)的生成方式,通常使用单独的向量嵌入模型。
# 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 的可能性!
觉得有用?分享给更多人