如何在单机一小时内运行 SWE-bench Verified

bayes.net 上确实有一篇标题为 "How to run SWE-bench Verified in one hour on one machine" 的文章,说明作者认为这件事在单机上是可行的。但需要先说明:输入资料只提供了该文章的标题,没有给出正文中的具体命令、环境配置或硬件要求。因此下面能确认的是"作者做过这件事"以及"SWE-bench Verified 是什么、怎么用",具体的一小时流程需要你打开原文对照操作。

先确认 SWE-bench Verified 是什么

SWE-bench 是一套用真实 GitHub 仓库的 issue 和对应修复提交来评测代码模型的基准。模型需要读懂 issue、定位代码、生成补丁,再由测试判断补丁是否让原本失败的测试通过。

SWE-bench Verified 是其中经过人工筛选的子集,剔除了描述不清或无法可靠判定的任务,因此更适合作为对比基准。bayes.net 的另一篇文章 "Shut up and SWE-bench" 提到,作者从 Verified 中"261 个被标注为需要 15 分钟到 1 小时完成的任务"里随机抽了 100 个做实验——这说明 Verified 的任务带有预估耗时标注,你可以据此挑选适合自己时间预算的子集。

单机运行的大致前提

要在一台机器上跑起来,通常需要满足这些条件(属于通用方法,非原文细节):

  • 算力:如果评测的是本地模型,需要足够的 GPU 显存;如果调用 API 模型,则主要消耗网络和额度。
  • 磁盘:每个任务要检出对应仓库的代码快照,仓库数量多时占用可观。
  • Docker 或等价隔离环境:SWE-bench 官方流程用容器来保证依赖和测试环境一致,这是最容易被忽略的一步。
  • Python 环境与依赖:评测框架本身、以及各任务仓库各自的依赖。

"一小时"这个目标能否达成,取决于你评测的模型是本地还是远程、机器性能、以及是否只跑任务子集。原文标题给出的是作者的经验值,不代表任何机器都能复现。

建议的操作顺序

  1. 先读原文:打开 bayes.net 上那篇文章,按作者给出的步骤走。这是唯一能对应"一小时"这个具体承诺的来源。
  2. 缩小任务范围:不要一上来跑完整 Verified。参考 "Shut up and SWE-bench" 的做法,从标注为 15 分钟到 1 小时的任务里抽样,先跑 5–10 个验证流程是否通畅。
  3. 先跑通一个任务:确认容器能起、测试能跑、评分能出结果,再批量。
  4. 记录失败原因:区分"模型补丁不对"和"环境没配好",后者会污染你的评测结论。

常见卡点

  • 环境不一致:某个仓库的测试在本地能过、在容器里不过,多半是依赖版本问题。
  • 把环境失败当成模型失败:如果测试根本没跑起来,分数没有意义。
  • 忽略任务筛选:直接跑全集会大幅拉长时间,且不同难度任务混在一起不好解读。

关于 bayes.net 本身

bayes.net 是一个个人技术博客,近期文章覆盖 AI 评测(SWE-bench 相关)、概率与统计、Docker 运维、以及一些个人项目记录。它不是 SWE-bench 的官方站点,相关文章属于作者的个人实验与方法分享。如果你要引用其中的数字或结论,注意区分"作者实测"和"官方基准结果"。

bayes.net
Recent posts: "Shut up and SWE-bench", "MirrorCode and making evals that are hard, but actually fair", "Claude 4 hacked SWE-bench by peeking at fut...