考古學家的副駕駛:AI 輔助老舊 Java 系統現代化,從「觀光客」到「鑑識專家」

Martin Fowler 介紹 Nik Malykhin 如何利用 LLM 協助進行老舊 Java 程式碼的現代化改造,強調了 grounding 的重要性,是具體的工作流程分享。

此文探討如何運用 AI 和 Docker,將一個已有 20 年歷史的 Java 1.5「大泥球」程式碼庫 進行現代化修復。作者初期嘗試以「觀光客提示」直接詢問大型語言模型(LLM)如何運行舊專案,卻得到貌似合理但實際充滿「幻覺」的現代化建議,導致建構失敗。 • AI 在未受限制下,會基於樂觀假設提供錯誤的依賴、檔案結構和隱藏的缺陷,讓修復任務走向歧途。 為此,作者轉換思維,以「考古學家提示」要求 AI 扮演「資深遺留系統架構師」,進行程式碼鑑識審計,而非提供現成方案。 • AI 依此診斷出程式碼的確切年代(Java 1.5)、架構不完整性(如「萬能類別」、字串型別陷阱)及測試虛假性(假單元測試)。

作者指出,在程式碼復原任務中,「樂觀是致命的」,AI 最有價值之處在於其分析能力,而非憑空生成方案。 成功的關鍵在於證據導向的分析Docker 穩定環境的驗證,以及測試保護下的逐步重構


來源:Martin Fowler

閱讀原文 ↗
← 回首頁