Swarm: OpenAI的轻量级多代理编排框架

Swarm

3.5 | 19 | 0
类型:
开源项目
最后更新:
2025/09/30
资源描述:
Swarm是由OpenAI推出的教育框架,旨在促进轻量级多代理编排。现已被Agents SDK取代,专为可扩展的AI工作流和智能体协作而设计。
分享:
智能体编排
多智能体系统
AI工作流
OpenAI Agents SDK
函数调用

Swarm 概述

Swarm:轻量级多代理编排框架

什么是 Swarm?

Swarm 是 OpenAI 开发的一个实验性、教育性框架,用于探索符合人体工程学的轻量级多代理编排。它专注于使代理协调和执行轻量级、高度可控且易于测试。Swarm 通过两个原始抽象实现此目的:代理和移交。

注意: Swarm 已被 OpenAI Agents SDK 取代,后者是 Swarm 的生产就绪型演进版本。建议迁移到 Agents SDK 以用于生产用例。

Swarm 如何工作?

Swarm 的运作方式是使代理能够包含指令和工具。在任何时候,代理都可以选择将对话移交给另一个代理。这些原语功能强大,足以表达工具和代理网络之间的丰富动态,使您能够构建可扩展的实际解决方案。

Swarm 代理由 Chat Completions API 提供支持,并且在调用之间是无状态的。client.run() 函数实现一个循环,该循环执行以下操作:

  1. 从当前代理获取补全。
  2. 执行工具调用并附加结果。
  3. 如有必要,切换代理。
  4. 如有必要,更新上下文变量。
  5. 如果没有新的函数调用,则返回。

为什么选择 Swarm?

Swarm 探索了设计上轻量级、可扩展且高度可定制的模式。它最适合处理大量独立的、难以编码到单个提示中的能力和指令的情况。

主要特性和概念

  • 代理: 包含指令和工具。它们可以表示由指令和函数定义的特定工作流程或步骤。
  • 移交: 代理可以将执行移交给另一个代理。
  • 函数: Swarm 代理可以直接调用 Python 函数。函数通常应返回一个字符串(值将尝试强制转换为字符串)。
  • 上下文变量: 代理可以访问和更新上下文变量,从而使它们能够维护状态和共享信息。
  • 流式传输: Swarm 支持流式传输响应,提供实时更新。

如何使用 Swarm?

  1. 安装

    pip install git+ssh://git@github.com/openai/swarm.git
    

    或者

    pip install git+https://github.com/openai/swarm.git
    
  2. 实例化 Swarm 客户端

    from swarm import Swarm
    
    client = Swarm()
    
  3. 定义代理

    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
    
  4. 运行 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
暂无图片
445 1

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

AI编排
工作流自动化
数据集成
Straico
暂无图片
21 0

Agency Swarm
暂无图片
35 0

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

代理编排
多代理系统
AI 自动化
Toolhouse
暂无图片
258 0

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

AI 代理部署
LLM 基础设施
Syntetica
暂无图片
237 0

Syntetica:使用人工智能生成复杂文档。自动化任务并创建无需编码的自定义AI应用程序。简化文档、图像和数据管理的工作流程。

AI内容
无代码
自动化
CNTXT
暂无图片
301 0

CNTXT:利用数据驱动的策略和简化的工作流程构建您的下一个AI,以实现高效的AI应用程序创建和数据标记。

人工智能
数据标注
机器学习
AI-Flow
暂无图片
286 0

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

AI工作流自动化
无代码AI
ChatBetter
暂无图片
20 0

BuildShip
暂无图片
425 1

BuildShip: AI驱动的可视化构建器,用于工作流、API和自动化。以无代码的简洁性连接AI模型、工具和数据库。

无代码
工作流
自动化
Brainglue
暂无图片
25 0

AI Studio for HubSpot Workflows
暂无图片
256 0

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

HubSpot工作流程
AI自动化
Fellou
暂无图片
23 0

Hypeless.io
暂无图片
260 0

Hypeless.io为设计师提供混合人+AI工作流,强调在品牌和视觉资产的AI生成设计中的控制和独特性。

AI设计
品牌设计
AI工具
The AI Exchange
暂无图片
150 0

加入AI Exchange,这是一个掌握AI运营的社区。访问资源、与专家协作,并通过AI驱动的工作流和剧本改造您的业务。

AI运营
AI工作流程自动化