低资源编程语言的编码能力新进展

低资源编程语言虽然可供模型学习的代码和文档远少于 Python、JavaScript,却支撑着大量关键基础设施。COBOL 支撑超过 40% 的在线银行系统、80% 的面对面信用卡交易和 95% 的 ATM 交易;Fortran 用于天气预报和核反应堆安全分析。开发者反馈,现有编码模型在这些语言上经常失败。维护困难的原因包括文档不完整、原始开发者离职、业务规则只存在于代码中。修复 bug 或迁移语言时,必须保持系统依赖的行为。

为了量化进展,团队开发了两个评估。MultiLangBench 要求模型从零构建一个 SQLite 兼容数据库引擎,覆盖 20 种编程语言,测试模型组织代码库、管理状态、处理错误、扩展功能的能力。评估用数据库文件作为共享接口,候选程序接收初始数据库和 SQL 查询,输出修改后的数据库,再与参考 SQLite 实现比对结果,从而跨语言统一测试。另一个评估要求将 COBOL 程序迁移到 C++、Java、Kotlin、Python 或 Rust,并用隐藏测试检查输出是否逐字节一致。

结果方面,GPT-6 Astra 在 MultiLangBench 平均测试通过率达 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 是低成本选项,平均通过率 40.3%,同样在每个语言上超过 GPT-5.6 Sol。它的估计平均 API 成本为每样本 $0.77,相比 GPT-5.6 Sol 的 $3.48,降低约 78%。在 COBOL 迁移评估 中,GPT-6.1 Sol 在低推理努力下准确率 86.6%,GPT-5.6 Sol 只有 5.4%,成本仅为后者的 61%(即低 39%)。在更高推理努力下,准确率达到 97.9%,接近饱和。

团队已将 MultiLangBench 评估设置和测试套件发布到 GitHub,包含每种语言的结果,开发者可以检查评估内容、查看自己所用语言的性能,找出差距。但要注意,这些能力用于生产软件仍需专家审阅和针对业务规则、依赖的测试。整体目标是帮助模型在更多语言中应用软件工程技能:理解不熟悉的仓库、规划修改、使用构建工具、运行测试和调试失败。

Advancing Coding in Low-Resource Programming Languages

查看原文