# 软件工程

前沿版本：2026-10-16.1；领域F08

## 概念与例子：从写出代码到完成软件修改

软件工作不只要求代码能够运行，还要求它实现变更目标、保持必须保留的行为，并能在真实项目里接收和维护。短缺陷修复和整仓迁移的难度与验收方式不同。

要求把旧接口迁移到新接口时，只保留旧实现也可能通过旧测试。必须增加针对迁移目标的独立检查，否则测试通过并不能证明任务完成。

- 回归测试：检查改动没有破坏原有必须保留的行为。
- 独立反例：专门寻找现有测试未覆盖的错误情况。
- 测试框架harness：组织环境、工具、预算与评分的执行配置，不是模型本身。
- 黑盒重建：拿到可运行程序和说明、却没有源码，通过探查输入输出重新实现其行为。

## 具体进展

### ProgramBench把评测扩到黑盒重建

ProgramBench给Agent一个可运行程序及说明，不提供源码和隐藏测试，也不允许联网；Agent需要探查输入输出，交付重新实现的源码与构建脚本。例如只知道一个工具处理哪些输入、生成哪些结果，要写出行为一致的替代品。[5 月固定论文](https://arxiv.org/html/2605.03546)

固定论文使用mini-SWE-agent，单次最多1000步、6小时；5月快照中的九个系统，没有完整解决200个任务中的任何一个。9月28日榜单更新的Claude Opus 5（xhigh）+mini-SWE-agent配置报告4.5%全通过、37%至少通过95%测试。两者系统配置不同，不能据此计算控制条件下的能力增长率；少量隐藏错误也可能使实际替代失败。[5 月固定论文](https://arxiv.org/html/2605.03546) [9 月动态榜及指标定义](https://programbench.com/)

既有研究报告的事实摘要与条件说明；具体引用在正文标注
对应材料：[5 月固定论文](https://arxiv.org/html/2605.03546)、[9 月动态榜及指标定义](https://programbench.com/)

### 长程与迁移评测检查完整交付

整仓迁移例如把Vue项目改为React，或把Flask服务改成Starlette：不只是代码能运行，还需确实迁移并保留必要行为。SWE Refactor Bench包含20项任务、8模型/26配置，每配置每任务运行一次，按任务给6–30小时预算，总计520次。[SWE Refactor Bench](https://arxiv.org/html/2608.23564v1)

520次中，340次通过迁移审查，118次通过全部固定行为检查，88次同时满足前两项，28次再通过六个独立验证器；13/20任务没有任何配置全过。118和340是不同检查的计数，不是依次下降的漏斗。全关通过也只证明通过这套检查，不能证明所有可能输入都行为等价。[SWE Refactor Bench](https://arxiv.org/html/2608.23564v1)

SWE-Marathon另研究多小时工程的失败诊断，但其标签只覆盖清洗后部分失败与任务家族，不能外推到全部运行。本轮未直接重核该论文的具体失败比例，故不以筛选分母代替能力结果。[SWE-Marathon 原论文](https://www.swemarathon.org/swe-marathon-paper.pdf)

既有研究报告的事实摘要与条件说明；具体引用在正文标注
对应材料：[SWE-Marathon 原论文](https://www.swemarathon.org/swe-marathon-paper.pdf)、[SWE Refactor Bench](https://arxiv.org/html/2608.23564v1)

### 工作分析：为什么迁移要另设验收

这一差距来自任务定义本身：有限测试只能检查被覆盖的输入，保留旧实现甚至可能通过旧测试却没有完成迁移；多小时运行也会消耗大量上下文，重试数量、缓存和人工代码审阅都会改变交付总成本。因此榜单首试分、best-of-k、部分测试率和完整迁移通过率应分别报告。

编辑分析与工作验收建议；不是论文测得的业务成本结果
对应材料：

## 时间线

- 2026-05（原报告记载的进度/观察 / 月份）：ProgramBench固定论文快照
  日期依据：2026-10-13研究报告第8模块；本次未把未披露日期补成精确日期
- 2026-05-05（预印本首稿 / 日期）：ProgramBench固定论文首次提交。
  日期依据：arXiv v1日期
- 2026-08-24（预印本首稿 / 日期）：SWE Refactor Bench首次提交。
  日期依据：arXiv v1日期
- 2026-09-28（原报告记载的进度/观察 / 日期）：动态榜的指定配置快照
  日期依据：2026-10-13研究报告第8模块；本次未把未披露日期补成精确日期
- 2026-10-12（研究材料范围 / 资料截止）：这份研究摘要的资料范围，不是上述事件统一发生的日期。
  日期依据：原研究报告事实范围

## 工作意义

适合先委派范围明确、可独立核对的修改，并记录返工与接管。不能用部分测试通过率替代真实发布质量。

### 后续观察

基准情景是局部编码与可自动测试变更继续改善，整仓迁移仍需工程师负责需求解释、架构取舍、回归和维护。若私有、冻结且有独立验收的迁移任务连续多轮提高全关通过率，并同时报告成本、返工和人工接管，才支持把转化速度上调；重点看 520 类多门槛评测的跨版本复测与真实团队的前瞻性发布质量。

## 证明材料

### ProgramBench: Can Language Models Rebuild Programs From Scratch?

[5 月固定论文](https://arxiv.org/html/2605.03546)；类别：研究预印本；状态：active
支持：黑盒任务约束、mini-SWE-agent配置及固定论文200任务的全解结果。
定位：论文v1 §2.1（任务）、§3（配置）、§4/表2（固定结果）。
先看Agent可访问什么，再区分完全通过与部分测试通过。
原始发布：2026-05-05；修订：未提取；arXiv v1提交记录；稿内其他日期不冒作修订日
指定程序重建评测；系统配置不同，不是统一增长率或真实发布质量。
2026-10-14书目信息，非实验复验。

### ProgramBench

[9 月动态榜及指标定义](https://programbench.com/)；类别：原始研究或机构项目说明；状态：active
支持：9月28日榜单更新中指定Claude Opus 5（xhigh）+mini-SWE-agent结果与指标定义。
定位：榜单指定配置行；run/claude-opus-5-xhigh/ 详情与指标定义。
检查配置、更新日和完全/部分通过口径；更新日不是实验发生日。
原始发布：未知；修订：未提取；原页面未提取到可靠发布日期，保持未知
动态榜单的指定快照，可能变化；非同条件年度增长或本站任务成绩。
2026-10-14书目信息，非实验复验。

### SWE-Marathon 原论文

[SWE-Marathon 原论文](https://www.swemarathon.org/swe-marathon-paper.pdf)；类别：原始研究或机构项目说明；状态：active
支持：多小时工程诊断的研究范围与清洗后失败分母；不据此给出全运行失败标签比例。
定位：SWE-Marathon论文的诊断范围、失败筛选与任务家族说明；本轮未直接重核正文。
沿原文核对清洗条件与诊断覆盖，再使用任何标签比例。
原始发布：未知；修订：未提取；未从二进制资料猜测发布日期
继承原报告，未把本轮未读论文说成直接原文核验。
2026-10-14书目信息，非实验复验。

### SWE Refactor Bench

[SWE Refactor Bench](https://arxiv.org/html/2608.23564v1)；类别：研究预印本；状态：active
支持：20任务/26配置/520运行；迁移、固定行为与独立验证分别检查的结果计数。
定位：论文v1 §2.2/表1（任务预算）；§3.1（指标定义）；§3.2/表2（计数）。
Migrated与Meets Specification不是递减漏斗；88是二者交集，28是全部检查。
原始发布：2026-08-24；修订：未提取；arXiv v1提交记录；稿内其他日期不冒作修订日
指定任务与混合配置，不是某一模型通用成绩；全部检查通过不保证所有行为等价。
2026-10-14书目信息，非实验复验。

本页整理：2026-10-14；事实范围：2026-10-12。概念解释与既有研究展开；元数据访问不是原始实验复验。

阶段：特定流程生产运行：代码提示、草拟和局部补丁；复杂迁移与持续维护仍属研究验证。
前沿较快；转化渐进；信心中。定性判断不是职业自动化率。
