SWE agent landscape

Coding Agent 数据与评测版图

从 benchmark 到现成轨迹数据,再到可复现实例与 Docker 镜像:这份汇报聚焦一个问题, 我们应该测什么、拿什么训、以及怎样把现成任务池变成自己的 agent rollout 工厂。

3汇报主轴:评测、轨迹、可运行环境
20+值得跟踪的 SWE benchmark
10+现成大规模 agent trajectory 数据源
13+SWE 可运行 / 可构建环境资产
overall map

这份报告看三类资产

Benchmark 负责回答“测什么”,trajectory corpus 负责回答“拿什么训”,Docker/env 资产则决定我们能不能继续自己生产 rollout。 三类资产连起来,才是一条完整的 coding agent 数据链路。

例如 Open-SWE-Traces 是轨迹集,不是镜像集;SWE-rebench V2 是可执行任务池,既能做评测,也能做 rollout seed。

值得测什么

从老牌 repair benchmark 到长周期任务,再到仓库探索、定位、QA、技能和诊断。

现成能训什么

看 action/observation 是否完整,resolved 标签是否可靠,teacher、scaffold、语言和去重是否清楚。

自己能跑什么

有镜像或 Dockerfile 的任务池,才能稳定进入 K8s rollout,产出和我们 harness 对齐的新数据。

part 1

评测版图:从修复成功到可合并、可维护、可诊断

SWE-bench Verified / Pro 仍是大厂发布 coding 模型时最常见的主分数,但它们主要回答补丁是否通过测试。 新一批评测开始继续追问:回归有没有挡住、测试是不是有效、改动是否越界、代码会不会越写越乱,以及上线后能否留下足够的诊断信号。

一套完整评测需要保留 Verified / Pro 的可比性,再用 FrontierCode、SlopCodeBench、安全和可观测性评测补上“能不能合并并长期维护”。
大厂发布常测基准

SWE-bench / Lite / Verified

真实 GitHub issue repair。Verified 仍然是 sanity、横向对比和回归测试里最稳的基础尺子。

classicdockerarXiv 2023-10-10

SWE-Bench Pro

更长的执行链、更多跨文件修改和 public / private 任务划分,用容器内测试判断 resolved;难度和工程真实性明显高于普通 SWE-bench,但主指标仍是测试通过率。

new standardimagesarXiv 2025-09-21
近年新增与子能力评测
DeepSWE v1.1原创长周期任务 / clean verifier

113 个原创任务,覆盖 91 个仓库和 5 种语言。agent 必须提交 commit,系统只提取 committed diff,再到独立、干净的 verifier container 中应用并运行测试;CTRF 逐条记录测试状态,同时清理未来 git 历史、依赖漂移和部分 flaky tests。主指标仍是 repeated Pass@1,重点是 correctness、复现和防泄漏,不直接给风格或可维护性打分。

clean verifier113 tasksarXiv 2026-07-08
ProdCodeBench / REAP · Harvest真实生产会话 / test relevance

从真实 developer-agent 交互中抽取 prompt、committed diff 和 fail-to-pass tests。它先判断任务是否可测试、测试是否与改动有因果关系,再在改动前连续执行三次:前两次 warm-up,第三次必须稳定失败;最终评分只认 executable tests,模型各跑 3 次。论文后续把 benchmark 名称改为 Harvest,arXiv 标题也从 ProdCodeBench 更新为 REAP。

production3-run validationarXiv 2026-04-02
FrontierCode 1.1mergeability / rubric grading

150 个 maintainer-authored tasks,来自 36 个开源仓库。正确性、回归、build / lint、测试正确性和 scope 是 blocker;全部通过后,再对 readability、design 等 non-blocker 做加权评分。它还检查 agent 自写测试能否在 base commit 上失败、改动范围是否合理,并在 v1.1 加入联网防泄漏 scanner。这是目前最接近“代码能否直接合并”的综合评测。

quality rubricreverse-classical testsCognition 2026-07-07
SlopCodeBench长期维护 / structural erosion

36 个问题、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
Observability-aware Code Evaluationinstrumentation / runtime diagnosis

论文正式标题是 “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
SWE-Explore仓库探索 / code-region retrieval

给定 repo 和 issue,在有限 line budget 下返回相关代码区域排序。它把修复之前“先找对上下文”的能力单独拎出来。

arXiv 2026-06-05
SWE-Doctorruntime diagnosis

用多角度 bug reproduction tests 生成运行时诊断,把测试失败从一个红叉变成可训练的中间信号。

arXiv 2026-07-01
SWE AtlasQA / test writing / refactoring

把 software engineering agent 的评测范围,从 issue repair 扩到代码库问答、测试编写和重构。

arXiv 2026-05-08
MULocBench / Multi-CoLoR多语言定位

聚焦文件、函数、行级定位,衡量 agent 在大型仓库里能不能先找对修改位置。

arXiv 2025-09-26
SWE-QA / SWE-QA-Prorepo-level understanding

关注多文件、多跳依赖、架构理解和代码库问答,补上最终 patch 指标看不到的理解能力。

arXiv 2025-09-18
SWE-Skills-Benchskill effectiveness

评估 skill 文档、microagent、工具说明是不是真的帮到了 agent,而不是只把上下文变长。

arXiv 2026-03-16
SWE-Lancer / SWE-CI / SWE-EVO真实工作流与长期维护

SWE-Lancer 更贴近真实付费工程任务;SWE-CI 和 SWE-EVO 则把视角推向 CI、release evolution 和长期维护。

SWE-EVO arXiv 2025-12-20SWE-CI arXiv 2026-03-04
近期模型发布与 frontier 对比

公开 headline 仍然以 solve rate 为主

同一个百分比背后可能是不同数据集、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 是否真的适合进入生产代码库。

主流成熟任务完成、fail-to-pass / pass-to-pass tests、最终 resolved。
正在补齐回归、build / lint、scope、测试有效性、代码可读性和长期结构退化。
仍需专项安全、可观测性、运行时诊断、轨迹质量与 review 能力。
更稳妥的组合是:Verified / Pro 保持横向可比,DeepSWE / ProdCodeBench 检查环境与测试可信度,FrontierCode / SlopCodeBench 看可合并性和长期维护,再补安全与可观测性专项。

测试之外的评测维度

这些维度已经有人在测,但还没有一个 benchmark 全部覆盖。

功能与回归SWE-bench / Pro、DeepSWE、Harvest 用 executable tests 判定修复;FrontierCode 把 behavioral correctness、regression、build / lint 设为 blocker。
鲁棒性Harvest 在改动前重复跑测试过滤瞬态失败;DeepSWE 清理 flaky tests 和依赖漂移;FrontierCode 1.1 审计过严 rubric 并加入联网泄漏扫描。
测试质量FrontierCode 的 reverse-classical grading 要求 agent 新写的测试在 base commit 上失败;Beyond Test Presence(arXiv 2026-07-13)进一步看 assertion strength、edge-case coverage 和 flakiness potential。
风格与维护性FrontierCode 对 scope、readability、design 打 rubric 分;SlopCodeBench 追踪 structural erosion、verbosity 和 clone density,观察代码是否随迭代腐化。
安全性SEC-bench(arXiv 2025-06-13)测漏洞复现与修补;SecureVibeBench(arXiv 2025-09-26)把功能测试与静态、动态安全 oracle 结合,要求 correct and secure。
可观测性Observability-aware evaluation 用插桩位置、诊断变量覆盖和 Fault Signal Rate,判断故障发生时是否留下有用 runtime evidence。
过程与 reviewAgentLens(arXiv 2026-07-07)看工具使用、自验证和错误恢复;SWE-Review(arXiv 2026-07-07)测 review correctness 与 revision usefulness。
part 2

现成轨迹数据集:可复用的 agent trace corpus

Open-SWE-Traces、Orchard、CoderForge、SWE-ZERO 系列说明,公开 SWE traces 已经足够支撑一个 “先学 agent 行为,再用自有 pipeline 对齐”的路线。

records 数量只是第一眼。execution-backed、resolved 标签、teacher 分布和 scaffold 一致性,才决定这些数据能不能放心进训练。
SWE-ZERO-12M
12.29M
Open-SWE-Traces
207K
Orchard
107K
数据集 规模 Teacher / scaffold 性质 用途
这一层的定位: 公开轨迹数据主要提供 agentic prior 和格式 warmup;与产品/训练栈对齐的数据,仍然依赖自有 K8s、 Docker/env、OpenHands/Claude Code scaffold 持续生产 execution-backed rollout。
part 3

可运行环境:哪些任务池能接进 rollout 工厂

镜像、Dockerfile 和稳定测试环境,决定一个任务池能不能真正进入我们的 pipeline。 这一节只保留软件工程任务池;没有镜像的数据集和非 SWE 专项任务不混在这里。

