Legacy-Bench
收藏Legacy-Bench 数据集概述
数据集简介
Legacy-Bench 是一个用于评估 AI 编码智能体在遗留软件工程任务上表现的基准测试。该基准测试旨在衡量前沿 AI 智能体维护、调试和现代化遗留代码的能力。
基准测试构成
该基准测试包含数百个任务,涵盖六个遗留语言家族和真实的企业领域。本仓库提供了十个具有代表性的公开示例任务。完整的基准测试可用于评估,需联系 Factory 获取访问权限。
语言与领域分布
| 语言 | 基准测试占比 | 领域 |
|---|---|---|
| COBOL | 46% | 金融结算、工资处理、保险索赔、电信计费、VSAM 文件处理 |
| Java 7 | 32% | 企业中间件、CDR 处理、仓库物流、二进制解析、EJB 模式 |
| BASIC | 6% | 商业应用、会计、数据处理 |
| C89 | 5% | 系统编程、低级调试、协议实现 |
| Fortran | 5% | 科学计算、数值方法、物理模拟 |
| Assembly | 5% | x86 固件解析、协议解码、硬件模拟 |
公开示例任务
| 任务 | 语言 | 类型 | 描述 |
|---|---|---|---|
1907c2 |
C | 修复/调试 | 遗留伙伴分配器修复 |
16b04d |
COBOL | 迁移 | 铁路退休金迁移 |
2831b5 |
Java 7 | 修复/调试 | 评级引擎修复 |
3af1fe |
COBOL | 修复/调试 | 债券结算对账 |
505812 |
Java 7 | 修复/调试 | 库存成本修复 |
6fe1ab |
Java 7 | 修复/调试 | MTOM 附件损坏修复 |
8e8098 |
COBOL | 修复/调试 | 铁路车厢结算修复 |
d1ddc1 |
Fortran | 迁移 | Lattice QCD 迁移到 C++ |
ecf5e7 |
x86-64 ASM | 修复/调试 | MZ/NE 头解析器修复 |
fac397 |
COBOL | 迁移 | 批量利息迁移 |
任务结构
每个任务目录遵循 Harbor 任务格式:
tasks/<task-id>/ instruction.md # 智能体必须执行的操作 task.toml # 配置(超时、资源等) environment/ # 遗留代码库和 Dockerfile solution/ # 参考解决方案(oracle) tests/ # 智能体完成后运行的验证器脚本
智能体接收 instruction.md 和 environment/ 目录。智能体提交其更改后,在容器内执行 tests/ 中的验证器以检查正确性。
评估结果
在评估的 12 个模型-智能体组合中,完整基准测试的总体通过率范围为 16.9% 至 42.5%。作为对比,相同的前沿模型在 Terminal-Bench 2 和 SWE-bench Verified 上的得分 >70%。
关键发现:
- 智能体迭代仅在错误可见时有效。 Java 7 错误修复得分最高,因为堆栈跟踪能告知智能体出错原因。COBOL 错误是静默的——错误的输出看起来是正确的。
- 错误修复优于实现和迁移。 错误修复的得分大约是实现的 2 倍,而实现的得分大约是迁移的 2 倍。每个模型都显示出这种模式。
- 没有单一模型胜出。 每个模型在整个语言家族上都有绝对的失败。不同任务类型的排名不一致。
- 智能体不知道自己是错误的。 在 97% 的失败案例中,智能体认为自己已经解决了任务。
完整分析请阅读:https://factory.ai/news/legacy-bench
许可证
本项目根据 Apache License 2.0 授权,详情见 LICENSE 文件。
引用
bibtex @misc{legacybench2026, title={Legacy-Bench: A Benchmark for AI Agents on Legacy Software Engineering Tasks}, author={Factory AI}, year={2026}, url={https://github.com/factory-ai/legacy-bench} }




