OpenAI 提升低资源编程语言的编码能力

我们最新的模型进步为使用低资源编程语言(如 COBOL、Fortran 和 Visual Basic)编写和迁移软件提供了更强大的能力。这些语言支撑着全球关键基础设施——例如,COBOL 支撑着超过 40% 的在线银行系统——但与 Python 或 JavaScript 等语言相比,可供模型学习的代码和文档较少。

这项工作解决了开发人员在维护和现代化这些语言软件时面临的困难,因为文档可能不完整,业务规则通常只存在于代码中。模型的开发以开发人员和企业客户的反馈为指导,他们指出现有的编码模型在处理这些特定语言时存在困难。

为了衡量进展,OpenAI 开发了两个互补的评估:MultiLangBench(测试构建新软件的能力)和 COBOL 迁移评估(测试保留现有软件行为的能力)。

MultiLangBench:跨语言构建软件

MultiLangBench 要求模型用指定的编程语言从头构建一个兼容 SQLite 的数据库引擎。该评估测试模型组织代码库、管理状态、处理错误以及添加新功能同时保留现有功能的能力。

为了确保跨语言测试的一致性,评估使用数据库文件作为共享接口。候选程序接收一个初始数据库和一条 SQL 查询,然后生成一个修改后的数据库,并与参考 SQLite 实现进行比对。

GPT-6 Astra 的性能

在最大推理努力下,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-6 Luna 提供了更低成本的选择,并且在测试的每种语言中也都优于 GPT-5.6 Sol。在最大推理努力下,其平均测试通过率达到 40.3%。这些提升是在估计平均 API 成本为每样本 0.77 美元的情况下实现的,比 GPT-5.6 Sol 的 3.48 美元成本低约 78%。

COBOL 迁移评估:保留业务逻辑

第二个评估挑战模型将现有 COBOL 程序迁移到现代语言(包括 C++、Java、Kotlin、Python 或 Rust),同时严格保留程序的原始功能。成功的迁移要求模型理解程序的业务逻辑以及 COBOL 的特定语言行为。

例如,COBOL 程序通常处理金融交易,其中舍入规则等细节至关重要。例如,COBOL 的定点算术会丢弃多余的十进制数字,除非显式请求舍入。评估通过隐藏测试来检验模型是否保留了这些行为,这些测试要求可观察输出达到逐字节一致。

迁移准确性与成本

在此迁移评估中,GPT-6.1 Sol 在低推理努力下达到了 86.6% 的准确率,而 GPT-5.6 Sol 在同一设置下仅为 5.4%,同时成本降低了 61%。当推理努力增加时,准确率达到了 97.9%,使评估接近饱和。这些结果表明,对于正在现代化其遗留系统的企业,代码迁移正朝着更准确、更经济的方向取得重大进展。

对企业软件开发的影响

这些评估以及来自企业客户的直接反馈表明,模型在更广泛的语言中应用软件工程技能的能力正在显著提升。总体目标是使模型能够处理诸如理解不熟悉的代码库、规划更改、使用构建工具、运行测试和调试失败等任务。

开发人员可以在 GitHub 上访问 MultiLangBench 评估设置和测试套件,以检查评估标准并查看其在特定语言中的性能。欢迎用户提供关于模型性能的反馈,以帮助塑造未来的训练和评估工作。

Sources