OpenAI Swarm
一个探索符合人体工程学的轻量级多智能体编排的教育框架。
Swarm 目前是一个实验性示例框架,旨在探索多智能体系统的人体工程学界面。它不打算用于生产,因此没有官方支持。(这也意味着我们不会审查 PR 或问题!
Swarm的主要目标是展示在《编排代理人:交接和例程》食谱中探索的交接和例程模式。它不是一个独立的库,主要用于教育目的。
安装
需要 Python 3.10+
pip install git+ssh://git@github.com/openai/swarm.git
或
pip install git+https://github.com/openai/swarm.git
用法
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"])
Hope glimmers brightly,
New paths converge gracefully,
What can I assist?
Swarm 专注于使代理协调和执行轻量级、高度可控且易于测试。
它通过两个原始抽象来实现这一点:s 和 handoffs。一个包含 和 ,并且可以随时选择将一个对话移交给另一个 。AgentAgentinstructionstoolsAgent
这些原语足够强大,可以表达工具和代理网络之间的丰富动态,使您能够构建可扩展的真实解决方案,同时避免陡峭的学习曲线。
注意
Swarm Agent 与 Assistants API 中的 Assistant 无关。为方便起见,它们的名称相似,但在其他方面完全无关。Swarm 完全由 Chat Completions API 提供支持,因此在调用之间是无状态的。
为什么选择 Swarm
Swarm 探索轻量级、可扩展且高度可定制的模式。类似于 Swarm 的方法最适合处理大量难以编码为单个提示的独立功能和指令的情况。
对于寻求完全托管线程和内置内存管理和检索的开发人员来说,Assistants API 是一个不错的选择。但是,Swarm 是一种教育资源,适用于有兴趣了解多代理编排的开发人员。Swarm (几乎)完全在客户端上运行,并且与 Chat Completions API 非常相似,它不会在调用之间存储状态。
更多推荐


所有评论(0)