大数跨境
0
0

OpenAI 开源多智能体框架 Swarm:探索轻量高效的多智能体编排

OpenAI 开源多智能体框架 Swarm:探索轻量高效的多智能体编排 瀚鹏AI
2024-10-16
1


近日,OpenAI开源了多智能体框架Swarm,这是一个实验性的项目,旨在简化多智能体的协调和执行工作。Swarm主打特征是工效(ergonomic)与轻量(lightweight)

项目地址为:https://github.com/openai/swarm

Swarm的核心优势在于它的简洁性和易用性。它通过两个基础概念——智能体(agent)和交接(handoffs)——来实现这一目标。智能体携带指令和工具,能够在任何时刻将对话传递给另一个智能体。这些基础概念虽然简单,但足以表达复杂的工具和智能体网络之间的动态关系,使得构建可扩展的、适用于现实世界的解决方案变得可行,同时避免了复杂的学习曲线。

使用Swarm非常简单。以下是一个多智能体使用示例:

   
python
from swarm import Swarm

client
= Swarm()def transfer_to_agent_b():
   
return agent_b

agent_a
= Agent(
   name
="Agent A",
   instructions
="You are a helpful agent.",
   functions
=[transfer_to_agent_b],)agent_b = Agent(
   name
="Agent B",
   instructions
="Only speak in Haikus.",)response = client.run(
   agent
=agent_a,
   messages
=[{"role": "user", "content": "I want to talk to agent B."}],)print(response.messages[-1]["content"])

输出结果将是:

   
Hope glimmers brightly,
New paths converge gracefully,
What can I assist?




client.run()



Swarm 的 run() 函数类似于 Chat Completions API 中的 chat.completions.create() 函数——它接收消息并返回消息,但在调用之间不保存任何状态。然而,重要的是,它还处理Agent函数执行、交接、上下文变量引用,并且在返回给用户之前可以处理多个回合。

在核心层面,Swarm 的 client.run() 实现了以下循环:

  • 从当前agent获取一个完成 

  • 执行工具调用并追加结果 

  • 如有必要,切换agent 

  • 如有必要,更新上下文变量 

  • 如果没有新的函数调用,返回



智能体(Agent)




智能体封装了一组指令和函数,并且有能力将执行传递给另一个智能体。虽然将智能体拟人化很自然,但它也可以代表由一组指令和函数定义的非常具体的工作流程或步骤。这使得智能体可以被组合成一个由“智能体”、“工作流程”和“任务”组成的网络,所有这些都由相同的基础元素表示。

               
python
from swarm import Swarm, Agent

client
= Swarm()# 定义一个函数,该函数根据上下文变量生成指令def instructions(context_variables):
   user_name
= context_variables["user_name"]
   
return f"Help the user, {user_name}, do whatever they want."# 创建一个智能体,使用动态生成的指令agent = Agent(
   instructions
=instructions)# 使用client运行智能体,传入用户消息和上下文变量response = client.run(
   agent
=agent,
   messages
=[{"role": "user", "content": "Hi!"}],
   context_variables
={"user_name": "John"})# 打印出最终回复的内容print(response.messages[-1]["content"])

当这段代码运行时,它将输出:

               
Hi John, how can I assist you today?

这段代码展示了如何使用Swarm框架中的Agent类和client.run方法,通过传递上下文变量来个性化智能体的响应。





多智能体领域的其他参与者



在多智能体领域,还有其他一些参与者,如微软的AutoGen和crewAI。AutoGen专注于复杂的工作流程,并提供了更强大的解决方案,包括跨代理的记忆和状态管理。CrewAI旨在通过模块化代理简化业务流程,自动化任务。虽然这两个框架都提供了比Swarm更成熟的解决方案,但Swarm仍然是开发者探索多智能体协调的一个极好的起点。


总之,多智能体系统是AI未来的关键组成部分。就像CPU的强大并不能解决所有计算挑战一样,AI模型的规模也不能解决所有问题。专门的智能体将需要处理复杂的工作流程和分布式任务。Swarm虽然是实验性的,但它为我们提供了一个重要的视角,展示了这些系统如何实现。其灵活性和简洁性使其成为尝试不同智能体协作方法的优秀框架。


深圳领驭科技有限公司,作为微软中国南区的核心合作伙伴及HK CSP资质持有者,已成为国内首批获得Azure OpenAI服务授权的服务商之一。我司正积极整合Azure OpenAI的强大功能,包括先进的自然语言处理、分析和推理能力,到其产品和行业解决方案中。

Azure OpenAI服务通过其大规模生成式AI模型,支持企业客户根据特定需求和场景,开发创新应用,涵盖辅助写作、代码编写、多媒体内容生成以及数据分析等多个领域,为互联网、游戏、金融、零售、医药等行业以及自动驾驶和智能制造等前沿技术领域带来深远影响。



联系我们


深圳领驭科技有限公司

电话:0755 8654 3872

电邮:marketing@leinwin.com

网址:ai.leinwin.com

地址:深圳市南山区粤海街道高新科技园中区科技中三路5号国人通信大厦A座902


【声明】内容源于网络
0
0
瀚鹏AI
瀚鹏AI产品体验和最新消息发布。
内容 111
粉丝 0
瀚鹏AI 瀚鹏AI产品体验和最新消息发布。
总阅读18
粉丝0
内容111