AI Pulse

COBOL撑起95%ATM交易,GPT-6迁移老代码准确率97.9%

COBOL撑起95%ATM交易,GPT-6迁移老代码准确率97.9%

老代码撑起关键系统

银行转账、信用卡刷卡、ATM取款,这些每天发生无数次的操作,背后是几十年前写下的COBOL代码。COBOL支撑着超过40%的在线银行系统、80%的面对面信用卡交易和95%的ATM交易。另一种老语言Fortran还在用于天气预报和核反应堆安全分析。

难点在于数据和文档太少

编码模型以前很难应付这些语言。问题出在数据稀缺。COBOL、Fortran、Visual Basic属于低资源语言。这类语言里,模型能拿来学习的代码和文档,远少于Python和JavaScript。开发者和企业客户的反馈也一样——模型经常在这些语言上碰壁。

难点不止数据。这类软件的维护和现代化同样麻烦:文档不完整、原始开发者已经离开、关键业务规则只在代码里,这三样都可能碰上。团队修复错误或迁移到另一种语言时,必须保住系统依赖的行为。

新模型强在哪里

新发布的GPT-6系列把注意力放在了这个领域。研究团队的目标,是让模型在更多语言里应用完整的软件工程技能:理解陌生代码库、规划改动、使用构建工具、运行测试、调试失败。他们为此设计了两套评估。

MultiLangBench让模型从零构建一个兼容SQLite的数据库引擎,覆盖20种编程语言。它用数据库文件当统一接口,拿SQLite参考实现来核对结果,测试则改编自SQLite现有测试套件。GPT-6 Astra在这套评估里平均通过率87.4%,GPT-5.6 Sol只有26.8%,每个语言都有提升。Astra在20种语言中的19种得分超过83%,COBOL仍然最难,72%。推理努力拉到最高后,COBOL从10.9%升到72.1%,OCaml从25.6%升到85.8%。Fortran从21.4%升到83.5%,Visual Basic从27.5%升到89.4%。

COBOL迁移评估是另一组。它要求模型把现有COBOL程序迁移到C++、Java、Kotlin、Python或Rust,同时保留每个程序的行为。GPT-6.1 Sol在低推理努力下准确率86.6%,同一设置下GPT-5.6 Sol只有5.4%。API成本则只有后者的61%。提高推理努力后,准确率达到97.9%,接近饱和。

舍入规则

COBOL的难点在于细节。它的定点算术会丢弃多余的十进制数字,除非明确要求舍入。这个行为对习惯了现代语言的人并不直观,迁移时容易被忽略,而它恰恰定义了系统如何计算。

迁移评估的标准因此定得很硬:用隐藏测试,要求可观察输出字节级一致,所有测试通过才算成功。能通过这套检验,说明模型不只是看懂了代码表面,还掌握了语言层面的行为约定。

成本降了

能力提升的同时,成本也在下降。GPT-6 Luna在MultiLangBench上的平均通过率40.3%,超过GPT-5.6 Sol的26.8%。它的估计API成本为每样本0.77美元,GPT-5.6 Sol是3.48美元。但Luna的提升幅度远比Astra小,比如COBOL从10.9%升到17.1%。想要能力还是想要省钱,是个权衡。

评估工具也已公开。MultiLangBench的评估设置和测试套件发布在GitHub,每种语言的结果一并附上。企业可以在自己关心的语言上先跑一遍,再决定是否接入。

生产应用仍有门槛

把迁移能力用于生产软件,研究团队强调仍需专家审查,并针对系统的业务规则和依赖关系做测试。研究环境里的准确率,不等于复杂大型代码库里的真实效果。眼下能做的很具体:通过API,在团队自己的语言上试跑最新模型的编码任务。

关键事实

阅读原文
📚 相关主题 编程

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新