AI能否帮助解决COBOL代码危机?

资讯概览
本篇资讯源自 The Verge AI,报道了关于 AI能否帮助解决COBOL代码危机?(英文原文:Can AI help solve the COBOL code crisis?)的最新国外 AI 科技动态。
- 媒体来源:The Verge AI
- 发布时间:2026/10/26 21:15:00
- 资讯分类:国外 AI 资讯
详细内容 (中文翻译)
- 报告
将世界凝聚在一起的古老代码可能会在人工智能中遇到它的对手。今天不是那一天。
- 分享
世界各地的国税局、银行、航空公司和政府基础设施有什么共同点?它们都运行在由古董计算机代码支撑的系统上,没有人敢碰这些代码,以免一切崩溃。
OpenAI 认为它可能有一个解决方案。 10 月 19 日,该公司宣称其最新的人工智能模型将用旧编程语言编写的老化软件迁移到现代代码的能力得到了“实质性改进”,并声称这可以帮助组织“维护和现代化旧系统”。
这可能是一笔巨大的交易。 COBOL 是 OpenAI 强调的语言之一,仍然顽固地嵌入到世界大部分关键基础设施中。尽管几十年来人们一直在努力将其从历史中抹去,但这种语言却一瘸一拐地继续前进,拒绝消亡。
“没有一个头脑清醒的人会使用 COBOL 来进行新的开发项目。”
无论如何强调 COBOL 的普遍性都不为过。 COBOL 是“面向商业的通用语言”的缩写,诞生于 1959 年。近七十年过去了,它仍然无处不在。据 IBM 称,COBOL 是超过 40% 的在线银行系统的基础,支持 80% 的面对面信用卡交易,并处理 95% 的 ATM 交易。它还支撑着许多政府系统,从社会保障到国税局,再到大多数州运营的服务。据粗略估计,COBOL 的低效率每年给美国 GDP 造成的损失约为 1050 亿美元。
但取代 COBOL 是极其困难的。其他传统编程语言(例如 Fortran)也是如此,如今仍在使用从科学计算和天气预报到大气和海洋研究以及对核安全至关重要的代码等各种领域。这些系统往往太重要,不能冒被破坏的风险,而且许多了解它们的程序员早已退休或去世。
尽管人工智能编码工具在现代软件开发方面取得了令人瞩目的进步,但它们一直在努力在这些遗留系统上取得很大进展。但最近的事态发展表明这种情况可能正在改变。
OpenAI 在其最新的博客文章中报告了将 COBOL 代码迁移到更现代的编程语言(包括 C++、Java、Kotlin、Python 和 Rust)的可喜结果,而无需更改原始软件的功能。最后一点对于希望放弃 COBOL 等代码的组织至关重要,OpenAI 承认“只有所有测试都通过时,迁移才被认为是成功的。”
失业检查被几乎没人知道的编码语言所阻碍
COBOL 的问题
PHP:今天关闭整个互联网网站的三个字母
在 OpenAI 自己的测试中,GPT-6.1 Sol 在低推理工作量(模型在给出答案之前花费多少计算步骤分析问题)下实现了 87% 的行为保留准确度,而在较高推理工作量下则攀升至 98%。相比之下,在推理难度较低的情况下,GPT-6 Astra 得分约为 86%,GPT-6 Sol 仅得分 21%,GPT-5.6 Sol 仅得分 5%。
“重写代码与更换系统不同。”
OpenAI 写道:“这些评估结果表明,团队在实现更准确、更经济的代码迁移方面取得了进展,实现了其业务所依赖的软件的现代化。”
该公司还报告了其模型以各种编程语言(包括 COBOL)构建数据库软件的能力的改进。
Anthropic 还看到了遗留系统中的机会。今年 2 月,它发布了一份分步的“代码现代化手册”,并推销其编码代理 Claude Code,作为将 COBOL 代码迁移到 Java 或 Python 等现代语言的一种方式。它没有提供性能基准来显示 Claude Code 执行此类迁移的能力如何,但宣称“COBOL 现代化的经济性已经发生了变化”。 Anthropic 宣布这一消息后,IBM 的股价暴跌,该公司的部分收入来自帮助公司维护遗留系统。
接受 The Verge 采访的专家一致认为,近年来人工智能工具在处理遗留代码方面取得了长足进步。但他们警告说,OpenAI 本周宣扬的进步距离安全取代围绕其构建的关键遗留系统还有很长的路要走。
OpenAI 发言人 Oscar Haines 在给 The Verge 的一封电子邮件中承认,遗留代码“仍远未解决问题”,并表示该公司正在听取开发人员和企业的反馈,并探索如何构建更好的测试并继续提高其模型对编码语言的理解。 Anthropic 没有及时发表评论。
“OpenAI 给出的评估并未解决关键困难:将复杂的遗留系统分解为可以单独替换的较小单元。”
“重写代码与替换系统不同,”荷兰特文特大学软件进化副教授 Vadim Zaytsev 说。系统确实有很多代码——Zaytsev 说他见过的最大的系统有 2.5 亿行 COBOL,“绝对不是世界上最大的”——但这只是问题的一部分。他说,代码可能会用多种语言编写,并且可能会以各种格式存储数据。还需要牢记与其他系统的技术集成以及人员和组织的期望。
Zaytsev 表示,所有这些复杂性意味着“人工智能目前在替换或迁移遗留 COBOL 系统方面并未发挥主要作用”。
荷兰代尔夫特理工大学软件工程教授 Arie van Deursen 告诉 The Verge,OpenAI 的评估也没有捕捉到这一复杂的现实。他将该公司的博客描述为“肤浅的”,并指出它几乎没有提供有关迁移任务的细节,而其语言基准测试则在相对简单且定义明确的任务上测试了模型,该任务涉及与他们在训练中遇到的系统类似的系统。他还强调了维持老化系统与使其现代化之间的巨大差距。 van Deursen 表示:“维护当然比现代化容易得多。”他称 OpenAI 用于评估其模型的任务与实际现代化相距“光年”。 “OpenAI 给出的评估并未解决关键困难:将复杂的遗留系统分解为可以单独替换的较小单元。”
最大的挑战不一定是重写代码。 “主要的挑战确实是不了解系统是如何工作的,”伦敦帝国理工学院编程语言教授阿拉斯泰尔·唐纳森说。他说,对于使用 COBOL 等语言的遗留系统来说,缺乏理解是一个“非常普遍”的问题,并补充说,现在已经很少有人知道如何在这些系统中进行编程了。虽然 COBOL 无处不在,但唐纳森表示,“没有一个头脑正常的人会在新的开发项目中使用 COBOL。”
“在许多情况下,迁移前后系统行为的微小差异都是不可接受的。”
唐纳森说,这使得稳健的测试变得至关重要。一种方法可能是在新旧系统中运行相同的工作流程,以检查它们的行为是否相同。人工智能还可以记录其代码翻译,理想情况下允许熟悉遗留语言的人审查工作。南丹麦大学数学和计算机科学教授 Jacopo Mauro 表示,形式验证是另一种选择,即使用数学技术通过计算来验证代码行为是否正确。
毛罗说,此类方法已经用于验证人工智能生成的数学结果,但将它们应用于遗留代码将需要“大量的工作”。毛罗说,使用这些方法意味着可以自动检查代码,并补充说“这样做比人工检查翻译是否正确更好。”他说,在那之前,“人工验证仍然至关重要。”
当所涉及的系统与在 COBOL 上运行的系统一样重要时,专家表示您需要绝对确定替代方案是否有效。 “在许多情况下,迁移前后系统行为的微小差异都是不可接受的,”扎伊采夫说。虽然人工智能肯定可以节省成本并加快速度,但遗留系统的复杂性意味着部分自动化是不够的。



