Sprix SAGE Router
为执行中的 A2A 任务选择继续、协作或移交路径。
- Star 数
- ★ 3.6k
- 最近更新
- 1 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 正在构建 A2A 编排器的工程团队,需要在任务中途根据已完成工作和产物复用率决定保留当前负责人还是切换专家。
- 不适合
- 需要生产级 A2A 执行、认证与安全传输的团队
- 期望在真实异构端点上获得已验证性能证据的团队
- 需要开箱即用的发现、流式、取消等完整 A2A 客户端的团队
- 源码审查
- 69/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Sprix SAGE Router 是一个 Python 研究原型,用于在 A2A 多智能体任务已经开始后重新评估执行路径。它读取任务需求 DAG、当前负责人、已完成节点、进行中工作的进度与质量、产物可移植性、失败记录、预算和截止时间,并在 SELF、COLLABORATE 与 HANDOFF 三种模式之间选择。核心实现包含 SAGERouter、DAG 调度与束搜索、按需求建模的信任机制、在线成功模型、审计轨迹以及可导出的学习状态。sprix_a2a.py 可规范化 Agent Card 信号,并生成包含所有权、任务分配、依赖关系、通信边、资源估计和理由的传输中立 ExecutionPlan。项目不负责实际发送任务、认证端点、验证签名、流式传输、轮询、取消或安全产物传递,因此生产系统仍需接入 A2A 客户端和相应安全设施。它目前属于早期研究预览;仓库中的结果来自合成评估,不构成真实端点上的性能证明。
调用方用 Agent 描述候选执行者的能力、成本和延迟,用 Requirement 与 Task 定义带依赖关系、价值、预算、期限和总体进度的任务,再用 ExecutionState 提供当前所有者、活跃分配、已完成需求、进行中需求、局部质量以及产物可移植性。SAGERouter.route_with_trace() 先执行权限与兼容性过滤,再对候选负责人、需求分配及 DAG 调度进行有界搜索,复核团队成本和关键路径延迟,并按统一效用函数比较 SELF、COLLABORATE 和 HANDOFF。返回的 trace 包含最终 Decision、分配、拓扑、被排除的智能体及可审计备选方案。执行结束后,record_outcome() 接收 ExecutionOutcome,利用成功度、各需求评分、实际成本和实际延迟更新按需求的信任、成功模型及报价可信度;export_state() 可导出学习状态快照。A2A 适配层 sprix_a2a.py 会校验声明的技能 ID,并把路由结果转换为传输中立计划,但不会连接或操作远程端点。
- 正在构建 A2A 编排器的工程团队,需要在任务中途根据已完成工作和产物复用率决定保留当前负责人还是切换专家。
- 运行多智能体工作流的研究人员,希望在相同预算、权限和截止时间约束下比较 SELF、COLLABORATE 与 HANDOFF。
- 拥有异构专家池的平台团队,需要按“智能体—具体需求”积累可靠性证据,而不是给每个智能体使用单一声誉分数。
- 开发故障恢复流程的系统设计者,需要把失败、局部完成度和上下文转移损失纳入重新分配决策。
- 评估路由算法的研究团队,需要运行确定性合成基准、进度干预实验、信任收敛研究和候选规模测试。
如何安装或部署这个 Agent?
需要 Python 3.10+ 和 Git。参考实现没有运行时第三方依赖,也未要求 API 密钥或其他凭据。联网克隆仓库后进入项目目录:
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如何使用这个 Agent?
下面的示例建立两个候选智能体和一个带依赖关系的任务,提交执行中状态,读取选定路由,并在执行后反馈结果与导出状态:
from sprix_sage import (
Agent,
ExecutionOutcome,
ExecutionState,
Requirement,
SAGERouter,
Task,
)
agents = [
Agent("planner", {"planning": 0.92, "coding": 0.55}, cost=0.08, latency_ms=900),
Agent("coder", {"planning": 0.35, "coding": 0.96}, cost=0.12, latency_ms=1200),
]
task = Task(
"build-feature",
requirements=(
Requirement("planning", 0.4),
Requirement("coding", 0.6, depends_on=("planning",)),
),
value=1.0,
budget=0.30,
deadline_ms=4000,
progress=0.35,
)
router = SAGERouter(agents, incumbent_id="planner")
state = ExecutionState(
active_agents=("planner",),
active_assignments={"planning": "planner", "coding": "planner"},
completed_requirements=frozenset({"planning"}),
inflight_requirement="coding",
inflight_progress=0.35,
inflight_quality=0.72,
artifact_transferability={"planning": 0.95, "coding": 0.40},
)
trace = router.route_with_trace(task, state=state)
decision = trace.selected
print(decision.mode, decision.assignments, decision.topology)
print(trace.excluded_agents)
router.record_outcome(
decision,
ExecutionOutcome(
success=0.9,
requirement_scores={"planning": 0.95, "coding": 0.86},
actual_cost=0.19,
actual_latency_ms=1450,
),
)
snapshot = router.export_state()若接入 A2A,调用方仍需自行实现 message/send、流式传输、轮询、取消、身份认证、签名验证和安全产物处理。
这个 Agent 有哪些优点和局限?
- 针对执行中检查点建模,可把已完成节点、局部质量、剩余工作和产物可移植性计入重路由,而非只在任务开始前分配。
- SELF、COLLABORATE 和 HANDOFF 使用同一套权限、预算、期限及效用约束,输出还包含备选方案、排除原因和降级标记,便于审计。
- 可靠性按智能体与具体需求分别维护,并可通过
record_outcome()更新成功模型、Beta 信念及报价可信度。 - 同时搜索需求负责人和 DAG 调度;同一智能体的工作串行化,不同智能体上的独立工作可并发,并再次检查总成本和关键路径。
- Python 3.10+ 参考实现没有运行时第三方依赖,并提供确定性测试、多个基准程序和 JSON 报告能力。
- 项目明确是早期研究预览,不是生产 SLA,也不是经过同行评审的结果。
- 现有指标来自项目自带的合成评估器;尚无异构真实 A2A 端点上的重复检查点评估或独立治理的产物裁判。
- 不会发送任务、认证端点、验证签名、处理流式响应、轮询、取消或安全传输产物,落地时需要额外的 A2A 客户端与安全集成。
- 生产采用需要校准评估器、可信身份与签名能力元数据、隐私和安全审查、持久化事件恢复、监控以及任务级验证。
- 学习型文本嵌入、真实端点适配器、分布式路由服务、人类审批门和匿名市场轨迹离线回放仍在路线图中。
这个 Agent 与同类方案有什么区别?
仓库将进度感知 SAGE 与进度屏蔽 SAGE、始终继续、始终移交、静态贪心团队、静态联盟枚举和可见隐藏状态的动态 oracle 进行合成轨迹比较。它还比较按需求信任与单一声誉模型,并在独立任务回归套件中加入当前负责人单独执行、按广告技能选择单体、随机团队、贪心团队、静态 SAGE 及不同学习配置。所报告结果仅用于回归与可证伪性检查,不能证明真实部署优于其他方案。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Sprix SAGE Router 当前 | 69 · 存在缺口 | 命令行工具免费 | ★ 3.6k | 1 个月前 | Python | — |
| OpenCrabs 终端智能体 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1k | 今天 | Rust | ChatGPT · Codex · OpenAI API · Claude API |
| Underthesea - 越南语智能体工具包 | 47 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.8k | 1 个月前 | Python | OpenAI API · Claude API |
| amux 智能体控制平面 | 77 · 表现良好 | 自托管服务免费 + 模型费 | ★ 543 | 今天 | Rust | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:权限以硬过滤形式进入路由(A2A 安全需求→permissions 过滤),SECURITY.md 明确威胁模型并要求生产环境自行加身份、沙箱与最小权限;本体外不做传输、认证、签名。扣分点:人为确认仅出现在路线图未勾选项(human approval gates),无任何实现;回滚仅见学习状态快照 export_state,无决策回滚或恢复机制;代码文件未提供,硬过滤与数据流声明的实际实现只能按 README 断言记分。
证据显示:文档间相互一致(README、pyproject、CI 工作流的模块名、命令、schema 版本均对应),无运行时依赖使可用性风险极低。扣分点:失败信息、异常处理质量无法从所给文件验证(test_*.py 与源码未提供);CI 冒烟基准只覆盖小规模参数。
证据显示:目标场景(检查点感知的中途重路由)、适用条件(SELF/COLLABORATE/HANDOFF 使用时机表)、能力边界(不传输任务、不认证端点、研究预览状态)表述得异常清晰;多版本 Python 矩阵支持 3.10–3.12。扣分点:环境适配依赖使用方自建 A2A 客户端,真实端点评估仍是未完成路线图项;触发精度(何时切换)的实测证据全部来自自建合成基准。
证据显示:信息架构完整(ALGORITHM/RELATED_WORK/INTEGRATION/OPERATIONS/BENCHMARKING 分层文档、仓库地图表)、MIT 许可证全文、pyproject 元数据规范、团队与维护者具名、SECURITY/CONTRIBUTING/CITATION 齐备。扣分点:CHANGELOG.md 被引用但内容未提供,只能按 0.3.0 版本号与路线图推断;examples/README.md 未提供,示例质量无法直接验证;未验证发布者身份使维护承诺的可持续性只能按声明计。
证据显示:输出为含所有权、分配、拓扑、理由的可审计 trace,三个确定性 CLI 生成 JSON 报告;零运行时依赖、纯 Python,成本低。扣分点:边际价值依赖其核心主张(进度感知优于掩码基线),而支撑数据全部由项目自建评估器生成,README 自己声明'不是真实世界优越性证据',故实际效用上限无法由证据确认。
证据显示:事实与推断分离做得突出——合成数据被反复标注为 regression evidence only,研究预览状态、不做的声明(RELATED_WORK 'does not make' 的主张)均明确;基准命令与 schema 可复跑。扣分点:交叉印证完全缺失,所有性能数字来自同批作者编写的评估器,无第三方或真实端点佐证;关键源码与测试文件未在本次评审材料中提供,具体公式到实现的追溯不可完成。
- 本评审为静态源码评审(置信度:低),未执行任何代码;所给材料不含源码与测试文件,许多评分基于 README 声明。
- 全部基准数据由项目自建评估器生成,README 自认不是真实世界优越性证据;在采用该路由器的中途切换决策前,请在真实 A2A 端点上独立复验。
- 原型不认证、不签名、不传输任务;生产使用必须按 SECURITY.md 补齐身份、授权、沙箱与人工审批,当前无任何人工确认机制实现。
- 状态快照与 trace 不得包含密钥、私有提示词或个人数据;学习证据可在线污染信念,缺乏回滚机制。
- 发布者未经策展注册表验证,维护可持续性按声明对待,请自行核实。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.3.0 Sprix SAGE Router v0.3.0
发布说明摘录
Benchmark rigor and scalability - structurally held-out geometric evaluator with independently specified latent skills - random and greedy team baselines - learning, exploration, initialization, and early/late ablations - bounded top-k candidate prefilter and request-local scoring caches - workload-sensitive cost and explicit authorized degraded-route flags - evidence-gated pair synergy updates - related-work comparisons, module split, ruff/mypy CI, and release automation …在 GitHub 查看 ↗
常见问题
运行时需要付费模型、云服务或 API 密钥吗?
它会直接执行或转发 A2A 任务吗?
ExecutionPlan;消息发送、流式传输、轮询、取消和产物传递必须由外部 A2A 客户端完成。权限和不兼容候选如何处理?
路由器如何从历史执行中学习?
record_outcome() 提交成功度、各需求评分、实际成本和延迟。路由器据此更新按需求的信任、在线成功模型和报价可信度,并可用 export_state() 持久化状态。