执行中途失败怎么办sprix-sage-router进度感知重规划与失败恢复实战【免费下载链接】sprix-sage-routerSprix AI at 屿智同行 — state-aware SELF/COLLABORATE/HANDOFF routing for A2A agent networks.项目地址: https://gitcode.com/gh_mirrors/sp/sprix-sage-router多智能体任务跑到一半负责执行的 Agent 突然挂了系统该怎么办继续硬撑、拉队友、还是整体换人sprix-sage-routerSprix SAGE Router正是为此而生的 A2A 网络状态感知路由器它在任务执行过程中实时比较 SELF自己继续、COLLABORATE协作增援、HANDOFF整体移交三条路线把失败进度、累计上下文和预算约束一起纳入同一个可审计的效用函数完成进度感知的重规划与失败恢复。为什么执行中途失败是最难处理的时刻很多 Agent 系统只在任务开始时做一次匹配选个能力最强的 Agent 就开工。一旦执行中途失败——Agent 不可用、预算超支、质量不达标——系统往往只能粗暴地从头再选一次。这会带来两个问题⚠️丢失已有进度已经完成的依赖步骤、积累的上下文在重新选型时没有被考虑决策不可解释换不换人、换给谁全靠写死的启发式规则出了问题无从排查。SAGE 的思路是把执行中途的状态变成一等公民。路由器不再只看静态能力表而是读取任务实时状态在三种恢复路线里做统一权衡并保留完整审计轨迹。三种恢复路线继续、增援还是移交SAGE 将失败后的恢复路径归纳为三种模式它们在同一条效用公式中直接竞争而不是靠零散规则硬编码路线归属适合场景SELF自己继续原执行 Agent已有能力和上下文足够失败只是暂时波动COLLABORATE协作增援原 Agent 保留所有权缺的只是一块能力拼图拉几个互补 Agent 补齐HANDOFF整体移交其他 Agent 接手全部所有权专家优势明显且上下文转移损失可接受一个值得注意的细节进度越深上下文越难转移整体移交HANDOFF的成本就越高。SAGE 用进度 × 上下文可转移性来量化这部分损失避免任务做到 80% 却轻率换人的决策。三种模式的完整决策边界分析见 ALGORITHM.md。进度感知重规划用 ExecutionState 告诉路由器现在到哪了重规划的前提是路由器知道现场。SAGE 用一个轻量的执行状态结构承载这些信息定义见 sprix_sage.py字段含义progress任务整体完成度0~1completed_requirements已完成的需求/DAG 节点集合failed_agents本次执行中失败的 Agentfailure_count累计失败次数active_agents/active_mode当前在跑的团队和模式关键行为有两条失败 Agent 被硬过滤凡在failed_agents里的 Agent直接标记failed原因无论它预测质量多高都不会进入候选见 sprix_sage.py。切换损失随失败次数递减失败次数越多路由器对再次换人的摩擦惩罚越轻恢复折扣避免在已经出状况的任务上因害怕切换成本而停在原地见切换损失实现 sprix_sage.py。失败恢复完整流程记录 → 重规划 → 持久化仓库提供了可直接运行的失败恢复示例 examples/replan_and_persist.py完整流程分三步。第一步把失败证据记回学习状态执行结束后用record_outcome把真实结果喂回路由器。失败证据如success0.1会更新该 Agent 的上下文信任度后续选型时它的可信度会被自动调低——这是从失败中学习而非把失败的 Agent 拉黑了事router.record_outcome( initial, ExecutionOutcome( success0.1, requirement_scores{coding: 0.1}, actual_cost0.05, actual_latency_ms750, ), )第二步注入执行状态重规划绕开失败 Agent构造带失败信息的ExecutionState进度 0.4、generalist已失败再次调用route。路由器会把失败 Agent 移出候选围绕剩余需求重新比较三种模式state ExecutionState( active_agentsinitial.agents, active_modeinitial.mode, progress0.4, failed_agentsfrozenset({generalist}), failure_count1, ) replanned router.route(task, statestate)第三步版本化快照让恢复经验跨重启保留学习到的信任、协同和报价保真度不会随进程消失。export_state导出带版本号的 JSON 快照restore_state在新实例上恢复实现见 sprix_sage.pysnapshot_json json.dumps(router.export_state()) restored SAGERouter(agents, incumbent_idgeneralist) restored.restore_state(json.loads(snapshot_json))生产环境建议对快照做原子写入与加密运维细节参考 docs/OPERATIONS.md。可审计明确看到路由器为什么排除谁重规划最怕黑盒换人。用route_with_trace替代route调用除了胜出决策还能拿到完整审计包✅ 胜出的路由 按效用排序的可行备选方案✅ 每个被淘汰 Agent 的硬性过滤原因failed / unavailable / 缺权限 / 超预算 / 超时✅ 最终团队的角色分配与通信拓扑。排查为什么把失败 Agent 换成了它时只需检查excluded_agents里的理由即可无需翻日志猜。快速上手3 步跑通失败恢复演示SAGE 参考实现零运行时依赖Python 3.10克隆仓库即可运行git clone https://gitcode.com/gh_mirrors/sp/sprix-sage-router cd sprix-sage-router python -m examples.replan_and_persist终端会依次打印初始路由、失败后的重规划结果以及恢复后路由器成功模型的学习更新次数。想看更完整的端到端路由含 A2A 执行计划生成可运行 examples/a2a_execution_plan.py其原理说明见 docs/INTEGRATION.md。小结执行中途失败时别再从头选一遍。sprix-sage-router 给出的答案可以浓缩成四句话 用ExecutionState把进度与失败事实如实注入重规划才谈得上进度感知 失败 Agent 走硬过滤不进候选⚖️ SELF / COLLABORATE / HANDOFF 在同一效用函数里竞争且失败越多、换人阻力越小 失败证据与学习状态版本化落盘恢复能力跨重启保留全程可审计。作为研究预览项目SAGE 已具备完整的重规划闭环与状态持久化若你要在真实 A2A 网络上落地建议按 docs/OPERATIONS.md 的分阶段上线流程离线回放 → 影子决策 → 灰度逐步推进。【免费下载链接】sprix-sage-routerSprix AI at 屿智同行 — state-aware SELF/COLLABORATE/HANDOFF routing for A2A agent networks.项目地址: https://gitcode.com/gh_mirrors/sp/sprix-sage-router创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
