Swarms 多智能体编排框架
用可组合的顺序、并发、图式和分层工作流构建并部署多智能体系统。
- Star 数
- ★ 7.4k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 证据不足
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要把调研、撰写、审校和发布拆成明确依赖步骤的内容或软件团队,可用
SequentialWorkflow或GraphWorkflow传递中间结果。 - 不适合
- 需要开箱即用托管业务应用的团队
- 需要固定成本与延迟保证的生产团队
这个 Agent 能做什么,适合哪些场景?
Swarms 是一个以 Python 库形式交付的多智能体编排框架,核心构件是由大语言模型、工具和记忆组成的 Agent。它提供 SequentialWorkflow、ConcurrentWorkflow、GraphWorkflow、AgentRearrange、MixtureOfAgents、GroupChat、HierarchicalSwarm 和 HeavySwarm 等预构建执行架构,并由 SwarmRouter 提供统一调用入口。任务可以按顺序传递、并行运行、沿有向无环图处理,或由主管智能体分派给专业工作智能体;最终产物取决于工作流,可以是单个综合结果或按智能体组织的多份输出。框架支持多个模型提供商,并通过环境变量配置 OpenAI、Anthropic 和 Groq 等服务的凭据。它还可以让智能体调用 MCP 服务器,或使用 MCPDeployer 将一个智能体、智能体群、工作流或函数发布为带认证的 MCP 工具。该项目更适合需要在代码中精确控制多智能体拓扑、模型和运行方式的 Python 团队,而不是寻求无需开发即可使用的托管成品应用的用户。
开发者先创建一个或多个 Agent,为其指定 model_name、系统提示词、工具、记忆和循环策略,再把这些智能体交给具体的编排组件。SequentialWorkflow 将前一个智能体的输出传给下一个智能体;ConcurrentWorkflow 并行运行多个智能体;GraphWorkflow 用 Node 和 Edge 建立 DAG,并在所有上游节点完成后执行下游节点;AgentRearrange 用类似 researcher -> writer, editor 的字符串描述动态路由。MixtureOfAgents 并行收集专家输出并交给聚合智能体综合,GroupChat 让智能体依据强制的 respond(score, message) 调用自行决定是否发言,HierarchicalSwarm 则由主管规划、分派并评估工作。AutoSwarmBuilder 可根据任务描述生成专业智能体及其工作流,SwarmRouter 则通过 swarm_type 在不同编排策略之间切换。启用 mcp_url 或 mcp_urls 后,智能体会从一个或多个 MCP 服务器发现并调用工具;反向使用 MCPDeployer 时,每个被部署目标会成为一个 MCP 工具,可通过静态 API 密钥、自定义认证函数或带作用域的 TokenVerifier 保护。
- 需要把调研、撰写、审校和发布拆成明确依赖步骤的内容或软件团队,可用
SequentialWorkflow或GraphWorkflow传递中间结果。 - 需要让市场、财务和风险分析角色同时处理同一问题的分析团队,可用
ConcurrentWorkflow并行获得按智能体区分的结果。 - 需要汇集多个专家观点再形成统一答复的研究团队,可用
MixtureOfAgents配置专家智能体和专门的聚合智能体。 - 需要由一个主管规划复杂项目、向专业成员分派任务并进行反馈迭代的团队,可采用
HierarchicalSwarm。 - 需要根据任务快速生成专业角色和编排结构的原型开发者,可使用
AutoSwarmBuilder自动创建智能体配置。 - 需要连接外部工具或向其他 MCP 主机开放现有智能体的集成团队,可分别使用
mcp_url和MCPDeployer。
如何安装或部署这个 Agent?
需要 Python 环境。项目没有注明最低 Python 版本,可选择 pip、uv 或 Poetry 安装。
使用 pip:
pip3 install -U swarms使用推荐的 uv:
uv pip install swarms使用 Poetry:
poetry add swarms也可以从源码安装:
git clone https://github.com/kyegomez/swarms.git
cd swarms
pip install -r requirements.txt按所用模型提供商设置凭据;无需使用的密钥可以不配置。README 展示的环境项如下:
OPENAI_API_KEY=""
WORKSPACE_DIR="agent_workspace"
ANTHROPIC_API_KEY=""
GROQ_API_KEY=""如何使用这个 Agent?
下面的最小示例创建并运行一个智能体。将 OPENAI_API_KEY 配置为有效值后,所示 gpt-5.4 模型需要通过网络访问相应模型服务。
from swarms import Agent
agent = Agent(
model_name="gpt-5.4",
max_loops="auto",
interactive=True,
temperature=None,
)
agent.run("What are the key benefits of using a multi-agent system?")若要建立两阶段流水线,可让研究员的输出直接进入写作者:
from swarms import Agent, SequentialWorkflow
researcher = Agent(
agent_name="Researcher",
system_prompt="Research the provided topic and provide a detailed summary.",
model_name="gpt-5.4",
)
writer = Agent(
agent_name="Writer",
system_prompt="Turn the research summary into an engaging blog post.",
model_name="gpt-5.4",
)
workflow = SequentialWorkflow(agents=[researcher, writer])
result = workflow.run("The history and future of artificial intelligence")
print(result)max_loops="auto" 允许智能体自行判断何时结束,适合步骤数量未知的开放任务;对延迟或成本敏感、边界明确的流水线应改用固定循环次数。
这个 Agent 有哪些优点和局限?
- 内置多种不同执行语义的编排器,包括线性、并发、DAG、专家聚合、群聊和主管—工作者模式,无需只依赖一种拓扑。
SwarmRouter为不同群体策略提供统一接口,AgentRearrange还能用简洁字符串表达一对多及组合路由。- MCP 支持是双向的:智能体既能发现并调用 MCP 工具,也能通过
MCPDeployer作为带认证的 MCP 服务对外提供能力。 - 文档明确展示了多模型提供商配置,并声明可与 LangChain、AutoGen 和 CrewAI 向后兼容,降低已有智能体体系的接入门槛。
GraphWorkflow支持拓扑排序、独立分支自动并行以及节点完成回调,适合存在复杂依赖的工作流。
- 采用者需要维护 Python 代码、提示词、模型凭据以及智能体之间的数据契约;它不是开箱即用的托管业务应用。
- 项目未在所给材料中注明最低 Python 版本、具体支持的提供商清单或各提供商功能一致性,部署前需要自行验证目标环境。
- 示例大量依赖远程模型服务,运行成本、速率限制、上下文窗口和可用性会受到所选提供商影响,而材料没有给出费用或容量保证。
max_loops="auto"会让开放任务的迭代次数不固定;对成本和延迟敏感的生产系统需要自行设置固定上限和停止策略。- 复杂架构会引入更多并发、聚合、失败恢复和观测需求;材料列出可观测性等能力,但没有提供可审计的基准、故障语义或服务级别证据。
这个 Agent 与同类方案有什么区别?
项目声明与 LangChain、AutoGen 和 CrewAI 向后兼容,因此可作为已有智能体框架之上的编排层或迁移目标。其突出差异是同一库中提供多种预构建群体拓扑、统一的 SwarmRouter,以及双向 MCP 集成;但所给材料没有提供与这些框架的性能、API 覆盖率或迁移完整度对比。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Swarms 多智能体编排框架 当前 | 证据不足 | 代码库 / SDK免费 + 模型费 | ★ 7.4k | 今天 | Python | Claude Code · OpenAI API · Claude API |
| AgentScope 2.0 | 70 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 36k | 2 天前 | Python | OpenAI API · Claude API |
| AgenticX 多智能体平台 | 64 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 997 | 今天 | Python | Claude Code · OpenAI API · Claude API |
| npcpy 智能体开发框架 | 43 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.5k | 4 天前 | Python | Codex · Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库包含SECURITY.md,声称使用环境变量、无遥测、加密等安全特性,但这些都是声明,没有代码或配置支持。没有发现最小权限原则、用户确认机制、数据流透明性、敏感数据处理、依赖安全、外部影响控制、回滚机制或来源归属的具体实现。因此所有标准得分为0。
证据显示:README和pyproject.toml提供了版本信息,但未发现自一致性检查、依赖可用性保障或失败消息处理的证据。因此所有标准得分为0。
证据显示:README描述了多种多智能体架构和场景,但未明确目标受众、能力边界、触发精度或环境适配。因此所有标准得分为0。
证据显示:README提供了安装说明和示例,但未发现信息架构、命名稳定性、FAQ、已知限制、版本变更日志或维护责任的明确证据。许可证为Apache-2.0,但未提供版权归属。因此所有标准得分为0。
证据显示:README声称提供生产级框架,但未提供输出可用性、边际价值或成本效益的具体证据。因此所有标准得分为0。
证据显示:README中的声明缺乏可追溯性,没有交叉来源验证,也没有区分事实与推断。因此所有标准得分为0。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库中的安全声明(如SECURITY.md)缺乏代码或配置支持,不应视为实际安全保证。
- README中的示例代码可能无法直接运行,因为依赖外部API密钥和未验证的模型名称(如gpt-5.4)。
- 发布者身份未经验证,不应基于品牌信任其可靠性或安全性。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Swarms Version 2.5.0 Changelog Commits on Dec 1, 2023 Fix: execute_futures_dict Commit ID: 452bf7d Fix: execute_futures_dict Commit ID: 1c280b1 Cleanup Commit ID: 64ecedb AbstractLLM Commit ID: a0a0128 Update base_multimodal_model.py Commit ID: 061db36 Feature: Readme Commit ID: b726f04 Feature: Docs for AbstractLLM, Docs for BaseMultiModalModel Commit ID: a7a6d54 Feature: AutoScaler Prototype, Tests Commit ID: 3ae305e Feature: Agent prompt cleanup Commit ID: 84a8449 Commits on Nov 30, 2023 Cleanup Commit ID: 0555a2b AbstractLLM Commit ID: d8fb6f8 Update stable_diffusion.py …在 GitHub 查看 ↗
常见问题
必须使用 OpenAI 模型吗?
MCP 是运行 Swarms 的强制依赖吗?
Agent 和工作流示例不依赖 MCP。只有在发现外部 MCP 工具或通过 MCPDeployer 发布工具时才需要配置 MCP。如何控制不可预测的运行成本或延迟?
max_loops,而不是 max_loops="auto"。实际费用和速率限制由所选模型提供商决定,材料没有给出价格。把智能体发布成 MCP 服务时可以匿名访问吗?
allow_anonymous=True;可选认证包括静态 API 密钥、自定义认证函数和带作用域的 TokenVerifier。