Swarm 是一个实验性、教育性的框架,用于轻量级多智能体协调和执行。它已被 OpenAI Agents SDK 取代,后者是 Swarm 的生产就绪版本。以下是 Swarm 的基本概念和使用方法。
Swarm 基础概念
- 智能体(Agent):Swarm 中的基本单位,包含一组指令和工具。智能体可以在任何时候将对话转交给另一个智能体。
- 转交(Handoffs):智能体之间的对话转交,可以通过函数返回另一个智能体来实现。
Swarm 安装和使用
安装 Swarm
Swarm 需要 Python 3.10+,可以通过以下命令安装:
bash
pip install git+ssh://[email protected]/openai/swarm.git
或使用 HTTPS 安装:
bash
pip install git+https://github.com/openai/swarm.git
使用 Swarm
以下是一个基本的 Swarm 使用示例:
python
from swarm import Swarm, Agent
# 创建 Swarm 客户端
client = Swarm()
# 定义 Agent A 和 Agent B
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.",
)
# 运行 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 适合处理大量独立能力和指令,尤其是难以编码到单一提示的情形。
- 无状态:Swarm 在调用之间不存储状态,与 Chat Completions API 类似。
- 多智能体协调:Swarm 允许开发者通过 Agent 之间的转交来构建复杂的工作流。
Swarm 的应用示例
- 基本示例:展示设置、函数调用、转交和上下文变量的基本用法。
- 航空公司示例:多智能体设置,用于处理不同客户服务请求。
- 支持机器人:包含用户界面智能体和帮助中心智能体,具有多种工具。
Swarm 的未来
Swarm 已被 OpenAI Agents SDK 取代,后者提供了更好的性能和维护支持。建议所有生产环境使用 OpenAI Agents SDK。