當前位置:
首頁 > 科技 > AI真能寫程式嗎?研究揭密自動化軟體工程的瓶頸與突破

AI真能寫程式嗎?研究揭密自動化軟體工程的瓶頸與突破

當我們幻想著人工智慧能默默扛起軟體開發的繁瑣工作——重構混亂的程式碼、遷移老舊系統、追蹤競態條件——讓人類工程師能專注於架構設計與機器尚無法解決的創新問題時,MIT電腦科學與人工智慧實驗室(CSAIL)的最新研究卻給我們澆了一盆冷水。

這篇發表在arXiv預印本平臺、並將於2025年溫哥華國際機器學習大會(ICML)亮相的論文《AI輔助軟體工程的挑戰與路徑》,系統性地盤點了超越程式碼生成之外的各項軟體工程任務,指出當前技術瓶頸,並提出突破方向,目標是讓人類能專注高階設計,同時將例行工作自動化。

研究資深作者、MIT電機工程與電腦科學教授Armando Solar-Lezama直言:「現在大家都在說程式設計師要失業了,各種自動化工具層出不窮。確實我們取得了巨大進展,但距離實現自動化的完整承諾,還有很長的路要走。」

現實中的軟體工程遠比大眾想像的複雜:從日常的重構最佳化,到將數百萬行COBOL程式碼遷移到Java的企業級改造;從持續的測試分析(模糊測試、基於屬性的測試等)來捕捉併發錯誤或零日漏洞,到繁瑣的維護工作——為十年老程式碼編寫檔案、為新成員整理變更歷史、審查pull request的風格與安全問題。

現有的評估標準也存在明顯缺陷。業界常用的SWE-Bench基準測試,僅要求模型修補GitHub上的issue,這就像「大學生程式作業」般簡化,只觸及幾百行程式碼,且可能從公開儲存庫洩漏資料,更忽略真實場景中的AI輔助重構、人機協同程式設計,或是橫跨數百萬行的效能關鍵改寫。

人機溝通也是重大挑戰。第一作者Alex Gu指出,當要求系統生成程式碼時,常得到龐大且無結構的檔案,連帶的單元測試也往往流於表面。AI缺乏暴露自身置信度的機制——「這部分正確...那部分可能需要覆核」——導致開發者可能盲目信任那些能編譯卻會在生產環境崩潰的虛構邏輯。

規模化問題更雪上加霜。現有AI模型面對數百萬行的大型程式庫時表現掙扎。雖然基礎模型從公開GitHub學習,但「每家公司的程式庫都獨具特色」,導致生成的程式碼可能呼叫不存在函式、違反內部風格規範,或無法透過持續整合流程。

研究團隊呼籲展開社群級別的合作:建立更豐富的資料集(記錄開發者寫碼的完整過程)、共享評估套件(衡量重構品質、錯誤修復永續性與遷移準確性),以及開發能讓模型暴露不確定性並邀請人類指導的透明化工具。

Gu將此視為「行動呼籲」,需要超越單一實驗室的開源協作。Solar-Lezama則預見漸進式突破——「各個擊破這些挑戰的研究成果」——最終將反饋到商業工具中,讓AI從程式自動補全的小幫手,逐步成長為真正的工程夥伴。

「為什麼這很重要?軟體已支撐金融、交通、醫療與日常生活的方方面面,而人類構建與維護它的努力正成為瓶頸。能可靠分擔苦差事的AI,將釋放開發者的創造力,讓他們專注於策略與倫理。」Gu強調,「但實現這個未來的關鍵,在於承認自動補全只是最簡單的部分,真正的挑戰在於其他所有事情。」

未參與研究的Mistral AI科學家Baptiste Rozière評價:「在AI程式設計領域新作頻出的當下,這篇論文提供了清晰的任務架構與挑戰分析,為未來研究指明方向,實屬難得。」

[end]