你看到的「AI 写代码 90 分」可能是假的:HumanEval+ 把所有人打回原形

  • 关联论文:2305.01210

你有没有想过 🤔,你买的"AI 程序员"到底能写对多少代码?

不是厂商宣传的那种「90% 一次通过率」,也不是新闻稿里的「接近人类水平」——是真实的、严格的、拿几千个刁钻测试用例砸过去以后,还能不能写对的那种"对"。

2023 年有一篇论文,做的事可以用一句话概括:把评判 AI 代码能力的考卷,从每题 8 道题改成每题 800+ 道题。 结果令整个行业冷汗直流:所有主流模型的真实得分,平均直接掉了 19 到 29 个百分点


0 · TL;DR(30 秒版)

这篇论文叫 EvalPlus,它做了两件事:(1) 用 LLM 自动生成 + 代码变异两条腿,把 HumanEval(AI 代码圈的"高考")每题的测试用例从 7-10 个扩到 平均 764+ 个(80 倍增幅),得到 HumanEval+;(2) 把 26 个当时主流的代码 LLM 拉过去重考。 三个反直觉的发现: - 所有模型都大幅掉分,平均跌幅 19.3–28.9 个百分点; - 排名发生反转——原榜里比 ChatGPT 弱的几个模型,反而在加试题上反超了 ChatGPT; - 你的"AI 程序员"采购决策,可能就是被这种虚假排名误导的。


1 · 痛点:考卷太简单,AI 都在"背答案"

时间回到 2023 年初。GPT-4 刚发布,ChatGPT 火遍全球。AI 写代码这件事,所有人都在拿一个榜单叫 HumanEval 来衡量——这个榜单有 164 道 Python 编程题,每道题配 7-10 个单元测试。

模型在这张榜单上的分数,从 2021 年 Codex 时代的 28%,一路涨到 2023 年 GPT-4 的 80%+。曲线一路向上,看起来 AI 写代码已经"差不多够用了"。

但工业界用 AI 写代码的人都在抱怨一件事:真实失败率远高于榜单所暗示的

为什么?因为一张考卷如果只有 8 道题,再聪明的学生也可以专门针对这 8 道题复习——碰到的题型、背过的边界值、被反复训练的 case,全 cover。换成 800 道题,还能 cover 住吗?

这就是 EvalPlus 想戳破的幻觉:榜单分数的水分,到底来自"题目太简单",还是"测试用例太弱"?


2 · 核心方法:把考卷加厚 80 倍

EvalPlus 的整个设计,可以用一句话讲清楚:给每道题自动生成大量新测试用例,让"靠押题过关"变成不可能。

两条腿走路

(a) LLM-driven:让 GPT 自己出刁钻题

对每道原始题目,让一个强 LLM(ChatGPT)反向思考:

  • 边界值会什么?(空字符串、null、超长输入、负数、零)
  • 用户可能怎么误用?(特殊字符、unicode、不合法格式)
  • "natural but tricky"的输入有哪些?

LLM 还要同时给每个输入写出期望输出,与原题的标准答案对拍,形成 oracle。

(b) Mutation-based:让代码故意"变形"找漏洞

把标准答案代码做小幅变异(改运算符、换循环结构、调条件顺序),用差分测试找"哪些输入会让新旧实现分叉"。找到的分叉输入,就是原测试集没覆盖到的高价值测试用例。

类比软件测试术语:LLM-driven 像"探索性测试"找刁钻场景;mutation-based 像"变异测试"找隐蔽分支。两者互补。

最终效果

每道题的测试用例从 7-10 个飙到 平均 764+ 个,80 倍增幅。HumanEval+ 就此诞生。


3 · 为什么这件事重要:所有人都被打脸

EvalPlus 团队把当时 26 个主流 LLM(商用 + 开源)拉过去重考,三个发现让行业集体沉默:

发现 1:全员大幅掉分,没有任何模型幸免

所有模型 pass@1(一次写对的概率)下降 19.3 到 28.9 个百分点

举个直观例子:一个模型原榜 70 分,加试题后可能只剩 50 分;一个原榜 50 分的,可能只剩 30 分。

发现 2:相对排名发生反转

这才是最致命的。原榜里比 ChatGPT 弱的 WizardCoder-CodeLlama、Phind-CodeLlama,在 HumanEval+ 上反超 ChatGPT

意思是:你以为的强弱关系,可能完全是反的。

发现 3:测试用例不足导致"误排序"

这是最危险的事——不仅分数虚高,连排名都是假的。两家厂商拿着同样的原榜数据,一个说"我比你强 5 个点",另一个说"我比你强 3 个点"——加上增强测试后,顺序可能颠倒

对采购决策的影响是反向的:你花更多钱买的"更强的模型",可能反而更弱。


4 · 对普通人意味着什么

