CrewAI 如何超越编排,打造最强大的 Agentic AI 平台

CrewAI 发布周01(2025年5月)的第2天

有少数知名的代理框架和平台,你知道吗?它们都可以通过简单的概念验证来展示代理的价值。它们都支持代理规划、编排、内存管理和工具使用——这些都是代理工作流的基本组成部分。是的,它们都是有主见的框架。然而,它们实现这些基本组成部分的方式差异并非最重要。

支持概念验证是一回事。支持数百个,更不用说数千个在生产环境中运行的代理工作流又是另一回事。这才是最重要的,即从通过代理协作执行简单任务,成长到通过处理复杂关键任务的自主代理有效支持每个角色和部门的能力——或者用CrewAI的语言来说,成为代理原生。

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(...)

MCP文档

这并非全部。

CrewAI Enterprise现在包含双向MCP支持,这意味着远程MC客户端(无论是桌面应用程序、Web应用程序和服务器,甚至是远程代理)都可以访问“团队”和“流程”——允许客户将CrewAI Enterprise与现有基础设施和系统完全集成,并完全成为代理原生。

工具库

随着企业寻求扩展其代理使用并成为代理原生,一个集中部署和管理可供不同工作流中不同代理访问的自定义工具的手段将是实现规模化所必需的。

CrewAI Enterprise现在支持客户的私有工具库,并秉持高安全标准,通过基于角色的访问控制来管理工具访问。公共工具可供组织中构建代理的任何人使用,而私有工具则需要明确许可——发布工具到存储库的能力也是如此。

安全护栏

AI助手和副驾驶在没有安全护栏的情况下不应部署到生产环境,代理也一样。在尝试使用代理和构建简单原型时,它们常常被忽视,但它们对于确保通过代理实现关键业务流程的自动化可靠性至关重要——无论是正确性还是行为方面。

CrewAI允许开发者通过函数或LLM作为评判的提示来添加安全护栏。例如,一个函数可以检查输出长度(例如,太长)或查看输出是否包含特定关键词或短语(例如,提及竞争对手)。对于更主观的检查,您可以指定一个提示,并且可以选择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还为客户提供了开箱即用的高级幻觉检测安全护栏。

事件和Webhook

任何基础设施平台都需要一个强大的事件系统,它为开发者提供了急需的支持,以扩展其功能,包括自定义调试和监控,以及与Oother平台和服务的高级集成。此外,事件和Webhook可用于添加评估功能或与外部评估平台集成。

CrewAI现在包含一个事件总线,允许开发者创建监听器,当以下任何事件发出时运行:

  • 团队启动——已开始、已完成和已失败
  • 团队训练——已开始、已完成和已失败
  • 团队测试——已开始、已完成和已失败
  • 代理——已开始、已完成、错误
  • 任务——已开始、已完成、已失败、评估
  • 工具使用——已开始、已完成、错误 
  • 工具验证、执行和选择——错误
  • LLM调用——已开始、已完成和已失败
  • LLM流式传输——已接收块

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

随着Meta研究人员在2020年引入检索增强生成(RAG),外部知识发挥了关键作用——尤其是在企业AI应用中。然而,RAG现在正在让位于代理RAG,由代理决定访问哪个知识库以及如何访问。

CrewAI增加了一系列功能,不仅支持代理RAG,还为开发者提供了更大的灵活性。

  • 查询重写允许代理将原始提示转换为一个优化用于搜索知识库的提示。例如,通过使用查询修改提示,使其专注于最相关的关键词,整合相关上下文并删除不必要的语句,例如指令和输出格式。
  • Qdrant加入了CrewAI代理可原生搜索的日益增长的向量数据库列表,其中包括Amazon Bedrock Knowledge Bases、MySQL、Pinecone(即将推出)、PostgreSQL和Weaviate。
  • 嵌入函数允许开发者绕过默认的嵌入模型,以自定义嵌入的生成方式,通常使用单独的嵌入模型。
# 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?"

Qdrant文档

代理AI的时代已经到来

CrewAI是目前最强大的代理AI平台,更重要的是,它是一个企业可以信赖并依靠其推动AI转型的平台。CrewAI团队怀着满腔热情,致力于释放代理AI的全部潜力。然而,这需要的不仅仅是构建新的API。它需要致力于提供组织成功所需的特性和功能。

CrewAI的首次发布周已经有了一个很好的开端,但我们还有更多要分享。

请报名参加我们本周四的网络研讨会,探索今天代理AI的可能性!