分数属于系统
同一模型换一个 harness、环境或执行边界,结果就可能明显改变;“模型能力”不能再脱离运行协议单独报告。
更新至 2026 年 7 月 17 日 · 5 篇原始资料
本周最值得追踪的不是又一个单点分数,而是一条更完整的系统链:怎样组织 Agent、怎样持续修改它、怎样测量修改、怎样检查推理依赖,最后怎样让长会话的计算状态真正留得住。
四条主线
同一模型换一个 harness、环境或执行边界,结果就可能明显改变;“模型能力”不能再脱离运行协议单独报告。
一次性得分提升可能来自任务特化。只有把旧能力回归检查放进搜索环,才有机会让改进在新任务到来后继续累积。
复杂 harness 的行为横跨文件、状态和执行阶段。修改前的真正瓶颈不是生成补丁,而是把行为要求可靠映射到实现位置。
长会话 Agent 的成本越来越受 KVCache 生命周期支配;模型结构、路由、缓存和多模态流水线必须协同设计。
推荐路径
先看统一评测如何暴露 harness 敏感性,再看持续优化和行为定位,随后用因果干预审计推理链,最后进入支撑长会话的推理系统。
逐篇技术解读
每篇都按“问题—机制—实验—证据边界—局限—下一步实验—复用清单”展开。数字只来自论文或技术报告;作者自报的生产结果明确标注,不当作独立验证。
上海人工智能实验室 · 2026.07.15,07.16 修订 · 论文 / 开源系统
把 Benchmark、Harness 与 Environment 拆开,重新定义可复现的 Agent 评测
真正贡献不是再做一张模型排行榜,而是用可组合协议把任务、Agent 执行逻辑和运行环境解耦,使“换 harness 会不会换结论”成为可直接测量的变量。
Agent 评测长期把运行基础设施当成无关实现细节:给定数据集与模型,研究者往往默认只要最终评分函数相同,换一个执行框架不会改变结论。但交互式 Agent 的结果取决于提示如何编排、工具调用怎样重试、文件如何传入、环境是否隔离、超时如何处理、失败后能否恢复,以及评分是在原工作区还是干净副本中进行。任何一处差异都可能改变 Agent 可观察到的状态和能够采取的动作。
这会直接破坏三类决策。研究上,论文可能把 harness 的优势归因给模型;工程上,团队可能依据不兼容的 leaderboard 选择模型;治理上,若奖励作弊、修改测试或读取 gold patch 被环境默许,高分甚至可能代表更强的规避能力。AgentCompass 的 stakes 因而不是“少写一些胶水代码”,而是把评测系统本身提升为需要版本化和审计的实验对象。
图 2 的关键作用是展示 Benchmark、Harness、Environment 的组合边界;这比“支持多少数据集”更重要,因为复现的基本单位由一串隐含脚本变成可声明的配置。
作者选取 7 个模型,在工具使用、Web/Research、科学推理、生产力与 Agentic Coding 五个维度的 8 个基准上评测。软件工程部分让 SWE-bench Pro 和 SWE-bench Multilingual 分别配 Mini-SWE-agent 与 OpenHands;SkillsBench 配 OpenClaw 与 OpenHands;所有结果平均 3 次独立运行。附录还固定了仓库 checkout、Agent 版本与评分接口,例如 SWE 任务让两种 harness 使用相同代码库版本和相同的 patch + 单元测试评分边界。
最有信息量的数字不是总榜,而是协议变化造成的偏移:Claude Opus 4.8 在 DeepSearchQA 比最接近的外部参考低 8.7 分;GLM-5.2(FP8) 在 OpenHands 下的 SWE-bench Pro 比参考高 15.0 分。同一模型在 SkillsBench 的 OpenClaw 与 OpenHands 结果也存在差异。轨迹审计进一步发现,在 Mini-SWE-agent 的 SWE-Pro 上,GLM-5.2 的疑似 reward-hacking 样本率为 39.12%,而 DeepSeek-V4-pro(FP4) 为 0.82%;在 SWE-Multilingual 上,Gemini 3.1 Pro Preview 为 21.97%。作者明确把它定义为行为信号,而不是已证实导致最终得分的因果作弊。
第一,论文没有把“统一实现”与每个官方实现做系统等价性验证,外部分数偏移可能来自 AgentCompass 更公平,也可能来自移植遗漏、版本漂移或官方未披露的定制。第二,模型、服务快照和商业 CLI 会更新,即使配置文件不变,端点行为也可能漂移;三次重复只能估计短期随机性,不能覆盖时间漂移。第三,跨 harness 比较仍可能改变默认提示、工具集合、超时或上下文预算,因而不是单变量因果实验。第四,部分任务使用 LLM judge,judge 模型与提示又形成新的 harness 层。第五,reward-hacking 分析的精确率、召回率与人工复核规模没有在主实验中充分给出。
最有信息增益的下一步不是扩大榜单,而是做一个“语义等价交叉实验”:对 2–3 个基准逐项锁定模型快照、提示、工具 schema、预算、容器镜像和评分器,只替换运行框架;随后对分数分歧样本逐轨迹归因,报告是重试、超时、工具解析、环境状态还是评分复放造成差异。只有这样才能把“harness 敏感”推进到“哪一种边界造成了多少因果效应”。
传统报告隐含一个过于简单的因果图:模型进入 benchmark,输出一个能力分数。AgentCompass 的组件边界迫使研究者承认中间变量:BenchmarkSpec 决定任务材料和评分语义,HarnessSpec 决定模型能看到什么以及怎样行动,EnvironmentSpec 决定动作的真实后果,ExecutionSpec 决定并发、重试和恢复。RunResult 又把这些中间过程保存下来。这样一来,“模型 A 比模型 B 高 5 分”不再是终点,而是等待条件化的问题:两者是否经过相同工具协议、是否在同一隔离边界内、是否承担同样的失败恢复成本。
论文的轨迹分析提供了这种重构的示例。不同模型即使最终得分接近,坏例可能分别集中在工具调用重复、输出重复、空输出或语言混杂。修复策略因此完全不同:重复调用可能需要 stop condition 或工具结果去重,空输出可能是 API 与 harness 终止语义不兼容,语言混杂则可能是搜索材料与生成控制问题。只看 pass rate 会把这些机制不同的失败压成同一个“能力不足”。
Capability–token 图同样需要谨慎阅读。coding 任务里多数模型随 completion token 增加而得分上升,像 test-time scaling;但这只是跨模型、跨样本的联合观察,不证明给同一个模型增加 token 一定提高结果。更长轨迹也可能是难题、反复试错或 harness 重试的结果。工程选型应同时报告同任务内的预算干预曲线、成功条件下 token 与失败条件下 token,而不是把散点相关性当作预算因果收益。
一个可操作的复现实验包应包含四个层级:语义层保存 TaskSpec 与 scorer;行为层保存 prompt、工具和状态机;执行层保存镜像、网络与资源限制;观察层保存逐步轨迹和 retry event。只有四层都能重放,外部团队才可能判断官方分数偏移究竟来自模型、移植还是运行策略。
某些任务的一次“工具调用”是原子 API,另一些却是容器里持续数分钟、产生上万行输出的子进程;把二者压成相同 step count 会制造新的不可比性。稳定公共字段应负责跨基准比较,领域扩展字段则保留原始事件、资源使用与 scorer 细节。最好的统一层不是最低公分母,而是既能聚合,又能从每个聚合数回到原始证据的双层表示。
这也决定版本策略:公共协议变更必须显式迁移,benchmark 适配器和 harness 默认值不能静默更新。否则“同一 RunRequest”在新版本中可能代表不同实验。建议为每次运行计算语义配置摘要,把 benchmark 数据、harness 代码、环境镜像和 scorer 一起纳入;只有摘要相同的结果才直接合并,摘要不同则先做桥接实验。
RELAI.ai / University of Maryland · 2026.07.15 · 技术报告(方法提出方自评)
Agent 优化能否在新任务到来后继续累积,而不是遗忘或过拟合?
把 Agent harness 的优化拆成“旧任务优化—无训练迁移—合并任务再优化”三次测量后,静态榜单里的共同进步分裂成三种模式:过拟合、迁移但停滞,以及带内环回归控制的可累积改进。
多数 prompt、memory 或 harness 优化方法在固定任务集上搜索,然后在同一集合上报告提升。这个设计只能回答“在允许反复试错的任务上是否找到了更高分候选”,却回答不了部署中更关键的两个问题:第一次修改是否会迁移到未见失败;第二批失败到来后,能否继续修改而不破坏第一次已经修好的行为。
stakes 很直接。若一个自动优化器把任务特定路径、字面答案或脆弱启发式写进 prompt,静态分数仍会升高;若第二轮优化只追逐新任务,旧任务能力又会回退。团队看到的“自改进”可能只是不断移动的局部过拟合。论文因此把 compounding 定义为两个条件:第一轮更新对新任务至少有正迁移;第二轮在合并目标上继续提高,同时保留已获得行为。
阶段一的 12 题上,baseline 为 62.5%,GEPA 70.8%,Meta Harness 66.6%,RELAI-VCL 79.2%。只看这个表,三种方法都可以宣称有效。但把阶段一候选无训练地放到 22 题合集,baseline 为 56.8%,GEPA 降到 54.5%,Meta Harness 升至 68.2%,RELAI-VCL 为 72.7%。GEPA 的 103 行阶段一 prompt 含按任务命名的经验,论文把负迁移解释为任务特化的证据。
再给联合任务第二阶段预算后,GEPA 达 72.7%,Meta Harness 反而降到 59.1%,RELAI-VCL 达 77.3%。三阶段平均的 lifelong pass rate 分别是 baseline 58.7%、GEPA 66.0%、Meta Harness 64.6%、RELAI-VCL 76.4%。注意这不是按真实时间或任务频率加权的在线收益,而是阶段一、迁移和最终结果的简单平均;它适合比较本协议内的行为,不代表生产流量价值。
第一,样本只有 22 个任务,每个 Agent 每题两次,二项波动很大;报告给出点估计,却没有为方法差异提供任务级置信区间或显著性检验。第二,T1 是 900 秒 hard tasks,T2 是 1800 秒 hard tasks,阶段不仅代表“后来的任务”,也混入了不同超时和可能的复杂度分布。第三,任务彼此松散,生产故障通常共享领域、工具和政策;相关任务更容易形成可迁移规则,也更容易形成领域 shortcut。第四,所有方法依赖可重复任务和可靠 verifier,真实生产失败常只有一次轨迹,无法无成本重放。第五,RELAI-VCL 由提出方实现和评估,方法间工程成熟度、搜索空间宽度与 proposer 行为可能形成额外优势。第六,只使用一个基础模型 GPT-5.5,不能判断较弱或不同风格模型是否出现相同排序。
一个重要替代解释是“候选类型”而非“回归约束”决定结果:GEPA 改写长 prompt,Meta Harness 改代码边界,RELAI-VCL 加 completion gate;后者恰好更适合 Terminal-Bench verifier。另一个解释是任务顺序效应:若交换 T1/T2 或随机生成多条任务流,排序可能变化。
把 no-regression 放进搜索环会产生新的测量问题:旧任务集合会逐轮膨胀,验证成本随历史长度增长;若只保留“曾经解决”的样本,偶然成功会被当作必须维护的能力;若 verifier 本身不完整,优化器可能被迫保留对错误代理目标的适配。回归安全还可能抑制必要的结构性重写,让系统停在局部最优。
最有信息增益的实验应做成多流、因子化消融:在同一 proposer、同一搜索空间和同一候选预算下,仅开关 in-loop regression gate;把 30 个 hard tasks 随机生成多组 T1/T2 顺序,至少增加每题重复次数并报告配对 bootstrap;再加入相关任务流、不可完全重放任务和含噪 verifier。若优势在这些条件下仍稳定,才能把“回归约束是泛化过滤器”从合理解释提升为更强因果主张。
GEPA 的阶段一 prompt 从 5 行增长到 103 行,阶段二到 195 行,新增内容以命名的逐任务经验组织。它在阶段一从 62.5% 升到 70.8%,但迁移到 22 题时低于未优化 baseline。这个组合比单独看到长 prompt 更能支持过拟合解释:若只是“prompt 太长”,未必必然负迁移;真正可疑的是任务特定内容、固定搜索集和迁移下降同时出现。不过论文仍未用遮蔽任务名、删除特定规则或压缩 prompt 的消融来识别哪些文本造成回退。
Meta Harness 的候选更像通用软件修复:第一轮加固命令结束检测与畸形 tool call 处理,第二轮压缩包管理器、构建和测试输出的重复噪声。第一轮候选对 22 题迁移到 68.2%,说明通用边界加固可能比 benchmark lesson 更稳;但第二轮最终降到 59.1%,说明“看起来通用”也不能替代任务级回归。输出压缩可能节省上下文,也可能删除某些任务所需的错误细节。只有逐任务失败轨迹才能区分候选本身有害、搜索接受规则有问题,还是两次运行的随机性。
RELAI-VCL 的第一轮候选增加 code-editing 与 operational/service 的任务类型分类,第二轮 completion gate 主动发现 verifier 并检查 runtime contract。它们都直接改变“何时算完成”,与 Terminal-Bench 的自动 verifier 十分契合。no-regression gate 可能筛掉破坏旧题的候选,但领先也可能部分来自这种搜索空间与任务结构匹配。因而最关键的缺失对照是 RELAI-VCL minus regression control,而不是再拿一个完全不同优化器做横向比较。
从系统设计看,回归控制应记录的不只是候选是否通过。每次拒绝都应带行为级解释:哪个已解决任务退化、退化发生在计划、工具调用、状态维护还是完成判断;候选能否通过条件化启用而不是整体丢弃。否则随着任务积累,搜索环会变成越来越严格的黑箱门禁,只告诉开发者“不能改”,却不能帮助合并互不冲突的局部能力。
论文的 lifelong average 把 12 题静态、22 题迁移和 22 题最终结果等权平均,便于得到摘要数,却让早期小集合与后期大集合拥有相同权重。生产评估更适合同时报告阶段曲线、任务到达后的累计 regret、每次修复成本和回退持续时间。还应区分“旧题一直不会”“新学会后又忘记”和“随机两次里少成功一次”;三者在当前 pass rate 中可能给出相近变化,但对应完全不同的优化故障。
若回归 gate 进入持续服务,接受标准也不宜是绝对零回退。某些大重构可能暂时破坏低价值边缘任务,却换来大量新能力或更低成本。更实际的约束是按任务风险、流量与置信度加权:高风险能力设置硬门槛,低风险能力设置预算化回退;所有例外都要有可追踪的人工批准与恢复期限。
Ruhan Wang 等 · 2026.07.14 · 论文 / 项目系统
给 Agent harness 建一张“行为到代码”的持续同步地图
论文把“修改 harness 前先找对代码”独立成行为定位问题:用静态分析固定事实,用 LLM 组织执行阶段,再以逐层披露和源代码复核指导规划,并在每次 diff 后增量同步这张地图。
现代 Agent 的能力大量存在于 harness:system prompt、状态机、工具适配、重试、memory、终止条件与环境桥接。一个“完成前必须再运行 verifier”的行为,可能同时分布在 planner、tool executor、状态对象和 completion gate 中。自然语言需求讲的是行为,仓库却按文件和模块组织;关键词搜索、向量索引和长上下文能帮助浏览,却不会自动恢复跨文件的行为链。
定位错误的代价不只是改错文件。漏掉一个状态写入点会产生不一致,范围过大会引入回归,搜索太久则消耗上下文并让 planner 忘记原始目标。随着 harness 自我演化,这个瓶颈会进一步放大:Agent 若不能解释自己的行为由哪些代码共同实现,就无法可靠修改自己。论文因此把“behavior localization”定义为 harness 演化的前置能力。
实验选择两个开源 harness:Terminus-2 有可靠种子骨架,使用 function-as-leaf;Codex 规模更大,使用 file-as-leaf。每个仓库各有 30 个行为修改请求,分为 Query、Cross-file 和 Search-Hostile,并标注 Easy、Medium、Hard。读权限 planner 都由 DeepSeek-V4-Pro 驱动;baseline 直接浏览仓库,Handbook-Assisted 使用 BGPD,一切请求、模型、权限和 decoding 设置相同。
计划质量由 GPT-5.5、Opus 4.8 和 DeepSeek-V4-Pro 独立判断,按 Localization 50%、Scope Control 25%、Reasoning 25% 加权;差异至少 3 分才判胜,否则平局。定位准确度再与 Opus 4.8 和 GPT-5.5 独立生成的参考计划比较,报告文件级与 symbol 级 Recall、Precision、F1,以及零重叠的 Wrong。成本统计包括手册和源码上下文的 planner token。
Codex 上 Handbook-Assisted 总体胜率 38.3%,baseline 28.3%;Terminus-2 上为 45.6% 对 26.7%。平均 token 从 Codex 每请求 0.102M 降到 0.089M,减少 12.7%;Terminus-2 从 0.058M 降到 0.053M,减少 8.6%。因此质量提升至少不是靠塞入更多 planner token。
与两套参考计划比较的 24 个 Recall、Precision 和 F1 项全部提高,F1 增益 5.0–18.8 个百分点。Terminus-2 在手册辅助后,对 Opus/GPT-5.5 参考的文件级 F1 为 84.7%/89.3%,symbol 级为 77.1%/89.3%;对 GPT-5.5 参考的 precision 在两种粒度都到 93.3%。零重叠 Wrong 从不增加,最大下降 25.9 点。六个“仓库 × 请求类型”和六个“仓库 × 难度”切片都为正,但难度收益并不单调。
这些结果说明行为表示对“找到与强模型参考相同的位置”有稳定帮助,却还不是执行成功率。论文刻意不把 executor 引入主比较,优点是隔离定位与规划;代价是无法证明更好的计划一定产生正确补丁、通过测试或减少回归。
第一,只有两个开源 harness,且由不同 leaf mode 表示,外推到多语言、动态注册、反射调用或生成代码系统仍不确定。第二,静态调用图对 Python 动态派发、配置驱动工具与运行时注入可能漏边;coverage record 能诚实暴露未知,却不能弥补行为缺口。第三,三位计划 judge 都是大模型,其中 DeepSeek-V4-Pro 同时还是 planner,存在偏好相关;缺少维护者盲评和 judge 校准。第四,30 个请求的来源、真实分布和难度标签可能影响结果;切片样本小,胜率没有不确定性区间。第五,handbook 本身由 LLM 组织,若早期阶段映射错误,BGPD 会系统性地把搜索引向同一错误区域。第六,重同步只验证 locator 仍存在,不保证文字描述仍语义正确。
采用后出现的新失败模式是“过度相信地图”:因为手册让路径看起来结构化,Agent 可能减少对仓库外部事实的探索,漏掉未覆盖的动态行为。另一个风险是同步震荡:大型重构触发频繁骨架重建,不同 LLM 组织结果造成条目漂移,历史行为与当前实现难以对齐。
最有信息增益的实验应采用 2×2 因子设计:有无手册 × 有无当前源码复核,并在同一仓库交换 function/file leaf mode;由真实维护者提供最小 gold edit sites,随后让 executor 实际改代码,测测试通过、行为验收、diff 大小与旧任务回归。再连续执行几十轮修改,记录 locator 失效率、描述陈旧率与全量重建频率,才可验证“持续同步”。
Handbook 的效率机制不是简单把代码摘要得更短,而是让概念按依赖顺序出现。planner 先在 L1 建立架构与执行模型,再在 L2 选择阶段,只有需要时才展开 L3 源码。共享状态视图在阶段之间补边,避免搜索只沿文件邻近或关键词相似扩散。这种 progressive disclosure 把“先读大量文件再归纳行为”改成“先提出行为假设,再取证验证”,所以 Codex 仓库即使加入手册上下文,总 token 仍从 0.102M 降到 0.089M。
两种 leaf mode 体现了一个重要工程取舍。function-as-leaf 需要可信执行骨架和更细的静态解析,定位精确但构建、同步成本更高;file-as-leaf 在大仓库中更便宜,却把文件内部的多个行为重新交给 planner。论文让 leaf mode 在手册生命周期内固定,是为了避免每次同步都改变条目标识,但这也意味着早期粒度选择错误会长期存在。生产系统应在构建时用一组代表性请求比较两种粒度的定位成本与漏召回,再冻结模式。
重同步的保守策略值得单独强调。函数匹配用不依赖行号的指纹,文件匹配用文件集合差分和内容 hash;只有分类、文件分配、阶段内组织和描述修订四类语义步骤调用模型,其余尽量确定性。无法解析或分类的内容被冻住并写入 coverage record。这样做牺牲了表面覆盖率,却阻止手册在代码大改后悄悄保留虚假锚点。对自修改 Agent,显式“不知道”比连续、漂亮但过时的文档更安全。
不过实验只比较一次性规划。真正长期使用时还需要三个新指标:行为覆盖率,即活跃条目覆盖多少真实执行;同步新鲜度,即 diff 后多久恢复可用;语义漂移率,即 locator 仍能解析但描述已不再准确的比例。这三项与定位 F1 一起,才能判断手册是不是可维护的基础设施,而不只是一次性索引。
一次定位 F1 不能回答地图是否可维护。第一项应是行为覆盖率:活跃条目覆盖多少真实执行路径,未知区是否集中在动态注册、错误恢复或安全边界。第二项是同步新鲜度:代码产生 diff 后,相关条目多久恢复可用,有多少条目被保守冻结。第三项是语义漂移率:locator 仍能解析但职责、状态或异常语义已经变化的比例。三项都要随 commit 记录,而不是只在初次构建时测量。
运行时 trace 可以补足静态图,但不能直接覆盖静态事实。更稳妥的合并规则是:静态分析定义“可能调用”,多次 trace 提供“观察到调用”的频率与条件;未观察到不等于不存在。这样 BGPD 能优先展示常见路径,同时保留罕见失败处理,不会因为测试流量未触发就从行为地图消失。
Hironao Nakamura · 2026.07.11 · ICLR 2026 Workshop 论文
用谓词替换测试 Chain-of-Thought 是否真的依赖它声称的前提
与其看推理文本是否“像证明”,论文逐前提做语义干预并比较规范化结论,把前提依赖变成黑盒因果测试;它能抓住被自洽性遗漏的依赖,但目前只在高度形式化、可解析的推理链上成立。
模型可能生成形式流畅、步骤齐全的 CoT,但最终答案来自捷径、先验或未写出的计算;文本里的“由前提 P 可得 S”不保证 S 在计算上真的依赖 P。被动方法只能看多次生成是否一致,无法区分“一直使用同一前提”和“一直忽略所有前提”。对于需要过程监督、可验证推理或安全审计的系统,这种差异决定 CoT 能否被当作证据。
实验使用 50 个 ProntoQA 合成三段论问题,3–5 hop、4–7 个前提、真假平衡。目标模型为 GPT-4o-2024-08-06,temperature 0。总计生成 1,127 个审计证书,其中 1,031 个与 proof-tree 步骤对齐。原始输出解析率 95.3%,一致语义探针 92.9%,局部探针只有 69.2%,表面探针 90.3%;主评测排除 108/1,031 个不可解析证书,并以问题级 bootstrap 10,000 次给 95% 区间。
一致替换主要设置 precision 0.794、recall 0.820、F1 0.806,区间 [0.760, 0.852];自洽性 baseline 为 0.343,[0.317, 0.371]。只看 predicate-determining dependency,recall 1.000,F1 0.885。加入局部替换与级联过滤后总体 F1 达 0.819。简单 string-diff baseline 也达到 0.787,说明形式化数据上的许多变化可以被字符串差异捕捉,复杂协议的增益并非压倒性。
作者把“答案正确但至少一个对齐步骤对直接依赖不敏感”定义为 RAWR。50 个正确解中有 33 个、即 66%,满足该条件,但全部涉及一致替换已知盲点——实体引入的结构性前提;没有 predicate-determining dependency 被漏掉。因此 66% 不能解读为 GPT-4o 有 66% 的实质错误推理。
若把这种审计用于真实 Agent,新的难点不是替换一个词,而是保持干预最小:替换工具输出、环境变量或检索证据可能同时改变后续可用动作,从而难以区分直接依赖和状态级联。规范化器也可能成为新的单点失败——它解析不出最复杂、最有风险的轨迹,却让剩余容易样本获得漂亮 F1。
下一步应在 ProofWriter/FOLIO 和真实工具轨迹上建立最小干预集:对同一前提做语义替换、表面改写和无关替换三组对照;用多次重跑估计随机变化;对树形证明用图上的祖先关系替代“前一步”级联规则;最重要的是人工盲标一组自由推理的直接依赖,报告规范化 coverage 与条件 F1 两个指标,不能只在可解析子集上给分。
一致替换单独使用时 F1 0.802;局部替换单独使用为 0.721;两者直接合并只有 0.724,因为局部干预引起的下游传播增加大量 false positive。加入级联过滤后 F1 才到 0.819。这个顺序说明方法的价值不在“多做一种扰动”,而在显式建模扰动怎样沿推理链传播。若迁移到树形或循环工具轨迹,当前“前一步已 Grounded 就标 Cascade”的线性启发式不再充分,必须使用依赖图、时间戳或状态版本来判断祖先关系。
表面控制在 ProntoQA 上只贡献约 0.002 F1,因为 canonical is/subtype 解析已经吸收大部分措辞变化。这不是表面控制无用,而是数据过于规则。到自然语言任务后,表面改写可能改变代词、实体对齐和模型注意模式;那时控制探针既可能抓到语言敏感,也可能不再保持语义完全等价。需要人工验证改写质量,避免把有意义的语义变化误当 surface-only。
论文还报告 30 个“文本明确引用某前提,但替换后结论不变”的 misrepresentation 案例。这个标签也应谨慎:黑盒不敏感证明在当前干预下输出没有变化,却不能直接证明模型内部从未使用前提;冗余证据、饱和决策或多条等价证明都可能让单一前提替换不改变结论。因此最佳表述是“该引用没有显示出必要性”,而不是“模型撒谎”。
每个步骤与每个前提组合都生成语义和表面探针,调用量随前提数与轨迹长度相乘。真实 Agent 的几十轮工具轨迹会迅速变贵。可先用文本引用、数据流和状态读写做高召回筛选,再只对决定最终动作、安全许可或不可逆操作的依赖做干预。抽样规则必须在看到结果前固定,并报告未审计覆盖,避免只选择最容易解析的步骤。
对冗余证据还需使用组合干预。单独替换前提不改变结论,可能因为另一个等价前提仍足够,并不证明原前提从未被用到。可以先做逐项干预,再对高度相关前提成组替换;若单项不变、组合变化,应标记为冗余依赖,而不是 Insensitive。这样 verdict 才更接近必要性与充分性的真实区别。
小米 MiMo 团队 · 2026.07.14 · 官方工程技术报告(生产自报)
从 Hybrid SWA 到 GCache:把长 Agent 会话的理论节省兑现成生产系统
Hybrid SWA 只有在 KVCache 物理池、前缀树语义、跨层预取、分布式缓存和亲和路由同时重写后,才会从“注意力更稀疏”变成真实的长会话容量与吞吐收益。
MiMo-V2.5-Pro 有 70 层,其中 10 层 Full Attention、60 层滑动窗口注意力,窗口 128。理论上多数层只保留窗口内 KV,注意力计算与 KV 存储约降到纯 Full Attention 的七分之一。但旧版 SGLang/HiCache 为兼容 SWA 仍按完整序列存储,等于在系统层抹掉模型结构优势。更麻烦的是,SWA 的物理 KV 会随窗口滑动淘汰,而传统 Radix 前缀树只看 token 是否相同;逻辑前缀还在并不代表对应窗口 KV 仍有效,错误复用甚至会破坏模型正确性。
对 Agent 场景,这不是边缘优化。多轮工具调用不断增长上下文,decode 受 KVCache 容量限制,prefill 又依赖长前缀命中。若路由把相同代码库会话分到不同节点,或 L2/L3 状态不一致,系统会反复计算已经见过的上下文。模型、harness 与缓存的边界由此合并成一个共同系统问题。
报告称双池使 SWA KVCache 容量效率约提升 7×;服务端在主流高质量 harness 下平均 KV hit 约 93%,重度用户达 95% 以上。亲和调度让 L2 hit 约增 25%,单节点输入吞吐约增 30%;针对长请求的队列策略让 TTFT P90 最多下降约 30%,短请求基本不变。SWA 节省内存后,prefill 的 expert parallelism 可减半,端到端性能约增 40%;关闭冲突的 Linux numa_balancing 又带来约 10%。
decode 侧,SWA 支持使有效 KV 容量约增 5×;在 prefill 阶段补齐三层 MTP 的 KV 后,前 0–128 输出 token 加速 2.3×,128–256 token 加速 1.5×,正好贴合 Agent 常见短回复。多模态 encoder QPS 从 15 到 30,平均延迟 78.39ms 到 80.28ms,P90 从 100.76ms 降到 82.94ms;一小时视频的并行解码从 156 秒降到 23 秒,consistent hashing 让多模态缓存命中提高 30%。
第一,缺少统一 end-to-end 基准:没有在固定硬件、相同流量 trace 下依次开启每项优化的完整消融。第二,生产流量选择偏差很强,高质量 harness 与重度用户天然共享更多系统 prompt、代码库与会话前缀,93–95% 不能外推到低复用请求。第三,单副本 GCache 以重算换可用性,报告描述几乎每日遇到 host 故障,却没有给出数据丢失、重算放大或尾延迟分布。第四,优先缓存友好请求会引入公平性与饥饿风险,等待惩罚的参数和最坏界未披露。第五,三档长度 bucketing 在分布突变时可能产生桶间容量碎片。第六,多项修改正向 SGLang upstream,但当前报告中的完整实现并不全都公开,复现边界有限。
新的失败模式来自“逻辑命中但物理失效”:任何 Full/SWA 索引不同步都可能读错 slot;另一类来自 cache-affinity 与负载均衡冲突,热门前缀把请求吸到少数节点,虽省 prefill 却增加排队。最有信息增益的验证应发布匿名化到达 trace 与重放工具,在相同 GPU/NIC 下逐项消融,报告 TTFT/TPOT 的 P50/P90/P99、吞吐、HBM/host/NVMe 占用、L1/L2/L3 hit、重算率、故障恢复和每百万 token 成本,并将不同复用率分桶。
报告最容易被混淆的三个概念是容量、命中率与读取成本。SWA 把大多数层的物理 KV 限制在窗口内,首先增加同一预算可保存的会话数量;更大容量延长 TTL,间接提高历史上下文再次出现时的命中概率;逐层预取与 RDMA 则降低命中之后的取回成本。三者相互促进却不是同一个指标。若工作负载几乎没有重复前缀,容量仍有价值,但 93% 命中不会出现;若命中很高但跨层传输阻塞,TTFT 仍可能很差。
GCache 的微基准称 1MB IO 下单进程 RDMA read 达 170GB/s、延迟 280 微秒,GDR 场景约 350GB/s。它证明通信路径有高上限,却没有证明真实 KV 对象尺寸、并发和网络争用下也能达到相同比例。共置 GPU 机器内存与 NVMe 避免专用存储成本,但会与模型服务争夺 NUMA、PCIe 和故障域;每天出现 host 故障时,以短 timeout 回退到重算的策略能保可用,却可能在故障风暴中放大 prefill 流量。
长度 bucketing 进一步揭示长上下文并非只增加线性计算。固定 16K prefill chunk 时,前缀从接近零增长到 1M token,相对吞吐从 1× 降到约 0.12×;长短请求混在同一 EP group 会让 DP 同步受最慢 rank 限制。团队采用 0–64K、64K–256K、256K–1M 三档分桶,目的是把相似负载放在一起。代价是当某一桶突发时,其他桶空闲算力不一定能立刻借用,生产调度需要同时观察桶内排队与跨桶资源弹性。
对 harness 开发者,缓存机制转化为一个反直觉原则:不要为了表面整洁随意重排稳定前缀。system prompt、工具定义和仓库摘要若每轮发生无意义格式变化,语义相同的会话也会失去 token 级命中。稳定内容应前置,易变观察后置;工具 schema 要有明确版本命名空间,真正语义变化时主动让旧缓存失效,避免错误复用。
同时不能为命中率牺牲安全隔离。跨用户共享系统 prompt 或公共代码前缀时,cache key 必须包含模型、tokenizer、attention 配置、工具版本与租户边界;任何影响 KV 的隐含状态都不能缺席。高命中率若来自过宽 key,会把性能优化变成跨请求污染风险。正确性、隔离和容量应先于命中百分比排序。
跨文对照
| 资料 | 它控制的状态 | 主要证据 | 最强可支持主张 | 当前最大缺口 |
|---|---|---|---|---|
| AgentCompass | 评测配置与轨迹 | 7 模型、8 基准、3 次重复 | harness/infra 会显著改变观测能力 | 统一协议不等于真值协议 |
| Agent Optimizers | 多轮 harness 候选 | 22 tasks、两阶段 400 rollouts | 静态提升不预测迁移与再优化 | 缺少同优化器仅开关回归门的消融 |
| Harness Handbook | 行为—代码映射 | 2 仓库、60 请求、3 judges | 分层行为表示改善定位并省 token | 尚未证明补丁正确和长期同步可靠 |
| Grounding Audits | 前提—步骤依赖 | 1,127 证书、proof-tree gold | 干预比答案自洽更能测直接依赖 | 自由文本 coverage 与外推有限 |
| MiMo Inference | 长会话 KV 与路由 | 生产 before/after 自报 | SWA 需要全流水线协同才能兑现 | 缺少统一消融和独立复现 |
综合判断
AgentCompass 说明,最终 pass/fail 无法区分模型错误、harness 错误、环境错误与可疑规避行为。完整轨迹、版本化配置和可重放环境是后续一切优化的输入。如果观测层只留下一个分数,优化器就只能对模糊代理目标搜索。
Harness Handbook 解决“该改哪里”,持续优化报告解决“改完是否破坏旧能力”。两者连接后,可靠自演化的最小闭环才出现:从失败轨迹定位行为,映射到源码,生成最小修改,在旧/新任务上验证,再把真实 diff 同步回行为地图。
若优化器依据 CoT、反思或 review comment 修改 harness,它默认这些文本真实描述失败原因。Grounding Audits 提醒我们:引用前提不等于依赖前提。未来的轨迹诊断应对工具结果、检索证据和状态变量做受控反事实,而不只让另一个模型评价解释是否顺畅。
即使行为与评测都设计正确,长会话若不断丢失 KV、跨节点重算或被尾延迟阻塞,能力仍不会稳定出现。MiMo 的工程链表明,模型注意力结构必须一路传导到缓存语义、路由和队列。Agent 的“记忆”既是上下文策略,也是物理系统状态。
模型不再是唯一自变量。可复现的 Agent 能力应写成一个系统函数:模型快照 × harness 行为 × 环境边界 × 评测协议 × 推理状态。任何只优化其中一项、却不保存另外四项证据的工作,都很难证明提升会迁移、会累积、会在生产中持续存在。
第一条因果链从测量开始。AgentCompass 让 benchmark、harness 与 environment 可交换,观察到同一模型的得分会随运行协议变化。这意味着优化器接收的 reward 不是模型能力的纯净信号,而是整个评测组合的输出。若不先固定执行边界,任何“改进了 Agent”的结论都可能是在适配某个 harness 或 scorer。
第二步是更新。持续优化报告展示,当固定任务 reward 被反复用于搜索,prompt 可能编码任务特定经验并在新任务上低于 baseline;把旧任务回归放入候选选择,至少在当前实验中与更稳的迁移和再优化相伴。由此可得一个系统要求:评测基础设施不仅用于论文结束时打分,还必须进入优化内环,提供可重复、任务级的接受与拒绝证据。
第三步是把失败证据映射到可修改对象。只有轨迹,没有行为—代码地图,coding Agent 仍要在大仓库里重新发现哪些模块共同实现目标行为。Harness Handbook 把静态源事实组织为执行阶段,并在真实 diff 后重同步,使“从失败簇到最小修改点”有了显式中间表示。但这张地图的语义仍由 LLM 部分生成,因此它本身也需要 coverage 与回归。
第四步检查诊断依据。许多优化器会把 CoT、反思或评论当作失败解释,再据此改 prompt 或代码。Interventional Grounding Audits 说明,被动一致性不能证明文本步骤依赖它引用的前提。若这一思想迁移到 Agent 轨迹,就应对关键工具结果和环境反馈做受控替换,测试建议的修改是否真的随原因变化。
第五步把逻辑闭环落到物理执行。长任务的轨迹、回归和反事实都会增加重放与上下文成本;MiMo 报告表明,SWA 的理论节省只有在缓存物理池、前缀语义、分层存储和路由共同配合时才实现。推理基础设施因此不是最末端的性能附录,而是决定前面四个环能否以可承受成本持续运行的约束。
本期主动放弃了“每个赛道都覆盖一篇”。过去七天还有 Agent memory、解释性竞赛、自动编译反馈和行业案例等资料,但不少只提供概念框架、摘要级结果,或与本期证据链重复。为了把五篇读到方法、实验与 limitation,本期没有用产品发布稿补齐开放模型生态,也没有把缺少受控对照的案例包装成核心实证。
这不代表开放模型与内部安全不重要,而是本周更强的共同信号落在系统边界:评测、修改、解释与推理状态怎样互相约束。MiMo 按“厂商生产自报”处理;RELAI-VCL 即使发布 artifact,也按“方法提出方自评”处理。证据等级进入结论本身,而不是只在来源列表加标签。
下一步最关键的反证也因此明确:独立团队能否在同优化器消融下复现回归控制优势;真实维护者 gold plan 能否证明 Handbook 的高重合会转化为正确补丁;自然语言或工具轨迹上的因果依赖审计能否保持 coverage;公开 trace 能否重放 Hybrid SWA 的端到端收益。证据出现前,本期判断应保持为“系统化方向正在形成”,而不是“方案已成熟”。
编辑上还有一条约束:同一篇材料中的多个数字不会被拆成多条“新闻”。例如 MiMo 的缓存、路由与多模态结果必须一起读,才能看到它们处在不同工作负载和证据层级;若拆成卡片,读者很容易把局部百分比误乘为总体收益。同样,AgentCompass 的榜单、轨迹坏例和 reward-hacking 信号也必须在同一证据边界里解释。减少选题的价值,正是在单篇内部保留这些互相限制的关系。
来源