现在很多代码大模型在HumanEval这类测试上分数都刷得挺高,但你有没有想过,这可能是背题背出来的?数据污染和测试不严谨,让这些基准逐渐成了开卷考试。北航团队最近在ICLR 2026上发表的新研究Code2Bench,就是想打破这种高分幻觉。
他们提出的思路挺有意思,叫双重扩展。一方面题目来源要动态更新,直接从GitHub上抓取最新的函数提交,并且确保是在模型知识截止日期之后写的,这样模型绝对没见过,杜绝记忆作弊。另一方面测试得够严,要求写出来的代码必须覆盖函数里所有逻辑分支,也就是100%分支覆盖率,不只是跑通几个简单例子。
从他们放出的Code2Bench-2509来看,题目复杂度确实上去了,圈复杂度平均5.3,比HumanEval的2.8高不少,还覆盖了NumPy、Pandas这些常用库。这样一来,模型到底是真的会写代码,还是只是背了题库,一试便知。
这种动态构建的方式,相当于给大模型评测建立了一个持续进化的对抗环境。以后想靠刷平台拿高分,可能就没那么容易了。
发布于 福建
