Evaluating Code Reasoning Abilities of Large Language Models Under Real-World Settings

本文通过结合现有基准测试与 GitHub 真实代码库,构建了一个包含 1200 个问题的复杂代码推理数据集,并通过多维复杂度指标将问题分为低复杂度(LC)与高复杂度(HC)两类,揭示了现有评估基准在模拟真实世界复杂性方面的不足。

原作者: Changshu Liu, Alireza Ghazanfari, Yang Chen, Reyhaneh Jabbarvand

发布于 2026-04-27
📖 1 分钟阅读☕ 轻松阅读

这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

Each language version is independently generated for its own context, not a direct translation.

这篇文章的研究核心可以用一个简单的比喻来理解:“别被那些‘小学生数学题’骗了,现在的AI其实还没学会做‘复杂的工程数学题’。”

以下是为你准备的通俗版解读:

1. 现状:AI 正在参加“刷题大赛”

想象一下,我们要测试一个学生到底懂不懂数学。现在的测试方法通常是给他一叠卷子,上面的题目都是:1 + 1 = ? 或者 5 × 5 = ?
这些题目虽然是数学,但它们非常单一、简单、独立。现在的 AI(大语言模型)在这些“刷题”中表现得极其出色,看起来像个天才。

但问题是:现实世界的数学题可不是这样的。 现实中的数学题可能需要你先查阅一本厚厚的公式手册(调用 API),还要考虑好几个变量之间的连锁反应(函数依赖),甚至还要处理一些奇形怪状的特殊符号(复杂数据类型)。

2. 发现:AI 的“虚假繁荣”

研究人员发现,现有的测试 AI 的“代码推理能力”的卷子,其实大部分都是这种“小学生数学题”。

  • 以前的测试: 题目很干净,变量都是简单的数字或字符串,逻辑像直线一样简单。
  • 现实的代码: 像一团乱麻。一个函数可能会调用另一个函数,那个函数又依赖于一个复杂的“对象”(就像一个装满了各种零件的精密盒子)。

研究人员发现,如果把这些“复杂的工程题”拿给 AI 做,AI 的表现会断崖式下跌。比如在预测代码运行结果时,难度一增加,AI 的正确率直接掉了快一半!这说明,AI 之前的“高分”很大程度上是因为题目太简单了,它们并没有真正理解复杂的逻辑。

3. 创新:发明了一套“真题模拟器” (RE2-Bench)

为了揭开真相,研究人员做了一件很酷的事:他们开发了一个叫 RE2-Bench 的系统。

这个系统就像是一个**“超级考官”**,它不再只看简单的题目,而是:

  • 去“工地”里找题: 他们直接从真实的 GitHub 开源项目(真实的编程“工地”)里挖掘题目。
  • 把“零件”拆解开: 以前的题目变量只是个数字,现在的题目变量是一个个复杂的“零件盒”。研究人员发明了一种技术,能把这些复杂的盒子拆解成 AI 能看懂的“说明书”(JSON 格式),让测试更真实。
  • 自动分级: 他们用 9 个维度(比如逻辑有多绕、嵌套了多少层、用了多少第三方工具等)给题目打分,把题目分成**“简单模式 (LC)”“困难模式 (HC)”**。

4. 结论:AI 还需要“实战演练”

通过对 10 种主流 AI 进行测试,研究人员得出了几个扎心的结论:

  1. “降维打击”失效: AI 在简单题上拿高分,到了复杂题上就“抓瞎”了。
  2. 逻辑链条太长会“断片”: 如果一个任务需要 AI 像剥洋葱一样一层层往里推导(调用链太长),AI 很容易在中间某一层就逻辑混乱。
  3. “思考”有用,但也有副作用: 虽然那些专门加强了“思考能力”的 AI 表现更好,但有时候它们会“想太多”(过度思考),反而把简单的题做错了。

总结一下

这篇文章其实是在给 AI 界**“泼冷水”,也是在“立规矩”**。

它告诉我们:不要因为 AI 能写出简单的代码就觉得它无所不能。 真正的编程高手需要处理的是错综复杂的逻辑网,而 AI 距离真正的“高级工程师”还有很长一段路要走。未来的 AI 研发,不能只顾着让它在“模拟考”里拿满分,更要让它在“真实工地”里干好活。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →