1.背景
本qiang~关注到OpenAI两周前发布的轻量级多代理框架Swarm,因此想要深入了解了一下,运行了官方提供的例子,整理并总结一些心得体会~
源码非常简单,各位看官们可以小读一下,本文采用gpt-4o-mini进行验证,如果想免费使用gpt-4o-mini,可私信沟通。
Ps: 发布之后,便在X引起了Swarm涉嫌抄袭,但吃瓜的我还是关注技术内部本身。
2. 简介
Swarm项目是一个轻量级multi-agent编排框架,当前主要是为了实验及教学,而非用于生产。
Swarm专注于使agent协调和运行变得轻量级、高度可控且易于测试。
有两个主要抽象模块:Agent和handoffs(切换),Agent封装了instructions和tools,且可以随时选择将对话移交给另一个代理。
3. 适用场景
适用于大量的独立功能和指令难以整合到一个prompt的场景,而是将独立功能和指令通过agent, functions, tools等方式进行链接。
4. Swarm核心模块
4.1 Swarm.run()
类似于openai的chat completions api中的create()函数,接收并返回messages,并在调用之间不保存任何状态。注意,该方法也处理Agent函数执行、切换、上下文变量引用,且可以在返回最终输出前进行多轮对话。
其核心实现了如下循环:</