Agency Swarm logo

Agency Swarm一个开源的AI智能体编排框架,旨在通过协作智能体群组自动化和简化AI开发流程。

4.6 (5)
Daniel Nikulshyn审阅者 Daniel Nikulshyn·更新 2026年7月

概览

Agency Swarm 是一个基于 OpenAI Agents SDK 和 Responses API 的开源框架。它提供了结构化且可用于生产的环境,用于构建多代理应用。主要特性包括可定制的代理角色、能够支持不同的模型后端(例如 OpenAI 的 GPT 系列模型、Anthropic、Google 的 Gemini、Azure 的 OpenRouter,以及自行构建的 LiteLLM 工具),这些后端可通过 @function_tool 装饰器(推荐)或继承 BaseTool 对象来启用。Agency Swarm 架构的一大优势是它在 Python 和 Linux 环境下的稳定性。使用标准的 pip install agency-swarm 命令即可轻松安装。 该描述应阐明 Agency Swarm 是一个基于 OpenAI Agents SDK 和 Responses API 构建的开源工具。 Agency Swarm 是一个开源 AI 工具包,帮助开发者创建用于真实场景 AI 开发的多代理应用。 关键特性: - 自动生成的 CLI 工具:发现您应用的 REST API,轻松访问核心服务,提高生产力。 - 可定制的代理角色:您可以轻松为每个代理角色确定特定功能和权限级别,提升应用的可定制性。 - 全栈实现:Agency Swarm 是仅面向 Python 的全栈实现。如果您使用 Linux,可将其视为不受 Python 标准库限制的全栈实现。 优势: 1. 在 Python / Linux 环境中的稳定性 2. 与您的应用程序轻松集成 3. 可组合且易用的 CLI 工具 4. 自定义代理角色 缺点: 1. 语言模型兼容性限制(个人聊天机器人:GPT-3 等) N/A 2. 开发环境要求 N/A 3. 模型后端支持有限 N/A 4. 基础用户界面 N/A 5. 学习能力 N/A 6. 功能集成 N/A 7. 文档编写过程 N/A 8. 机器学习 AI 能力:N/A 9. 高级对话流管理 N/A 10. 多层应用 N/A 11. 同时执行 N/A 12. 访问应用状态 N/A 13. 自动部署 N/A 14. 高级任务执行 N/A 15. 自定义代理类型 N/A 16. 大型语言模型支持 N/A 17. 支持 Python ↻ N/A 18. 完全控制 N/A 19. 性能测量 N/A 20. 提供本地工作空间 N/A 21. 与 OpenALink 集成:用于 Python 应用的 Web 开发框架 22. 在项目中与 AI 代理协作 23. 可解释性 24. 监控 N/A 25. 完整源代码集成 N/A 26. 可扩展性 N/A 27. 性能低下 N/A 缺点:

主要功能

  • 可定制的代理角色
  • 对提示/指令的完全控制
  • 开发用的类型安全工具
  • 编排的代理通信
  • 灵活的状态持久化
  • 多代理编排

价格

模型
Free
评分
4.6 / 5 (5)

使用场景

自动化AI开发工作流程

使用协作智能体群组简化重复的AI开发任务,加速原型设计并减少手动编码开销。

构建多智能体应用程序

利用开源框架设计和部署多个专门的AI智能体协调解决复杂问题的系统。

智能体间任务委托编排

协调基于角色的智能体相互委托子任务,模拟虚拟机构结构进行端到端项目执行。

实验智能体协作模式

研究人员和开发人员可以在灵活的开源环境中原型和测试不同的智能体通信和协作策略。

优点 & 缺点

优点

  • Python/Linux环境中的稳定性
  • 与您的应用程序轻松集成
  • 可组合且易于使用的CLI工具
  • 可定制的智能体角色

