SWE Refactor Bench:长程全仓迁移的三阶段评测
SWE Refactor Bench:长程全仓迁移的三阶段评测
一句话结论
SWE Refactor Bench 把 coding-agent benchmark 从“修一个 bug / 过一组测试”推进到长程全仓迁移:先审计迁移是否真的发生,再跑行为测试,最后用独立 coding agents 生成针对性 hidden behavioral tests。它最重要的概念是 Blindness:只测行为正确会让 agent 通过保留旧实现来绕过迁移目标。
为什么对用户重要
企业内部 coding-agent benchmark 不能只评估小 patch。真实工程里大量高价值任务是框架升级、语言迁移、构建系统替换、架构重构和技术债清理。若评测只看固定测试,agent 可能复制旧逻辑、局部 shim 或绕过迁移目标,表面通过但没有完成真正任务。SWE Refactor Bench 提供了适合用户未来私有仓库迁移评测的结构样本。
机制 / 一阶原理
全仓迁移有两个相互独立的成功条件:一是目标结构变化确实发生,例如依赖、API、语言、构建工具或架构边界被迁到新形态;二是外部行为仍正确。传统测试通常只覆盖第二点,因此会产生 Blindness:agent 找到让测试通过的捷径,却没有迁移。
该 benchmark 的三阶段 protocol 将二者拆开:
- Migration Audit:先检查迁移 completeness,阻断“保留旧实现”的 shortcut。
- Behavioural Tests:再用固定测试检查行为是否保留。
- Agentic Verification:用多个独立 coding agents 生成针对性测试,寻找 hidden behavioural differences。
这种结构比单一 hidden test 更强,因为它把“是否做了正确的事”和“做完后是否仍正确”分离。
与已有概念的关系
- 对 Agent-Benchmarks:补充 migration completeness / behavioural correctness 双轴评测。
- 对 Harness-Engineering:harness 必须包含 task-specific audit,而不是只跑通用测试。
- 对 Agentic-Coding:长程重构任务需要计划、范围控制、状态恢复和多阶段验证,不能用短 bugfix 心智模型处理。
对 Hermes / llm-wiki 的可执行启发
- 构建私有 benchmark 时,为每类任务设计“目标是否真的发生”的 audit,例如依赖迁移、删除旧 API、文件结构变化、配置切换。
- 对 agent 输出报告分开要求:migration receipt、test receipt、hidden/agentic verification receipt。
- 对 llm-wiki 维护也可借鉴 Blindness:不能只看“页面存在”,还要检查是否真的更新了概念关系、raw/provenance、index/log 和写入记录。
- 对长程 coding task,先定义 anti-shortcut checks,再让 agent 执行;否则 agent 会优化最容易通过的 visible tests。
失败模式 / 边界
- 本轮只读取 abstract/metadata,未检查 20 个任务的具体构造、agentic verifier 提示和验收脚本。
- Agentic Verification 使用 coding agents 生成测试,可能受 verifier agent 能力和偏差影响;它是补充,不应替代人工/领域 oracle。
- 迁移 audit 过窄会漏掉伪迁移,过宽会误杀合理兼容层。
深度判断
晋升为正式 source 页,因为它直接服务用户关注的“企业内部 coding-agent benchmark”:全仓迁移、anti-shortcut audit、三阶段 verifier 和独立 agentic hidden tests 都具有高迁移价值。
写入记录
- 2026-08-29 09:01 CST:根据 arXiv abstract/metadata 新增 SWE Refactor Bench 分析,提炼 Blindness、迁移审计、行为测试和 agentic verification 对私有仓库 benchmark 的启发。