OpenAI终于open了,开源多智能体框架Swarm~

科技   2024-10-16 13:06   上海  
OpenAI终于open了,最近几天,OpenAI开源了多智能体框架Swarm这是一个实验性质的多智能体编排框架,主打特征是工效(ergonomic)与轻量(lightweight)。

项目地址:https://github.com/openai/swarm
Swarm专注于使Agent协调和执行变得轻量级、高度可控且易于测试,它通过两个原始抽象来实现这一点:智能体(agent)和交接(handoffs)。一个智能体包含了指令和工具,并且可以在任何时候选择将对话交接给另一个智能体。这些原始抽象足够强大,能够表达工具和智能体网络之间的丰富动态,允许你构建可扩展的、现实世界的解决方案,同时避免陡峭的学习曲线。
Swarm的使用也非常简单,我们先来看一个Multi-agent的使用示例:
from swarm import Swarm, Agentclient = Swarm()def transfer_to_agent_b():    return agent_bagent_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"])
Swarm的multi-agent使用示例输出:
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
一个Agent简单地封装了一组指令和一组函数(加上下面的一些额外设置),并且有能力将执行交接给另一个Agent。虽然将Agent拟人化很诱人,但它也可以用来表示由一组指令和函数定义的非常具体的工作流程或步骤(例如,一组步骤、复杂的检索、单个数据转换步骤等)。这允许Agent被组合成一个由“智能体”、“工作流程”和“任务”组成的网络,所有这些都由相同的原始元素表示。

agent = Agent(   instructions="You are a helpful agent.")###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)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只是探索多智能体系统的众多工具之一。微软AutoGencrewAI是另外两个重要的框架:

  • AutoGen专注于复杂的工作流程,并提供更强大的解决方案,具有跨代理的记忆和状态管理。

  • CrewAI旨在简化业务流程,通过模块化代理自动化任务。

这两个框架都比Swarm提供了更成熟的解决方案,但Swarm仍然是开发者尝试多智能体协调的一个绝佳起点。

我的看法

我认为,多智能体系统是AI未来的重要组成部分。AI模型与CPU的类比有助于说明这些系统将扮演的角色。就像让CPU更强大并不能解决所有计算挑战一样,让AI模型更大也无法解决所有问题,专门的Agent将需要处理复杂的工作流程和分布式任务。

Swarm虽然是实验性的,但它为我们展示了这些系统如何实现的重要视角。其灵活性和简洁性使其成为尝试不同Agent协作方法的优秀框架。

技术交流群邀请函

我们建立了一个CV/NLP/搜索推荐/大模型技术交流群!专门分享最新资讯、行业趋势和有趣想法。

如果你想抓住这次AI变革的红利,欢迎扫码进群,群里聚集了很多学术界和工业界大佬,日常还可以唠嗑~

你好,我是对白,硕士毕业于清华,大厂算法工程师,拿过8家大厂算法岗SSP offer

创业做过无人机、机器人和互联网+教育,保研清华后开始系统接触AI。

我每周至少更新一篇原创,分享AI算法、技术干货和职场感悟。方关注可加我私信交流点击蓝字查看我的算法学习之路

期待你关注我的公众号,一起交流与进步。

您的“点赞/在看/分享”是我坚持最大动力

坚持不易,卖萌打滚求鼓励 (ฅ>ω<*ฅ)

分享

收藏

点赞

在看



对白的算法屋
清华大学硕士,大厂算法工程师。写过书,创过业,做过产品,分享技术、快乐、财富与职场。
 最新文章