Swarm:探索轻量级、高可控性的多智能体编排框架

你是否曾为构建复杂的多智能体系统而感到头疼,担心架构臃肿、学习曲线陡峭?OpenAI推出的Swarm(实验性、教育性项目)正是为了探索这一问题的优雅解法。它是一个基于Python的轻量级框架,旨在让开发者能够轻松地协调和执行多个AI智能体,构建可扩展的解决方案。本文将带你深入了解这个来自OpenAI的智能体编排思想实验。

重要提示:Swarm现已被OpenAI Agents SDK取代,后者是Swarm的生产就绪演进版本,具有关键改进并将由OpenAI团队积极维护。我们建议所有生产用例迁移至Agents SDK。

截至收录:
Swarm项目stars数:20792
Swarm项目forks数:2217

Swarm项目目录截图

Swarm项目核心亮点

  • 🤝 智能体与交接(Handoffs):Swarm的核心是两个基础抽象:智能体(Agents)交接(handoffs)。智能体封装了指令和工具,并可以在任何时候选择将会话“交接”给另一个智能体。这种设计使得智能体间的协作动态丰富而可控。
  • ⚙️ 高度可控与轻量:框架设计极简,几乎完全在客户端运行,且与Chat Completions API一样,在调用之间不存储状态。这赋予了开发者对流程的精细控制,并避免了复杂的状态管理。
  • 🧪 易于测试与评估:Swarm鼓励开发者建立自己的评估套件来测试智能体群(Swarm)的性能。项目本身提供了在航空客服、天气代理等场景下的评估示例,便于进行系统性的效果验证。
  • 🔌 无缝函数调用:智能体可以直接调用Python函数。函数可以返回值、更新上下文变量,甚至通过返回另一个智能体来实现工作流的动态切换,将业务逻辑与智能体编排自然融合。

Swarm项目快速开始

只需几步,你就能体验Swarm的基本工作流程:
1. 安装
bash
# 要求 Python 3.10+
$ pip install git+https://github.com/openai/swarm.git

  1. 创建智能体并运行
    “`python
    from swarm import Swarm, Agent

    client = Swarm()

    定义一个交接函数

    def transfer_to_agent_b():
    return agent_b

    创建智能体A,它能将对话交接给B

    agent_a = Agent(
    name=”Agent A”,
    instructions=”You are a helpful agent.”,
    functions=[transfer_to_agent_b],
    )

    创建智能体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项目应用场景

  • 复杂客服流程:如示例中的航空客服系统,可创建订票、改签、行李查询等多个专属智能体,通过一个总调度(Triage Agent)根据用户意图将对话交接给对应专家。
  • 多步骤任务处理:例如“个人购物助理”场景,一个智能体负责商品推荐,当用户决定购买时,通过函数调用和交接,将任务移交给处理支付和订单的智能体。
  • 模块化工作流构建:将每个业务步骤(如数据检索、转换、分析)封装成独立的智能体,通过清晰的交接逻辑组合成完整的数据处理管道,易于调试和迭代。
  • 教育与研究:作为理解多智能体系统(MAS)编排原理的绝佳教育工具,开发者可以基于此探索智能体协作、通信和决策的新模式。

Swarm项目链接

openai / swarm项目地址:https://github.com/openai/swarm

本文地址:https://www.tgoos.com/41078

声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。