面向 CTO 與技術主管4 分鐘閱讀

為什麼 AI 翻譯的 COBOL 會讓您的資料庫崩潰

無懈可擊的語法背後藏著致命的邏輯錯誤——70-80% 的遺留系統現代化專案之所以失敗,正是因為 AI 看不見它讀不到的東西。

問題所在

一家大型銀行要求 AI 將三十年的 COBOL 改寫成 Java。AI 完美地翻譯了語法。程式碼順利編譯。單元測試全數通過。接著,第一筆交易就讓資料庫當機了。

這次失敗與爛程式碼無關。那份 Java 在文法上無懈可擊。問題出在一個隱藏的相依性——一個名為 TRN-LIMIT 的變數,定義在一個共用標頭檔中,距離 AI 實際翻譯的程式碼有數千行之遙。該標頭檔包含一個 REDEFINES 子句,這是 COBOL 的一項功能,讓同一個記憶體位址可以依據另一個完全不同模組所設定的旗標,容納兩種不同的資料型別。AI 從頭到尾都沒看到這些。它把 TRN-LIMIT 當成一個單純的數字。實際上,它是一個聚集十進位數(packed decimal)。這種不一致導致 Java 應用程式將損毀的二進位資料寫入資料庫,引發參考完整性失敗。

這並不是邊緣案例。研究顯示,70% 到 80% 的遺留系統現代化專案未能達成目標。您的組織很可能正在比大多數員工年資還老的程式碼上運行關鍵系統。如果您正在規劃遷移——或已經在進行中——這種失敗模式應該讓您深感憂心。AI 並沒有打錯字。它漏掉了一個它看不見的關聯。這是一種根本不同的風險類型,而目前大多數工具對此束手無策。

這為什麼對您的業務至關重要

這裡的財務曝險極為龐大,而且牽動著您資產負債表上的每一行。

單是美國的技術債,估計已達 $1.52 兆。如果您的組織運行遺留系統,您此刻正分擔著這份負擔。約有 80% 的聯邦 IT 預算花在營運與維護上——只剩 20% 可用於任何新事物。銀行業的曝險尤其嚴重:43% 的銀行系統仍在 COBOL 上運行,而這些系統處理了所有 ATM 交易的 95%

以下是這對您的風險概況意味著什麼:

  • 安全曝險增加三倍。 超過十年的系統,遭受資料外洩的可能性在統計上是現代應用程式的三倍。您延後現代化的每一季,攻擊面都在擴大。
  • 合規要求日趨嚴格。 GDPR 和 DORA 等法規要求即時報告與資料隱私控制。遺留系統並非為這些要求而設計。您無法調適,正成為監管機關會注意到的合規風險。
  • 您的專家正在流失。 撰寫這些系統的開發人員正在屆齡退休。58% 的開發人員表示,他們因為遺留技術堆疊而考慮離職。當機構知識走出大門,您的維護成本會進一步攀升。
  • 失敗的遷移浪費數百萬。 在 70-80% 的失敗率下,勝算對您不利。一次搞砸的遷移不只是燒掉專案預算——它還會損害對您技術領導階層的信心,並延誤您的團隊正在等待的業務能力。

您的董事會想要數位轉型。您的監管機關想要現代化的控制。您的預算光是維持系統運轉就已捉襟見肘。您承受不起一次無聲失敗的遷移。

底層究竟發生了什麼事

要理解為什麼標準 AI 會在這件事上失敗,請把您的程式碼庫想成一座城市。每個函式、變數和資料庫資料表都是一棟建築。它們之間的連結——哪個函式呼叫哪個函式、哪個變數餵給哪個計算——就是道路。

現在想像您交給某人一本記載城裡每棟建築的電話簿,請他重新設計公共運輸系統。他們有名稱和地址,卻沒有地圖。他們看不到哪些道路連接哪些建築。這正是標準 AI 編碼工具對待您程式碼的方式。它讀取文字,卻看不見結構。

這個具體的技術性失效被稱為「Lost in the Middle」(迷失在中段)效應。大型語言模型——編碼助理等工具背後的 AI 引擎——使用注意力機制來處理文字。研究已經證明,這些模型對長輸入開頭和結尾的資訊有很強的召回能力,但對埋在中段的資訊,效能會急劇下降。在一個橫跨數千行並引用外部檔案的 COBOL 程式中,關鍵變數定義往往正好落在那個盲點裡。

當 AI 錯過一個定義時,它不會停下來發問。它會猜測。它會用統計上看似合理、事實上卻錯誤的內容填補空隙。用 AI 術語來說,這叫做幻覺(hallucination)。在您的銀行系統中,這意味著 AI 可能假設某個變數是整數,而它實際上是聚集十進位數。這一個錯誤假設就可能損毀財務資料、破壞資料庫完整性,並讓交易系統停擺。您的程式碼編譯通過。您的測試全數過關。您的正式環境卻失敗了。

什麼有效(以及什麼無效)

我們先從您的團隊可能已經嘗試或考慮過的方法談起——以及為什麼每一種方法都有不足。

直接搬移(重新託管): 您把編譯後的應用程式搬到雲端模擬器上。這改變了您的託管帳單,卻保留了每一行糾纏不清的遺留程式碼。您把全部技術債帶進新環境,卻絲毫得不到雲端的彈性。

手動改寫: 您雇用開發人員用 Java 手工改寫一切。這痛苦地緩慢、昂貴得如天文數字,而且取決於能否找到同時懂 COBOL 和現代架構的人。隨著您的 COBOL 專家退休,這一年比一年更難。

