企業現代化 • AI 與知識圖譜

理解的架構

為何 80% 的 COBOL 至 Java 移轉會失敗——以及知識圖譜如何修復它

一家大型銀行嘗試使用商用 AI 程式編寫助理,移轉累積 30 年的 COBOL 系統。其語法轉換堪稱 完美。但該應用程式 卻使資料庫崩潰 ——就發生在部署上線之時。這次失敗並非語法層次的失敗,而是在於 脈絡

標準 LLM 將程式碼視為線性文字,飽受「Lost in the Middle」(迷失中段)症候群之苦。Veriprajna 的儲存庫感知知識圖譜則捨棄隨機的文字預測,轉向 決定性的圖形推理,達成可用數學驗證的現代化。

70-80%
遺留系統現代化專案的失敗率
2025 年產業研究
$1.52T
美國技術債累積
銀行與政府系統
95%
的 ATM 交易以 COBOL 執行
43% 的銀行系統
2-3x
開發人員生產力提升
搭配圖形化 AI

轉型企業遺留基礎架構

Veriprajna 與《財星》500 大企業、金融機構及政府機關合作,透過結構性理解——而非統計猜測——降低現代化風險。

🏦

針對金融服務業

將任務關鍵的 COBOL 交易系統移轉至雲端原生 Java 微服務,不必承擔營運風險。我們的知識圖譜方法確保整個轉換過程零資料損毀,並全程維持法規遵循。

  • • 決定性的變數相依解析
  • • 可稽核的移轉路徑,滿足法規遵循
  • • 部署後錯誤減少 50%
🏛️

針對政府機關

擺脫 IT 預算 80% 都拿去維護老舊基礎架構的維運陷阱。將 PL/I 與 RPG 系統轉型為現代、可維護的架構,同時保留機構邏輯。

  • • 把屆退開發人員的知識擷取進圖譜
  • • 擺脫對稀缺遺留技能的依賴
  • • 讓持續現代化的循環成為可能
💼

針對企業 CTO

標準的「LLM 包裝器」只會加速產出有缺陷的程式碼。Veriprajna 內建編譯修正迴圈的代理式工作流程,把驗證重擔從人類轉移給 AI,第一次產出就能交付可直接上線的程式碼。

  • • 以圖譜為基礎的變更管理影響分析
  • • 自動化死碼偵測(縮減 20-30%)
  • • 快速上市,技術債更低

「銀行失敗事件」剖析

AI 現代化失敗的零號病例:為何語法完美的程式碼會在正式環境崩潰

情境

挑戰: 一家大型金融機構必須將核心電匯處理系統從 IBM 大型主機(COBOL/DB2)移轉到雲端原生 Java 微服務。

做法: 他們部署了一套熱門的 AI 程式編寫助理——一種 LLM 包裝器——來翻譯一份含複雜 COMPUTE 敘述的 COBOL 程式。

初期成功: AI 完美翻譯了語法。程式碼編譯通過。單元測試(由同一個 AI 依局部脈絡生成)也全數通過。

正式環境失敗: 部署到 UAT 後,第一筆交易就撞毀了資料庫一致性檢查。

根本原因

❌ AI 所見

在局部脈絡裡,變數 TRN-LIMIT 只是一個單純的數值欄位

🔍 AI 所漏

TRN-LIMIT 其實早在數千行之前,就已連同 REDEFINES 子句定義在某個 COPYBOOK 裡

⚠️ 後果

大型主機:壓縮十進位。Java:標準整數。型別不符損毀了二進位資料

脈絡盲點

標準 LLM 飽受「Lost in the Middle」(迷失中段)症候群之苦。當關鍵定義出現在龐大上下文視窗的中段,注意力會大幅衰退。AI 在統計上忽略了文件中段的資訊。

幻覺式假設

當 AI 找不到 TRN-LIMIT 的定義,它並未停下——而是依機率憑空臆測出一個「看似合理」的型別。在銀行系統裡,臆測型別會導致捨入誤差與資料損毀。

語法成功 ≠ 語意正確

這份 Java 程式碼語法完美、編譯零錯誤,卻未能複製原始 COBOL 分毫不差的執行期行為。這就是翻譯與理解的差別。

「Lost in the Middle」(迷失中段)症候群

為何加大上下文視窗解決不了問題:讀懂 LLM 的認知架構

U 形效能曲線

