Swarm(实验性教学框架)

一个轻量级、符合人体工程学的多智能体编排框架,专注于智能体间的协调与灵活交接。

源仓库
openai/swarm
Star 数
★ 22k
最近更新
6 个月前
License
MIT
主语言
Python

30 秒速览

运行形态
代码库 / SDK开发框架
可在哪里用
平台专用OpenAI API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.10+Shell / 命令行网络访问
典型场景
开发者学习如何使用函数调用和 handoffs 构建多智能体编排系统。
不适合
  • 需要生产级、长期维护方案的团队,项目已弃用
  • 必须使用非 OpenAI 模型或本地模型的团队
  • 需要内置会话状态与记忆管理的开发者

这个 Agent 能做什么,适合哪些场景?

Swarm 是 OpenAI 解决方案团队维护的一个实验性教学框架,旨在演示如何构建轻量级且高度可控的多智能体编排系统。该框架基于两个核心抽象:Agent 和 handoffs,Agent 封装了指令和工具,并可在任何时刻将对话转交给另一个 Agent。Swarm 完全由 Chat Completions API 驱动,调用之间无状态。它提供 client.run() 方法执行工具调用、处理智能体交接和上下文变量,并支持流式响应。安装简单,但官方建议生产环境迁移到新的 OpenAI Agents SDK。

Swarm 的核心是 Swarm 客户端和 Agent 类。客户端通过 run() 方法接收初始 Agent 和消息列表,并循环执行:获取当前智能体的补全、执行工具调用、必要时切换智能体、更新上下文变量。Agent 可以定义为包含指令和函数列表,函数可以是普通的 Python 函数,返回 Agent 则触发交接。Swarm 自动将函数转换为 JSON Schema 供 Chat Completions 使用。它还支持通过 Result 对象更新上下文变量、流式响应和 REPL 演示循环。

  1. 开发者学习如何使用函数调用和 handoffs 构建多智能体编排系统。
  2. 需要在单个对话中处理多个独立能力或指令集的场景。
  3. 构建客服机器人,如示例中的航空公司支持、用户界面代理和帮助中心代理。
  4. 需要轻量级且可测试的智能体协调逻辑,而不想引入全托管线程的开发者。
  5. 用于教学或原型设计,演示如何实现智能体间的转移和工具调用。

如何安装或部署这个 Agent?

需要使用 Python 3.10 或更高版本。通过以下命令安装:

pip install git+ssh://[email protected]/openai/swarm.git

或者使用 HTTPS:

pip install git+https://github.com/openai/swarm.git

如何使用这个 Agent?

首先设置 OpenAI API 密钥。然后,导入并创建 Swarm 客户端,定义 Agent 及其指令和函数。使用 client.run() 传入初始 Agent 和消息列表,它返回一个 Response 对象,包含消息、最后执行的 Agent 和上下文变量。示例代码:

from swarm import Swarm, Agent

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"])

这个 Agent 有哪些优点和局限?

优点
  • 轻量级设计,仅依赖 Chat Completions API,无状态,易于集成和测试。
  • 使用简单的 Agent 和 handoff 抽象,可以灵活构建复杂的工作流和智能体网络。
  • 提供流式响应和 REPL 演示,便于快速测试和调试。
  • 由 OpenAI 团队维护,作为教学资源,示例丰富,包括航空公司客服、天气代理和购物助手。
局限
  • 实验性项目,官方已宣布被 Agents SDK 取代,生产环境不建议使用。
  • 完全依赖 OpenAI 的 API,无法用于其他模型提供商,存在厂商锁定。
  • 文档有限,且没有内置的状态管理或托管线程,需要自行处理会话状态。
  • 安装需要 git 和 Python 3.10+,对非开发者有一定门槛。
  • 部分函数 schema 生成可能不完整,例如不支持逐参数描述。

这个 Agent 与同类方案有什么区别?

