Agency Swarm 多智能体编排框架
基于 OpenAI Agents SDK 的可信赖多智能体编排框架,用于构建和管理协作式 AI 智能体团队。
- Star 数
- ★ 4.6k
- 最近更新
- 4 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 45/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用预定义角色(如 CEO 和开发人员)构建一个多智能体系统,用于处理软件开发任务。
- 不适合
- 仍在使用 Python 3.11 及以下版本的项目
- 希望避免依赖 OpenAI 生态的团队
这个 Agent 能做什么,适合哪些场景?
Agency Swarm 是一个开源框架,用于构建多智能体应用,它扩展了 OpenAI Agents SDK,提供了专门的功能来创建、编排和管理协作式 AI 智能体群体。该框架由 VRSEN 开发,灵感来源于现实世界的组织结构,使用户能够以类似真实公司的角色(如 CEO 和开发人员)来定义智能体。它提供了诸如可自定义的智能体角色、对提示和指令的完全控制、基于 Pydantic 的类型安全工具、通过通信流实现的智能体间消息传递、会话历史持久化回调,以及面向生产环境的可靠性设计等功能。该框架支持通过 pip 安装,需要 Python 3.12+ 和 OpenAI API 密钥,并提供了 Web UI、终端和编程调用等多种交互接口。
Agency Swarm 提供了一个框架,用于定义具有特定角色(如 CEO、开发人员)的智能体,并通过方向性通信流编排它们之间的交互。它提供 @function_tool 装饰器和 BaseTool 类来创建类型安全的工具,并支持从 OpenAPI 模式通过 ToolFactory 转换工具。智能体通过 send_message 工具进行通信,并由 Agency 对象管理通信流。该框架包括用于持久化对话历史的回调,并提供 copilot_demo() 和 tui() 方法用于交互式演示,以及异步 get_response() 方法用于编程调用。它构建在 OpenAI Agents SDK 之上,使用 Responses API,并支持通过 LiteLLM 使用其他模型提供商。
- 使用预定义角色(如 CEO 和开发人员)构建一个多智能体系统,用于处理软件开发任务。
- 创建一个虚拟助理智能体,负责客户沟通,并将任务委派给其他专业智能体。
- 使用公共 API 的 OpenAPI 规范自动生成工具,实现与外部服务的无缝集成。
- 通过保存和加载线程回调,在会话之间持久化对话状态,实现长期交互。
- 使用 Web UI(
copilot_demo)或终端界面(tui)演示和测试多智能体工作流。
如何安装或部署这个 Agent?
使用 pip install -U agency-swarm 安装。需要 Python 3.12+ 和 OpenAI API 密钥(通过环境变量 OPENAI_API_KEY 或 .env 文件设置)。
如何使用这个 Agent?
- 在
.env文件中设置OPENAI_API_KEY。2. 使用@function_tool装饰器或BaseTool子类定义工具。3. 创建Agent实例,指定名称、描述、指令、工具和模型。4. 创建Agency,设置 CEO 作为入口点,并定义通信流(例如ceo > dev)。5. 通过agency.copilot_demo()、agency.tui()或异步await agency.get_response("...")运行。
这个 Agent 有哪些优点和局限?
- 实现了与 OpenAI Agents SDK 和 Responses API 的紧密集成。
- 通过 Pydantic 字段描述提供类型安全的工具,提升可靠性。
- 通过通信流提供明确的方向性智能体通信控制。
- 支持通过回调实现会话持久化,增强灵活性和可扩展性。
- 当前文档化的模型后端主要是 OpenAI,其他提供商需要额外配置。
- 需要 Python 3.12+,这可能会限制旧环境的使用。
- 主要依赖 OpenAI,为其他提供商提供适配需要额外付出努力。
- 引入了一个额外的框架层,增加了相对于使用原生 OpenAI SDK 的复杂度。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Agency Swarm 多智能体编排框架 当前 | 45 · 缺口较多 | 开发框架免费 + 模型费 | ★ 4.6k | 4 天前 | Python | OpenAI API |
| AgenticX 多智能体平台 | 64 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 506 | 1 天前 | Python | Claude Code · OpenAI API · Claude API |
| DevAll 多智能体编排平台 | 41 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 35k | 2 天前 | Python | — |
| aiXplain SDK | 29 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 59 | 9 天前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示框架允许用户定义工具和通信流,但未提供权限最小化机制或用户确认步骤。数据流透明度有限,仅通过文档描述通信流。敏感数据处理未明确说明。依赖项有版本范围,但未提供安全审计。外部效果(如文件上传、API调用)未明确限制。未提供回滚机制。来源归属通过许可证和作者信息部分明确。扣分:缺少权限控制、用户确认、回滚机制。
框架内部一致性较好,文档与代码示例一致。依赖项有版本范围,但未验证可用性。错误消息未在文档中详细说明。扣分:错误处理文档不足。
面向开发者,提供多种使用场景(Web UI、终端、编程接口)。能力边界通过通信流定义,但触发精度未明确。环境兼容性(Python 3.12+,多OS)已说明。扣分:触发精度和边界说明不足。
信息架构清晰,有安装指南、示例和文档链接。命名稳定,版本号明确。已知限制未明确列出。许可证为MIT,版本控制有changelog但未提供。维护责任通过作者和贡献指南部分明确。扣分:缺少已知限制和changelog。
输出可用性高,提供多种运行方式。边际价值在于多智能体编排,但成本效益未量化。扣分:成本效益未说明。
文档中的声明(如覆盖率92%)未在提供的文件中验证。跨来源佐证有限。事实与推断未明确分离。扣分:声明缺乏证据支持。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 未提供权限最小化或用户确认机制,使用时应谨慎处理敏感操作。
- 依赖项未进行安全审计,建议定期检查漏洞。
- 文档中的覆盖率等声明未在提供的文件中验证,需独立核实。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
This release adds realtime voice calls, per-user OAuth for MCP servers, and first-class system reminders. It also changes the default model, corrects usage-cost accounting, and fixes a token-isolation bug found by driving the OAuth flow end to end. Voice agents Run an existing agency as a realtime voice service. Use run_realtime(agency=...) for a dedicated server, add /{agency}/realtime to an existing app with run_fastapi(enable_realtime=True), or call Agency.to_realtime() to build your own. Ships with OpenAI and xAI support, a packaged browser client, and a Twilio phone bridge ( …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * fix: keep runtime handoffs available across mid-run agent switches by @nicko-ai in https://github.com/VRSEN/agency-swarm/pull/727 Full Changelog: https://github.com/VRSEN/agency-swarm/compare/v1.10.4...v1.10.5在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * fix(deps): constrain LiteLLM below 1.92 by @nicko-ai in https://github.com/VRSEN/agency-swarm/pull/726 Full Changelog: https://github.com/VRSEN/agency-swarm/compare/v1.10.3...v1.10.4在 GitHub 查看 ↗
常见问题
Agency Swarm 与直接使用 OpenAI Agents SDK 有何不同?
该框架是否能与 OpenAI 之外的模型一起使用?
会话历史可以持久化吗?
Agency 的 load_threads_callback 和 save_threads_callback 可以实现会话状态的持久化。