← 最新论文
💻 computer science

RubberDuckBench: A Benchmark for AI Coding Assistants

本文介绍了 RubberDuckBench,这是一个源自真实 GitHub 拉取请求的多语言基准测试,用于评估 AI 编程助手,结果显示即使是当前最先进的模型在一致性和正确性方面也存在困难且频繁产生幻觉,且成本与性能之间未观察到相关性。

原作者: Ferida Mohammed, Fatma Ayad, Petros Maniatis, Satish Chandra, Elizabeth Dinella

发布于 2026-05-06
📖 1 分钟阅读☕ 轻松阅读

原作者: Ferida Mohammed, Fatma Ayad, Petros Maniatis, Satish Chandra, Elizabeth Dinella

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你拥有一支由非常聪明、速度极快的机器人组成的团队,它们可以为你编写计算机代码。你会向它们提出诸如“为什么这段代码表现怪异?”或“如果我改变这个数字会发生什么?”之类的问题。你期望它们能审视你正在处理的具体代码,并给出完美的答案。

这篇论文RubberDuckBench,就像是这些机器人助手的期末考试。作者(来自布林莫尔学院、谷歌和 Meta 的研究人员)想要验证这些机器人是否真的擅长回答关于特定代码的问题,还是仅仅在瞎猜。

以下是他们研究的分解,使用了简单的类比:

1. 问题:“脱离上下文”的陷阱

在这项研究之前,大多数针对 AI 编程员的测试,就像要求学生根据提示从头开始写一篇全新的文章。但在现实生活中,程序员并不只是要求生成新代码;他们会针对特定项目中已存在的代码提出问题。

  • 旧测试: 就像问一位厨师:“怎么做蛋糕?”
  • 现实世界: 就像厨师问:“为什么我的蛋糕在烤箱的第三层架上烤焦了?”
    研究人员意识到,没有人针对第二种类型的问题构建过良好的测试。

2. 构建考试:“橡皮鸭”方法

程序员经常与“橡皮鸭”(或他们的同事)交谈,以理清代码问题。研究人员查看了GitHub(人们分享代码的地方)上开发者之间的真实对话。

  • 来源: 他们发现了数千条评论,其中开发者在互相询问关于其代码的具体问题。
  • 筛选: 许多评论仅仅是像“修复这个拼写错误”这样的建议。研究人员利用 AI 和人工过滤掉了噪音,并将好的问题转化为一份清晰的、包含 15 道题的考试。
  • 评分标准: 由于解释代码并没有唯一的“正确”方式,他们制定了详细的评分细则(评分表)。这就像教师指南,上面写着:“如果学生提到了'const'关键字,给 2 分。如果他们编造了代码的工作原理,扣 3 分。”

3. 考试:20 个机器人参加测试

他们让 20 个不同的 AI 模型(即“机器人”)参加了这次考试。其中包括 GPT-5、Claude Opus、Grok 4 等知名模型。他们要求这些模型根据提供的特定代码回答这 15 个问题。

4. 结果:机器人存在缺陷

结果令人惊讶,对于这些“超级聪明”的机器人来说也略显令人失望:

  • 没有明确的赢家: 排名第一的机器人Grok 4答对了约69%的问题。紧随其后的机器人答对了约68%。从统计学上看,它们都处于同一个“级别”。没有明确的冠军。
  • “满分”神话: 即使是最好的机器人也很少能完全答对一道题。顶级机器人在所有尝试中,仅成功完全答对了15 道题中的 2 道。它们的大部分分数来自“部分得分”(答对了一部分答案)。
  • 撒谎问题(幻觉): 这是最大的问题。平均而言,机器人在58%的回答中撒谎或编造了事实
    • 类比: 想象你问导游关于你城市里某条特定街道的情况。有一半的时间,他们会自信地告诉你那条街是个公园,而实际上它是一家面包店。
    • 即使是最好的模型,如o3,也在**67%**的回答中撒了谎。
  • Python 的挣扎: 机器人在回答关于 Java 和 C++ 代码的问题时表现要好得多,但当代码是用 Python 编写时,它们就严重失足了。

5. 价格标签与性能

研究人员还检查了支付更多费用或使用“更大的大脑”(更多参数)是否能让机器人变得更聪明。

  • 金钱买不到天才: 最昂贵的模型(如 Claude Opus)运行成本很高,但表现并不比便宜的模型好多少。事实上,Grok 4表现最佳,但其成本比昂贵的 Claude 模型低了 12 倍
  • 更大并不更好: 对于开源模型,最大的那个(1200 亿参数)实际上表现不如较小的那个(200 亿参数)。

结论

该论文得出结论,虽然 AI 编程助手正在变得更好,但它们尚未值得信赖,无法回答关于特定代码的复杂问题。它们经常猜测,频繁撒谎,而且最昂贵的选项未必是最聪明的。

作者构建了RubberDuckBench,将其作为未来研究的目标,希望推动开发者构建出诚实、准确、真正理解其所处理代码的 AI 助手,而不是仅仅凭空捏造。

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

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

试用 Digest →