大型語言模型在處理長上下文時,呈現出一種已有充分記載的注意力模式:

初始偏誤
對提示開頭資訊有很高的回憶準確率
谷底
位於中段的資訊,效能顯著下滑
近端偏誤
對提示結尾資訊有很高的回憶準確率

對現代化的啟示

單一 COBOL 程式可能有數千行之長。當 MAX-TRANSACTION-LIMIT 這類關鍵變數定義出現在這段脈絡的中段時,AI 很可能在統計上忽略它。AI 接著憑空捏造一個預設型別,釀成災難性的語意分歧。

長上下文的注意力分布

實證研究顯示:資訊落在上下文視窗中段時,LLM 效能會衰退

為何更大的上下文視窗解決不了這件事

現代 LLM 號稱擁有 100 萬 token 以上的上下文視窗。然而, 有效運用那些上下文的能力並不均勻。更大的視窗並不能消除注意力谷底——只是把谷底拉得更寬。

在擁有數千個 COPYBOOK 相依的企業 COBOL 系統裡,關鍵定義可能散落在合計數百萬行的多個檔案中。上下文視窗再怎麼擴充,也修不好這個根本問題: 隨機性的注意力不是結構性的理解

表:LLM 的認知侷限

現象 影響
中段迷失 相依遭漏看
幻覺 杜撰的邏輯
初始/近端偏誤 核心邏輯被忽略
隨機生成 輸出不一致

文字分析 vs. 圖形分析

標準 AI 把程式碼當成「詞袋」,搜尋文字相似度。當模組 A 經過一串中介者呼叫模組 Z 時,文字式檢索便告失靈,因為這些模組沒有任何共同關鍵字。

Veriprajna 的圖走訪

我們的知識圖譜把程式碼表示成一座邏輯的關聯式資料庫。每個變數、函式與相依都以 帶有明確邊的節點的形式存在。分析模組 A 時,我們走訪圖譜便可找出:

✓ 直接呼叫(CALLS 邊)
✓ 變數定義(DEFINES 邊)
✓ 傳遞相依(A→B→C)
✓ 資料流(UPDATES/READS 邊)

切換視覺化畫面,看看我們的系統如何找出純文字 AI 完全看不見的隱藏相依。

互動式相依圖
文字型 AI
試試看: 切換比較:文字式關鍵字比對 vs. 圖形式結構走訪

軟體的物理學:把程式碼看作圖

軟體不是文字。它是一套高度結構化的系統——邏輯相依、資料流與狀態變化交織,存在於多維度的拓撲空間之中。

抽象語法樹

AST:超越文字

AST 擷取程式碼的階層式文法結構。 COMPUTE INTEREST = PRINCIPAL * RATE 會變成 AssignmentNode → MultiplicationNode → Operands 的一棵樹。

不同於「文字分塊」,AST 解析尊重邏輯邊界
呼叫圖

控制流映射

呼叫圖把應用程式的神經系統攤在眼前——哪個副程式呼叫了哪個。想在把單體拆解成微服務時不留懸空參照,這至關重要。

找出死碼、上帝類別與循環相依
遞移閉包

深層相依解析

「銀行失敗事件」正是肇因於 A→B→C 的傳遞相依。我們的圖譜計算完整閉包,沿相依鏈一路追溯到每個變數的「真相根源」。

確保所有匯入與定義都被正確映射

結構分析 vs. 文字分析

特性 文字分析(標準 AI) 結構分析(Veriprajna)
分析單位 Token/詞 節點(AST 元素)
上下文邊界 任意 Token 上限 邏輯範疇(函式/類別)
相依解析 關鍵字比對 圖走訪
GOTO 處理 視為文字字串 映射控制流邊
準確性 機率性 決定性

Veriprajna 語意鍛造廠

專為遺留系統現代化打造的管線——靜態結構與語意兼備

第 1 階段

智慧解析

Tree-sitter 解析器可攝取 COBOL、JCL、PL/I、Java(13 種以上語言)。語意分塊借助 AST 找出邏輯邊界——按 SECTION/PARAGRAPH 分塊,而不是任意切 token。

每個節點=完整可執行的邏輯單元
第 2 階段

實體擷取

擷取實體(類別、變數、資料庫資料表)與關係(CALLS、UPDATES_TABLE、IMPORTS_COPYBOOK、DEFINES_VARIABLE),灌入 Neo4j/Memgraph。

