美國 OpenAI 於 10 月 19 日(當地時間)宣布,最新模型在開發及移轉 COBOL、Fortran、Visual Basic 等 AI 可用於訓練的程式碼或文件較少的程式語言方面,能力大幅提升。為衡量這項進展,OpenAI 設計了兩種自有評測;在將 COBOL 程式移轉至其他語言的評測中,推理量設定較高時,準確率達到 97.9%。
比數字更該先了解的:古老語言仍有存在感
COBOL 是 1959 年誕生的程式語言。或許有人會驚訝:「這麼久以前的東西,現在還在運作嗎?」但它至今仍廣泛用於金融機構及政府機關的系統。根據 OpenAI 的說法,超過 40% 的線上銀行系統、80% 的實體信用卡交易,以及 95% 的 ATM 交易都由 COBOL 支撐。
同樣列入此次評測的 Fortran,則用於天氣預報及核反應爐安全分析。相較於 Python 或 JavaScript,AI 可學習的程式碼及資料量有限。即便如此,這些語言仍支撐著社會運作的基礎,形成一種有些矛盾的局面。
據稱,此次工作起因於開發者及企業客戶反映「程式設計模型不擅長這些語言」。值得留意的是,這項工作源自第一線的實際需求。
移轉評測可不只看「能不能跑」
值得關注的是,第二項評測的嚴格程度。評測要求將 COBOL 程式移轉至 C++、Java、Kotlin、Python 或 Rust,並確認能否維持與原程式相同的行為;成功的條件是輸出必須逐位元組完全一致。此外,評測使用的是非公開測試,只有全部通過才算成功。
舉個具體例子就容易理解了。COBOL 的定點數運算中,除非明確指定捨入方式,否則多出的十進位小數位數會被截斷。如果移轉後的程式一時沿用慣例,直接四捨五入,會發生什麼事?可能完全不會出現錯誤訊息,只有金額計算結果悄悄出現偏差。
試想銀行或保險公司的計算中,每筆差 1 日圓的誤差累積到數百萬筆時會是什麼情況,就能看出這項評測的意義。與其說是替換程式語言,不如說是把多年來隱含在業務規則中的程式「行為」,原封不動地搬到另一種語言;這或許更貼近實際情況。
該如何解讀 97.9% 這個數字
先整理一下結果。在移轉評測中,推理量設定較低時,「GPT-6.1 Sol」的準確率為 86.6%。相同設定下,GPT-5.6 Sol 的準確率為 5.4%,差距相當大。據稱,API 成本則控制在 GPT-5.6 Sol 的 61%。提高推理量後,準確率達到 97.9%。
另一項評測「MultiLangBench」的性質則不同。它要求模型以 20 種程式語言分別從頭打造一套相容於 SQLite 的資料庫引擎。推理量設為最高的「GPT-6 Astra」,在 20 種語言上的平均測試通過率為 87.4%,高於 GPT-5.6 Sol 的 26.8%。
為避免混淆,以下整理兩種評測的差異。
【評測比較】
・移轉評測:將 COBOL 移轉至 5 種語言之一,確認輸出逐位元組一致。GPT-6.1 Sol 在低推理量設定下準確率為 86.6%,提高推理量後為 97.9%。
・MultiLangBench:使用 20 種語言打造相容於 SQLite 的資料庫引擎。GPT-6 Astra 的平均通過率為 87.4%。
最難的果然還是 COBOL
在 MultiLangBench 中,20 種語言有 19 種的通過率超過 83%。其中 COBOL 為 72.1%,雖然較 GPT-5.6 Sol 的 10.9% 大幅提升,但仍是最難的語言。
低成本模型「GPT-6 Luna」的平均通過率也達 40.3%,高於 GPT-5.6 Sol。每個樣本的預估 API 成本為 0.77 美元,據稱比 GPT-5.6 Sol 的 3.48 美元低約 78%。評測環境及測試套件預計將在 GitHub 上公開。
AI 的進步與舊系統現代化的現況
這並不是第一次出現運用 AI 推動 COBOL 移轉的行動。IBM 於 2023 年宣布推出「watsonx Code Assistant for Z」,利用生成式 AI 將 COBOL 轉換為 Java。今年 2 月,美國 Anthropic 也在部落格中表示,Claude Code 能協助 COBOL 現代化;市場將此視為利多因素,IBM 股價單日跌幅創下約 25 年來最大紀錄。單篇部落格就足以撼動股價,可見市場對這個領域的關注程度。
背後也有社會因素。2020 年新冠疫情期間,美國各州政府運作的 COBOL 失業保險系統湧入大量申請。或許有人還記得,當時能夠處理這些系統的技術人員不足,成為一大問題。AI 能否進入人力短缺的領域,不只是技術議題,也關乎行政及金融服務能否持續運作。
使用時,前提是不全盤交由 AI 處理
儘管數字亮眼,OpenAI 本身仍表示,若要應用於正式環境中的軟體,專家審查,以及依據系統的業務規則與相依關係進行測試,仍不可或缺。即使通過確認位元組完全一致的測試,實際環境中仍可能存在評估測試未涵蓋的例外處理,以及與其他系統的連結。
我認為,務實的做法是將 AI 的角色視為「讓移轉工作以便於驗證的方式推進的外包助手」,而不是「一鍵全面取代的魔法」。如果移轉來源的規格文件已遺失,相較於轉換速度,具備能確認是否重現原有行為的設計能力,會更有價值。97.9%這個數字顯示,在由人類負責驗證的前提下,移轉的門檻已大幅降低。


コメント