想象一下,你拥有一支由非常聪明、速度极快的机器人组成的团队,它们可以为你编写计算机代码。你会向它们提出诸如“为什么这段代码表现怪异?”或“如果我改变这个数字会发生什么?”之类的问题。你期望它们能审视你正在处理的具体代码,并给出完美的答案。
这篇论文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 助手,而不是仅仅凭空捏造。
技术摘要:RubberDuckBench
问题陈述
尽管 AI 编程助手已彻底改变了软件工程工作流——特别是在代码生成、修复和搜索方面——但它们回答关于现有代码的上下文相关问题的能力仍未得到充分研究。当前大语言模型(LLM)的基准测试主要侧重于:
- 文本到代码生成:根据自然语言描述合成独立函数(例如 HumanEval、MBPP)。
- 特定开发任务:安全后端生成、全栈 Web 开发或代码翻译。
- 脱离上下文的查询:源自 Stack Overflow 的基准测试,通常解决通用语言层面的问题,而非特定项目的推理。
目前缺乏评估框架来衡量 LLM 在特定项目上下文、文件和行号上进行推理以回答细微开发者问题的能力。此外,现有工具在这些特定场景中往往无法区分正确的推理与幻觉。
方法论
基准测试构建(RubberDuckBench)
作者构建了RubberDuckBench,这是一个多语言基准测试,包含15 个上下文相关问题,源自真实的 GitHub 拉取请求(PR)评论。
- 数据来源:数据集挖掘自CodeReview数据集,聚焦于**Java、Python 和 C++**中的高质量开源仓库(平均 2.53 万颗星)。
- 筛选与重述:PR 评论未直接使用,因为它们通常包含编辑建议或团队规划,而非查询。作者采用了LLM-人工标注流程:
- LLM(Claude Opus 4.1)将评论重述为简洁、无歧义的问题。
- LLM 判断其是否适合 AI 助手。
- 人工标注员验证并进一步细化问题,确保其扎根于具体的代码元素。
- 问题分类:这 15 个问题在语言上均匀分布,并分为四类:
- 项目行为:项目内代码的功能。
- 库行为:项目上下文内库/API 代码的功能。
- 值:程序变量的传播与数值。
- 性能:效率与性能考量。
评估标准
鉴于可行的回答是开放式的且非唯一的,作者为每个问题手动制定了详细的评分标准。
- 评分机制:采用负向评分方案,回答从满分开始,因错误扣分。
- 错误类型:评分标准对幻觉(捏造事实)的惩罚远重于遗漏(缺失相关信息)。
- 验证:评分标准由三位作者(包括一位助理教授)达成共识制定,并利用模型回答的“训练集”进行细化,以确保全面覆盖。
实验设置
- 评估模型:来自 8 家提供商(Anthropic、OpenAI、Google、xAI、Alibaba、Meta、Mistral、Deepseek)的 20 种多样化 LLM(11 种推理模型、4 种低成本模型、12 种专有模型、8 种开源模型)。
- 配置:模型通过思维链(CoT)推理和标准化 HTML 风格标签进行提示。专有模型通过 API 运行;开源模型在 NVIDIA H100 GPU 上本地运行。
- 协议:每个模型在 0.01 的温度下对每个问题评估三次。分数取平均值。
- 人工评估:三位作者独立应用评分标准,实现了高度评分者间信度(ICC3 = .991)。
主要结果
1. RubberDuckBench 上的表现(RQ1)
- 总体分数:所有模型的平均得分为60.17%(中位数:61.30%)。
- 表现最佳者:Grok 4(69.29%)、Claude Opus 4(68.53%)和GPT-5(67.80%)表现最佳。然而,成对统计分析显示,Grok 4 与接下来的 12 个表现最佳模型之间无显著优势(p < .05)。
- 完全正确性:模型难以提供完全正确的答案。在严格标准下(三次试验均获满分),表现最佳的模型(Grok 4、Claude Opus 4)最多仅完全正确回答了15 个问题中的 2 个。大多数模型回答了 0 或 1 个。
- 语言偏差:模型在Python(50.44%)上的表现显著差于 Java(66.86%)和 C++(63.21%)。
- 问题类型:模型在库行为问题上表现最佳(63.7%),在项目行为问题上表现最差(55.0%)。
2. 资源与性能(RQ2)
- 成本相关性:API 定价与性能之间无相关性。
- Grok 4(表现最佳者)每次查询成本为0.05 美元。
- Claude Opus 4(第二佳)每次查询成本为0.597 美元。
- Claude Opus 系列模型是高成本异常值,其性能提升相对于更便宜的替代方案微乎其微。
- 模型规模相关性:对于开源模型,参数量较大并不与更高分数相关。表现最佳的开源模型gpt-oss-20B(200 亿参数)优于gpt-oss-120B(1200 亿参数)。
3. 幻觉率(RQ3)
- 频率:平均而言,模型在**58.3%**的回答中产生了幻觉(提供了谎言)。
- 表现最佳者:即使是o3等高性能模型,也在 67% 的回答中产生了幻觉(15 个回答中的 10 个)。
- 幻觉最少者:Grok 4产生的幻觉最少(40%),尽管它仍在 15 个问题中的 6 个问题上产生了幻觉。
意义与主张
本文将 RubberDuckBench 定位为未来研究可信赖且正确的 AI 编程助手的目标。作者主张:
- 差距识别:当前基准测试未能评估回答关于代码的上下文相关问题这一关键用例,这是 Stack Overflow 2025 开发者调查中确定的主要用例。
- 最先进模型的局限性:即使是最先进的模型也无法为上下文相关的代码问题提供一致、正确的回答,通常依赖部分得分,并频繁产生幻觉。
- 成本/规模低效:研究结果挑战了“更高成本或更大模型规模能保证在代码推理任务中表现更好”的假设。
- 可复现性:作者提供了可复现的评估包,包括克隆必要项目上下文的脚本以及用于评估的详细评分标准。
作者承认了局限性,包括 LLM 辅助重述 PR 评论可能引入的偏差,以及所使用的特定开源项目可能存在于训练集中(尽管具体的上下文相关问题不在其中)。他们强调,该基准测试在设计上规模较小(15 个问题),旨在作为深度案例研究,而非大规模评估。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。