agent-swarm-kit
tripolskypetr/agent-swarm-kit加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:深夜,你的 AI 客服正在同时接待三位用户——第一位要查询订单,第二位想退货,第三位却在询问完全无关的技术问题。传统的单体 AI 应用只能串行处理,每次切换话题都要"重启记忆"。而 Agent Swarm Kit 告诉你:为什么不让三个"专家"各司其职,像一支交响乐团一样协作呢?
Agent Swarm Kit 由斯洛伐克开发者 Petr Tripolsky(GitHub @tripolskypetr)于 2024 年创建,是一个用 TypeScript 编写的轻量级多智能体(Multi-Agent)编排框架。其核心理念是:用统一的 API 调用任意 LLM 后端,同时让多个专业 Agent 像团队成员一样协作。

项目的诞生背景很清晰:随着 Claude、GPT-4、DeepSeek 等大模型能力不断增强,单一模型已难以满足复杂业务场景的需求。开发者需要在一个对话中灵活切换"客服 Agent"、"售后 Agent"、"销售 Agent",但市面上的框架往往与特定云服务强绑定。Agent Swarm Kit 的定位正是填补这一空白——做一个真正框架无关(framework-agnostic)的多智能体库。
Agent Swarm Kit 采用了一种独特的分形星型架构(Fractal Star Architecture),并在顶层引入了 Supervisor(监督者)角色。这是什么意思?
类比理解:想象一家大型医院的分诊台。分诊护士(Supervisor)接待所有患者,根据病情分配到对应科室(各专业 Agent)。每个科室内部又有一个小组长,管理本科室的护士和实习生——这就是"分形":每一层都是星型结构,而每层之上又有一层 Supervisor 统筹。
这种设计的优势在于:
项目不绑定任何特定 AI 提供商,通过适配器模式(Adapter Pattern)接入 Ollama、OpenAI、NVIDIA NIM、LM Studio、GPT4All 等主流后端。核心 API 只有四个:
| API | 作用 |
|---|---|
addAgent() | 注册一个专业 Agent(名称、提示词、工具列表) |
addSwarm() | 将多个 Agent 组成一个协作网络 |
addTool() | 定义 Agent 可调用的工具(含验证逻辑) |
session() | 启动一个客户端会话,返回 complete() 和 dispose() 两个方法 |
// 一个典型的分诊 → 销售 Agent 路由
const sessionId = "user-123";
const { complete, dispose } = session(sessionId, SALES_SWARM);
const reply = await complete("我想买一部手机");
// 根据消息内容自动路由到对应 Agent
每个 Swarm 维护一个 25 条消息的滚动上下文,仅包含 user 和 assistant 角色。这既保证了 Agent 间协作的"记忆",又防止了长对话导致 Token 爆炸。
Agent 通过 addTool() 定义可调用工具,每个工具有独立的验证(validate)和执行(call)逻辑。特别值得关注的是,项目原生支持 Model Context Protocol (MCP)——这意味着 Agent 可以连接外部 MCP 服务器,调用用 C#、Python 等其他语言编写的工具。
通过 addEmbedding() + addStorage(),Agent 可以接入向量数据库进行语义检索,实现 RAG(检索增强生成)能力。项目内置了基于 Ollama embedding 的余弦相似度计算示例。
通过 Redis 适配器,Storage 可将聊天历史、RAG 数据持久化,支持分布式部署。此外,还支持后台 Agent 会话——类似于 Unix 的 fork(),在隔离上下文中执行复杂计算(如金融分析),不影响主对话流。
项目采用 monorepo 结构,主要子包如下:
| 子包 | 说明 |
|---|---|
packages/concat-demo-docs | 合并多个 Demo 的文档 |
packages/gh-fetch-releases | 获取 GitHub Release 信息 |
packages/typedoc-yandex-metrica | 文档站点流量统计 |
核心源码在顶层 src/ 目录,通过 Rollup 打包为 build/index.cjs(CommonJS)和 build/index.mjs(ESM)两种格式,完整导出了类型定义文件 types.d.ts。
npm install agent-swarm-kit
最小的完整示例只需 20 行 TypeScript 代码即可运行一个具备分诊能力的 Agent Swarm。详细的 API 文档见 官方文档站点。
Agent Swarm Kit 代表了一种趋势:轻量级、框架无关的多智能体库正在崛起。随着更多模型提供商的崛起(如 Grok、NVIDIA NIM),强绑定单一 API 的框架将越来越难以满足需求。Agent Swarm Kit 的框架无关设计使其具备良好的跨生态适应能力,尽管当前社区规模有限,但其架构理念和代码质量值得关注。对于 Node.js 团队构建多智能体客服、自动化工作流或 RAG 系统,这是一款值得评估的工具。

图:分形星型架构的 Supervisor 控制层级