SWE-bench-Live 是一类“实时更新”的软件工程评测基准:它持续从开源项目里最新合并的拉取请求(Pull Request,PR)中提取真实缺陷修复任务,让模型现场写出补丁,再用这些 PR 自带或配套的测试来判分。名字里的 Live 就是“活着”——题目不是一份冷冻好的题库,而是一条不断刷新的流水线。
打个比方。传统考试像发一本往年真题册(SWE-bench)。这本册子质量很高,但一旦流传得足够广,学生可能不是学会了解题思路,而是把答案背了下来。SWE-bench-Live 相当于每次考都换一套“这周刚出的新题”:题面是最近还在动的代码,配套测试也是新写的。模型就算把训练语料翻烂,也找不到这些尚未广泛流传的题,只能靠真正读代码、定位、改代码、跑测试的能力。
它和 SWE-bench 的核心差别:
| 维度 | SWE-bench(经典静态版) | SWE-bench-Live |
|---|---|---|
| 题目来源 | 过去一段时间内公开发布的任务集 | 持续从最新合并的 PR 中生成 |
| 更新频率 | 版本化,发布后基本冻结 | 滚动更新,随时加入新任务 |
| 污染风险 | 训练语料可能见过题干或答案 | 新鲜任务大幅压缩“背答案”空间 |
| 可比性 | 同一版本内分数好对齐 | 更适合看趋势和相对能力 |
那分数落差说明什么?通常,同一个模型在 Live 版上拿到的成绩会明显低于在静态榜单上的数字。这个落差不是“模型突然变笨了”,而是把水分挤掉之后的结果:一部分来自数据记忆的红利消失了;另一部分来自实时任务的天然难度——新的依赖、刚改过的接口、还没人写成博客的坑。
所以它的意义不是制造一个新排行榜,而是给“AI 能不能真的修 bug”提供一把更诚实的尺子。对做模型评估的人,结论是:静态榜和实时榜要一起看,前者看历史积累,后者看泛化上限。对用 AI 编程工具的普通人,结论更直接:一个工具在旧题上表现再好,也只当作参考;真正要判断它靠不靠谱,得看你仓库里最近那些没人教过它的报错。具体规则和任务结构以官方页面为准。
