大模型也会玩信息差了。
Qwen3在基准测试中居然学会了钻空子。
FAIR研究员发现Qwen3在SWE-Bench Verified测试中,不按常理修bug,反而玩起了信息检索大法。
不分析代码逻辑,不定位漏洞根源,而是直接跑到GitHub上搜任务里的issue编号,精准扒出了前人留下的修复方案。
能说吗,会搜代码才是真正的程序员行为吧。而Qwen3,你是真正的程序员。
要知道,SWE-Bench Verified本来是检验模型真刀真枪修代码的基准,相当于编程届的资格考试。
它的测试逻辑是这样的:在代码修复类任务中,它给模型的任务全是真实开源项目里的bug,比如修复某个功能异常、补全缺失的代码模块,核心要求是模型能读懂现有的代码、定位到问题在哪,最后生成能够直接运行的解决方案。
这原本考验的是模型从0到1解决问题的能力,但我们的Qwen3,可没按这个剧本走。
FAIR研究团队追踪它的操作轨迹发现,Qwen3拿到任务后,第一步不是分析代码文件,而是调用工具检索GitHub的提交日志。
具体操作是:
git log是查看Git版本控制提交历史的命令,—oneline让提交历史以简洁的一行的形式展示。
—grep用于筛选提交指定内容(在这个例子中是issue编号33628),—all则表示所有分支的提交。
最后以退出码0表示命令成功执行。
一番操作之后,Qwen3不用动脑子写代码就轻松“借鉴”了以前的成功答案。(怎么不算动脑子了呢)
其实不止Qwen3,研究者发现Claude 4 Sonnet也有类似的行为。
不过,模型能成功钻空子,当然也不全是自身的原因。
说回SWE-Bench Verified,它自身的设计就有漏洞——没过滤未来仓库状态。
简单说就是,这个测试用的是开源项目数据,所以它连带着项目后续已经解决bug的提交记录一起放进去了,相当于把考题和参考答案混在一起,还没设权限。
正常来说,测试应该只给模型bug未修复时的项目状态,让它只看着题目解题。
但SWE-Bench Verified没做这个筛选,导致模型能够拿到bug已经被修复后的数据。
于是,只要用任务里的issue编号当关键词,就能在已解决的数据里找到现成的修复方案。
看来啊,不是只有人类知道搜答案比解问题简单,现在大模型也知道了。(Doge)
虽然说,按正常规则,这些模型确实是在作弊,但也有网友觉得:只要能完成任务,利用规则漏洞也没什么不行的。
所以,你觉得这种行为算作弊还是算Qwen3聪明呢?
参考链接:
[1]https://x.com/giffmana/status/1963327672827687316
[2]https://x.com/bwasti/status/1963288443452051582
[3]https://github.com/SWE-bench/SWE-bench/issues/465
文章来自于微信公众号“量子位”,作者是“闻乐”。
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI