返回列表
工程 5 分钟阅读

SuperScout:为什么 Coding Agent 需要先理解问题

仓库级修复常被建模成“收到 Issue,然后选择一个最合适的模型”。这个顺序忽略了一个事实:模型选择发生时,系统尚未读取目录、追踪调用链、运行复现或判断问题规模。只看 Issue 文本做路由,等于用最贫乏的任务表示决定最…

  • Coding Agent
  • Scout Layer
  • Model Routing
  • Context Engineering

SuperScout 改变了顺序。一个小型搜索器先真正进入仓库,生成结构化 Handoff;沙箱核验其中的复现声明,删除不实部分;路由器再结合任务文本、搜索器隐藏状态与各 Fixer 的历史“简历”选择执行模型。论文最终得到的反直觉结论不是“路由特别准”,而是“先搜索再交接”本身可能比复杂路由更有价值。

系统怎样把仓库探索变成可传递制品

SuperScout-7B 由公开且许可兼容的 Agent 轨迹训练,训练集共 19,911 条。它在有限轮次内浏览目录、定位文件、追踪符号与依赖,随后输出 Handoff。Handoff 包含相关文件、可能根因、复现步骤、观察证据和未解决疑点。它不是最终补丁,而是把“理解问题”从 Fixer 的隐式推理中抽离,形成可检查的中间制品。

系统对复现声明设置 verify-then-strip 门。搜索器若声称已在沙箱重现 Bug,执行器会重新运行;无法证实的自信描述从 Handoff 中剔除,再交给 Fixer。主实验 266 份 Handoff 中有 249 份声称完成复现,但真正可验证的只有 50 份,即 20%;174 份、约 70% 可以明确判假。强制达到轮次上限后生成的 Handoff 更差,真实复现仅 9%,自然提前交接的为 22%。若没有这道门,结构化摘要会把模型幻觉包装成高权威工程事实。

Fixer 路由使用两个特征空间。任务文本头读取原始任务;状态头读取搜索器内部表示。每个 Fixer 还有由 25–50 条公开逐任务结果构建的简历:解决任务与失败任务各自的平均嵌入,加一个基础成功率。新增 Fixer 时只需生成简历,搜索器和路由器主体无需重新训练。这解决了模型市场快速变化时的冷启动,却不保证公开结果能精确预测新分布。

路由策略按价格从低到高检查 Fixer,选择第一个预测成功率超过阈值 0.30 的模型。这是成本约束下的门控,而不是寻找理论最高成功率。论文在三个公开 SWE 基准回放路由器时发现,前沿模型的解题集合高度重叠,成对相似度达到 0.912、0.773 等水平,学习型路由没有超过始终选择最强模型。当前基准里,准确率路由的可利用互补空间很小;成本路由反而有更明确目标。

主结果中真正起作用的是 Handoff

主实验覆盖 SWE-bench Pro 的 266 个 Python 任务,并采用官方受限预算档。SuperScout 解决 159 个任务,成功率 59.77%,平均每任务 0.137 美元,每个成功任务 0.230 美元。最强单模型 Claude Opus 4.6 解决 158 个,成功率 59.40%,平均每任务 0.757 美元,每个成功任务 1.274 美元。159 对 158 在这个样本量下应解读为持平,而不是 SuperScout 更准确;成本约为五分之一才是主要结果。

决定归因的是 no-router 消融:把所有任务都交给最便宜的 Kimi K2.5,但仍附带 Handoff,同样解决 159 个,成本为每成功任务 0.227 美元。路由器把 263 个任务都送给 Kimi,只将 3 个转给 Gemini 3 Flash,没有额外增加解题数。换言之,在这组模型与任务上,路由几乎退化为成本分配,Handoff 才承载主收益。