Swarm 的设计与 OpenAI 的 Assistants API 不同,后者提供全托管的线程和内置记忆管理。Swarm 则完全在客户端运行,无状态,类似于 Chat Completions API。官方建议生产环境迁移到新的 OpenAI Agents SDK 以获得更好的支持。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Swarm(实验性教学框架) 当前 51 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 22k 6 个月前 Python OpenAI API
Langroid 多智能体框架 70 · 存在缺口 代码库 / SDK免费 + 模型费 ★ 4.1k 今天 Python Claude Code · OpenAI API
CaveAgent 62 · 存在缺口 代码库 / SDK免费 + 模型费 ★ 204 1 个月前 Python OpenAI API · Claude API
Agent Craft 智能体教程 49 · 缺口较多 命令行工具免费 + 模型费 ★ 516 3 天前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
51/ 100 五分制 2.6 / 5
信任安全 7/29
可靠稳定 8/14
适用触发 12/18
规范维护 11/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据显示:仓库由OpenAI官方组织发布,MIT许可证,有SECURITY.md提供安全政策链接。代码中Swarm客户端接受可注入的OpenAI客户端,允许模拟,但默认使用真实API密钥,未提供最小权限或用户确认机制。数据流透明度有限,文档说明context_variables和消息传递,但未明确敏感数据处理。依赖安全方面,pyproject.toml仅列出setuptools,未锁定版本,存在供应链风险。外部影响方面,工具函数可执行任意Python代码,但文档未强调风险。回滚机制未提及。来源归属清晰,贡献者列出。扣分原因:缺乏用户确认、敏感数据处理、回滚机制,依赖未锁定。

可靠稳定8 / 14 · 2.9/5

证据显示:代码结构一致,README与代码示例匹配。依赖OpenAI Python SDK,但未指定版本,可能影响可用性。错误处理方面,文档说明函数调用错误会追加错误消息,但未提供详细错误消息格式。扣分原因:依赖版本未固定,错误消息细节不足。

适用触发12 / 18 · 3.3/5

证据显示:README明确目标受众为开发者,提供多个示例场景(basic、triage_agent、weather_agent等)。能力边界清晰,说明Swarm是教育性框架,不适用于生产。触发精度方面,函数调用和handoff机制明确。环境适配方面,要求Python 3.10+,支持流式。扣分原因:无重大缺陷,但未提供详细的环境配置指南。

规范维护11 / 18 · 3.1/5

证据显示:README结构清晰,包含安装、使用、文档、示例等。安装说明提供pip安装命令。命名稳定,Agent和Swarm类命名一致。示例丰富,包含多个场景。已知限制明确,指出Swarm已被Agents SDK取代。许可证为MIT。版本控制方面,无CHANGELOG,但README提及取代。维护责任明确,由OpenAI团队维护。扣分原因:缺少版本变更日志。

有效结果9 / 13 · 3.5/5

证据显示:输出可用性高,返回Response对象包含消息、代理和上下文变量。边际价值高,提供轻量级多代理编排。成本效益方面,免费开源,但需要OpenAI API密钥。扣分原因:无重大缺陷。

证据核验4 / 8 · 2.5/5

证据显示:README中的声明与代码示例一致,可追溯。跨来源验证有限,仅依赖单一仓库。事实与推断分离,文档明确区分实验性和生产就绪。扣分原因:缺乏外部验证。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 该框架为实验性,不适用于生产环境,官方已建议迁移至Agents SDK。
  • 工具函数可执行任意代码,需谨慎设计权限和输入验证。
  • 依赖未锁定版本,存在供应链风险。
  • 未提供用户确认机制,敏感操作需自行实现。
证据充分度:低 评估于 2026年8月9日 审查版本 6af0b4caf37d
查看完整评分方法 →

常见问题

Swarm 是生产级框架吗?
不是。Swarm 是实验性教学资源,已被 OpenAI Agents SDK 取代,官方建议生产环境使用 Agents SDK。
我需要付费或申请权限吗?
Swarm 本身是 MIT 许可的开源项目,但使用它需要 OpenAI API 密钥,并且会产生 API 调用费用。
Swarm 支持流式输出吗?
是的,client.run() 接受 stream=True 参数,并返回与 Chat Completions API 流式事件兼容的迭代器,还添加了 delim 和 response 事件。
如果函数调用出错会发生什么?
错误信息会被追加到对话中,让智能体能够优雅地恢复。
我能否在其他模型提供商上使用 Swarm?
不行,Swarm 完全基于 OpenAI 的 Chat Completions API,目前不支持其他提供商。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents