值得测什么
从老牌 repair benchmark 到长周期任务,再到仓库探索、定位、QA、技能和诊断。
从 benchmark 到现成轨迹数据,再到可复现实例与 Docker 镜像:这份汇报聚焦一个问题, 我们应该测什么、拿什么训、以及怎样把现成任务池变成自己的 agent rollout 工厂。
Benchmark 负责回答“测什么”,trajectory corpus 负责回答“拿什么训”,Docker/env 资产则决定我们能不能继续自己生产 rollout。 三类资产连起来,才是一条完整的 coding agent 数据链路。
从老牌 repair benchmark 到长周期任务,再到仓库探索、定位、QA、技能和诊断。
看 action/observation 是否完整,resolved 标签是否可靠,teacher、scaffold、语言和去重是否清楚。
有镜像或 Dockerfile 的任务池,才能稳定进入 K8s rollout,产出和我们 harness 对齐的新数据。
SWE-bench Verified / Pro 仍是大厂发布 coding 模型时最常见的主分数,但它们主要回答补丁是否通过测试。 新一批评测开始继续追问:回归有没有挡住、测试是不是有效、改动是否越界、代码会不会越写越乱,以及上线后能否留下足够的诊断信号。
真实 GitHub issue repair。Verified 仍然是 sanity、横向对比和回归测试里最稳的基础尺子。
classicdockerarXiv 2023-10-10更长的执行链、更多跨文件修改和 public / private 任务划分,用容器内测试判断 resolved;难度和工程真实性明显高于普通 SWE-bench,但主指标仍是测试通过率。
new standardimagesarXiv 2025-09-21113 个原创任务,覆盖 91 个仓库和 5 种语言。agent 必须提交 commit,系统只提取 committed diff,再到独立、干净的 verifier container 中应用并运行测试;CTRF 逐条记录测试状态,同时清理未来 git 历史、依赖漂移和部分 flaky tests。主指标仍是 repeated Pass@1,重点是 correctness、复现和防泄漏,不直接给风格或可维护性打分。
clean verifier113 tasksarXiv 2026-07-08从真实 developer-agent 交互中抽取 prompt、committed diff 和 fail-to-pass tests。它先判断任务是否可测试、测试是否与改动有因果关系,再在改动前连续执行三次:前两次 warm-up,第三次必须稳定失败;最终评分只认 executable tests,模型各跑 3 次。论文后续把 benchmark 名称改为 Harvest,arXiv 标题也从 ProdCodeBench 更新为 REAP。
production3-run validationarXiv 2026-04-02150 个 maintainer-authored tasks,来自 36 个开源仓库。正确性、回归、build / lint、测试正确性和 scope 是 blocker;全部通过后,再对 readability、design 等 non-blocker 做加权评分。它还检查 agent 自写测试能否在 base commit 上失败、改动范围是否合理,并在 v1.1 加入联网防泄漏 scanner。这是目前最接近“代码能否直接合并”的综合评测。
quality rubricreverse-classical testsCognition 2026-07-0736 个问题、196 个连续 checkpoint,agent 每一阶段都在自己上一阶段的代码上继续开发。除 hidden tests 外,它用复杂度集中度衡量 structural erosion,再用 137 条 AST-Grep 模式和 clone lines / LOC 衡量 verbosity。没有 agent 完整解决任何问题;77% 的轨迹 erosion 上升,75.5% 的轨迹 verbosity 上升。
maintainability196 checkpointsarXiv 2026-03-25论文正式标题是 “Can Large Language Models Generate Observability-Aware Code?”。一组任务让 agent 恢复被移除的日志、指标和 tracing,用 Position F1、KeyBag F1 计分;另一组在 Kubernetes 微服务中注入 13 类故障,用 Fault Signal Rate 判断运行时是否真的留下了可定位故障的证据。各模型的 Fault Signal Rate 只有 4.95%–13.99%,加入专项 skill 后最高约 16.53%。
observabilityfault signalarXiv 2026-07-07给定 repo 和 issue,在有限 line budget 下返回相关代码区域排序。它把修复之前“先找对上下文”的能力单独拎出来。
arXiv 2026-06-05用多角度 bug reproduction tests 生成运行时诊断,把测试失败从一个红叉变成可训练的中间信号。
arXiv 2026-07-01把 software engineering agent 的评测范围,从 issue repair 扩到代码库问答、测试编写和重构。
arXiv 2026-05-08关注多文件、多跳依赖、架构理解和代码库问答,补上最终 patch 指标看不到的理解能力。
arXiv 2025-09-18评估 skill 文档、microagent、工具说明是不是真的帮到了 agent,而不是只把上下文变长。
arXiv 2026-03-16SWE-Lancer 更贴近真实付费工程任务;SWE-CI 和 SWE-EVO 则把视角推向 CI、release evolution 和长期维护。
SWE-EVO arXiv 2025-12-20SWE-CI arXiv 2026-03-04同一个百分比背后可能是不同数据集、scaffold 和采样协议。这里把“测了什么、怎么跑、最终公布了什么”分开列,避免只看榜单数字。
| 发布 / 日期 | SWE benchmark | 评测协议 | 公开结果与覆盖边界 |
|---|---|---|---|
| OpenAI GPT-5.4 2026-03-05 |
SWE-Bench Pro(Public) | 官方发布页在同一公开子集上对比 GPT-5.4、GPT-5.3-Codex 和 GPT-5.2,headline 采用任务通过率。 | 57.7%同表为 56.8% / 55.6%。没有单列风格、可维护性、测试质量或安全分数。 |
| Claude Opus 4.6 2026-02-05 |
SWE-bench Verified | 官方说明 Verified 结果取 25 次试验平均,并另列 prompt modification 下的结果;核心判定仍是 issue 是否 resolved。 | 81.42%该数字对应页面注明的 modified prompt 设置;仍然是 correctness headline,不是 mergeability rubric。 |
| DeepSWE v1.1 2026-07-08 |
DeepSWE 113 个原创长周期任务 | agent 提交 commit;系统提取 committed diff,在 clean verifier container 中应用并生成 CTRF 测试报告,使用 repeated Pass@1。 | 可复现 correctness比单次跑分更重视环境、flaky test 和泄漏控制,但仍不直接评价风格或长期维护性。 |
功能正确性已经有成熟主线,其他工程质量仍分散在专项 benchmark 里。只跑一个 SWE-bench 分数,很难说明 patch 是否真的适合进入生产代码库。
这些维度已经有人在测,但还没有一个 benchmark 全部覆盖。
Open-SWE-Traces、Orchard、CoderForge、SWE-ZERO 系列说明,公开 SWE traces 已经足够支撑一个 “先学 agent 行为,再用自有 pipeline 对齐”的路线。
| 数据集 | 规模 | Teacher / scaffold | 性质 | 用途 |
|---|
镜像、Dockerfile 和稳定测试环境,决定一个任务池能不能真正进入我们的 pipeline。 这一节只保留软件工程任务池;没有镜像的数据集和非 SWE 专项任务不混在这里。
| 资产池 | 镜像/环境状态 | 规模 | 接入价值 | 注意事项 |
|---|
这里不是重新发明 benchmark,而是把已有可执行任务池变成持续产出 agent 训练轨迹的系统。 关注点也不只在最终分数,而是 action、observation、测试反馈、失败原因和 verifier 信号。
Verified / rebench V2 / Scale-SWE / SWE-Pro / R2E-Gym
swe-mirror 重写、镜像存在性检查、网络权限分类
ltp-docker 容器 API,上传脚本,启动 repo 环境
OpenHands / Claude Code / SWE-agent,统一 action schema
spans、token/logprob、stdout/stderr、diff、工具调用
gold patch filter、resolved scorer、flaky 重跑、弱测试检测
SFT triplet、preference pair、critic、verifier、RL replay
Docker rollout 给的是最硬的执行验证,但成本也最高。SWE 数据还可以从 issue、PR、测试、日志、静态结构、teacher traces 和用户交互里长出来。
从真实 merged PR 中隐藏 patch,保留 issue、commit message、diff 上下文和测试变化,反向构造修复任务。
先合成或抽取 failing tests,再让 agent 生成实现或修复。功能添加、边界条件、回归测试和 verifier 数据都能从这里来。
在真实仓库里注入接近真实错误的扰动:条件反转、API 误用、边界错误、类型错误,再用原测试或新增测试验证。
用 diff、调用图、测试覆盖、stack trace、import graph 生成文件/函数/行级相关区域标签,训练 explorer 和 retriever。
让强 teacher 在无 Docker 或弱验证环境里生成 action/observation 轨迹,清掉格式、重复和明显错误后用于 agentic warmup。
失败 rollout 不直接丢掉,而是标注定位失败、命令失败、测试误读、环境失败、patch 过拟合,用来训练 critic 和偏好模型。
从 pytest、build、CI、runtime logs 中抽出“错误现象 -> 根因 -> 下一步动作”,形成类似 SWE-Doctor 的诊断层。
从 CI script、失败测试、build logs 和依赖变更里生成修复任务,训练 agent 读失败原因、改代码并重新验证。
从用户和 agent 的真实会话中抽取人类纠错、agent 修改、测试反馈、最终保留代码,形成偏好和行为数据。
下面只列汇报中直接使用的核心来源。飞书里的 SFT 统计表可作为内部主数据源,这里补公开论文、HF card 和项目页。