宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

AI能否破解COBOL代碼危機?

2026年10月27日 首頁 » 熱門科技

IRS、銀行、航空公司以及全球各地的政府基礎設施,有一個共同點:它們都依賴古老的電腦代碼在支撐運行,而這些代碼幾乎沒人敢碰,一旦出錯就可能引發系統崩潰。

OpenAI認為自己可能找到了解決方案。10月19日,該公司宣稱其最新AI模型在將用舊編程語言編寫的老舊軟體遷移為現代代碼方面取得了"實質性進展",並表示這有助於企業"維護和現代化老舊系統"。

這可能是個意義重大的突破。OpenAI重點提及的語言之一COBOLAI能否破解COBOL代碼危機,至今仍頑固地嵌入在全球關鍵基礎設施的大量系統中。儘管數十年來人們一直努力將其淘汰出歷史舞台,但這門語言卻始終未能徹底消失。

"頭腦正常的人都不會用COBOL開發新項目。"

COBOL的普及程度難以想像。COBOL全稱"面向商業的通用語言",誕生於1959年。近七十年後的今天,它依然無處不在。據IBM統計,COBOL支撐著超過40%的網上銀行系統,支持80%的線下信用卡交易,處理95%的ATM交易。它還支撐著從社會保障到IRS等諸多政府系統,以及大多數州運營的公共服務。有粗略估計顯示,COBOL效率低下給美國GDP帶來的年度損失約為1050億美元。

但替換COBOL是一項極其艱巨的任務。其他遺留編程語言,如Fortran,情況也類似——至今仍被用於科學計算、天氣預報、大氣與海洋研究,以及核安全相關的關鍵代碼。這些系統往往事關重大,不容許出現故障風險,而許多理解這些系統的程式設計師早已退休或去世。

儘管AI編碼工具在現代軟體開發領域取得了令人矚目的進展,但在處理這些遺留系統方面卻一直難有突破。不過最近的一些進展表明,這種局面可能正在改變。

在最新的部落格文章中,OpenAI報告了將COBOL代碼遷移至C++、Java、Kotlin、Python和Rust等更現代編程語言的良好成果,且不改變原有軟體的功能邏輯。這一點對於希望淘汰COBOL等語言的企業來說至關重要,OpenAI也承認,"只有當所有測試都通過時,遷移才算成功"。

在OpenAI自身的測試中,GPT-6.1 Sol在低推理強度(即模型在給出答案前花費多少計算步驟分析問題)下實現了87%的行為保留準確率AI能否破解COBOL代碼危機,在更高推理強度下這一比例攀升至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採訪的專家一致認為,近年來AI工具在處理遺留代碼方面確實取得了進步。但他們也提醒,OpenAI本周宣傳的進展距離能夠安全替換構建在這些語言之上的關鍵遺留系統,還有很長的路要走。

OpenAI發言人奧斯卡·海恩斯在給The Verge的郵件中承認,遺留代碼"仍遠未被徹底解決",並表示公司正在聽取開發者和企業的反饋,探索構建更完善測試體系的方法,持續提升模型對編程語言的理解能力。Anthropic未在發稿前作出回應。

"OpenAI展示的評估結果沒有觸及關鍵難點:如何將一個複雜的遺留系統拆分成可以逐一替換的較小單元。"

荷蘭特文特大學軟體演化副教授瓦迪姆·扎伊采夫表示:"重寫代碼並不等同於替換系統。"系統確實包含大量代碼——扎伊采夫說他見過的最大系統有2.5億行COBOL代碼,"這肯定還不是世界上最大的"——但這只是問題的一部分。他說,代碼可能用多種語言編寫,還要考慮可能以各種格式儲存的數據。此外,還需要考慮與其他系統的技術集成,以及相關人員和組織的期望。

扎伊采夫表示,所有這些複雜性意味著"目前AI在替換或遷移遺留COBOL系統方面並未發揮主要作用"。

荷蘭代爾夫特理工大學軟體工程教授阿里·范德森告訴The Verge,OpenAI的評估同樣沒有反映出這種複雜的現實情況。他將該公司的部落格文章形容為"浮於表面",指出文章對遷移任務的細節交代甚少,而其語言基準測試所評估的,是一個相對簡單、定義明確的任務,涉及的系統與模型訓練時接觸過的系統類似。他還強調了維護老舊系統與真正實現現代化之間存在巨大差距。"維護當然比現代化容易得多,"范德森說,並將OpenAI用來評估其模型的任務形容為距離真正的現代化改造還有"光年"之遙。"OpenAI展示的評估結果沒有觸及關鍵難點:如何將一個複雜的遺留系統拆分成可以逐一替換的較小單元。"

最大的挑戰未必在於重寫代碼本身。"主要的挑戰其實並不在於理解系統如何運作,"倫敦帝國理工學院編程語言教授阿拉斯泰爾·唐納森說。他表示,對於使用COBOL等語言的遺留系統來說,這種理解缺失是一個"非常常見"的問題,並補充說現在已經很少有人懂得如何用這些語言編程。儘管COBOL無處不在,唐納森表示"頭腦正常的人都不會用COBOL開發新項目"。

"在很多情況下,遷移前後系統行為即使存在細微差異也是不可接受的。"

唐納森表示,這使得嚴密的測試變得至關重要。一種可行的方法是讓新舊系統同時運行相同的工作流程,以檢查兩者行為是否一致。AI還可以為其代碼翻譯過程編寫文檔,理想情況下可以讓熟悉舊語言的人員對工作成果進行審查。南丹麥大學數學與電腦科學教授雅科波·毛羅表示,形式化驗證AI能否破解COBOL代碼危機——一種利用數學技術來從計算角度驗證代碼行為正確性的方法——是另一種可選方案。

毛羅表示,這類方法已經被用於驗證AI生成的數學結果,但若要應用於遺留代碼,將需要"巨大的工作量"。他說,使用這些方法意味著代碼可以實現自動檢查,"擁有這樣的能力,會比靠人工檢查翻譯是否正確更好"。但在此之前,他表示"人工驗證仍然不可或缺"。

而當涉及的系統像運行在COBOL上的那些系統一樣關鍵時,專家們表示,你需要絕對確定替代方案能夠正常運作。"在很多情況下,遷移前後系統行為即使存在細微差異也是不可接受的,"扎伊采夫說。儘管AI確實能夠節省成本、提升效率,但遺留系統的複雜性意味著部分自動化是遠遠不夠的。

"假設你有一根神奇的AI魔棒,能夠處理99%的代碼,"扎伊采夫說。"那剩下的1%該怎麼辦?那1%可能涵蓋上百萬行代碼,分散在系統各個角落,並以你一生都難以窮盡的各種方式悄悄出錯。"

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新