缺点

  • 语言模型兼容性限制(个人聊天机器人:GPT-3等)
  • 开发环境要求
  • 有限的模型后端支持
  • 基本用户界面
  • 学习能力
  • 功能集成
  • 文档编制过程
  • 机器学习AI能力
  • 高级对话流程管理
  • 多层应用程序
  • 同时执行
  • 访问应用程序状态
  • 自动部署
  • 高级任务执行
  • 自定义智能体类型
  • 大型语言模型支持
  • 仅在Python中运行
  • 完全控制
  • 性能测量
  • 提供本地工作区
  • 与OpenALink集成:Python应用程序的Web开发框架
  • 与AI智能体在项目中协作
  • 可解释性
  • 监控
  • 完整源代码集成
  • 可扩展性
  • 低性能

对决战绩

在万神殿中参与了 1 对决。

0
第1
0
第2
0
第3

Last battle

评测

4.6

5 个评分的平均值。

5
3
4
2
3
0
2
0
1
0

登录以留下评测。

Liam O’Connor

Liam O’Connor

May 26, 2026

Solid for our team

We rolled this out across the team last quarter and support is responsive. The dashboard fits neatly into how we already work, and the dashboard removed a step we used to do by hand. but it has held up under daily use.

DW

Devin Walker

Mar 20, 2026

Solid for our team

We rolled this out across the team last quarter and support is responsive. The dashboard fits neatly into how we already work, and the core workflow removed a step we used to do by hand. but it has held up under daily use.

GO

Grace Okafor

Feb 5, 2026

Compared a few options

Evaluated this against two competitors. Where it wins: the integrations and it saves real time. On balance the feature set — especially the dashboard — justifies the 5 stars for our use case.

Pierre Dubois

Pierre Dubois

Nov 6, 2025

Skeptical, then convinced

I went in skeptical — most tools in this space overpromise. It actually delivers on the automation, and it is genuinely easy to set up caught me off guard. The docs could be deeper is why this isn't a perfect score, still, I'd recommend giving it a real trial.

Fatima Zahra

Fatima Zahra

Jun 3, 2025

Years in this space

I've evaluated a lot of these over the years. What stands out here is the API — handled better than most — and it is genuinely easy to set up. A few rough edges remain is my one real gripe. Worth the time if this is your use case.

问答

How do I deploy my agency to production?

Build a dedicated API backend (FastAPI is recommended) that manages authentication and persists thread state using callbacks. See the Deployment to Production guide for detailed steps.

Asked by Celia Ramirez · Nov 23, 2025

How can I serve an Agency as an API using FastAPI?

Embed your agency within a FastAPI endpoint: ```python from fastapi import FastAPI from uuid import uuid4 app = FastAPI() @app.post("/chat") async def chat(user_request: UserRequest): chat_id = user_request.chat_id or str(uuid4()) agency = Agency( agent, load_threads_callback=lambda: load_threads(chat_id), save_threads_callback=lambda thread_dict: save_threads(thread_dict, chat_id) ) response = await agency.get_response(user_request.message) return {"chat_id": chat_id, "response": response.final_output} ``` Or use the built‑in FastAPI integration: ```python agency.run_fastapi(host="0.0.0.0", port=8000) ```

Asked by Camille Laurent · Nov 17, 2025

Why is the CodeInterpreter tool automatically added?

When file types like .json, .docx, or .pptx are uploaded, the CodeInterpreter tool is auto‑added to process them. To change this behavior, update the agent’s instructions or create a custom file‑handling tool.

Asked by Tomáš Novák · Oct 23, 2025

How can I transfer data between tools and agents?

There are two ways to transfer data between tools and agents: use the agency context inside your tools, or create a tool that uploads files to storage and outputs a file ID. The file ID can then be used by other tools or agents.

Asked by Joanna Kowalski · Oct 20, 2025

How do I manage multiple users with Agency Swarm?

To support multiple users or chats, you need to load and save thread IDs in your database for each user. Ensure each chat/user has a unique thread ID and follow the Deployment to Production guide for more details.

Asked by Salome Beridze · Oct 6, 2025

提问

网统粗子打得粗琞机 的替代品