当前的接入顺序可以很清楚:Verified 做 sanity,SWE-rebench V2 和 Scale-SWE 做规模,SWE-Bench Pro 做难例,多语言和专项池做覆盖补充。
资产池 镜像/环境状态 规模 接入价值 注意事项
our rollout factory

我们的 pipeline:SWE rollout factory

这里不是重新发明 benchmark,而是把已有可执行任务池变成持续产出 agent 训练轨迹的系统。 关注点也不只在最终分数,而是 action、observation、测试反馈、失败原因和 verifier 信号。

`SWE-synthesis-pipeline` 正好对应这一层:ltp-docker 起 Pod,OpenHands/Claude Code 跑 agent,Mongo 收 spans,再过滤和导出。

Benchmark seeds

Verified / rebench V2 / Scale-SWE / SWE-Pro / R2E-Gym

Image resolver

swe-mirror 重写、镜像存在性检查、网络权限分类

K8s Pod

ltp-docker 容器 API,上传脚本,启动 repo 环境

Agent scaffold

OpenHands / Claude Code / SWE-agent,统一 action schema

Trace capture

spans、token/logprob、stdout/stderr、diff、工具调用

Verifier

gold patch filter、resolved scorer、flaky 重跑、弱测试检测

Training views

SFT triplet、preference pair、critic、verifier、RL replay

短期改进

  • 把 SWE-Bench Pro、Scale-SWE 和多语言 SWE 任务池接进统一 run manifest。
  • 给每个 seed 留下 image、语言、repo、issue、验证状态和失败原因。
  • 成功和失败轨迹都保留标签,不只导出 resolved==1。
  • 按 scaffold 拆分统计,避免 OpenHands / Claude Code 的风格差异混在一起。

中期改进

  • 从成功轨迹里蒸馏 SWE-Explore 式 code-region labels,训练 context selector。
  • 引入 SWE-Doctor 式 runtime diagnosis,把测试失败转成中间监督。
  • 给 trajectory quality audit 留出标签:定位失败、命令失败、环境失败、patch 作弊、过早结束。
  • 用 Open-SWE-Traces / Orchard / CoderForge 做 schema 对齐和 cold-start warmup。
data synthesis

合成数据,不只有 Docker rollout

Docker rollout 给的是最硬的执行验证,但成本也最高。SWE 数据还可以从 issue、PR、测试、日志、静态结构、teacher traces 和用户交互里长出来。

这些方法的区别主要在验证强度:完全可执行、弱执行、静态监督、execution-free 行为蒸馏,各自服务不同训练阶段。

PR 反演任务

从真实 merged PR 中隐藏 patch,保留 issue、commit message、diff 上下文和测试变化,反向构造修复任务。

测试驱动合成

先合成或抽取 failing tests,再让 agent 生成实现或修复。功能添加、边界条件、回归测试和 verifier 数据都能从这里来。

Bug 注入

在真实仓库里注入接近真实错误的扰动:条件反转、API 误用、边界错误、类型错误,再用原测试或新增测试验证。

静态定位监督

用 diff、调用图、测试覆盖、stack trace、import graph 生成文件/函数/行级相关区域标签,训练 explorer 和 retriever。

Teacher 轨迹蒸馏

让强 teacher 在无 Docker 或弱验证环境里生成 action/observation 轨迹,清掉格式、重复和明显错误后用于 agentic warmup。

失败轨迹再标注

失败 rollout 不直接丢掉,而是标注定位失败、命令失败、测试误读、环境失败、patch 过拟合,用来训练 critic 和偏好模型。

日志到诊断

从 pytest、build、CI、runtime logs 中抽出“错误现象 -> 根因 -> 下一步动作”,形成类似 SWE-Doctor 的诊断层。

CI 反馈任务

从 CI script、失败测试、build logs 和依赖变更里生成修复任务,训练 agent 读失败原因、改代码并重新验证。

真实会话清洗

从用户和 agent 的真实会话中抽取人类纠错、agent 修改、测试反馈、最终保留代码,形成偏好和行为数据。

训练分工: execution-free 数据打底行为先验;静态定位和日志诊断补中间监督;Docker rollout 负责最终 resolved 信号和 harness 对齐。
reference

主要来源

下面只列汇报中直接使用的核心来源。飞书里的 SFT 统计表可作为内部主数据源,这里补公开论文、HF card 和项目页。