news 2026/9/26 10:06:30

SWE-bench:从零到首次出结果的实操手册

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SWE-bench:从零到首次出结果的实操手册

SWE-bench:从零到首次出结果的实操手册

【免费下载链接】SWE-benchSWE-bench: Can Language Models Resolve Real-world Github Issues?项目地址: https://gitcode.com/GitHub_Trending/sw/SWE-bench

SWE-bench 是让大语言模型修复真实 GitHub issue 的评测基准。本文带你从环境安装到跑通一次完整评测,读懂最终报告里的关键数字。

快速验证:跑通最小案例

装好 Docker 后,克隆项目并以开发模式安装:

git clone https://gitcode.com/GitHub_Trending/sw/SWE-bench cd SWE-bench && pip install -e .

用单个实例的参考补丁(gold patch)做自检。它不需要模型预测,专门用来确认整条评测链路是通的:

swebench eval lite --gold -i sympy__sympy-20590 --run-id validate-gold

跑完会打印类似输出,Instances resolved: 1即代表这个任务被参考补丁成功修复:

Total instances: 1 Instances submitted: 1 Instances completed: 1 Instances resolved: 1 Report written to gold.validate-gold.json

拆解单个实例是怎么被评测的

是什么。一个任务实例对应一个 GitHub issue:输入是仓库的base commit加上 issue 描述,目标是产出一个能改 bug、让测试通过的model_patch。

怎么工作。每个实例在 Docker 容器里走三步:

  • 按版本说明在base commit处安装仓库、搭好环境
  • 依次打上测试补丁和预测补丁,执行仓库的测试脚本
  • 解析测试日志,逐条判定通过与否

你该关注什么。任何一步失败,该实例得分都是 0。所以一次没通过不一定说明补丁写错了,补丁打不上、环境崩溃同样计 0。

配置参数并跑起完整评测

先准备预测文件。评测命令读的是 JSONL,每行一个 JSON,含三个字段:

{"instance_id": "sympy__sympy-20590", "model_name_or_path": "gpt-4", "model_patch": "diff --git a/... b/..."}

然后发起评测,参数按你的实际情况增减:

swebench eval lite -p preds.jsonl --run-id my-run -j 8 # -j 按 CPU 核心数调整,建议小于 min(0.75*核心数, 24)

逐个参数说明:

  • -p:预测文件路径,必须是指定的 JSONL 格式
  • 数据集参数lite:换成full、verified或 HuggingFace id 可评其他集
  • --run-id:命名日志目录,结果按run_id加实例 id 缓存
  • -i:只评指定的几个实例,适合反复调试
  • --modal:加了这个就把评测交给云端 Modal 跑

改完怎么确认:看logs/run_evaluation/my-run/下是否按实例生成了子目录,目录里有report.json说明该实例跑完并出了结果。

读懂 resolution rate

一次运行产出两处东西:当前目录(或--report-dir指定处)的汇总文件<model>.<run_id>.json,以及每个实例的日志目录logs/run_evaluation/<run_id>/<model>/<instance_id>/,里面有report.json、test_output.txt、run_instance.log。

关键字段:

字段含义
Total instances数据集任务总数
Instances submitted你提交的预测数
Instances completed产出报告的实例数
Instances resolved补丁修复成功的实例数
Instances with errors无法评分的实例数

代表成功的是Instances resolved。resolved + unresolved才是真正被评分的数量,errors 是另外一类跑不出结果的实例。

避开常见卡点

  • 现象:换了补丁重跑,结果不变 →原因:结果按run_id加实例 id 缓存 →解法:换个--run-id再跑
  • 现象:Instances with errors大于 0 →原因:补丁没打上、容器没起来或超时 →解法:打开对应实例的run_instance.log看具体原因
  • 现象:磁盘空间告急 →原因:镜像约需 120GB 磁盘 →解法:加--cache_level base降低存储占用
  • 现象:ARM 机器上镜像构建失败 →原因:默认拉取 x86 预构建镜像 →解法:加--task-repo指向本地任务仓库本地构建

接下来往哪深入

  • 完整评测指南:docs/guides/evaluation.md
  • 各数据集怎么选:docs/guides/datasets.md
  • 评测入口源码:swebench/harness/run_evaluation.py

【免费下载链接】SWE-benchSWE-bench: Can Language Models Resolve Real-world Github Issues?项目地址: https://gitcode.com/GitHub_Trending/sw/SWE-bench

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 10:05:27

安全监察部经理绩效考核指标量表与管理提升

本绩效考核表专门针对安全监察部经理的工作进行评估。考核指标涵盖了部门工作计划、费用控制、安全生产、隐患整改、培训等多个方面,体现了对安全管理和团队绩效的综合要求。每项考核指标都有明确的权重和标准,目的是通过科学的评价体系,确保安全监察工作能够按照预定目标有…

作者头像 李华
网站建设 2026/9/26 10:05:04

苹方字体跨平台安装指南:Windows与Linux字体配置与Web集成

1. 苹方字体跨平台使用的核心价值与需求拆解1.1 为什么Windows和Linux用户需要苹方字体做设计或者前端开发的朋友大概率都遇到过这种场景&#xff1a;在Mac上精心调好的UI稿&#xff0c;字体用的是苹方&#xff0c;视觉效果干净利落&#xff0c;字重层次分明。结果稿子发到Wind…

作者头像 李华
网站建设 2026/9/26 10:04:13

质量管理部绩效考核关键指标与优化方法

在质量管理的领域中,绩效考核是确保公司生产流程高效运转的重要手段。通过一系列量化指标,质量管理部门能够精确评估和提升各项工作的执行力,确保产品质量的持续改进。从质检工作的及时完成率到产品的质量合格率,每一个指标都直接影响着公司产品的市场竞争力与客户满意度。…

作者头像 李华
网站建设 2026/9/26 10:03:55

不会吧,2025年了,还没把 Cursor 接上 TaoToken?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华