Swarm 概述
Swarm:轻量级多代理编排框架
什么是 Swarm?
Swarm 是 OpenAI 开发的一个实验性、教育性框架,用于探索符合人体工程学的轻量级多代理编排。它专注于使代理协调和执行轻量级、高度可控且易于测试。Swarm 通过两个原始抽象实现此目的:代理和移交。
注意: Swarm 已被 OpenAI Agents SDK 取代,后者是 Swarm 的生产就绪型演进版本。建议迁移到 Agents SDK 以用于生产用例。
Swarm 如何工作?
Swarm 的运作方式是使代理能够包含指令和工具。在任何时候,代理都可以选择将对话移交给另一个代理。这些原语功能强大,足以表达工具和代理网络之间的丰富动态,使您能够构建可扩展的实际解决方案。
Swarm 代理由 Chat Completions API 提供支持,并且在调用之间是无状态的。client.run()
函数实现一个循环,该循环执行以下操作:
- 从当前代理获取补全。
- 执行工具调用并附加结果。
- 如有必要,切换代理。
- 如有必要,更新上下文变量。
- 如果没有新的函数调用,则返回。
为什么选择 Swarm?
Swarm 探索了设计上轻量级、可扩展且高度可定制的模式。它最适合处理大量独立的、难以编码到单个提示中的能力和指令的情况。
主要特性和概念
- 代理: 包含指令和工具。它们可以表示由指令和函数定义的特定工作流程或步骤。
- 移交: 代理可以将执行移交给另一个代理。
- 函数: Swarm 代理可以直接调用 Python 函数。函数通常应返回一个字符串(值将尝试强制转换为字符串)。
- 上下文变量: 代理可以访问和更新上下文变量,从而使它们能够维护状态和共享信息。
- 流式传输: Swarm 支持流式传输响应,提供实时更新。
如何使用 Swarm?
安装:
pip install git+ssh://git@github.com/openai/swarm.git
或者
pip install git+https://github.com/openai/swarm.git
实例化 Swarm 客户端:
from swarm import Swarm client = Swarm()
定义代理:
from swarm import Agent 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.", ) def transfer_to_agent_b(): return agent_b
运行 Swarm:
response = client.run( agent=agent_a, messages=[{"role": "user", "content": "I want to talk to agent B."}], ) print(response.messages[-1]["content"])
Swarm 适合谁?
Swarm 是一种教育资源,适用于好奇地学习多代理编排的开发人员。它适合于处理大量独立的、难以编码到单个提示中的能力和指令的情况。
示例
- basic: 简单示例,展示了设置、函数调用、移交和上下文变量等基础知识。
- triage_agent: 简单示例,展示了如何设置基本的分诊步骤以移交给正确的代理。
- weather_agent: 简单示例,展示了函数调用。
- airline: 一个多代理设置,用于处理航空公司环境中的不同客户服务请求。
- support_bot: 一个客户服务机器人,包括一个用户界面代理和一个带有多个工具的帮助中心代理。
- personal_shopper: 一个个人购物代理,可以帮助进行销售和退款订单。
结论
虽然 Swarm 已被 OpenAI Agents SDK 取代,但它仍然是了解多代理编排的宝贵教育资源。它为构建可扩展和可定制的 AI 工作流程奠定了基础。Agents SDK 是一种生产就绪型解决方案,适用于寻求内置内存管理和检索的开发人员,代表了 Swarm 的重大演进。
"Swarm"的最佳替代工具

Superduper Agents是一个用于管理虚拟AI员工队伍的平台,可自动执行任务、回答有关数据的问题以及将AI功能构建到产品和服务中。


Agency Swarm 是一个开源框架,扩展了 OpenAI Agents SDK,用于构建具有可定制角色和协调通信的可靠多代理 AI 应用程序。

Toolhouse 是一个云基础设施,可为 LLM 提供操作和知识。只需 3 行代码即可构建和部署具有抓取工具、网络搜索等的 AI 代理。



AI-Flow是一个无需代码的平台,可以轻松连接多个AI模型,用于内容创作、图像生成和工作流程自动化。 集成来自OpenAI、StabilityAI等的模型。




使用 AI Studio 转换 HubSpot 自动化! 直接在 HubSpot 中使用 OpenAI、Google、Anthropic 等的 AI 驱动工作流程。 无需代码。