你不是 AI 研究员,但你大概率在用 AI 写代码(Cursor、Copilot、Devin、Claude Code……)。这件事对你的实际影响是:

  1. 别只看厂商贴的 HumanEval 分数——很可能有 20-30 个百分点的"水分"。采购决策时,要求对方提供 HumanEval+ 数据或自建内部基准。
  2. 评估两模型时,把"原榜 vs 增强榜"不一致当 red flag——这往往意味着某家厂商在押题。
  3. 代码评审不能省——2026 年回看,没有任何静态测试集能 100% 覆盖工业场景。大厂仍然在 LLM 生成的 PR 上做 reviewer 制度 + 持续 lint,不是没有道理的。

5 · 后续影响:这场"考试改革"持续到今天

EvalPlus 的影响远超一篇论文。它直接催生了整个"代码 LLM 真实评测"赛道:

  • LiveCodeBench:持续注入新题,避免押题;
  • SWE-Bench Verified:用真实 GitHub issue 修复做评测;
  • BigCodeBench:覆盖多语言代码库调用;
  • HumanEval-X / MBPP+:扩到 Rust/Go/Java/TS。

原作者团队后续还发布了 EvalPlus v2MonkeyEval 等扩展,把"任何编程基准都可以 augment"做成了通用框架。


6 · 一句话总结

如果说 2023 年的另一篇著名论文揭露了"对齐不可靠",那这篇论文揭露的是 "评价不可靠"。HumanEval+ 的真正价值,不在那张更难的考卷本身,而在它重新定义了——「LLM 能写正确代码」这件事,到底需要多严格的门槛才能算数

下次再看到厂商拍着胸脯说"我们模型 HumanEval 90 分",你可以会心一笑:去跑一下 HumanEval+,看还剩多少。


📎 论文原文:arxiv.org/abs/2305.01210 · 代码与数据:github.com/evalplus/evalplus · 数据集:huggingface.co/datasets/evalplus/humanevalplus


三个标题变体

  1. 《AI 写代码 90 分?—— 一篇 2023 年的论文,把所有人打回原形》
  2. 《HumanEval 上的 ChatGPT,比你想象的弱得多:一份 80 倍加厚的"AI 程序员"考卷》
  3. 《你买的"AI 程序员"可能正在"押题"—— 真实代码通过率平均下降 19 到 29 个百分点》

📱 小红书风格卡片文案

📌 你看到的「AI 写代码 90 分」可能是假的:HumanEval+ 把所有人打回原形

你有没有想过 🤔 — 你用的 Cursor / Copilot / Claude Code,到底能写对多少代码

不是厂商宣传的那种「90% 一次通过率」,也不是新闻稿里的「接近人类水平」——是真实的、严格的、拿几千个刁钻测试用例砸过去以后,还能不能写对的那种"对"。

2023 年 arXiv 2305.01210(EvalPlus) 做了一件狠事:把评判 AI 代码能力的考卷,从每题 8 道题改成每题 800+ 道题。结果令整个行业冷汗直流:所有主流模型的真实得分,平均直接掉了 19 到 29 个百分点 💥。

🔸 3 个普通人最该记住的点

1️⃣ 考卷变厚 80 倍 — HumanEval 是 AI 代码圈的"高考",原本每题只有 7-10 个测试用例。EvalPlus 用 LLM 自动生成 + 代码变异两条腿,把每题的测试用例扩到 平均 764+ 个(80 倍增幅),得到 HumanEval+ 📜。

2️⃣ 全员掉分,没人能逃 — 26 个当时主流的代码 LLM(GPT-4 / ChatGPT / Codex / StarCoder / WizardCoder 等)拉过去重考,所有模型 pass@1(一次写对的概率)下降 19.3 到 28.9 个百分点 📉。

3️⃣ 排名还反了 — 原榜里比 ChatGPT 弱的 WizardCoder-CodeLlama、Phind-CodeLlama,在 HumanEval+ 上反超 ChatGPT。你以为的强弱关系,可能完全是反的 🔄。

🔸 为什么这件事对 2026 年的你还重要

别只看厂商贴的 HumanEval 分数 — 很可能有 20-30 个百分点的"水分"。采购 / 选模型时,要求对方提供 HumanEval+ 数据或自建内部基准。 ✅ "原榜 vs 增强榜"不一致 = 押题 red flag — 评估两个模型时,如果一家原榜高、增强榜掉得多,另一家原榜不高但增强榜稳,那后者往往更值得选。 ✅ 代码评审不能省 — 2026 年回看,没有任何静态测试集能 100% 覆盖工业场景。大厂仍然在 LLM 生成的 PR 上做 reviewer 制度 + 持续 lint,不是没有道理的。

🔸 一句话给老板 / 团队负责人

别被 AI 编程工具的"高分"骗了——你买的是"能写代码的 AI",不是"能在 8 道题上拿 90 分的考生"。下次看到厂商晒分数,请他们把 HumanEval+ 也跑一遍 💼。

🔸 一句给普通用户

如果你的工作流重度依赖 AI 写代码(自动补全 / 自动 PR / 自动化脚本),永远留一个人 review,永远跑全套测试用例,永远假设它的真实通过率比宣传低 20 个点 💡。

AI写代码 #HumanEval #代码评测 #AI编程 #Cursor #Copilot #GPT4 #LLM评测 #AI工程化 #科技干货