
上海交通大学参与的国际研究团队,刚推出了一款叫SWE-Explore的基准测试工具。它干了一件事:把AI修bug这个事拆成两步——先找bug在哪里,再动手修。结果一测,发现大问题:那些号称“能写代码”的AI智能体,在定位到具体哪一行代码出错时,准确率惨不忍睹,只有14%到19%。换句话说,它们可能知道文件里有个bug,但不知道具体是哪一行出的错。
过去,行业里测试AI修bug的水平,主要看“最终修好了没”。比如SWE-bench这类基准,只看AI提交的补丁能不能通过测试。但这就像只看考试成绩,不看学生到底有没有读懂题目。很多AI智能体其实在“读代码、找病灶”这个环节就卡住了,只是被最终修复率给掩盖了。
这次研究团队用了10种编程语言、203个开源项目里的848个bug,还参考了GPT-5.4、Gemini3Pro、Claude Sonnet4.6和Kimi K2.6等主流模型跑出来的“正确路径”作为标尺。他们把搜索和修复分开测,结果发现:Claude Code、OpenHands这些通用编码智能体,定位到“哪个文件”时表现不错,但一旦要精确到“哪一行代码”,覆盖就剩下14%到19%。
更关键的是,实验中还发现了一个“最小上下文阈值”现象。当AI在bug核心区域看到的代码比例不到50%时,它基本没法修好;一旦看到50%到75%的区域,修复成功率才会突然飙升。这说明,AI修不好bug,根本不是因为它不会写补丁,而是它根本找不到关键位置——它读的代码太多了,过滤掉了真正需要关注的行。
现实里,很多项目经理对自动化修bug方案持怀疑态度,甚至有一半的自动化方案被直接拒绝。为什么?因为AI修代码看起来快,但常常修错地方。SWE-Explore这个测试,等于给行业指了条新路:别急着让AI疯狂生成补丁,先让它学会“少过滤、多阅读”,把精力花在精准定位病灶上。未来,专门做代码定位的系统(比如CoSIL)可能会成为主流,软件工程的自动化方向,正在从“暴力生成”转向“精准检索”。