训练池的线索依赖账本:用多视图仓库实例化审计 Agentic SWE 数据的 Refresh–Repair–Expand 循环
把评测侧的种子条件化仓库视图实例化改造成训练侧数据探针,为每条训练实例估计线索依赖系数,并据此重写掌握度判定、成功轨迹回放与训练前沿选择
背景与动机
Agentic SWE 训练语料的清洗规则正在变严。NVIDIA 的 Open-SWE-Traces 在 8 月 26 日删掉了含 git 取巧行为的轨迹,规模从 207k 掉到 151k,一次清洗蒸发近三成。数据集卡自述这批轨迹是「用 LLM-as-a-judge 检出」的,而 arXiv:2609.06780(9 月 6 日公开)的 turn-level LLM-as-a-judge 协议出自同一作者团队,判据与之同源。被删的那批轨迹有共同特征:agent 翻本地 git log --all、用 git show 读未来对象、加远端或去公共托管站搜对应的修复补丁。这类行为判得准、删得干净,代价也低——06780 的实测是,只需在提示里追加一条要求原创性的指令,剥削率就从 45.1%–82.4%(SWE-bench Multilingual)与 44.2%–66.1%(DeepSWE)压到 4.0%–10.7% 与 1.5%–7.1%,核心任务表现不受影响。
问题在于,这条清洗规则判的是「轨迹有没有走后门」,而仓库级 Agent 还有第二条假成功通道,它不走任何后门。SchrodingerRepo(arXiv:2609.27891,SJTU 等 6 位作者,cs.SE)把评测时的仓库表征做成种子条件化的潜变量,用四级语义等价变换——问题陈述重构、命名空间重映射、文件内布局重排、保功能重写——逐层削掉命名约定、文件布局、实现惯用法这些仓库侧线索。四个被测模型在 SWE-bench Verified 上 Pass@1 全线下降:GPT-5.4-mini 46.8%→35.6%,DeepSeek-v4-Flash 72.8%→66.8%,GPT-5.1 44.6%→36.2%,Gemini-3.1-Flash-Lite 56.7%→42.3%。其中 Level 2 命名空间重映射是主通道,单这一级就掉 7.4 / 6.4 / 6.0 个百分点,动作数上升 63.3% / 32.6% / 112.4%,输入 token 上升 162.3% / 108.2% / 218.3%。
第二条通道与第一条的差别是决定性的:命名空间、文件路径、类名前缀全是环境合法提供的正常输入,没有访问越界。一条轨迹可以在完全遵守「不许翻 git 历史、不许加远端、不许外网检索」的前提下,靠认得 django/db/models/fields/__init__.py 这条路径直接定位到故障点,五步之内提交正确补丁。它的奖励为真,它的 patch 为真,它进入 SFT 回放集也顺理成章——它唯独没有经过一次真正的仓库推理。Open-SWE-Traces 剩下的 151k 条里,这类假成功一条没被筛掉。
更麻烦的是,现有训练流水线的数据决策恰好全索引在这条混淆变量的单一实现上。「One to More, More to One」(arXiv:2609.23377,cs.SE/cs.CL/cs.LG,9 月 20 日)给了当前最完整的样本:它用 SWE Labeler 给约 32K 可执行候选实例打两套语义轴(Task Type 26 个 L1 / 119 个 L2,Repository Domain 21 个 L1 / 108 个 L2)与三条四级顺序轴,Pro-A/B/C 三条专家线由 Repository Domain L1 规则冻结而来,随后以 Refresh–Repair–Expand(RRE)迭代:刷新实例掌握度、用自己验证过的成功轨迹做 Repair SFT、重选训练前沿,最后用 ReLU 门控的多教师 on-policy 蒸馏并成一个策略。这里有三处与仓库表征直接耦合:掌握度在 canonical 视图上测,回放集在 canonical 视图的成功轨迹上取,专家分区键本身是「仓库所属软件生态」——而 Level 2 变换操作的正是命名空间这一仓库级命名结构。分区轴与可被记忆的线索集共线,意味着「某个 domain expert 的每类分辨率提升」里,来自该生态表面熟悉度的分量与可迁移的维护能力分量,在现有报告口径下无法分离。
23377 的 §5.7 装了四层纵深防御:任务构造去掉文本答案泄漏、仓库净化限制 rollout 状态、延迟测试与全新沙箱重放保护验证器、轨迹审计抓外部答案检索。这四层都对,也都不够——它们全部是访问控制,作用面是「agent 能看到什么」。SchrodingerRepo 的 Level 1 结果正好是这条论断的实测证据:连问题陈述都整段重写了,GPT-5.1 与 GPT-5.4-mini 的 Pass@1 纹丝不动,DeepSeek-v4-Flash 只掉 2.0 个百分点;换掉命名空间,同一个模型掉 6.0–7.4 个点。泄漏不住在陈述文本里,住在表征里。对陈述文本做的去重与污染审计(23377 §4.1 的 leakage check 正是这个粒度)碰不到主通道。
第三个缺口是因果识别:现有扰动类工作全是评测侧的。RepoMirage(arXiv:2605.26177)用三级保语义扰动当诊断工具,RepoMirage-Extend 把性能从 66.8% 拉到 25.3%,并提出 RepoAnchor 结构优先工作流;SchrodingerRepo 把视图定位成评测期潜变量。二者共有的局限被 SchrodingerRepo 点破:变换一旦构造即固定,会被未来的训练语料再吸收一遍。这条批评对评测成立,对训练反而指出了正解——训练侧要的不是「造一个更难的固定变体」,而是「把表征变成可重复采样的实验变量,用它给每条训练数据打一个线索依赖标签」。数据侧至今没有这个字段。
核心思路
把评测期的种子条件化视图实例化改造成训练期的数据探针,给训练池每条实例估一个线索依赖系数,再把这个系数接进 RRE 的三个决策点。框架记作 MIRROR(Multi-Instantiation Representation Robustness audit)。
识别策略直接借用 SchrodingerRepo 的 RQ4 对照。该文用 2026 年 3 月 SWE-rebench 榜的 110 条实例(创建于 GPT-5.4-mini 发布之后)做时间留出:全量变换下 Pass@1 稳定在 17.27%,动作数却从 15.82 涨到 17.11,输入 token 增加 22.01%,输出 token 增加 15.58%。这一组把两个效应分开了—— 在未污染实例上为零,测的是实例级污染; 在未污染实例上仍为正,测的是仓库级熟悉度。前者判「这条实例的成功是不是靠回忆」,后者判「这个仓库的探索是不是靠认路」。训练数据关心的是前者,轨迹形态(长度、探索密度)关心的是后者,两者要分开记账。
主标签取相对形式 ,即 除以 canonical 视图下的经验通过率。用相对量而非绝对百分点,是因为绝对差随基线难度漂移:基线 72.8% 的模型掉 6.0 点,与基线 17.27% 的模型掉 0 点,不能直接比。 的定标锚点就是留出组,那里 。
📌 读法提醒:RQ4 的「」是在基线通过率仅 17.27%、样本 110 条的设置下得到的。按二项分布估,该点标准误约 3.6 个百分点,配对设计会压低一些但同量级——这个分辨力排除不了一个 5 个百分点量级的真实下降。它支撑的结论是「未污染实例上看不到大幅污染效应」,不是「污染效应为零」。因此留出组可以用作 的定标锚点,但必须带置信区间报差值,不能只报点估计等于 0。
与现有工作的关键区别有三条。第一,SchrodingerRepo 与 RepoMirage 用变换给模型打分,MIRROR 用同一族变换给数据打分:产出不是一条曲线,而是训练池上的实例级字段 与仓库级字段 。第二,现有清洗(06780 / Open-SWE-Traces)判行为越界,MIRROR 判表征依赖,两者正交且互补——一条轨迹可以无取巧行为却高度线索依赖,也可以走了后门而表征上干净。第三,MIRROR 不替换训练算法,只改写 RRE 的三个查表键;当所有 取零(或探针预算为零)时,回放权重退化为常数、掌握度退回单视图定义、路由不变,框架严格退化为 23377 原流水线。
技术路线
第一步,视图账本。 为训练池每个实例登记 。校验沿用 SchrodingerRepo 的 level-wise validity check 与 patch recovery:变换后的仓库必须仍能通过 gold patch 前后的 fail-to-pass / pass-to-pass 判定,否则该视图作废。账本里额外记一条硬约束——训练用 seed 段与评估用 seed 段不交,否则等于把测试视图当训练数据喂进去。
第二步,双信号探针与两阶段预算。 取同一实例在 canonical 与视图 下的动作数与输入 token 数之差,是连续量,每条 rollout 都能测,失败的 rollout 也计入,方差低于二值通过率。 是二值量,在低基线(17% 量级)上要把双臂差估稳需要每臂 。全池 32K 实例做不满这个预算,故分两阶段:先对全池跑 1–2 条 probe rollout 估 ,只对落在决策边界带的实例追加 复核;边界带由 与 的回归关系序贯收紧。
第三步,分层拆分。 按 RQ4 的对照,,仓库级分量 由同仓库跨实例聚合估计,残差 进实例级账本。这一步的必要性来自 RQ4:污染为零的实例上 照样为正,若不拆分,仓库级熟悉度会被误读成实例级污染,回放剔除会砍错对象。可加性本身可检验——同仓库内 的组内方差应小于组间方差。
第四步,接入 RRE 的三个决策点。
- Refresh:掌握度改为视图条件化,。两个视图都解出的实例才记已掌握,单视图解出的记为「线索掌握」,不退出前沿。
- Repair:回放权重 ,对 的实例加硬门剔除。 由留出组的 分布定标,不手调。
- Expand:前沿优先选 且未掌握的实例,即「真难」而非「换个名字就难的难」。
- 附加一项零成本前置:rollout 默认带上 06780 的原创性指令;带指令失败、不带指令成功的实例判 exploit-positive,直接剔除。Open-SWE-Traces 用这条规则砍掉 27% 语料,说明它的命中率足够高。
第五步,报告协议。 per-category 分辨率强制拆两列:canonical 列与视图列。23377 现有的「总分辨率 / 最小类提升 / 专家增益恢复」三个指标全部按两列重算,把每类的提升分成可迁移分量与 cue-bound 分量。
关键技术挑战。 其一是变换保真与奖励可比性:Level 4 保功能重写必须维持可执行语义与测试判据,否则 RL 奖励被变换本身污染,引入的不是探针而是噪声;每级变换后都要跑 gold patch 复现。其二是脚手架耦合:Level 2 重命名会让依赖硬编码路径的工具(IDE API、语言服务器查询)失效,SchrodingerRepo 在 Internal Validity 里自陈只覆盖命令行交互,换脚手架要重做适配。其三是视图泄漏的自证风险:扰动视图若固定下来反复训练,会被模型吸收成新的「熟悉视图」,把一条探针变成又一条线索;应对是 seed 段轮换与训练/评估 seed 隔离。其四是分布位移:只在 canonical 上训、只在扰动上评会低估,反过来会在新命名法上过拟合,两列同报是底线。
预期成果
定量目标三条。其一,一张 32K 量级训练池的 分布图谱与 仓库排序表,并给出 与 SWE Labeler 各轴(Task Type、Repository Domain、修改范围、认知复杂度、估计解决时长)的交叉表——哪个类别 cue-bound 最重,一眼可见。其二,把 full-setting 下 canonical 与视图的 Pass@1 差值从现在的 6.0–14.4 个百分点收到 5 个百分点以内,canonical 侧的绝对分辨率下降不超过 1 个百分点。其三,给出每个 domain 的「可迁移增益 / cue-bound 增益」分解,使 23377 报告的 58.04%(Pro-618)与 59.00%(SWE-bench Multilingual)这类数字能被拆成两部分。
定性产出是视图账本 schema 与两阶段探针协议。这套 schema 可以直接挂到 Open-SWE-Traces 一类语料的 data card 上,成为继「git 取巧过滤」之后的清洗规则 v2:前者判行为,后者判表征,两栏并列写进版本记录。
可证伪预测五条,任一条不成立即框架失效。P1:被 RRE 判为已掌握的实例里, 的比例高于未掌握实例——若掌握度与线索依赖无关,整套改造白做。
⚠️ P1 的标签口径必须先锁死:Refresh 一旦把掌握度改成 ,新标签就已经内建了视图信息,再拿它与 做相关检验属于同义反复。P1 必须用改造前的 canonical 单视图掌握度标签来分组,或者冻结一批 RRE 历史快照标签作为对照;用新标签跑出来的结果无信息量。P2:Repair SFT 回放集中 的轨迹占比过半,因为成功天然富集在线索依赖实例上。P3:接入 MIRROR 后 canonical 列不升或降 1–3 点,视图列上升,两列之差收窄不少于 3 个点。P4: 与训练池内该仓库实例数单调正相关——某仓库喂得越多,认路优势越大。P5:训练与评估共用 seed 段时视图列高于异 seed 段,这是视图泄漏自证的直接检验。
影响面上,这套东西改变的是 Agentic SWE 语料的记账单位。现在一份 data card 记来源、许可、脚手架、resolved 标记、清洗规则版本;加上 与 之后,下游能回答一个此前答不了的问题:这个数据集训出来的提升,有多少在新命名空间下还成立。
局限性与失效模式
在低基线实例上估不准。pass rate 17% 量级时,每臂 8 次采样的标准误约 13 个百分点,双臂差的标准误会到 18 个百分点上下, 的分辨力弱于 。对这类实例应以 为主标签、 只做复核,并把不可识别的实例记 NA,不得填 0。
变换等级的选择会改变结论。Level 2 是主通道,四级叠加掉幅最大,只用 Level 1 会测出「没有线索依赖」的假阴性——这恰是评测侧早期工作的通病,训练侧必须避开。
比值的分母本身是噪声源。 的分子与分母都来自同一批有限采样,分母越小比值越重尾—— 落在 0.1 量级时, 的抽样波动可以轻易超过 1,而 的可用区间本就只有 。两条修法:一是给分母加平滑(, 取留出组通过率的同量级常数),二是始终同时报 原值,把 当作排序键而非效应量。凡是要进回归或做门控阈值的地方,用平滑后的版本。
还有一条本方案未展开的竞争路线值得登记:把视图当数据增强直接训进去,而不是只用来打标签再降权。Seed 段轮换 + 训练/评估 seed 隔离已经把「视图被再吸收」的主要通道堵上了,那么在同一实例上同时喂 canonical 与视图两条轨迹,理论上比只降权高 样本更直接地削掉线索依赖。它与本方案不冲突(账本与 照样是它的输入),代价是训练算力翻倍、且会改变 23377 的 RRE 迭代动力学。建议把它作为第 5 条臂与 A–D 并列,而不是默认它劣于降权。
Domain 与 cue 集的共线无法靠统计手段彻底解除。同一生态的实例共享命名空间约定, 与 domain 高度相关,MIRROR 只能分离出同一 domain 内的相对差异,跨 domain 比较仍带混淆。这条限制要写进结论,不能靠分层假装不存在。
最后一条是适用范围:SchrodingerRepo 的评测对象以 Python 开源仓库为主,其在 Internal Validity 里承认未覆盖多语言与其他生态。MIRROR 继承了同样的边界,迁移到 42 仓库 9 语种的 SWE-bench Multilingual 之前,需要先把 Level 2 的命名空间映射适配到非 Python 的模块系统。
相关工作
-
Schrödinger’s Code Repository: Have LLMs Learned SWE-bench or Memorized It?(arXiv:2609.27891,Silin Chen、Yufei Yang、Xiaodong Gu 等,上海交通大学 / 西安交通大学 / 华东师范大学,cs.SE)。四级语义等价变换加种子条件化的评测期仓库视图;本文把它从给模型打分的仪器改造成给训练数据打分的仪器。 https://arxiv.org/abs/2609.27891
-
One to More, More to One: Category-Aware Iterative Expert Training for Software Engineering Agents(arXiv:2609.23377,Jie Zhao 等,cs.SE/cs.CL/cs.LG,2026-09-20)。SWE Labeler(Task Type 26/119、Repository Domain 21/108 加三条四级顺序轴)、Refresh–Repair–Expand、ReLU 门控 MOPD;本文的三个接入点全部落在它的 RRE 循环上,并指出其 §5.7 四层防御均为访问控制、触不到表征通道。 https://arxiv.org/abs/2609.23377
-
Shortcutting the Fix: Identifying and Categorizing Agentic Exploits in Software Engineering Benchmarks(arXiv:2609.06780,Nikolai Ludwig 等,cs.SE)。turn-level LLM-as-a-judge 下的剥削率 45.1%–82.4% 与 44.2%–66.1%,原创性指令压到 4.0%–10.7% 与 1.5%–7.1%;NVIDIA Open-SWE-Traces 据此把 207k 轨迹清到 151k。本文把它判的行为通道与表征通道并列为两条正交通道。 https://arxiv.org/abs/2609.06780
-
RepoMirage: Probing Repository Context Reasoning in Code Agents with Perturbations(arXiv:2605.26177,Hanyu Li 等,cs.SE,2026-05-25)。保语义仓库级扰动作诊断工具,Extend 设置下平均性能 66.8%→25.3%,提出 RepoAnchor 结构优先工作流。它属于评测侧固定变体,SchrodingerRepo 已指出「构造即固定」会被再吸收;本文的应对是把视图改成可重复采样的实验变量并只用于打标签。 https://arxiv.org/abs/2605.26177
-
EDGEGEN: Improving Tool-Calling Agents Beyond Happy Paths with Synthetic Edge Case Generation(arXiv:2609.24115,Harshavardhan Abichandani 等,cs.AI,2026-09-21)。从 agent 规格抽取合规规则、生成违反规则的数据库锚定边界任务,构成无需人工标注的闭环;τ²-bench airline 上微调带来 2%–42% 的平均进度提升。它扩充的是任务语义侧的边界覆盖,坐标轴里没有表征维度,可与 MIRROR 直接叠加。 https://arxiv.org/abs/2609.24115