網路議題

IBM 使用 WatsonX 生成 AI,幫助現代化主機上的 COBOL

IBM WatsonX 使用 AI 將 COBOL 程式轉換為現代化 Java 程式碼背景 COBOL 是一種很少被提及的程式語言作為主要開發語言,至少在 2023 年不是如此。然而 COBOL 在計算的早期時期是一種領先的程式語言,今天仍然有數十億行的 COBOL 程式碼在執行生產應用程式。IBM .... (往下繼續閱讀)

分享到 Facebook 分享到 Line 分享到 Twitter

文章目錄

IBM 使用 WatsonX 生成 AI,幫助現代化主機上的 COBOL

IBM WatsonX 使用 AICOBOL 程式轉換為現代化 Java 程式碼

背景

COBOL 是一種很少被提及的程式語言作為主要開發語言,至少在 2023 年不是如此。然而 COBOL 在計算的早期時期是一種領先的程式語言,今天仍然有數十億行的 COBOL 程式碼在執行生產應用程式。IBM 在今天宣布了一個新舉措,利用生成式人工智慧(Artificial Intelligence,AI)大型語言模型(LLMs)的力量,將 COBOL 應用程式帶入現代化時代。

IBM WatsonX 為 Z 主機提供的新功能

COBOL 程式碼仍然在 IBM System Z (Z 主機) 的主機上執行。IBM 推出了名為 watsonx code assistant for Z (Z 的 watsonx 程式碼助手) 的服務,利用 IBMwatsonx LLMs 進行程式開發,以協助將 COBOL 應用程式轉換為更現代的 Java 應用程式碼。透過使用生成式 AI 逐步在主機上現代化應用程式,IBM 的目標是幫助客戶解決人才缺口問題,並利用 Java 技能來降低風險。

IBM 在今年五月的 Think 會議上首次詳細介紹了 watsonx 產品平臺,旨在為企業使用案例構建一系列 AI 的基礎模型。

COBOL 更新的重要性

COBOL 程式碼的一個主要挑戰是實際上知道如何維護它的開發人員群體越來越小。IBM 的 Z 主機客戶大約有 84% 執行 COBOL 應用程式。因此有一個真正的迫切需求幫助組織以更易於維護的方式現代化程式碼。由於缺乏 COBOL 技能,IBM 專門訓練了 AI,使其能夠真正理解這個古老的程式語言。

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

watsonx 程式碼助手可以用於分析、重構、轉換和取證 COBOL 應用程式,使用生成式 AIwatsonx 程式碼助手的新功能能夠從一個大型的單體 COBOL 應用程式 "外科手術式提取" 出一個邏輯商業服務。然後,watsonx 程式碼助手可以用於生成 Java 類別階層並將提取的 COBOL 程式碼轉換為 Java。為了取證轉換,解決方案生成自動化測試,以確保新的 Java 程式碼在語義上與原始 COBOL 程式碼相等。IBM watsonx 程式碼助手不是逐行將 COBOL 語法轉換為 Java,這會導致以 Java 表達的 COBOL 語法,在他的經驗中這是難以閱讀和維護的。IBM 的方法是將 COBOL 程式碼的意圖對映到有意義的 Java 程式碼中。

程式碼與文字的區別

生成式 AI 技術的一個常見風險是幻覺的產生,導致的結果不準確。Kyle Charlet,IBM Z Software 的 CTO 在談到生成的程式碼和生成的文字時指出,幻覺在程式碼中發生的可能性相對較小,原因有以下幾個方面:

  • 人類對於語言的理解和可能的幻覺有很大的主觀性,一個人可能不會將幻覺視為錯誤。而程式碼並非如此,因為程式碼要執行的話,就必須是沒有錯誤的。
  • 程式碼有明確的機器指令,對於機器來說是非常具體的。

Charlet 提到,在 watsonx 程式碼助手的情況下,IBM 會對生成的程式碼進行取證,以確保結果是準確的。如果生成的程式碼無法正確執行,或者不達到預期的結果,那麼取證過程將立即提醒有幻覺的產生。因此儘管在生成程式碼時可能會發生幻覺,但是這些幻覺不是一個觀點問題,可以被確認並校正。

評論

COBOL 是一種具有歷史價值的程式語言,但在現代的程式開發領域中,已不再流行。然而由於許多企業至今仍在執行 COBOL 程式碼,如何更新 COBOL 及招募具備這種技能的開發人員成為一個重要課題。IBMWatsonX 幫助企業解決這個問題,利用生成式 AI 技術將 COBOL 程式碼轉換為現代的 Java 程式碼。

這個舉措可以幫助企業進行程式碼現代化,同時降低風險並保證應用程式的穩定性。而且由於 Java 是一種現代化的語言,具備相對較多的開發人員,這意味著企業可以更容易地找到具有 Java 技能的開發人員來維護和更新程式碼。

然而將 COBOL 程式碼轉換為 Java 並不是一個簡單的過程。這需要 AI 技術和對 COBOL 語法和意圖的深入理解。IBM 使用 watsonx LLMs 作為基礎模型進行訓練,確保轉換過程是準確的並能夠生成容易閱讀和維護的 Java 程式碼。同時透過取證和測試,IBM 確保轉換後的程式碼在語義上等效於原始的 COBOL 程式碼。這樣可以確保轉換後的程式碼能夠正確執行,並達到預期的效果。

建議

對於企業來說如果他們仍然在執行 COBOL 程式碼,將這些程式碼轉換為現代的語言是一個值得考慮的選項。這樣可以讓企業在技術上更有競爭力,同時減少依賴少數知識人士的風險。

選擇合適的轉換工具和方法是關鍵。像 IBMWatsonX 這樣的 AI 技術可以在轉換過程中提供協助,但企業仍然需要具備相應的專業知識和技能來監督轉換過程,以確保轉換後的程式碼是正確的和有效的。此外企業也應該制定一個詳細的計劃來執行這個轉換過程,包括風險評估、培訓和適當的測試。

最終企業應該看到程式碼現代化作為一個長期發展的投資。這將能使他們更加靈活和競爭力,同時減少技術上的約束,以便更好地適應未來不斷變化的需求。

ArtificialIntelligence-IBM,WatsonX,AI,現代化主機,COBOL
程宇肖

程宇肖

Reporter

大家好!我是程宇肖,我對於科技的發展和應用有著濃厚的興趣,並致力於將最新的科技趨勢和創新帶給大家。科技領域的變化速度驚人,每天都有令人興奮的新發現和突破。作為一名部落格作者,我將帶領大家深入探索科技的奧秘和應用的無限可能。