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"的最佳替代工具
OneReach.ai 是一个无代码平台 (GSX),使团队能够设计、部署、测试和扩展合规的 AI 代理。通过企业级安全性和隐私来增强员工和客户体验。
Moonhub利用AI智能体简化人才招聘流程,帮助企业以更低的成本更快地搜寻、筛选和雇佣顶尖人才。功能包括AI驱动的候选人资格评估、个性化外联和全球雇佣解决方案。
ChatDev是一个基于AI的多智能体协作软件开发框架,允许用户通过自然语言命令使用OpenAI等LLM创建定制软件。它具有可定制的工作流程、多种智能体角色,并支持各种编程任务。
Odin AI 是一个代理构建平台,用于创建 AI 代理以自动执行任务和工作流程,从客户服务到数据分析。它为各种规模的企业提供预构建的模板、集成和自定义选项。
AiShort是一个高效的AI智能体与提示词平台,旨在革新您的工作与学习方式。发现、构建和管理强大的AI智能体,实现自动化任务。立即提升您的生产力!