MENU

OpenAI在COBOL迁移评测中准确率达97.9%,对遗留语言的处理能力大幅提升

OpenAI、COBOL移行評価で正解率97.9% レガシー言語への対応が大幅向上

美国OpenAI于10月19日(当地时间)宣布,在COBOL、Fortran、Visual Basic等AI可用于训练的代码和文档较少的编程语言方面,最新模型的开发与迁移能力大幅提升。为了衡量这一进步,OpenAI设计了两种自有评测。在将COBOL程序迁移到其他语言的评测中,推理量增大的设置下,准确率达到97.9%。

目次

在看数字之前,先了解这些老语言仍然有多重要

COBOL诞生于1959年。有人可能会惊讶:“这么古老的东西现在还在运行吗?”但它至今仍广泛应用于金融机构和政府机构的系统中。据OpenAI介绍,超过40%的网上银行系统、80%的现场信用卡交易和95%的ATM交易都由COBOL支撑。

同样列入本次评测的Fortran,则应用于天气预报和反应堆安全分析。与Python或JavaScript相比,AI可用于学习的代码和资料数量有限。尽管如此,它们仍支撑着社会运转的基础,这种局面多少有些矛盾。

据称,这项工作源于开发者和企业客户的反馈:编码模型不擅长处理这类语言。值得注意的是,这项工作的起点是实际工作中的难题。

迁移评测并非“能运行”就算过关

值得关注的是,第二项评测的要求有多严格。评测会将COBOL程序迁移到C++、Java、Kotlin、Python或Rust,并检查迁移后能否保持与原程序相同的行为。成功的标准是输出必须逐字节完全一致。而且,评测使用的是未公开的测试,只有全部通过才算成功。

一个具体例子或许更容易理解。COBOL的定点运算中,除非明确指定舍入方式,否则多余的小数位会被截断。如果迁移后的程序习惯性地改为四舍五入,会发生什么?程序可能不会报错,但金额的计算结果却可能出现偏差。

想象一下,在银行或保险计算中,1日元的误差累积到数百万笔交易时会是什么情形,就能明白这项评测的意义。与其说这是替换编程语言,不如说是把代码中隐含多年的业务规则及其“行为”原样迁移到另一种语言,这更贴近实际情况。

如何看待97.9%这个数字

先来梳理一下结果。在迁移评测中,推理量设置较低的“GPT-6.1 Sol”准确率为86.6%。同样设置下,“GPT-5.6 Sol”的准确率为5.4%,差距很大。据称,其API成本仅为“GPT-5.6 Sol”的61%。增加推理量后,准确率达到97.9%。

另一项评测“MultiLangBench”的性质则有所不同。它要求模型分别用20种编程语言从零开始构建兼容SQLite的数据库引擎。推理量设为最高时,“GPT-6 Astra”在20种语言上的平均测试通过率为87.4%,高于“GPT-5.6 Sol”的26.8%。

为避免混淆,下面用表格说明两项评测的区别。

【评测对比】
・迁移评测:将COBOL迁移到5种语言中的任意一种,并检查输出是否逐字节一致。“GPT-6.1 Sol”在低推理量设置下准确率为86.6%,增加推理量后为97.9%。
・MultiLangBench:用20种语言构建兼容SQLite的数据库引擎。“GPT-6 Astra”的平均通过率为87.4%。

最难的果然还是COBOL

在MultiLangBench中,20种语言里有19种的通过率超过83%。其中,COBOL为72.1%。虽然相比“GPT-5.6 Sol”的10.9%大幅提升,但它仍然是最难处理的语言。

低成本模型“GPT-6 Luna”的平均通过率也达到40.3%,高于“GPT-5.6 Sol”。据称,其每个样本的预估API成本为0.77美元,比“GPT-5.6 Sol”的3.48美元低约78%。评测环境和测试套件计划在GitHub上公开。

AI进步与遗留系统更新的现状

利用AI推动COBOL迁移并非首次出现。IBM于2023年发布了“watsonx Code Assistant for Z”,可利用生成式AI将COBOL转换为Java。今年2月,美国Anthropic在博客中表示,Claude Code可以助力COBOL现代化。此事被市场视为利好因素,IBM股价单日跌幅创下约25年来最大纪录。市场对这一领域的关注之高,甚至足以让一篇博客撼动股价。

这一问题也有其社会背景。2020年,新冠疫情期间,美国各州政府运营的COBOL失业保险系统涌入大量申请。或许有人还记得,当时能够处理这些系统的技术人员短缺成了一个问题。AI能否进入人手不足的领域,不只是技术问题,也关系到行政和金融体系能否持续运转。

使用时不要完全依赖AI

尽管成绩十分亮眼,OpenAI自身也表示,要将其应用于生产软件,仍需专家审查,并根据系统的业务规则和依赖关系进行测试。即使通过了验证字节级一致性的测试,实际系统中仍存在评测测试未能预料到的异常处理,以及与其他系统的连接。

我认为,与其把AI看作“能一键替换一切的魔法”,不如将它视为“以便于验证的方式推进迁移工作的外包助手”,这更为现实。如果迁移源的规格说明已经遗失,那么与其追求转换速度,能够验证是否复现了原有行为的设计能力更有价值。97.9%这一数字表明,在由人类承担验证工作的前提下,迁移的起点范围已大幅拓宽。

OpenAI、COBOL移行評価で正解率97.9% レガシー言語への対応が大幅向上

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメントする

目次