AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


OpenAI 官方宣布正式开源多Agent编排框架 Swarm!
发布日期:2024-10-12 12:50:16 浏览次数: 1890 来源:莫尔索随笔


OpenAI Swarm 是由 OpenAI Solutions 团队开发的一个实验性框架,它专注于构建、编排和部署多 Agent 系统,这个框架旨在为开发者提供一个轻量级、可控且易于测试的工具集,以设计和管理多个相互协作的 LLM-base Agent,共同处理复杂的任务和工作流。

Swarm 是什么

Swarm 可以被视为一个多 Agent 编排框架,每个 Agent(智能体)都具备特定的任务和能力,能够执行特定的操作,Swarm 协助这些智能体相互配合,完成复杂的任务,OpenAI 展示了 6 个示例的场景[1]

例如,在开发一个客服系统时(demo 示例:https://github.com/openai/swarm/tree/main/examples/customer_service_streaming),可以设计多个 AI 智能体,每个智能体负责不同的任务:

  • 智能体 A:负责接待客户并了解他们的问题。
  • 智能体 B:专门处理产品退货相关的请求。
  • 智能体 C:处理技术支持问题。

Swarm 允许这些智能体协同工作,例如,智能体 A 在听到客户想要退货时,可以转交给智能体 B;遇到技术问题时,则转交给智能体 C。这种协作使得 AI 系统更加灵活和智能。

Swarm 通过以下两个核心概念实现多智能体的协调与执行:

  • 智能体(Agent):每个智能体都有自己的指令和工具,并能在必要时将任务交给另一个智能体。智能体可以执行一组预定的函数,并根据具体情况切换任务执行者。
  • 交接(Handoffs):当一个智能体完成任务后,它可以将控制权交给另一个智能体,继续执行后续任务。这种交接机制使得复杂的多步骤流程能够轻松实现和管理。

主要功能

  • 智能体之间的交接:智能体可以根据任务需求,将当前任务交给更合适的智能体处理。
  • 自定义智能体行为:开发者可以为每个智能体定义不同的功能和指令。
  • 无状态设计:Swarm 是无状态的,每次调用都是独立的,不需要保存任务历史。
  • 函数调用和执行:智能体不仅能处理文本对话,还可以调用自定义的函数执行特定任务。

Swarm 使用示例:以下是一个简单的示例,展示了如何在 Swarm 中创建智能体并完成任务:

在这个例子中,agent_a 是一个友好的智能体,负责接收用户请求。当用户想与 agent_b 对话时,agent_a 调用函数 transfer_to_agent_b,将任务交给只会用俳句说话的 agent_b,并输出它的回答。

定义多个 agent,通过 functions 定义移交能力,通过 instructions 自然语言控制移交,Agent 则内聚实现强大能力,同时 Agent 之间状态解耦,是无状态的。

适用场景

Swarm 适用于需要多个步骤或多个任务协同完成的复杂工作场景:

  • 多步骤任务处理:Swarm 能够协助开发者通过分配不同智能体处理各自步骤,确保各阶段顺畅过渡。
  • 多智能体协同:对于复杂任务,Swarm 支持智能体间的高效协作,使它们能在关键时刻协调接管子任务。
  • 工作流管理可扩展性:Swarm 使开发者能够根据实际需求扩展和定制智能体的行为与功能,以便更好地应对大规模 AI 工作流的挑战。

总结

Swarm 目前设计没啥新东西,就是定义了一套基础的 Agent 原语,用于表达 Agent 如何工作以及将不擅长的工作移交,是对 LangGraph 和 Dify Workflow 编排功能的组合,目前还不成熟,但是肯定是为o1的广泛应用作铺垫,可以持续关注看看会不会有新东西,当前多 Agent 框架还是继续用CrewAI[2]



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询