查詢:「列出有更新 CUSTOMER-ID 的段落」
第 3 階段

實體解析

符號解析會合併重複的參照。跨模態合併則靠嵌入向量,把文件(「User API」PDF)與程式碼(UserAPI 類別)連結起來,讓意圖與實作接軌。

把「為什麼」(文件)與「怎麼做」(程式碼)連結起來
第 4 階段

遞移閉包

計算深層相依鏈(A→B→C)。分析模組 A 時走訪圖譜,為每個變數找出真相根源——就算模組 C 位於另一個儲存庫也一樣。

防範「銀行失敗事件」重演

最終建成的知識圖譜架構

圖節點(實體)

  • 程式碼節點: 類別、方法、段落、變數
  • 資料節點: 資料庫資料表、COPYBOOK、綱要
  • 中繼節點: 文件、需求、測試案例

圖的邊(關係)

  • CALLS: 函式呼叫關係
  • DEFINES/READS/UPDATES: 變數生命週期
  • IMPORTS/INHERITS: 相依鏈

GraphRAG vs. 向量 RAG

為何語意相似度對程式碼行不通,而圖走訪如何解開多跳推理

向量 RAG 的侷限

變數改名會破壞相似度

若開發人員把 Account 重新命名為 Acct,語意相似度就會下滑——即使邏輯完全相同。

邏輯 vs. 關鍵字

搜尋「利息計算」時,如果函式名稱是 FNC-001 又沒有任何註解,就可能錯過真正的數學運算。

碎裂的上下文

依餘弦距離擷取分塊。可能撈到一個單元測試加一則 UI 註解,卻因變數名稱不同而漏掉核心業務邏輯。

GraphRAG 的優勢

結構性關係

檢索奠基於圖的邊,而非文字相似度。無論命名慣例為何,都能找出所有 CALLS、READS、INCLUDES 關係。

互連的上下文

相關性擴展會走訪圖譜,拉出副程式、變數定義、COPYBOOK——這些邏輯上不可分割的部件,組裝成連貫的提示。

多跳推理

就算模組之間毫無文字相似度,也能沿 A→B→...→Z 走訪,回答「如果我改了模組 A,模組 Z 裡有哪些報表會壞掉?」

比較分析

能力 向量 RAG GraphRAG
檢索依據 餘弦距離(相似度) 圖的邊(關係)
上下文品質 高召回、低精確 高精確、互連
多跳推理 差(漏掉間接連結) 優(走訪整條鏈)
幻覺風險 高(用猜的補連結) 低(連結明確)
最佳用途 非結構化文字(FAQ) 結構化系統(程式碼)

超越聊天機器人:代理式工作流程

帶著編譯修正迴圈的自主 AI 代理人,把驗證重擔從人類肩上搬到機器身上

❌ 淺層包裝器工作流程

1
使用者:「幫我轉換這段程式碼」
2
包裝器把文字送進 GPT-4
3
回傳 Java 程式碼
4
程式碼編譯或執行失敗
開發人員手動除錯

結果:人類自己成了除錯迴圈,花好幾個小時修補憑空捏造的相依。

✓ Veriprajna 深層代理人工作流程

1
規劃
分析 AST、查詢知識圖譜
2
檢索
取回帶著相依的 GraphRAG 上下文
3
生成
在語法約束下生成 Java
4
驗證(迴圈)
在沙箱裡編譯
5
自我修正
出錯就查圖譜、重新生成
6
確認
執行單元測試,確認行為相符

結果:第一次出手就是可直接上線的程式碼,開發人員的驗證負擔大幅下降。

人類在環的監督與可解釋性

代理人在執行面上自主,在策略面上受監督。知識圖譜提供了 可解釋性——開發人員可以確切看到 AI 為何做出某項決策:「AI 之所以匯入 com.bank.logic ,是因為它在第 2,847 行發現了對 COPYBOOK-X 的相依。」

給受監理產業的透明度

銀行業與政府需要可稽核的決策。我們從「相信我,我是 AI」走向「這是這段邏輯的引註鏈」。

編譯修正迴圈的投資報酬率

把驗證重擔從人類轉移給 AI。生成後除錯時間縮短 70-80%,達成 2-3 倍的生產力提升。

試算您的現代化投資報酬率

估算圖形化現代化相對於人工或包裝器做法,所能帶來的成本節省與生產力增益

