我们的模型取得了最新进展,在使用 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%,几乎触及该评测的上限。
这些结果共同表明,我们的模型处理多种编程语言的能力正在显著提升,同时成本效益也在不断改善。
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%。
我们将在 GitHub(在新窗口中打开) 上发布 MultiLangBench 的评测配置和测试套件,以及各语言的结果。开发者可以查看评测的具体内容,了解模型在自己所用语言上的表现,并找出与自身工作密切相关的能力差距。
我们的第二项评测要求模型将 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 试用我们的最新模型,让它们处理你所在团队所用语言的编程任务。你对模型表现良好的方面、遇到的困难,以及我们下一步应重点关注哪些语言或工作流程的反馈,将帮助我们改进模型的训练和评测方式,更好地支持你所依赖的软件。





