要点:
IBM的生成式AI工具Watsonx Code Assistant,正在帮助银行将大量Cobol程式码转换为Java。如果实际可行,Watsonx程式码助理可能会对未来产生重大且深远的影响。但值得留意的是,作为竞争对手的微软GitHub,也致力于协助企业摆脱COBOL的束缚。
科技正以前所未有的速度和规模发展,引发多个领域的变革,塑造了新的商业模式,甚至重塑了全新社会结构。我们一起,从科技创新中洞察社会转型和升级的机遇。
狂呼科技研究所聚焦科技创新对当今世界的影响,以独特、前瞻的科技视角,洞察科技时代下涌现的“创新革命”。
狂呼,以最具突破性的技术塑造我们的未来,为大众捕捉科技商业先机,探索当今人类社会面临的重大挑战。
联系我们// 相关文章
华尔街汇聚了全球精英,并对美国经济产生深远影响,然而却以一种拥有64年历史的古老程式语言COBOL为基石。
COBOL被冠以“通用商业导向语言”的名号,尽管大多数学校和大学在数十年前已停止教授有关它的技能,但它仍然是当今在银行、汽车、保险、政府、医疗保健等行业和金融领域中使用的顶尖大型机程式语言之一。据“国际科学、通讯和技术高级研究杂志”/IJARSCT的数据,有43%的银行系统仍在使用COBOL,每天处理着3兆美元的交易,其中包括美国95%的ATM活动以及80%的银行系统。
COBOL的历史可以追溯至1959年,当时美国国防部与业界合作开发了这一程式语言,其全名为"Common Business-Oriented Language",旨在解决不同厂商间软体不相容的问题。这种语言的设计初衷是实现程式码的跨平台共享,使得企业在不同电脑系统上能够使用相同的程式码,而不必担心兼容性问题。 COBOL因其易读性和强调业务逻辑的特性而在企业界迅速流行起来。
然而严重问题在于,如今鲜有人对学习COBOL表现出兴趣。 COBOL编码繁复,细节繁多且缺乏灵活性,其编译时间甚至比竞争对手长得多。由于鲜有人再学习这门语言,因此能够使用和维护所有这些程式码的程式设计师越来越难匹配。因此,COBOL的使用者逐渐退出劳动市场,而寻找替代者却成为一项供不应求的挑战。
为何企业至今仍广泛使用COBOL呢?
COBOL的持久存在有着多原因,其中之一在于没有任何一种程式语言能像COBOL一样既灵活又可靠。举例来说,金融机构对于数据的绝对准确性有着严格要求,而在这方面,COBOL胜过Java。此外,全球众多大型企业仍然依赖使用COBOL编写的核心应用程式,对其进行干预/升级可能带来过高的风险和成本。时至今日,一些大型银行甚至需要维护数以十万计的COBOL程序,总计数亿行的程式码。
在COBOL开发的早期,程式被打孔到卡片上并载入到专用的打孔卡读卡机中,该读卡机将编译程式码并将其作为程式载入。现代COBOL系统不再使用打孔卡,但程式语言本身自20世纪60年代以来并没有太大变化(图片来源:IBM)
虽然这批古老的程式码仍在运行,但通常受到文件记录不足的阻碍,因此难以进行更新和修改。目前,全球仍有可能有多达8000亿行COBOL程式码在使用中,对美国众多银行甚至整个持续运行的体系产生影响。
即使存在能够转换程式码的原始码编译器,但系统改进的成本庞大,需要大量资金支出,同时也伴随着巨大的风险。 2012年,澳洲联邦银行/CBA开始以德国公司SAP开发的软体取代其核心COBOL系统。这个过程需要五年的时间,耗资超过10 亿澳元(7.499 亿美元),期间也遇到了许多问题。 2015年6月,CBA支付和线上系统发生故障,导致60万笔付款和直接扣款遗失。 三个月后又发生了一次重大中断,导致客户无法使用银行卡、应用程式或支付帐单。
然而,现今出现了一项被视为各家银行COBOL系统重建的终极救星:“生成式人工智能/AI”。而在这过程中,IBM成为了备受关注的焦点。
Watsonx生成式程式码助理<br data-mce-fragment="1">实际上,IBM的方法相当巧妙。它并非完全仰赖有限的人类程式设计师来解决问题,而是建立了一个由人工智能AI驱动的生成式程式码助理/Watsonx。这个助理的作用是协助将所有陈旧的COBOL程式码转换为更现代的语言,这样一来编码人员可以省去大量重新编程的时间。这种转换的速度比以往的方法快上10倍,同时也节省了大量人力成本,还避免了需要数亿美元的升级费用,因此许多顶尖企业都与IBM合作进行COBOL程式码的转换。
以极其简单的术语来形容,这个过程就好比将一篇英文文章输入ChatGPT,然后请求将某些段落转换成指定语言。程式设计师能够以COBOL区块的形式进行工作,并利用Watsonx将其转换为Java等现代语言。然而,实际情况要复杂得多,并非如此轻松。
IBM IT自动化产品管理副总裁Keri Olson解释说,“Watsonx是一种端到端解决方案,涉及执行此类复杂程式码翻译任务的多步骤流程。在IBM和客户彻底了解应用程式环境、资料流和现有依赖关系后,我们会帮助他们重构应用程序。”
IBM Z Software副总裁Skyla Loomis也补充说,“大家必须记住,这是一个开发人员辅助工具。它是人工智能AI辅助的性质,但仍需要开发人员。一旦人与机器之间的伙伴关系建立起来,人工智能就会介入并开始程式码的转换。”Loomis解释说,“开发人员可能仍然需要对人工智能AI提供的程式码进行一些细微的编辑,人工智能的介入是生产力的提高,而不是取代开发人员。”
Watsonx带来的影响<br data-mce-fragment="1">如果实际可行,Watsonx程式码助理可能会对未来产生重大且深远的影响。然而,并非所有人都对IBM所宣称的这种“灵丹妙药”深信不疑。
很多曾经见证过IBM之前人工智能实验Watson Health失败的人都在犹豫,是否应该相信该公司另一个庞大的人工智能AI项目,因为前一个项目结局惨淡,未能实现其宏伟的承诺。 Gartner杰出副总裁兼分析师Arun Chandrasekara也表示怀疑,因为IBM目前没有案例研究来验证其主张,他说,“人工智能生成是一项早期技术,需要时间来完善。我确信他们已经制定了制衡措施来解决这种情况,但我更愿意采取再等等看的态度。”
Watsonx Code Assistant允许程式设计师选择COBOL程式码的特定位元并立即将其转换为Java (图片来源:IBM)
就连IBM也承认这项技术是创新技术且未经证实,但对其未来仍持乐观态度。 “如果以Watsonx代码助手的具体案例研究来说,那么Chandrasekara的怀疑可能是正确的。但如果你看看我们在Z计算方面的经验、大型主机上的客户,以及我们在人工智能方面的经验,确是我们正处于将其带给客户的早期阶段,并提供最先进的人工智能AI体验。”
值得留意的是,作为竞争对手的微软GitHub,也致力于协助企业摆脱COBOL的束缚。其基于OpenAI技术的AI工具Copilot能够在复杂的后台中识别COBOL程式码,向工程师解释每段程式码的功能,类似于IBM的通用AI工具,协助企业将其转换为Java等更现代的程式语言。
截至目前,IBM和GitHub的AI工具或许能够全面解决让众多银行和金融机构陷入混乱的老旧程式码的问题。但AI编译的程式语言尚未达到完美,近期斯坦福的研究人员也曾发现,在使用OpenAI程式辅助工具的开发人员中,编写的程式码安全性往往较未使用该工具的开发人员低。至于这两者的未来发展如何?我们将拭目以待。