IBM 利用 WATSONX 生成式 AI 實現大型電腦主機的 COBOL 現代化

Author Avatar

葉孝明

Joined: Feb 2022

COBOL 不是一種常用的程式設計開發的語言,至少在 2023 年不會。COBOL於 1959 年首次亮相,是最早電腦時代的先進程式語言,今天仍有數十億行 COBOL 程式碼在運作。

來源: VirtualBeat

照片來源: IBM

在2023年8月22日 IBM 宣佈了一項新計劃,該計劃利用生成式 AI 大型語言模型 (LLM) 的強大功能來説明將 COBOL 應用程式帶入現代21世紀。COBOL程式碼繼續運行的地方之一是IBM System Z(通常簡稱為“Z”)大型電腦主機。

新的 watsonx Code Assistant for Z 服務利用 IBM 的 watsonx LLM 進行程式碼開發,將 COBOL 應用程式轉換成更現代的 Java 程式碼。通過使用新一代 AI 在大型機上逐步實現應用程式現代化,IBM 旨在幫助客戶解決人才缺乏問題,並利用 Java 技能,同時降低風險。

IBM在五月份的Think大會上首次詳細介紹了其watsonx產品平臺,旨在為AI構建一系列基礎模型,專為企業案例而設計。

“我們真的看到使用生成AI進行程式碼輔助成為關鍵實例和新興市場趨勢,”IBM Z Software副總裁Skyla Loomis在新聞發佈會上表示。生成式人工智慧可以幫助開發人員更快地評估、更新和測試正確的程式碼。

為什麼更新 COBOL 至關重要

COBOL 程式碼的一個關鍵挑戰是,真正知道如何維護它的開發人員基礎不斷縮小。

Loomis指出,大約84%的IBMZ大型機用戶端正在運行COBOL應用程式。因此,確實有必要幫助組織以更容易維護的方式實現程式碼現代化。由於缺乏COBOL技能,IBM專門針對訓練其人工智慧,以便它能夠真正理解古老的程式語言。

在新聞發佈會上,IBM Z Software 首席技術長 Kyle Charlet 解釋了 watsonx 代碼助手是如何接受培訓以瞭解 COBOL 代碼的。Charlet說,watsonx代碼助手最初是在CodeNet上訓練的,CodeNet是地球上最大的代碼數據存儲之一。除了CodeNet代碼,他指出IBM也在積極訓練和調整watsonx模型。

“Enterprise Z COBOL是我們進一步調整該模型並向其提供一堆COBOL Java對的地方,以便它確切地瞭解如何調整該模型,”他說。

生成式 AI 如何將古老的 COBOL 代碼轉換為現代 Java

watsonx 代碼助手可用於使用生成 AI 分析、重構、轉換和驗證 COBOL 應用程式。

Charlet說,新產品可用於從大型單體COBOL應用程式中“外科手術提取”邏輯業務服務。然後可以使用 watsxonx 代碼助手生成 Java 類層次結構並將提取的 COBOL 代碼轉換為 Java。為了驗證轉換,該解決方案會生成自動測試,以確保新的 Java 代碼在語義上等效於原始 COBOL。

Charlet 解釋說, watsonx 代碼助手沒有將 COBOL 語法逐行轉換為 Java。他指出,這將導致用Java表達COBOL語法,根據他的經驗,這在很大程度上是不可讀和不可維護的。IBM 的方法是採用 COBOL 程式碼的意圖,並將其映射到有意義的 Java 程式碼中

“這個Java必須被Java專業人員識別和維護,坦率地說,它是,”Charlet說。

為什麼程式碼不會像文本一樣撒謊或產生錯誤假設

人工智慧技術的一個常見風險是錯誤的假設,結果不準確。

雖然錯誤假設往往是人工智慧文本生成的常見問題,但Charlet認為,由於多種原因,程式碼通常不太可能出現錯誤假設。他指出,通過對人類語言和潛在錯誤假設的解釋,個人可能不會將錯誤假設視為錯誤。文本受人類解釋的影響,但程式碼的工作方式與文本略有不同。

在 watsonx 代碼助手案例中,他解釋說 IBM 會驗證生成的程式碼。驗證將立即突出顯示任何錯誤假設,因為程式碼不會按預期運行。因此,Charlet指出,雖然錯誤假設可能會在程式碼生成中發生,但這些假設不是意見問題,可以識別和糾正。

“程式碼不會說謊,”Charlet說。“ 程式碼是你遵循的東西,它是一堆機器指令。”

※版權所有,歡迎媒體聯絡我們轉載;登錄本網按讚、留言、分享,皆可獲得 OCTOVERSE 點數(8-Coin),累積後可兌換獎品,相關辦法以官網公布為準※

新增留言