你让 Claude Code 去修个 bug,它八成能找对是哪个文件出的毛病。可真正要动的那几行,它经常看漏。
这不是拍脑袋。6 月 14 日,上海交通大学牵头的一个国际团队甩出一个新基准,专门测 AI 编程 agent 的”找代码”这一步,结论挺扎心:找文件,行;定位到具体哪几行,不行。
把”找 bug”和”改 bug”拆开测
以前测 AI 编程,都是给个 bug、看它最后改没改对,一锤子买卖。这个叫 SWE-Explore 的基准换了个思路——只看第一步:agent 拿到 bug 描述和整个项目,得吐出一份”我觉得跟这个 bug 有关的代码”清单。改不改得对先不管,就看它有没有把该看的地方都圈出来。
参照答案怎么来的?团队拿 GPT-5.4、Gemini 3 Pro、Claude Sonnet 4.6、Kimi K2.6 这几个强模型真把 bug 修好的记录倒推,把”修对之前到底翻了哪些文件、哪些行”抠出来当标准答案。
数据集不小:
- 848 道题,覆盖 203 个开源项目
- 横跨 10 种编程语言,光 Python 就占了 547 道
- 测的 agent 一长串:Claude Code、Codex、OpenHands、Mini-SWE-Agent、AutoCodeRover、OrcaLoca……主流的基本都拉来了
14% 这个数,挺难看
结果是这样:文件级别,agent 找得挺准;可一旦细到”具体哪几行是关键”,通用编程 agent 的命中率只有 14% 到 19%。
说白了——它知道病灶在这间屋子,但屋里十样东西它只摸对一两样。
更有意思的是另一个发现:修复成功率不是平滑涨上去的,而是等你把一半以上的关键代码喂给它,才突然跳一截。 你给它看三成、四成关键行,它基本还是改不对;过了 50% 这条线,成功率才开始往上窜。
| 给 agent 看到的关键代码比例 | 它修对的概率 |
|---|---|
| 不到一半 | 基本歇菜 |
| 50%–75% 之间 | 开始明显爬升 |
| 越全 | 越稳 |
结论一句话:少筛,多读
团队给后来人指了条明路——“少做减法,多塞上下文”。
他们还测出一个反直觉的点:漏看比多看更致命。 一个读得太少、上来就急着下手的 agent,表现反而不如一个把不相干代码也一起读进去的”啰嗦”agent。换句话说,宁可让它多读点废话,也别让它自作聪明提前把信息砍掉。
这事对正在用 AI 写代码的人有直接价值。现在不少 agent 为了省 token、图快,会激进地裁上下文——只把它”觉得”相关的几行塞进去。这份基准等于明说了:这么干,是在拿修复率换速度。
至于”AI 要取代程序员”那套话,这份数据起码泼了半盆冷水:连”这 bug 该看哪几行”都还摸不利索,离全自动接管还差着关键一段。
参考来源:AI coding agents find the right file but miss the exact lines that matter, study shows(The Decoder);SWE-Explore 基准研究(arXiv,CocoLoop、上海交通大学等)