500K
$150
人工/包裝器 AI
$8.5M
18-24 個月
Veriprajna GraphRAG
$2.8M
6-9 個月
預估節省
$5.7M
成本降低 67% + 更快上市

工程化移轉:技術深掘

Veriprajna 如何破解 COBOL 至 Java 移轉中最棘手的難題

全域變數陷阱

❌ 問題

COBOL 在 DATA DIVISION 裡使用全域變數,各種 PERFORM 都會修改它。Java 的最佳實務要求封裝——不留任何隱藏狀態。

✓ 解方

資料流分析追蹤變數的生命週期。CALC-TAX 若讀取 GROSS-INCOME,圖譜便將它標記為輸入相依,並產生明確的參數傳遞。

calcTax(BigDecimal grossIncome)

GOTO 義大利麵

❌ 問題

GOTO 會製造非線性的控制流。Java 沒有 GOTO。文字型 AI 則生成遞迴呼叫 → StackOverflowError。

✓ 解方

控制流圖把 GOTO 目的地映射出來。模式辨識據此判定:

  • • 向後 GOTO = 迴圈(while)
  • • 跳過區塊的 GOTO = 條件(if)
  • • 跳出的 GOTO = return 敘述
重構成結構化的 Java

死碼偵測

❌ 問題

遺留系統裡有 20-30% 是死碼(過時的促銷邏輯、除錯常式)。文字型 AI 會全部照搬移轉——白白燒錢,攻擊面還因此擴大。

✓ 解方

呼叫圖可揪出不可達節點——沒有任何入邊(無人呼叫)的段落。在移轉開跑前先標記待刪。

典型成果
程式碼庫縮減 20-30% → 成本大幅節省、架構更乾淨
FAQ

常見問題

為什麼 AI 程式編寫助理做不好 COBOL 至 Java 的移轉?

AI 程式編寫助理飽受 'Lost in the Middle'(迷失中段)症候群之苦——當 COPYBOOK REDEFINES 子句這類關鍵定義出現在距離待翻譯程式碼數千行遠的地方,注意力就會衰退,AI 便在統計上把它們漏看。在某大型銀行的案例裡,AI 生成了語法完美的 Java,編譯通過、單元測試也全數過關,部署時卻撞毀了資料庫——因為它憑空臆測了變數型別,造成壓縮十進位對標準整數的型別錯配。

知識圖譜如何解決遺留系統現代化的難題?

儲存庫感知知識圖譜把每個變數、COPYBOOK、資料定義與相依,都映射成圖結構中的節點和邊。它不像把程式碼當線性文字處理那樣受注意力衰退之害,圖譜保留所有關係,不受原始碼中距離遠近的影響。如此一來,決定性的變數相依解析、變更管理的影響分析,以及通常能把程式碼庫縮減 20-30% 的自動化死碼偵測,都成為可能。

遺留系統技術債的財務衝擊有多大?

美國的遺留銀行與政府系統已累積 $1.52 兆的技術債。95% 的 ATM 交易與 43% 的銀行系統至今仍跑在 COBOL 上。維運陷阱吃掉 80% 的 IT 預算,失敗的現代化專案(失敗率 70-80%)又再多燒掉數十億美元。以知識圖譜為基礎的做法能在成功移轉的同時,達成 2-3 倍的開發人員生產力提升。

您的 AI 看的是文字,還是結構?

Veriprajna 的儲存庫感知知識圖譜不只是拉高移轉成功率——它們從根本上改變了理解的物理學。

預約諮詢,分析您的遺留程式碼庫,並為圖形化現代化建立投資報酬模型。

技術評估

  • • 程式碼庫結構分析與複雜度評分
  • • 相依圖視覺化與死碼稽核
  • • 為您的現代化量身打造投資報酬模型
  • • 相對於包裝器做法的風險評估

先導計畫

  • • 為期 4 週的知識圖譜建置先導
  • • 在樣本模組上進行概念驗證移轉
  • • 並排比較:人工 vs. 包裝器 vs. Veriprajna
  • • 完整的可行性與影響報告
透過 WhatsApp 聯繫
📄 閱讀完整 19 頁技術白皮書

完整技術報告:AST 解析、GraphRAG 架構、代理式工作流程設計、與向量 RAG 的比較分析、企業案例研究,以及完整的參考文獻。

社群媒體

同步發佈於