AtomicCommitBench:编码智能体 能否从压缩的补丁中重建提交历史记录?
AtomicCommitBench: Can Coding Agents Reconstruct Commit Histories from Squashed Patches?
摘要
编码智能体 通常通过返回一个混合了功能实现、错误修复、重构、测试和配置编辑的压缩补丁来结束会话。虽然最终代码可能是正确的,但将不相关的编辑折叠到一个补丁中会删除审查、选择性恢复和后期维护所需的历史结构。我们研究回顾性提交历史重建:给定一个已完成的压缩更改,代理将其块分组为提交并具体化可重播的提交序列。我们将任务形式化为具有重放要求的块提交分区,并构建 AtomicCommitBench,其中包含来自 10 个 Python 项目的 800 个真实的连续提交片段。因为多重分解可能是合理的,所以我们使用补充指标来评估输出:PPAR 用于重播有效性,ARI 用于基于参考的分组质量,TCR 用于可评分修改测试集的失败遏制。事实证明,自然回顾性重建比重放检查或合成缠结要困难得多。尽管几乎所有非随机方法都实现了重放有效性 (PPAR >= 0.988),但分组质量范围为 0.03 到 0.46 ARI。匹配的合成复合材料比真正的同一作者压缩差异(+0.333 ARI)容易得多。在我们的评估中,由 Codex CLI (0.46 ARI) 驱动的 GPT-5.4 设置和由 Claude Code (0.43 ARI) 驱动的 GLM-5 设置优于 MiniMax (0.31) 和 Kimi (0.29)。定性分析将同一文件集中和支撑块漂移识别为重复出现的故障模式。依赖性感知提交证据 (DACE) 将低分设置提高了 0.05 至 0.08 ARI,表明依赖性提示和块角色信息可帮助代理避免局部性驱动的分组错误。 AtomicCommitBench 可以评估 编码智能体 生成的提交历史记录以及最终代码。