我们最新的模型进展为使用 COBOL、Fortran 和 Visual Basic 等低资源编程语言构建和迁移软件带来了更强的能力。与 Python 和 JavaScript 等语言相比,这些语言可供模型学习的代码和文档更少,但它们支撑着全球的关键基础设施和基本服务。COBOL支撑着(在新窗口中打开)超过 40% 的网上银行系统、80% 的面对面信用卡交易和 95% 的 ATM 交易,而 Fortran 则用于天气预报(在新窗口中打开)和核反应堆安全分析(在新窗口中打开)。提升 AI 在这些语言中的工作能力,可以帮助团队维护和现代化基本服务所依赖的软件。
这项工作以开发者和企业客户的反馈为指导,他们告诉我们,编程模型往往在这些语言上表现不佳。维护和现代化这类软件可能很困难:文档可能不完整,最初的开发者可能已经离开公司,重要的业务规则可能只存在于代码中。无论团队是在修复缺陷还是迁移到另一种语言,他们都需要保留系统所依赖的行为。
为了衡量进展,我们开发了两项评估。MultiLangBench 测试模型能否在 20 种不同的编程语言中从零构建一个兼容 SQLite 的数据库引擎。我们的 COBOL 迁移评估测试模型能否将现有程序迁移到另一种语言,同时保留其行为。两者共同测试了两项互补的技能:构建新软件,以及保留现有软件的行为。
我们最新的模型在两项评估中都显示出大幅提升,以更低的成本实现了更高的准确率。
在 MultiLangBench 上,GPT‑6 Astra 在 20 种编程语言中实现了 87.4% 的平均测试通过率,高于 GPT‑5.6 Sol 的 26.8%,且在所有测试语言中均有提升。GPT‑6 Luna 也优于 GPT‑5.6 Sol,达到 40.3%,而估计 API 成本约低 78%。
在我们的 COBOL 迁移评估中,GPT‑6.1 Sol 在低推理努力下达到 86.6% 的准确率,而 GPT‑5.6 Sol 仅为 5.4%,同时成本低 39%。在更高推理努力下,准确率达到 97.9%,几乎使该评估饱和。
综合来看,这些结果表明我们的模型在处理多种编程语言方面正变得显著更强,同时也更具成本效益。
1. 从零构建 SQLite(MultiLangBench)
MultiLangBench 要求模型用指定的编程语言构建一个兼容 SQLite 的数据库引擎。模型必须组织代码库、管理状态、处理错误,并在保持现有功能的同时添加新功能。
为了跨语言比较实现,我们使用数据库文件作为共享接口。候选程序接收一个初始数据库和一条 SQL 查询,然后生成一个修改后的数据库。我们使用参考 SQLite 实现来检查结果数据库是否具有预期内容。这使我们能够应用相同的测试,无论构建引擎使用何种语言。
我们将 SQLite 现有测试套件中的测试适配为这种格式。该评估衡量模型在长时间编码会话中能构建多少可用的功能,同时报告测试通过率和 API 成本。
在最大推理努力下,GPT‑6 Astra 在 20 种语言上的平均测试通过率达到 87.4%,高于 GPT‑5.6 Sol 的 26.8%。改进覆盖了所有测试语言,包括 COBOL(10.9% 到 72.1%)、OCaml(25.6% 到 85.8%)、Fortran(21.4% 到 83.5%)和 Visual Basic(27.5% 到 89.4%)。Astra 在 20 种语言中的 19 种上得分超过 83%,COBOL 仍是最难的,为 72%。
GPT‑6 Luna 提供了一种成本更低的选项,在每种测试语言上也优于 GPT‑5.6 Sol。在最大推理努力下,其平均测试通过率达到 40.3%。提升包括 COBOL(10.9% 到 17.1%)、OCaml(25.6% 到 34.1%)、Fortran(21.4% 到 31.4%)和 Visual Basic(27.5% 到 41.6%)。这些改进的估计平均 API 成本为每个样本 $0.77,而 GPT‑5.6 Sol 为 $3.48,约低 78%。
我们正在发布 MultiLangBench 评估设置和测试套件,发布在GitHub(在新窗口中打开),以及每种语言的结果。开发者可以查看评估测试的内容,审阅他们所用语言的性能表现,并找出对其自身工作重要的差距。
2. 迁移 COBOL 代码库
我们的第二项评估要求模型将 COBOL 程序迁移到 C++、Java、Kotlin、Python 或 Rust,同时保留每个程序的功能。
成功的迁移需要理解程序的业务逻辑以及 COBOL 的特定语言行为。COBOL 程序通常处理金融交易和业务记录,其中舍入规则和缺失记录处理等细节反映了业务需求。例如,COBOL 的定点运算会丢弃多余的小数位,除非明确要求舍入。如果重写时改为对这些值进行舍入,代码可以无错误运行,但会产生不同的财务结果。
为了测试这些行为是否被保留,我们在隐藏测试上评估模型,这些测试要求可观察输出逐字节一致。只有所有测试通过,迁移才被视为成功。这类保持行为的能力对于维护和现代化旧系统的团队很有用,不过将其应用于生产软件仍需要专家审查,并针对系统的业务规则和依赖项进行测试。
在这项评估中,GPT‑6.1 Sol 在低推理努力下达到 86.6% 的准确率,而 GPT‑5.6 Sol 在相同设置下仅为 5.4%,且 API 成本仅为后者的 61%。在更高推理努力下,准确率达到 97.9%,使该评估接近饱和。这些评估结果展示了在为现代化业务所依赖软件的团队提供更准确、更经济的代码迁移方面取得的进展。
推进企业软件能力
这些评估,连同来自开发者和企业客户的直接反馈,帮助我们了解模型在哪些方面有所改进,以及在哪些方面仍有不足。
我们的目标是帮助模型将软件工程技能应用到更多语言中:理解陌生的代码仓库、规划改动、使用构建工具、运行测试以及调试失败。
你可以通过 API 在团队所用语言的编码任务上试用我们的最新模型。你对哪些方面有效、模型在哪些地方吃力,以及我们接下来应关注哪些语言或工作流的反馈,有助于塑造我们训练和评估模型的方式,从而更好地支持你所依赖的软件。