要點:
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生成式程式碼助理
實際上,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帶來的影響
如果實際可行,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程式輔助工具的開發人員中,編寫的程式碼安全性往往較未使用該工具的開發人員低。至於這兩者的未來發展如何?我們將拭目以待。