ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

如何看懂sprix-sage-router嵌套束搜索:团队组建与角色分配联合搜索的完整原理

如何看懂sprix-sage-router嵌套束搜索:团队组建与角色分配联合搜索的完整原理 如何看懂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-routersprix-sage-router 是 Sprix AI 开源的 SAGE 路由算法当 Agent 任务执行到一半时它要决定谁该跟谁一起干活。核心难题在于团队组建选哪些 Agent 加入协作和角色分配每项任务需求交给谁执行互相耦合。SAGE 用两层嵌套束搜索nested beam search联合求解外层 beam 保留多支候选团队内层 beam 为每支队伍搜索多种角色分配方案两者配合让系统能在能力上限与并行效率之间做出折中。一、为什么最强 Agent 干所有活是错的先看一个反直觉的例子 假设任务有三项相互独立的需求你队伍里最强的那个 Agent 都能胜任。贪心策略会把三项需求全部分配给它。但同一个 Agent 上的工作只能串行执行——三项需求依次做完总耗时是三倍。如果其中一项需求交给稍弱的队友并行处理总耗时关键路径可能大幅缩短从而满足截止时间。这就是嵌套束搜索要解决的问题不要用单项最强的眼光做整体最优的决策。二、整体架构两层搜索如何嵌套在 sprix_sage.py 中一次路由决策从入口方法route_with_trace出发约 sprix_sage.py#L380 起流程如下权限优先过滤不满足权限、预算、截止时间的 Agent 直接出局再强的预测分数也翻不了身直接评估 SELF 与 HANDOFF现有 Agent 独自继续或整体移交某位专家外层束搜索组建 COLLABORATE 团队见下文所有可行路线用同一套约束效用函数排序取最优并输出可审计的备选清单外层团队束搜索核心方法_beam_collaboration_decisionssprix_sage.py#L1140实现了经典束搜索步骤做什么代码位置① 初始化从现有 Agentincumbent出发frontier [(self.incumbent_id,)]② 扩展每支队伍尝试加入每一位合格 Agentcandidate team (agent_id,)③ 剪枝团队报价超出总预算的直接丢弃if quoted_cost task.budget: continue④ 评分对每支候选队做完整的角色搜索 调度评估self._evaluate(Mode.COLLABORATE, ...)⑤ 保留只留下效用最高的beam_width支队伍frontier ranked[: self.beam_width]⑥ 迭代重复直到达到max_collaborators上限for _ in range(self.max_collaborators)关键点在第④步外层每评估一支候选队都会触发一次内层的角色分配搜索。这就是嵌套的含义。内层角色分配束搜索核心方法_assignment_candidatessprix_sage.py#L862为固定团队搜索需求→Agent的分配方案输入一支团队 剩余需求列表按拓扑序排列 frontier [{}] # 一个空的前缀 for 每个需求 item in 拓扑序: 对 frontier 中每个前缀 × 团队中每个 Agent: 生成候选分配 candidate[item] agent 用 _partial_assignment_score 给每个候选打分排序 frontier 前 assignment_beam_width 名 # 束宽截断 # 贪心最强 Agent方案永远保留作为兜底注意它按拓扑序遍历需求——依赖项必须先有负责人后续需求的调度估计才准确。三、前缀打分函数内层搜索的灵魂_partial_assignment_scoresprix_sage.py#L797给只分配了一部分需求的前缀打分这是内层束搜索能提前剪枝的关键。它同时计算加权能力已分配需求的技能得分加权平均瓶颈满足度0.50 ×最弱一环的技能/最低要求比值——防止平均分高但某项关键能力不足上下文信任0.25 ×按需求细分的可靠度代码能力强 ≠ 研究能力强部分关键路径延迟模拟调度同 Agent 上的需求串行、不同 Agent 并行通信边数依赖项分给不同 Agent 会新增通信开销不确定性后验不确定度越高分数越保守这个公式的本质提前预估这个分配前缀最终能否在截止时间前并行跑完而不只是能力够不够。四、从分配到调度完整评估管线每个幸存的完整分配方案会走_evaluate_assignmentsprix_sage.py#L1061做终审noisy-OR 覆盖率C_r(S) 1 - Π(1 - q_{a,r})团队对每项需求的综合覆盖DAG 调度_schedule方法估算关键路径延迟依赖跨 Agent 时生成通信拓扑边学习型成功预测在线逻辑回归模型p̂(y1|x,m,S,z,E)基于覆盖率、信任度、协同度等特征预测成功率约束效用排序U V·p̂ - λ_c·成本 - λ_l·延迟 - λ_r·风险 - λ_h·切换损失 - λ_o·协调开销 β·探索奖励团队级可行性复核总成本 ≤ 预算 且 关键路径 ≤ 截止时间双重检查后高分数才有效完整的设计推导含复杂度分析 O(B_t·k·n·B_a·k·|R|²)可查阅 ALGORITHM.md 第 8 节。五、动手跑一遍最小示例仓库零运行时依赖克隆后即可运行git clone https://gitcode.com/gh_mirrors/sp/sprix-sage-router cd sprix-sage-router python demo.pydemo.py 构造了一个规划→编码→安全三需求链三个各有专长的 Agent。运行后你会看到 SAGE 输出选中模式、团队成员、每个需求的分配去向、通信拓扑、效用与成功概率以及一句人类可读的决策解释。想深入审计搜索过程把route换成route_with_trace即可拿到全部可行备选方案与每个被排除 Agent 的具体原因——这正是嵌套搜索保留多条竞争路径的价值决策不仅可解释还可复盘。更多场景A2A 执行计划、失败重规划、学习状态持久化见 examples/。六、边界与诚实声明嵌套束搜索仍是有界近似而非全局最优前缀打分本身是启发式heuristic完整效用函数非子模、含资源约束项目不做全局最优声明贪心最强 Agent方案始终保留为兜底保证搜索不劣于简单基线当前复杂度中多出一个 |R| 因子源于无依赖实现里对前缀的重复重评分即便如此benchmark.py 的外部基准显示Online SAGE 在五个种子共 2,500 个任务上的外部质量0.631与共享效用0.487均领先静态基线且截止时间违约率仅 0.4%——完整方法与局限见 docs/BENCHMARKING.md 与 ALGORITHM.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),仅供参考
返回列表