南京大学团队最新研究证实,现在主流 Coding Agent 自己生成的自动化测试靠谱程度很低,靠这套自测跑出来的 AI 代码合格率,差不多被高估了一倍,很多在基准里显示 “通过测试” 的代码,换到别的实现版本里就会直接出问题。简单说,现在大家常用的评测方式,大多只拿一份标准答案去生成和校验测试用例,AI 写出来的测试只会认这个特定版本,不是真的读懂需求;它有可能放过带 bug 的代码,也有可能把写法不一样、逻辑正确的代码判定为失败,制造出代码质量很好的假象。这次研究搭建了全新评测基准 TestPrism,包含 300 个测试任务和 3000 份不同的代码实现版本,同时引入 JSF 联合成功率这个新标准,要求一套合格测试必须做到:能抓住错误版本、放行所有合规的正确版本,不能绑定单一参考答案。在参与对比的 14 种 Coding Agent 配置里,表现最好的一组,在旧单参考评测里成功率接近 60%,但换成更严谨的 JSF 指标之后,真实可靠率只有 28%,差距非常明显。研究人员还人工标注了 286 条失败案例,把 Coding Agent 写测试时的问题归成三大类七个细分错误,并且给出了一套叫 TestHelix 的改进方案,在不额外增加推理成本的前提下,可以把真实测试可靠度拉高十几个百分点。
新旧评测指标对比
| 指标 | 旧单参考通过率 | JSF 联合成功率 | 核心差别 |
|---|---|---|---|
| 判定逻辑 | 只对照一份标准答案,跑通就算合格 | 多版本交叉校验,兼顾全部正确实现和错误实现 | |
| 最强 Agent 数据 | 59.67% | 28.00% | 旧标准把测试绑定单一实现,容易造假 |
| 适合场景 | 快速刷榜、对外展示效果 | 评估测试本身是否真正理解业务需求 |
Coding Agent 写测试的典型失败类型
- 过度拟合标准答案:测试把实现细节当成需求,别的正确写法直接报错
- 断言偏弱:只校验少量返回值,大量隐藏 bug 检测不出来
- 需求理解偏移:抓错功能目标,测试本身就是错的
- 边界场景缺失:正常流程能跑,异常输入、极限条件全部漏掉
- 耦合实现:测试和当前代码强绑定,改一行代码整套测试报废
- 误判正负样本:放过有 bug 的代码,拒绝逻辑没问题的变体
- 环境与依赖问题:测试本身跑不起来,编译、运行直接报错
TestHelix 优化方案要点
- 异构合成:生成多组不一样思路的测试用例,避免全部复刻标准答案
- 同伴交叉验证:多个 Agent 互相评审对方产出的测试脚本
- 递归自我迭代:根据校验失败的反馈反复修正测试逻辑
- 多版本样本池:校验阶段使用多份正确、错误代码,不再只用单一参考
落地影响和实操建议
开发团队不能直接信任 Coding Agent 自带自测报告,不要把单轮测试通过当成上线凭证。优先把 AI 生成的测试当成初稿,安排人工复核断言逻辑和边界 case;内部评测尽量引入多版本验证机制;在跑基准、对外展示模型能力的时候,优先选择支持多样本校验的评测集,减少刷分虚高。
【常见问题】
问题 1:Coding Agent 自测大面积翻车,AI 代码合格率虚高接近一倍,这个结论来自哪里?
回答 1:该结论来自南京大学刘佳恒团队的 TestPrism 基准研究,研究对比了 14 种 Coding Agent,发现旧评测方式下的 AI 代码合格率被高估接近一倍,真实有效的测试通过率大幅缩水。
问题 2:Coding Agent 自测大面积翻车,AI 代码合格率虚高接近一倍,是不是代表 AI 写代码完全不能用?
回答 2:不是,只是代表 Coding Agent 自动生成的测试不可靠,自测结果参考价值有限;AI 代码依然可以辅助开发,但不能靠它自己写的测试来确认代码没问题,需要人工或者更严谨的多版本校验。
问题 3:Coding Agent 自测大面积翻车,AI 代码合格率虚高接近一倍,TestHelix 框架能解决这个虚高问题吗?
回答 3:TestHelix 可以缓解 Coding Agent 自测虚高的问题,依靠多测试合成、交叉评审和递归改进,在同等算力下提升 JSF 真实成功率,但没法彻底消除 Coding Agent 写测试时的理解偏差。
【参考资料】
[2026-11-12](Coding agent 写测试集体失败!AI 代码合格率被高估一倍)腾讯新闻(新智元)
[2026-09-02](VibeCheck:评估大模型生成单元测试质量)arXiv
[2026-07-31](AI 生成 PR 里测试失败的实证分析)ACM Digital Library
【免责声明】
本文内容基于公开学术论文与媒体报道整理,Coding Agent 的实际表现会随模型版本、提示词、业务场景发生变化;本次研究结论针对当前自动测试生成评测体系,不代表所有 AI 编码产品在真实业务中的表现,本文不构成技术选型、线上发布的决策依据。
