ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LLM是学会还是背下SWE-bench?上交大等提出薛定谔代码库

LLM是学会还是背下SWE-bench?上交大等提出薛定谔代码库 Schrödinger’s Code Repository: Have LLMs Learned SWE-bench or Memorized It?作者Silin Chen, Yufei Yang, Xiaodong Gu, Yuling Shi, Chengcheng Wan, Haibing Guan核心发表机构Shanghai Jiao Tong University、Xi’an Jiaotong University、East China Normal University、Shanghai Innovation Institute论文链接arXiv:2609.27891v1发布于arXiv 预印本cs.SE|———| GPT-5.4-mini | 46.8% | 35.6% | −11.2% || DeepSeek-v4-Flash | 72.8% | 66.8% | −6.0% || GPT 5.1 | 44.6% | 36.2% | −8.4% || Gemini-3.1-Flash-Lite | 56.7% | 42.3% | −14.4% |作者强调由于底层 issue、执行环境与测试定义的正确性判据都未改变性能下降不能由任务语义变化解释而更可能说明规范 SWE-bench 表现部分受益于对规范仓库表示的熟悉当前智能体对训练中遇到的仓库侧线索是敏感的。交互成本的上升同样普遍平均动作数与 token 消耗均明显增加受影响最强的配置中输入 token 使用量增加超过2.5 倍。例如 GPT 5.1 的动作数增加61.5 % 61.5\%61.5%、输入 token 增加161.3 % 161.3\%161.3%、输出 token 增加68.6 % 68.6\%68.6%GPT-5.4-mini 的动作数增加76.2 % 76.2\%76.2%、输入 token 增加255.4 % 255.4\%255.4%、输出 token 增加86.4 % 86.4\%86.4%DeepSeek-v4-Flash 的动作数增加116.0 % 116.0\%116.0%、输入 token 增加253.6 % 253.6\%253.6%、输出 token 增加81.6 % 81.6\%81.6%Gemini-3.1-Flash-Lite 的动作数增加81.09 % 81.09\%81.09%、输入 token 增加136.06 % 136.06\%136.06%、输出 token 增加67.66 % 67.66\%67.66%。RQ2侵蚀熟悉的仓库侧表面线索如何影响智能体该问题通过细粒度动作分类法分析轨迹观察额外动作在六类动作中的分配navigate、search、read、probe、edit、test。结果显示SchrodingerRepo 带来的主要行为成本不是编辑或测试努力增加而是动作系统性重新分配到仓库探索。对 DeepSeek-v4-Flash83.6%的额外动作属于navigate、search、read、probe仅16.5%属于edit和test其中probe占 31.4%read占 19.4%search占 17.9%。对 GPT-5.4-mini81.6%的额外动作集中在探索导向行为上其中read占 41.8%、search占 33.1%、probe仅占 3.7%。GPT 5.1 的动作分布与 GPT-5.4-mini 高度相似同样以read和search为主、probe很少。由此可以读出一个探索策略差异DeepSeek-v4-Flash 更倾向于运行时轻量执行与主动探测在 baseline 中动作数就已经更多在变换视图下进一步增加探索因而保留了更大比例的 Pass1但交互开销与 token 消耗显著更高GPT-5.4-mini 更保守主要依赖静态检查与文本检索探索动作更少但在熟悉仓库线索被侵蚀后相对性能退化更大。换言之存在探索强度与鲁棒性之间的权衡更探索性的智能体更能恢复缺失的仓库上下文而更保守的智能体对表示偏移更敏感。总体而言当熟悉线索被移除后智能体必须通过导航、搜索、阅读与探测来重建仓库理解而不是直接执行修复。RQ3SchrodingerRepo 能否迁移到其他仓库级任务在 SWE-QA 上变换后的仓库视图同样造成答案质量下降与交互成本上升模型Baseline ScoreSchrodingerRepo Score变化GPT-5.4-mini70.3565.71−4.64DeepSeek-v4-Flash72.9772.42−0.75细分来看最大影响仍来自Level 2命名空间映射GPT-5.4-mini 在该层下降 3.95 分DeepSeek-v4-Flash 下降 0.45 分Level 1 几乎无影响Level 3 与 Level 4 仅造成较小答案质量变化。这说明仓库自有名称即使对 QA 任务也是主导性的仓库侧线索。交互成本方面GPT-5.4-mini 的平均动作从 6.28 增至 7.42 18.15 % 18.15\%18.15%输入 token 增加34.65 % 34.65\%34.65%输出 token 增加21.32 % 21.32\%21.32%DeepSeek-v4-Flash 的动作从 24.49 增至 35.02 43.02 % 43.02\%43.02%输入 token 增加59.10 % 59.10\%59.10%输出 token 增加32.07 % 32.07\%32.07%。作者解释与 issue resolution 相比Level 3 与 Level 4 在 QA 上影响更小因为 QA 主要需要定位和理解仓库上下文并不涉及完整的故障定位、修改、测试执行与迭代验证工作流。两个模型的鲁棒性剖面与 RQ2 一致DeepSeek-v4-Flash 更探索性能在替代视图下重建足够上下文因而基本保持 QA 性能但交互成本高GPT-5.4-mini 更高效但在规范表示下更敏感替代实例下交互成本增加且答案质量下降。因此SchrodingerRepo 引起的行为与效率变化可以泛化到仓库级问答说明其影响不局限于 issue resolution。RQ4SchrodingerRepo 是否使 issue 解决实例本身变得更难这是排除替代解释的关键实验仅在时间上留出的 SWE-rebench 实例上进行共 110 个实例均创建于 GPT-5.4-mini 发布之后使直接暴露于被评估实例的可能性很低。设置Pass1ActionsInput TokensOutput TokensBaseline17.27%15.82143,626.492,842.78SchrodingerRepo17.27% (0.00%)17.11 (8.15%)175,231.61 (22.01%)3,285.61 (15.58%)与 SWE-bench Verified 不同GPT-5.4-mini 在完整 SchrodingerRepo 下 Pass1保持不变仍为 17.27%但交互成本明显增加平均动作从 15.82 到 17.11输入 token 增加22.01 % 22.01\%22.01%输出 token 增加15.58 % 15.58\%15.58%。这表明 SchrodingerRepo没有使底层 issue-resolution 任务在可解性上变得更难而只是改变了智能体与仓库的交互过程导致更高的探索成本同时保持最终结果。作者进一步指出交互成本的增加在广泛使用、长期存在的仓库中更为明显——这些仓库更可能在预训练或开发中遇到过——这从侧面支持了规范 SWE-bench 实例可能部分受益于智能体对仓库特定表面表示的熟悉这一解释。其结论是SchrodingerRepo 移除的主要是对熟悉仓库侧线索的依赖而非增加任务难度。4.3 消融实验 / Ablation StudyLevel-wise 消融把四层变换逐层拆开以识别鲁棒性差距的来源。Level 1问题陈述重构对 Pass1 影响很小。GPT 5.1 与 GPT-5.4-mini 的 Pass1 完全不变DeepSeek-v4-Flash 下降2.0 2.02.0个百分点。这说明仅改写问题陈述不足以移除熟悉仓库表示带来的优势。不过值得注意的是DeepSeek-v4-Flash 在 Level 1 下的行为已经发生变化动作数增加33.2 % 33.2\%33.2%、输入 token 增加42.8 % 42.8\%42.8%而输出 token 反而下降6.4 % 6.4\%6.4%与 GPT 系列在 Level 1 下的近乎无效形成对比。在 SWE-QA 上Level 1 同样几乎不产生影响GPT-5.4-mini −0.03 分DeepSeek-v4-Flash 0.08 分。Level 2命名空间映射是单项退化最大的层级。GPT 5.1、GPT-5.4-mini、DeepSeek-v4-Flash 分别下降7.4、6.4、6.0 个百分点所有设置统计显著p 0.01 p0.01p0.01。交互成本的增加幅度也是各层中最高的三个模型的平均动作数分别增加63.3%、32.6%、112.4%输入 token 分别增加162.3%、108.2%、218.3%。以 DeepSeek-v4-Flash 为例Level 2 下 Pass1 为 66.8%p 0.01 p0.01p0.01平均动作 98.13 112.4 % 112.4\%112.4%p 0.01 p0.01p0.01输入 token 3,332,478 218.3 % 218.3\%218.3%p 0.01 p0.01p0.01输出 token 22,549 55.5 % 55.5\%55.5%p 0.01 p0.01p0.01。这一结果与动机实验相互印证仓库内部的命名与符号系统是最具辨识度的记忆线索。Level 3文件内布局重排与 Level 4保功能代码重写造成中等幅度下降。跨模型来看Level 3 的 Pass1 变化范围在0.8 0.80.8–3.4 3.43.4个百分点之间Level 4 在1.2 1.21.2–2.8 2.82.8个百分点之间影响较为温和但仍伴随交互成本上升。以 DeepSeek-v4-Flash 为例Level 3 下 Pass1 为 72.0%− 0.8 % -0.8\%−0.8%平均动作 47.52 2.9 % 2.9\%2.9%输入 token 增加5.0 % 5.0\%5.0%输出 token 增加2.5 % 2.5\%2.5%Level 4 下 Pass1 为 70.0%− 2.8 % -2.8\%−2.8%p 0.05 p0.05p0.05平均动作 48.88 5.8 % 5.8\%5.8%输入 token 增加17.2 % 17.2\%17.2%输出 token 增加16.2 % 16.2\%16.2%p 0.05 p0.05p0.05。完整 SchrodingerRepo 产生最大总体退化。GPT 5.1 从 44.6% 降至 36.2%− 8.4 % -8.4\%−8.4%GPT-5.4-mini 从 46.8% 降至 35.6%− 11.2 % -11.2\%−11.2%DeepSeek-v4-Flash 从 72.8% 降至 66.8%− 6.0 % -6.0\%−6.0%均达到或超过单层中退化最大的 Level 2。交互成本方面DeepSeek-v4-Flash 在完整设置下平均动作达到 99.78 116.0 % 116.0\%116.0%p 0.01 p0.01p0.01输入 token 达到 3,702,241 253.6 % 253.6\%253.6%p 0.01 p0.01p0.01输出 token 达到 26,347 81.6 % 81.6\%81.6%p 0.01 p0.01p0.01。这一联合大于单层的模式说明对规范仓库表示的熟悉分布在多个呈现层级上而非仅集中在命名结构。4.4 案例研究熟悉与不熟悉仓库视图下的轨迹对比作者以django__django-11999为例做定性的轨迹对比。该实例的问题是用户定义的get_FOO_display()方法被 Django 生成的 display 方法覆盖。在原始仓库视图下智能体快速跟随 issue 中熟悉的 Django 术语行动列出仓库后直接在django/db/models/下搜索get_.*_display立即返回django/db/models/fields/__init__.py与django/db/models/base.py打开字段文件附近的匹配行观察到get_%s_display通过setattr被无条件安装简要检查base.py中的 backing implementation 后就已定位错误代码并识别出修复方案——用存在性检查保护生成方法的安装。在SchrodingerRepo 转换视图下同一个 issue 通过变换后的仓库视图暴露智能体不能再依赖原始的 Django 路径与类名。轨迹随即转向更广泛的仓库探索列出当前目录、枚举 Python 文件、检查顶层working_repository/树、在源文件与测试文件中搜索 display 相关方法之后打开转换后的实现文件working_repository/storage_engine/object_models/entries/__init__.py与相关 backing-method 文件working_repository/storage_engine/object_models/anchor.py。即使找到了类似render_%s_label的生成逻辑智能体仍继续检查周围字段注册逻辑、测试、配置文件、最小复现设置以确认转换后的名称确实对应原始 display 方法的行为。最终转换运行需要更多交互步骤从 37 个 action 增至 217 个 action但仍收敛到相同的提交补丁。这一对比直观地说明SchrodingerRepo 改变的是交互过程而非修复的本质。五、相关工作 / Related WorkSWE-bench 及其变体。SWE-bench 把真实 GitHub issue 转化为可执行的补丁生成任务SWE-bench Verified 通过人工验证提高可靠性成为前沿编码智能体的标准基准SWE-Bench 改进基准实例质量与 metadata 覆盖SWE-bench Live 与 SWE-rebench 强调时间新鲜度加入新发布或 post-release 任务以减少直接污染SWE-Bench Pro 转向更复杂、长程、活跃维护仓库中的 issueSWE-bench Multimodal 扩展到混合文本与视觉输入SPICE 自动标注 issue clarity、test coverage 与 effortSWE-Effi 在资源约束下重新评估有效性Repo2Run 与 R2E-Gym 关注可扩展可执行环境与程序化训练/评估SWE-Bench 研究从开源项目可扩展生成仓库级基准实例。本文指出这些变体共同面临覆盖度与新鲜度的权衡优先新引入或人工精选实例可提高评估干净度但常因丢弃大型成熟仓库中的长尾案例而降低仓库级错误模式的多样性没有单一变体能够完全捕获真实世界软件工程失败模式的广度。SchrodingerRepo 的差异化路线是保留现有基准的覆盖度同时在评估时系统性地变化仓库呈现从而在不牺牲实例多样性的前提下实现鲁棒性评估。静态基准扰动。近期工作开始研究 SWE-bench 上的强性能究竟反映真实仓库级推理还是对固定 benchmark artifacts 的敏感性。SWE-Bench Illusion 显示模型可以利用 issue 描述与仓库位置之间的稳定关联性能可能部分依赖静态评估设置中的学习相关性LastingBench 研究防御知识泄漏的基准构建策略Wang et al. 重新审视已解决的 SWE-bench issue质疑被接受的 patch 是否语义正确Ahmed et al. 分析 test overfitting 导致的基准性能膨胀UTBoost 与 SWE-ABS 通过更严格或对抗性的测试加强评估Saving SWE-Bench 变异基准实例以创建更现实的 agent 评测设置PoorCodeSumEval 引入受控代码混淆修改标识符并降低可读性同时保留程序行为测试对表面词汇线索的鲁棒性RepoMirage 对 SWE-bench 实例应用仓库级扰动在改变结构呈现下增加表观难度。本文承认这些方法共同表明修改静态基准呈现可以暴露对评估工件表面规律性的敏感性但同时指出它们的共同局限转换后的实例一旦构建就固定仍可能被纳入未来的训练或评估语料从而限制其防止重复暴露于特定表示的能力。由此可以清晰界定 SchrodingerRepo 的位置它把仓库表示实例化为潜在的、评估时的变量生成新鲜的、种子条件化的仓库视图在每次评估运行时才被实例化同时保留完整的执行语义与正确性判据。它要确保的是智能体真正从实现的仓库结构出发解决底层问题而非依赖对规范仓库呈现的先前熟悉。这也解释了本文的自我定位既有的缓解路线是更换实例换新题本文的路线是同一实例、动态更换表示是一个可逐层解耦、定量归因的实验工具而非单纯新增一个静态基准。六、局限性与展望 / Limitations Future Work外部效度。评测在 SWE-bench Verified 与 SWE-QA 上进行这些基准主要由 Python 开源仓库组成。虽然它们提供了现实感较强的仓库级软件工程任务但仍可能反映特定生态的特征与 SWE-bench 式的交互模式。观察到的鲁棒性差距与行为变化能否泛化到其他编程语言、其他仓库生态、不同结构约定与开发实践仍是一个开放问题。内部效度与工具接口。当前实现主要针对命令行式的仓库交互。这覆盖了被评测智能体的绝大多数操作但配备更丰富仓库感知工具的智能体可能需要额外适配例如 IDE APIs、language-server 查询以及 AST 级导航必须确保变换后的仓库表示在所有这些工具接口中都保持一致。把 SchrodingerRepo 扩展到支持此类工具接口被列为明确的未来工作。变换范围的规模约束。由于仓库级全量变换在 SWE-bench Verified 规模下计算上不可行Level 3 仅在 golden-patch 相关文件内重排Level 4 仅对 golden-patch 相关代码区域重写。这一取舍让评测可行但也意味着变换的作用面限定在与目标 issue 最相关的局部更广泛的仓库级布局与实现模式变化未被覆盖——这部分影响是否与局部变换同阶资料未给出结论。验证流程的人工依赖。Level 1 的重建需要人类工程师终审每个变换层级还需人类审查者额外检查 100 个随机抽样实例以确认变换版与原版指向同一底层任务。动机实验同样依赖人类专家逐轮判断模型输出中是否包含尚未出现在 prompt 中的任务特定内容。这类人工环节保证了有效性但也限制了框架在超大规模基准上的吞吐。评估成本的传导。由于每个 benchmark instance、每个变换级别都要生成 3 个随机种子视图并独立评估后取平均总评估成本相对静态基准被放大约一个数量级而被评估的某些模型本身在变换视图下的交互成本已急剧上升例如 DeepSeek-v4-Flash 在完整设置下平均动作数增加116.0 % 116.0\%116.0%、输入 token 增加253.6 % 253.6\%253.6%。这构成一种现实约束表示鲁棒性评估在提高诊断力的同时显著提高了评测的算力门槛。七、总结 / Conclusion本文针对仓库级编码基准的内生数据泄漏问题提出了一条不同于更换实例的技术路线。作者先通过人类专家逐轮揭示问题陈述的动机实验量化地证明被评估模型在接触仓库之前就已在超过 65% 的实例上表现出任务特定记忆、在超过 18% 的实例上能在 patch/test 层面召回修复内容从而为记忆而非推理这一质疑提供了直接证据。随后提出 SchrodingerRepo把测试仓库建模为评估时潜变量通过问题陈述重建、命名空间映射、文件内布局重排与保功能代码重写四个语义保持的变换层级在保留原始可执行行为与测试判据的前提下侵蚀命名约定、文件布局与实现模式带种子、可逆的映射与基于仓库状态的补丁恢复机制则保证评估仍然锚定在原始 SWE-bench 坐标之上。实验给出了相互支撑的三条证据链。其一在 SWE-bench Verified 上完整变换使 Pass1 下降6.0 6.06.0–14.4 14.414.4个百分点p 0.05 p0.05p0.05其中命名空间映射贡献最大其二轨迹分析显示81.6 % 81.6\%81.6%–83.6 % 83.6\%83.6%的额外动作花在仓库探索与定位上而非编辑或测试说明成本来自重建仓库理解其三效果可迁移到 SWE-QA答案质量最多下降4.64 4.644.64分动作数增加18.15 % 18.15\%18.15%–43.02 % 43.02\%43.02%而在时间上留出的 SWE-rebench 实例上 Pass1 保持17.27 % 17.27\%17.27%不变、仅交互成本上升动作 8.15 % 8.15\%8.15%、输入 token 22.01 % 22.01\%22.01%从而排除了变换只是把任务变得更难这一替代解释。案例研究进一步从定性角度展示了同一修复任务在熟悉与不熟悉仓库视图下 37 步与 217 步的轨迹差异却收敛到同一补丁。综合来看论文的结论是当前编码智能体的强表现部分反映的是对表层仓库线索的记忆而非完全的仓库级推理能力。这一发现的方法论意义在于仓库表示应被视为评估编码智能体时的显式实验变量——评估范式应从在单一可能已被熟悉的表示上测性能转向在语义等价的多种仓库实现上测鲁棒性。作者也明确指出这一框架仍受限于 Python 生态与命令行式交互未来工作需要在多语言、多生态以及 IDE APIs、language-server 查询等更丰富的仓库感知工具接口下保持表示鲁棒评估的一致性。原文摘要:Repository-level coding benchmarks have become the standard for evaluating coding agents, yet they inherently suffer from data leakage because they are built upon popular open-source repositories repeatedly used for training. Consequently, strong performance may reflect memorization of canonical repository cues rather than robust repository reasoning. We propose SchrodingerRepo (Schrödinger’s Repository), an evaluation framework for testing coding agents under dynamically instantiated repository representations. Instead of repeatedly using a static representation of the test repository, SchrodingerRepo treats the test repository as an evaluation-time latent variable that is dynamically instantiated only when the agent enters the evaluation environment. The instantiated repository preserves the original executable behavior while eroding familiar cues such as naming conventions, file layouts, and implementation patterns through four transformation levels: problem statement reconstruction, namespace remapping, intra-file layout reordering, and functionality-preserving code rewriting. We evaluate popular LLMs on SWE-bench Verified and SWE-QA. Results show that removing familiar repository cues consistently degrades agent performance and substantially increases interaction costs across models. Further analysis reveals that the additional cost is primarily caused by increased difficulty in repository exploration and localization. These findings suggest that current coding agents may partially rely on memorized repository-side cues, highlighting the need for evaluation under dynamically instantiated repository representations.PDF链接:https://arxiv.org/pdf/2609.27891v1部分平台可能图片显示异常请以我的博客内容为准
返回列表