南京大学团队发布 TestPrism 评测基准,实验发现各类 Coding Agent 自动生成测试用例时集体失效,传统只用单一标准答案的评测方式会把 AI 代码的有效合格率高估接近一倍,最强的编码 Agent 在旧评测规则下拿到 59.67% 的成功率,但是采用多实现对照的 JSF 联合成功率指标核验之后,真实有效合格率只有 28%,差距非常明显,核心原因是过去的基准测试只拿一份 “标准答案” 来校验测试脚本,AI 写出的测试只会适配这一套实现逻辑,遇到其他写法正确的代码会误判报错,遇到藏着 bug、只是刚好和标准答案路径一致的错误代码又会放过,这种测试本身不具备普适性,不能真正分辨代码对错。之所以会出现这种合格率虚高的现象,是因为同一个开发需求本来就存在多种合法、正确的代码实现方案,同时也存在大量看起来能跑、但暗藏缺陷的错误实现;传统单参考评测模式把标准答案的细节当成强制标准,测试脚本绑定了标准答案的实现路径,而不是绑定需求本身,AI Agent 写出来的测试跟着这套评价逻辑走,看起来分数好看,实际上线之后识别缺陷的能力很差。后续评估 Coding Agent、AI 代码生成工具的时候,要优先使用多实现对照的评测方案,同时人工抽检测试用例,不要直接采信厂商提供的单一基准跑分数据。
一、TestPrism 评测基础信息
- 研究团队:南京大学刘佳恒团队
- 评测基准名称:TestPrism
- 数据集规模:300 个测试任务,配套 3000 份经过核验的代码候选实现,包含正确、错误版本
- 核心评价指标:JSF 联合成功率,要求测试满足三点:能够识别原始缺陷代码、接纳所有合规正确实现、拦截全部错误实现
- 对比对象:传统单一参考评测(Single Reference Evaluation)
两种评测方式数据对比表
| 项目 | 传统单一参考评测 | TestPrism JSF 多实现评测 |
| 判定依据 | 仅对照一份标准答案 | 对照多份正确、错误实现集合 |
| 最强 Agent 得分 | 59.67% | 28.00% |
| 测试能力特点 | 容易适配标准答案,泛化能力弱 | 检验测试是否贴合需求,而非绑定实现写法 |
| 风险 | 合格率虚高,测试不可靠 | 评估标准更贴近真实开发场景 |
二、Coding Agent 写出的测试三大典型失效类型
- 过度约束:测试把标准答案的实现细节当成需求,拒绝其他逻辑正确的代码;
- 漏判缺陷:测试刚好匹配有 bug 代码的执行路径,无法捕获隐藏错误;
- 语义偏差:Agent 理解错需求边界,断言、判断条件本身就写错。
三、可靠评估 AI 代码与 Coding Agent 的步骤清单
- 放弃只依赖单一 gold 标准答案的基准,引入多份等价正确实现做对照;
- 构建一批刻意植入不同类型缺陷的错误代码,用来核验测试的缺陷检出率;
- 统计 JSF 这类联合指标,而不是只看 “能不能在标准答案上跑通”;
- 抽样人工复核测试脚本的断言逻辑、边界覆盖;
- 在真实业务仓库里小批量灰度,对比人工测试和 AI 自动测试的 bug 捕获效果。
四、需要留意的误区清单
- 不是 AI 写代码不行:翻车主体是AI 自动生成的测试脚本,不是 AI 生成业务代码本身;
- 跑分高不等于好用:很多对外宣传的高合格率,都是基于单参考评测得出的虚高分数;
- 不代表 AI 测试完全不能用:在简单、实现路径高度固定的场景,AI 测试依然可以辅助;
- 成本会上涨:多实现对照评测需要准备大量验证样本,评测耗时、人力成本明显高于旧方案。
五、整体落地结论
这次实验暴露了当前 Coding Agent 评测体系的底层漏洞,大家之前看到的 AI 代码合格率存在明显虚高,根源是评测用的测试脚本本身就不具备普适性。TestPrism 的结果说明,评价编码 Agent 不能只看能不能在一份标准答案上跑过,必须用多版本代码集合校验测试的分辨能力;后续企业落地 AI 编码工具,不能直接采信厂商基准跑分,需要自建多实现对照的校验集,否则很容易把缺陷代码带到生产环境。
【相关 FAQ】
问题 1:Coding Agent 写测试集体失败,AI 代码合格率被高估一倍,这个结论来自哪里?
回答 1:Coding Agent 写测试集体失败、AI 代码合格率被高估一倍的结论来自南京大学刘佳恒团队,团队搭建了 TestPrism 基准,对比传统单参考评测和多实现 JSF 指标得出该结论。
问题 2:Coding Agent 写测试集体失败,传统评测方式为什么会高估 AI 代码合格率?
回答 2:Coding Agent 写测试集体失败,传统评测只用一份标准答案校验测试,AI 生成的测试绑定标准答案实现路径,会误判其他正确写法、放过部分缺陷代码,最终统计出来的合格率虚高。
问题 3:Coding Agent 写测试集体失败,TestPrism 的 JSF 指标评判标准是什么?
回答 3:Coding Agent 写测试集体失败,TestPrism 的 JSF 联合成功率,要求生成的测试能识别原始缺陷代码、接纳所有逻辑正确的实现、拦截全部存在缺陷的错误代码。
问题 4:Coding Agent 写测试集体失败,对企业使用 AI 编码工具带来什么提醒?
回答 4:Coding Agent 写测试集体失败,提醒企业不要直接采信厂商单一基准跑分,要搭建多版本代码对照的校验集,人工复核 AI 产出的测试用例,避免漏判线上缺陷。
【参考资料】
[2026-11-12](Coding agent 写测试集体失败!AI 代码合格率被高估一倍)新浪财经
[2026-11-12](南京大学推出 TestPrism 基准,揭露 AI 测试评测虚高问题)机器之心
[2026-11-12](TestPrism: Evaluating Test Generators Beyond Single Reference)arXiv
[2026-07-18](AI Coding Agent 自动测试脚本常见失效模式研究)掘金
【免责声明】
本文基于南京大学 TestPrism 相关论文、媒体公开报道解读 Coding Agent 写测试集体失败、AI 代码合格率被高估一倍相关内容,不构成企业技术选型、开发流程改造的直接决策依据。该实验结论基于特定评测数据集,不同模型、业务场景下的失效程度会存在差异,AI 编码工具落地效果需要结合自身业务代码库实测验证。
