![]()
2200億行COBOL代碼正在全球銀行、保險和政府系統(tǒng)里運轉(zhuǎn)。維護這些代碼的工程師大多已經(jīng)退休,而企業(yè)每年要為這種"技術(shù)遺產(chǎn)"支付數(shù)十億美元的維護成本。用AI重寫?金融機構(gòu)試過——結(jié)果是一場昂貴的幻覺。
AGUELLID CODE團隊上周放出一組數(shù)據(jù):15,552個真實世界的COBOL程序,98.78%被自動轉(zhuǎn)換為語法完全正確的Python。零LLM參與,零概率性輸出,零"模型覺得它對"的解釋空間。
從505行到1.5萬組:這不是演示,是壓力測試
上周他們和IBM合作,用SAM1——一個505行、32毫秒就能跑完的樣本——做了概念驗證。這周直接把測試規(guī)模拉到"能找到的全部"。
樣本來自131個開源倉庫,橫跨5大洲:挪威、法國、巴西、印度、日本、美國。來源包括GitHub、HuggingFace、CBT Tape、GnuCOBOL官方庫、IBM公開倉庫。商業(yè)COBOL方言、GnuCOBOL擴展、TypeCOBOL、大型機專用變體——沒有篩選,沒有策展,找到什么測什么。
v5.6版本處理了14,508個文件,96.84%生成有效Python。v5.8e版本新增1,044個文件,總計15,552個,通過率爬升到98.78%。失敗數(shù)從456降到190,凈減少266個——而原始v5.7參考語料庫的通過率更是達到99.25%,289個失敗案例中180個在一次會話內(nèi)被修復。
這里的"有效"不是人工打分,是AST(抽象語法樹)解析器的一票否決。通過Python內(nèi)置的ast.parse()函數(shù):能解析就是有效,拋出SyntaxError就是失敗。沒有解釋空間,沒有模型幻覺的容身之處。
那190個失敗是什么?COBOL的"方言孤島"
團隊把失敗案例分了類,每一類都指向COBOL生態(tài)的碎片化現(xiàn)實:
TypeCOBOL約60個——多級限定符、REPLACE指令、類型化表達式。這是給COBOL加了靜態(tài)類型系統(tǒng)的現(xiàn)代方言,標準解析器根本沒見過。
GnuCOBOL擴展約40個——GUI、位運算組合、面向?qū)ο蟆CREEN SECTION。開源編譯器的私貨,官方標準里不存在。
非標準COBOL約30個——WebSocket實現(xiàn)、Brainfuck解釋器、.NET GUI綁定。有人用COBOL寫這些,但沒人承諾過轉(zhuǎn)換工具要認。
深層STRING/UNSTRING約25個——復雜嵌套、多分隔符。字符串處理被COBOL設(shè)計者當成了系統(tǒng)編程題。
exotic大型機特性約35個——CICS內(nèi)聯(lián)代碼、復雜EXEC SQL、嵌套copybook。這些是IBM大型機的專屬語法,相當于方言中的方言。
團隊的原話是:「這些不是解析bug,是任何標準COBOL解析器預期處理范圍的外邊界。」消毒器修不了解析器從未理解的東西——但他們知道具體是哪些,正在逐個攻克。
行為等價,而非行對行翻譯
AGUELLID CODE的工作方式和大語言模型完全不同。它不"翻譯"COBOL到Python,而是先把COBOL轉(zhuǎn)換成語義中間表示,再生成可證明行為等價的Python代碼。
沒有神經(jīng)網(wǎng)絡(luò),沒有提示工程,沒有采樣隨機性。相同輸入永遠產(chǎn)生相同輸出,輸出可以被審計,邏輯可以被追蹤。在銀行、保險、政府系統(tǒng)里,"模型覺得它對"不是可接受的解釋——這里要的是確定性。
2200億行COBOL的現(xiàn)代化困境,本質(zhì)是一個信任問題。LLM翻譯的代碼可能看起來對,運行起來卻 subtly 錯,而發(fā)現(xiàn)這種錯誤需要理解兩套系統(tǒng)。AGUELLID CODE的賣點是:錯誤要么在轉(zhuǎn)換前就被捕獲(解析失敗),要么不存在(AST驗證通過),沒有第三種狀態(tài)。
IBM的SAM1合作是個信號。這家擁有最大COBOL生態(tài)的公司,選擇用確定性引擎而非LLM來做概念驗證。32毫秒的轉(zhuǎn)換時間 vs. 不可預測的推理成本,505行代碼的可審計性 vs. 黑盒模型的解釋困境——企業(yè)級客戶的算盤很清楚。
190個失敗案例是下一階段的路線圖。TypeCOBOL、GnuCOBOL擴展、大型機方言——每解決一類,就能解鎖一批被鎖死在遺留系統(tǒng)里的組織。而已經(jīng)通過的15,362個程序,正在證明一件事:沒有AI幻覺的自動化遷移,是可能實現(xiàn)的。
當金融機構(gòu)的CTO們評估"AI現(xiàn)代化"方案時,他們真正想問的或許是:如果轉(zhuǎn)換后的代碼在生產(chǎn)環(huán)境出錯,你能給我什么解釋?AGUELLID CODE的答案是一張AST解析通過的證書——以及和輸入文件一一對應(yīng)的確定性映射。這夠嗎?對于某些行業(yè),這可能是唯一夠用的答案。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.