一道LeetCode题的保质期
2025年3月,一道LeetCode Hard难度的题目被收录到LiveCodeBench。到2026年7月,几乎所有主流模型在这道题上的得分都超过了90%。不是因为模型变聪明了,而是因为这道题及其变体已经被大量收录到训练数据中。
在AI时代,一道编程题的"保质期"只有6个月。 6个月后,它就不再是评测工具,而是背诵检查器。
代码评测的三次进化
第一代:HumanEval(2021年)。 164道Python函数生成题,开创了自动化代码评测的先河。缺点是题目太简单、太窄、太容易背。
第二代:LiveCodeBench(2024年)。 从LeetCode、AtCoder、Codeforces等竞赛平台实时抓取新题目,解决了"数据污染"问题。但问题在于:竞赛编程和真实开发之间有一条巨大的鸿沟。
第三代:SWE-bench(2024年)。 用真实GitHub issue作为评测任务,要求模型在完整代码仓库中定位和修复bug。这是目前最接近真实软件工程的评测范式。但SWE-bench也有局限:任务只涉及Python仓库,且以bug修复为主,不包括功能开发、架构设计、代码审查等。
2026年的新趋势:Agentic Code Evaluation
2026年最值得关注的评测新范式是Agentic Code Evaluation(智能体代码评测)。与传统评测不同,这种评测不只是看模型"能不能写出正确的代码",而是看模型"能不能像人类工程师一样工作":
- 理解需求文档
- 搜索代码库找到相关代码
- 设计修改方案
- 实现修改
- 运行测试并修复失败
- 提交Pull Request
Claude 4 Opus的Agent模式在Agentic Code Evaluation中表现最好,但这仍然是一个非常早期的评测范式,缺乏标准化和数据污染控制。
你需要关注什么
如果你在2026年选择代码模型,我们的建议是:
- 不要只看HumanEval——它已经失去了区分度
- LiveCodeBench是"代码智商"的较好指标——但仅限于竞赛编程
- SWE-bench是"软件工程能力"的参考——但只测了bug修复
- 你自己的代码库是最好的评测集——用10个真实历史任务做测试
一个被忽视的真相:代码生成能力不等于代码理解能力。 很多模型能写出漂亮的代码,但无法理解一个中等复杂度的代码库。在软件工程中,理解代码比编写代码更重要——但大多数评测基准都在测"写"而不是"读"。