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

Swarm

3.5 | 274 | 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"的最佳替代工具

Klevere
暂无图片
27 0

Klevere 提供 AI 智能体来自动化营销、销售、人力资源和财务团队的工作流程,将任务执行速度提高 100 倍,并快速提高团队绩效。

AI工作流自动化
AI智能体
OneReach
暂无图片
178 0

OneReach.ai 是一个无代码平台 (GSX),使团队能够设计、部署、测试和扩展合规的 AI 代理。通过企业级安全性和隐私来增强员工和客户体验。

AI 代理
无代码平台
AI 编排
Moonhub
暂无图片
126 0

Moonhub利用AI智能体简化人才招聘流程,帮助企业以更低的成本更快地搜寻、筛选和雇佣顶尖人才。功能包括AI驱动的候选人资格评估、个性化外联和全球雇佣解决方案。

AI招聘
人才招聘
AI智能体
Gatsbi
暂无图片
186 0

Gatsbi是一款AI研究助手,可生成研究思路,起草科学论文,并执行系统评价,提供准确的引文和可视化效果,从而简化从构思到发表的研究过程。

AI研究
论文生成
专利撰写
Monetate
暂无图片
218 0

Monetate 是一个 AI 驱动的体验优化平台,帮助品牌设计、测试和交付相关的数字体验。通过 AI 个性化和推荐,提高客户忠诚度。

AI 个性化
A/B 测试
数字优化
ChatDev
暂无图片
227 0

ChatDev是一个基于AI的多智能体协作软件开发框架,允许用户通过自然语言命令使用OpenAI等LLM创建定制软件。它具有可定制的工作流程、多种智能体角色,并支持各种编程任务。

AI开发
多智能体系统
软件自动化
Odin AI
暂无图片
212 0

Odin AI 是一个代理构建平台,用于创建 AI 代理以自动执行任务和工作流程,从客户服务到数据分析。它为各种规模的企业提供预构建的模板、集成和自定义选项。

AI 代理
工作流程自动化
CrewAI
暂无图片
225 0

CrewAI是一个开源多智能体平台,支持使用任何LLM和云平台构建和编排企业级AI自动化工作流。

多智能体自动化
AI工作流
Agent.ai
暂无图片
225 0

Agent.ai 是排名第一的AI智能体专业网络。构建、查找和使用可完成实际工作的AI智能体。 探索 1856+ 个智能体。 免费注册!

AI智能体
AI市场
自动化
Potpie
暂无图片
254 0

构建面向任务的自定义代理,用于您的代码库,利用您的数据中的智能和上下文,以高精度执行工程任务。为系统设计、调试、集成测试、入职等用例构建代理。

代码库代理
调试自动化
测试生成
AiShort
暂无图片
468 0

AiShort是一个高效的AI智能体与提示词平台,旨在革新您的工作与学习方式。发现、构建和管理强大的AI智能体,实现自动化任务。立即提升您的生产力!

AI提示词
AI工具
生产力
SmallVill
暂无图片
253 0

探索SmallVill,一个由25个受历史人物启发的AI智能体组成的虚拟世界。在OpenSea上发现它们的互动和独家NFT。

人工智能
虚拟世界
模拟
Connected-Stories
暂无图片
361 0

Connected-Stories:多智能体AI系统,为营销、创意自动化和个性化内容提供生成式AI。

AI营销
内容个性化
创意自动化
GenWorlds
暂无图片
334 0

GenWorlds是一个基于事件的通信框架,用于构建多智能体系统,也是一个充满活力的AI爱好者社区。

多智能体系统
AI代理