AI 包裹式工具: 您把商用 AI 編碼助理指向您的程式碼庫。它快速翻譯語法。但正如那家銀行的失敗所示,它會漏掉跨檔案相依性、憑空捏造變數定義,產出看似正確、行為卻錯誤的程式碼。

以下是真正有效的方法——一種圖譜導向的方法,把您的程式碼視為相互連結的系統,而不是一堆文字檔:

  1. 解析結構,而不只是文字。 與其把您的程式碼切成任意大小的文字區塊,不如把每個檔案解析成一棵代表其邏輯結構的樹——每個變數、每個函式、每個控制流程分支。這確保 AI 尊重您程式碼的邊界。函式被視為完整的邏輯單元,而不是隨機切下的一段文字。

  2. 建立每一段關係的地圖。 您萃取程式碼庫中的每一條連結——哪些模組呼叫哪些子常式、哪些檔案定義哪些變數、哪些函式更新哪些資料庫資料表——並把它們存進知識圖譜。當 AI 需要翻譯一個付款函式時,它不是只抓取提到「payment」的文字。它沿著真實的相依鏈,拉進每一個變數定義、每一個共用標頭檔,以及每一個下游影響。這就是 Veriprajna 所稱的 存儲庫感知知識圖譜,它直接解決了「迷失在中段」的問題。

  3. 根據地圖驗證每一次輸出。 AI 產生 Java 程式碼,然後在沙盒中編譯。如果編譯器拋出錯誤——比如缺少一個變數——系統就查詢圖譜、找到相依項,並重新產生程式碼。這個編譯—修正迴圈自動運行。您的開發人員審查的是已驗證的輸出,而不是 AI 的原始猜測。

對您的合規與稽核團隊而言最重要的優勢:AI 做出的每一個決策都可追溯。知識圖譜確切記錄了 AI 為什麼匯入特定程式庫,或以某種方式定義變數。您得到的不是黑箱,而是一條引用鏈。您的稽核人員可以看到每一行產生程式碼的邏輯軌跡。

這種方法也在遷移開始前消除浪費。知識圖譜能辨識死碼——系統中實際上沒有任何東西呼叫的函式。移除死碼通常可讓程式碼庫縮減 20-30%,這代表更低的遷移成本和一個更乾淨的最終系統。

對於身處 金融服務業 並面臨監管審查的組織而言,這種透明度不是可有可無的選項。而如果您的現代化需要追蹤跨系統的資料血緣,Veriprajna 的 資料溯源與可追溯性 功能將同樣的圖譜導向方法延伸到您的整個資料管線。

您可以 閱讀完整技術分析 以取得工程細節,或 探索互動式版本 以視覺化方式逐步了解知識圖譜在實務上的運作方式。

關鍵要點

  • 70-80% 的遺留系統現代化專案以失敗告終——而只會閱讀文字的 AI 編碼工具正讓問題惡化,而非改善。
  • 「迷失在中段」效應使 AI 遺漏深埋在大型程式碼庫中的關鍵變數定義,導致無聲的資料損毀。
  • 知識圖譜描繪程式碼庫中的每一個相依性,讓 AI 看見的是關係而非只是文字——消除了讓那家銀行資料庫崩潰的盲點。
  • 死碼偵測通常可在遷移開始前削減 20-30% 的程式碼庫,節省時間與金錢。
  • 每一個 AI 決策都可透過圖譜追溯,為您的稽核與合規團隊提供每一行程式碼產生的完整邏輯軌跡。

總結

標準 AI 編碼工具能翻譯語法,卻遺漏了讓遺留系統正常運作的隱藏相依性。圖譜導向的方法描繪程式碼庫中的每一段關係,把一場高風險的賭博變成可驗證的工程流程。問問您的 AI 供應商:當您的系統遇到一個定義在共用檔案中、距離正在翻譯的程式碼數千行之遠的變數時,它能向您展示完整的相依鏈,並證明它弄對了資料型別嗎?

常見問題

常見問題解答

為什麼 AI 把 COBOL 遷移到 Java 會失敗?

標準 AI 工具把程式碼當成文字,只翻譯語法,而不理解檔案之間的關係。它們會遺漏儲存在共用標頭檔或其他模組中的關鍵變數定義。一種稱為「Lost in the Middle」(迷失在中段)的現象,會使 AI 忽略深埋在長程式碼檔案中的資訊,即使翻譯後的程式碼編譯通過且測試全過,仍導致無聲的資料損毀。

遺留系統現代化專案的失敗率是多少?

研究指出,70% 到 80% 的遺留系統現代化與數位轉型專案未能達成目標。這個高失敗率在 AI 工具出現之前就存在,而且使用標準 AI 編碼助理也沒有改善——它們反而引入新的失敗類別,例如憑空捏造的變數定義和遺漏的跨檔案相依性。

知識圖譜如何協助 COBOL 遷移?

知識圖譜描繪程式碼庫中的每一段關係——哪些模組呼叫哪些函式、哪些檔案定義哪些變數、哪些函式更新哪些資料庫資料表。當 AI 需要翻譯一段程式碼時,它沿著圖譜中真實的相依鏈走,而不是憑文字相似度去猜。這消除了導致標準 AI 工具遺漏關鍵定義、產出編譯通過卻在正式環境失敗的程式碼的盲點。

自信打造您的 AI。

與一支在打造新世代企業級 AI 方面擁有深厚經驗的團隊攜手合作。讓我們協助您設計、建置並部署值得信賴的 AI 策略。

Veriprajna 深度科技顧問公司 專精於為醫療、金融及法規監管領域打造攸關安全的 AI 系統。我們的架構均依循既定規範進行驗證,並備有完整的合規文件。