SprixSageRouter:让多 Agent 网络学会动态路由的开源技能
让 AI Agent 自动判断:该自己干、找帮手、还是转交别人?SprixSageRouter 为 A2A 多智能体网络设计了一个状态感知路由层,在任务执行过程中动态决定三种路线:SELF(当前 Agent 独立完成)、COLLABORATE(当前 Agent 保留主导权、招募协作者)、HANDOFF(完全转交给更专业的其他 Agent)。项目来自 Sprix AI(屿智同行)团队,开源 4 周多已斩获约 4,200 颗 GitHub Star,正处于快速爬升期。
核心能力与设计原则
SprixSageRouter 的核心是 SAGE(State-Aware Graph Exchange)算法,夹在 A2A(Agent2Agent)协议发现层和执行层之间,专门回答一个 A2A 规范没有覆盖的问题:任务执行已经开始后,谁该接着干、怎么干?
SAGE 在每次路由决策中同时评估三条路线,最终选出一条综合得分最高的方案。路线对比不是拍脑袋,而是综合了 DAG 节点完成度、已积累的中间产物质量、新 Agent 的加入是否值得放弃当前上下文等多维证据。
认可度
- GitHub Star:约 4,197(截至 2026-09-24)
- 增长曲线:Dr. Wei Liu 的 LinkedIn AI Agent Trending 周报显示,2026-09-18 时为 3,690 Star,当周新增 +833——说明这是一个近期快速爬升中的新晋项目
- 语言:Python 3.10+,零运行时外部依赖,可直接 pip install 或 git clone 使用
- 定位:不是通用 Agent 框架,而是路由决策层,可插在任何支持 A2A 协议的多 Agent 系统之上
链接
GitHub:https://github.com/wang2122/sprix-sage-router
原作者
wang2122 / Sprix AI(屿智同行)
Sprix AI 是一个专注多智能体协作的研究团队,”屿智同行”是其品牌名。该团队长期关注 A2A 协议生态,此次开源的 sprix-sage-router 是其在 Agent 运行时路由方向的研究输出,算法细节公开在 ALGORITHM.md 中,论文级公式推导可自行查阅。
项目介绍
多 Agent 系统的一个核心难题是:Agent 协作不仅要在规划阶段确定分工,更要在运行时根据实际进度动态调整。传统方案要么静态配置 Agent 能力,要么让单个 Agent 承担全部工作——两者都无法优雅地处理”做到一半发现需要找专家”或”做到一半发现其实自己就能搞定”这类真实场景。
SprixSageRouter 填补了这个空白。它接收一个任务上下文(包括已完成 DAG 节点、部分产出质量、剩余工作量、预算、截止时间),然后在 SELF / COLLABORATE / HANDOFF 三条路线中选优,并将决策结果连同证据一起输出,供后续审计或调优使用。
路由核心公式如下:给定任务需求 r,SAGE 先计算当前 Agent 已完成的比例 f_r 和候选 Agent 的复用比例,再将两部分能力估计合并为”校准能力”,最后联合搜索最优角色分配和调度方案。每条路线都受到权限、预算和截止时间约束,确保决策在真实系统限制内可行。
特点
- A2A 原生:基于 Agent2Agent(a2a-protocol.org)协议设计,可直接插入任何遵循 A2A 规范的多 Agent 系统
- 状态感知:不仅看任务描述,还综合已完成 DAG 节点、部分产出质量、失败历史等实际执行状态做路由决策
- 三条路线可选:SELF(自主完成)、COLLABORATE(招募协作者)、HANDOFF(完全转交),覆盖大多数协作场景
- 零运行时依赖:Python 3.10+,无第三方包依赖,生产环境引入成本低
- 可审计:每次路由决策输出完整的替代方案评分记录,方便回溯和调优
- 支持证据学习:内置 Beta 分布信念 + 在线逻辑回归,路由策略可随实际执行结果迭代优化
使用方法
安装与快速开始
git clone https://github.com/wang2122/sprix-sage-router.git
cd sprix-sage-router
python demo.py
验证套件
python -m unittest -v
python benchmark.py
python benchmark_dynamic.py
python benchmark_trust.py
最小调用示例
from sprix_sage import (
Agent, Task, SAGE, PermissionFilter, BudgetLimit, DeadlineLimit
)
# 定义 Agent 与任务
agents = [Agent(id="C", role="coder"), Agent(id="R", role="reviewer")]
task = Task(id="t1", requirements=["write_fn", "refactor", "test"])
# 配置约束与路由
pf = PermissionFilter(agents, permissions={...})
budget = BudgetLimit(max_cost=100)
deadline = DeadlineLimit(max_duration=3600)
router = SAGE(constraints=[pf, budget, deadline])
result = router.route(task, agents, current_owner="C", completed_ratio=0.4)
print(result.selected_route) # SELF / COLLABORATE / HANDOFF
print(result.audit_trail) # 三条路线评分详情
使用场景与人群
适用场景
- 复杂任务的多 Agent 协作系统:任务中途发现需要引入专家或协作者,SprixSageRouter 自动决策
- A2A 协议生产系统:已在用 A2A 协议但路由逻辑是手写或固定的团队,可直接替换为 SAGE 层
- 企业级 Agent 工作流:需要可审计路由决策记录的场景(如金融、医疗、合规),每一步决策都可回溯
- 多 Agent 研究与评估:研究不同路由策略对任务完成质量、成本、延迟的影响
目标用户
- 多 Agent 系统开发者(LangGraph、AutoGPT、自研 Agent 框架等)
- A2A 协议生态玩家
- 企业级 AI 工作流架构师
输入与输出案例
案例 1:保险理赔处理
输入:理赔任务 T,包含”材料核实 → 定损 → 理算 → 支付”四个 DAG 节点,当前 Agent C 已完成材料核实(f=0.25),剩余节点需要核损专业知识。
SprixSageRouter 评估:
– SELF:当前 C 继续做,但定损非 C 强项,预计质量分数偏低
– COLLABORATE:C 保留主导权,招募核损 Agent D 并行处理,定损质量提升,上下文转移成本低
– HANDOFF:完全转交给核损专家 D,但 C 已完成的材料核实结果转移价值丢失
输出:COLLABORATE,附三条路线评分和完整决策证据,审计日志可查。
案例 2:代码重构任务
输入:代码重构任务 R,当前 Agent C(coder)已完成函数提取(f=0.5),进入重构阶段后发现改动涉及 C 不熟悉的加密库。
SprixSageRouter 评估:
– SELF:C 继续但错误率升高,质量分数下降
– COLLABORATE:C 保留主导,找安全 Agent S 做专项 review,协作开销可接受
– HANDOFF:转交给安全专家 S,但 C 已积累的重构上下文转移成本高
输出:COLLABORATE,C 主导 + S 安全 review,路由决策基于实际部分质量而非假设。
评论区
登录后可评论。