开发者 Kun Chen 在 DeepSWE v1.1 上跑了一组对照实验。模型选的是 Claude Sonnet 5.5 high 档,111 道题,总共 444 次运行。一组允许 Agent 写测试,另一组禁止。
结果有点反直觉:允许组解出 65.3%,禁止组 66.2%。差 0.9 个点,作者自己标注为“不显著”。
真正显著的是效率。总耗时从 62.0 小时降到 58.0 小时,少 6%;花费从 304 美元降到 278 美元,少 9%。允许组写的测试里,65% 是单元测试,35% 是集成测试,哪类都没带来提升。
这条分享在社区里热度不低,到晚上已有 1,599 个赞、1,551 次收藏、256 条回复。Kun 抽查了一批测试后给出的解释是:
Agent 写的测试没有增加价值,因为实现和测试都只是 Agent 对我们意图的理解。测试并不比实现本身更准确。

分不清是谁错了
他在回复里说得更直白:“测试失败时,分不清是实现错了还是测试错了。而 Agent 可以随便改其中任何一个,让测试通过。”
这就是典型自己出题自己改卷。题和答案出自同一个脑子,对得上不代表答对了。
他还随机抽了 44 道题,连仓库原有的测试都不让跑。结果成功率 59% 对 59%,回归检查没变差。
反对的声音
用户 Asmir 的回复拿到了 49 个赞:
测试的回报在于你第二次改同一段代码时,需要知道什么都没坏。
Geoffrey Huntley 的反驳更尖锐,得到了 101 个赞。他认为 Agent 写的变异测试、属性测试是很好的安全网。Kun 只回了一句:“有数据吗?”
Kun 后来也做了澄清:“有些人把结论理解成别写任何测试,这条帖子不是这个意思。”他真正的重点是:Agent 自主写的测试没被证明有用,而人的引导能改变这一点。
边界也要讲清楚:一个模型、一个基准、111 道题。端到端测试只写了 17 个,E2E 有没有用这次证明不了。原帖没有公开代码,也没有逐题数据。
2 月份 arXiv 上有一篇论文结论相近,作者来自新加坡管理大学、上海交大和字节跳动。他们让两个爱写测试的模型少写测试,结果成功率降了 2.6 和 1.8 个点,但输入 token 分别少了 49% 和 32.9%。方向一致:测试写多写少对成功率影响很小,对成本影响很大。
出题、答题、改卷,各归各
Kun 的建议很克制:“要让测试有用,它必须由人明确赋予绝对权威,而不是由 AI 自主写出来。”
落地有三种做法。
第一,你自己写测试,AI 写实现。人出题,AI 答卷。
第二,另开一个 Agent,只给需求不给代码,让它起草测试例子。你看过、改过再定稿。
第三,在 AGENTS.md 里加一句“不要新增或修改测试”。测试只能跑、不能改,不过就改实现;觉得测试错了就停下来问你。
下次派活前,花五分钟写三条验收例子:输入什么,该得到什么,哪些情况不能发生。跑完比一比花费和返工。
出题的和答题的,最好不是同一个。