搜索器本身的文件定位平均 Recall 为 0.566、Precision 为 0.821,面对平均 3.44 个参考文件,只给出中位数 2 个文件;24.8% 的任务覆盖全部参考文件。自然 Handoff 的 Recall/Precision 为 0.586/0.833,强制 Handoff 为 0.499/0.780。这是有用但并非领先级别的定位器。系统收益说明“中等召回、较高精度的压缩上下文”可能已足够帮助 Fixer,不代表搜索器找全了问题。

协议细节也影响表面成绩。达到 50 次工具调用上限时自动提交当前改动,挽救了 Claude Opus 的 24 个成功和 GPT-5.2 的 33 个成功;若忽略这一机制,两者成功率会低约 9–13 个百分点。GPT-5.2 有 36.5% 的任务触及调用上限,Claude 为 17.3%,Kimi 为 48%。这再次说明,Coding Agent 排名测量的是模型、Harness 和预算协议共同作用。

校准实验限制了可以下的结论

研究者另取 100 个来自 2026 年仓库的 Python Bug,让四个 Fixer 各做两遍:一次直接修,一次带 Handoff;99 个任务形成有效配对。三个较便宜 Fixer 的方向性变化为 Claude +5.1、Kimi +4.0、Gemini +2.0 个百分点,最强的 GPT-5.2 反而下降 4.0。四者合并仅增加 1.8 个百分点,95% 置信区间为 [-1.0, +4.5],p=0.401;各单模型差异也都未达统计显著。

更准确的表述是:Handoff 可能重新分配能力,使较便宜模型接近强模型,而不是稳定增加所有模型能力。它对强模型可能成为锚定信息,尤其当交接内容不完整时。生产系统应按 Fixer 分别校准,不应假定“更多上下文总有帮助”。

路由输入消融也很有启发。固定相同解题率后,只用任务文本可节省 30.5% 成本;加入搜索器隐藏状态提高到 34.3%;若把 Handoff 文本直接交给路由器,节省反而降到 8.0% 或 9.4%。Handoff 文本适合帮助 Fixer,却可能误导成本预测;搜索器状态有一定信号,但其分布很窄,并且全部落在门槛之上,部分收益可能只是把预测向均值收缩、让更多任务通过廉价模型门。论文没有做匹配的收缩对照,不能把差异全归因于隐藏状态携带了更好的语义。

局限也很具体:主结果只覆盖一个基准的 Python 切片,266 个任务实际来自 3 个仓库;一任务优势不具统计意义;搜索器训练做了仓库黑名单控制,但商业 Fixer 的训练数据不可见;verify-then-strip 没有设置“保留未经验证声明”的直接对照,因此它对最终解题率的贡献来自错误声明统计,而非完整消融;价格会变化,成本结论是特定时间的快照。

可以迁移到生产的不是路由器,而是交接契约

一个可用的 Scout 层应输出结构化、可验证的 Handoff:仓库与环境版本、复现命令、实际输出、相关文件和符号、调用链、根因假设、支持与反对证据、已排除路径、剩余不确定性。事实、推断和建议要分栏,复现声明必须附执行记录;核验失败时删除或降级标签,不能把搜索器的自信转交给 Fixer。

路由决策应使用搜索后可测特征,如仓库规模、触及模块数、复现是否成立、测试时长、上下文体积、工具失败率与历史同类成功率。成本模型要包含 Scout、沙箱和 Fixer 的总成本,并设置置信下限与升级条件。若廉价 Fixer 在限定轮数内没有形成可验证进展,再升级到强模型,比一开始预测“谁最强”更稳健。

更深的系统启示是把理解与修改解耦。Scout 可以并行服务多种 Fixer,Handoff 可以被审计和缓存,错误复现可以在产生副作用前被拦截,路由也获得比 Issue 文本更真实的任务表示。SuperScout 的实验并未证明复杂路由普遍有效,却用一个强消融证明了更朴素的原则:先为问题建立证据,再决定把昂贵能力花在哪里。

参考资料

交互式图表

放大查看

使用 + / − 缩放,按 0 适应窗口;放大后可拖动或滚动查看,Esc 关闭。