原標題:LLM帶來了「編程末日」?哥本哈根大學CS教授:別做夢了!
文章來源:人工智能學家
內容字數:11999字
大型語言模型能否終結編程?
本文探討了大型語言模型(LLM)的興起是否會淘汰編程這一問題。哥本哈根大學計算機教授Hans Hüttel以及其他專家認為,編程不會消亡。
1. 對“編程過時”論點的質疑
一些人認為,未來大多數軟件將由AI系統取代,而其余的“簡單”軟件則由AI自動生成,從而終結編程。Hüttel教授對這一觀點提出了質疑。首先,“簡單”的定義模糊不清,許多復雜的系統軟件能否被AI取代仍是未知數。其次,自動生成代碼的難度遠超預期。
2. 程序合成難題與計算復雜性
從規范生成正確代碼是程序合成的核心問題,而這是一個計算復雜性理論意義上的難題。Richard Statman在1979年證明,在簡單類型的λ演算中是否存在具有給定類型τ項的問題是PSPACE完備的,這意味著算法運行時間將隨輸入大小呈指數級增長。即使對于中等規模的輸入,算法也可能極其緩慢。因此,完全依靠AI自動生成復雜程序是不現實的。
3. 現有程序合成方法的局限性
現有的程序合成方法,例如靜態程序分析工具、使用SMT求解器的方法和基于類型的開發形式,都存在局限性。一些方法是近似的,無法生成滿足完整規范的程序;另一些方法則需要大量的計算資源。這些方法從未被認為是“編程終結”的標志。
4. LLM生成的代碼質量問題
LLM在現有代碼上進行訓練,生成的代反映其訓練數據中的編碼風格。這意味著LLM有時能生成看起來合理的代碼,有時卻會產出無意義的程序。因此,LLM并不能完全取代程序員。
5. 自然語言在軟件開發中的實際作用
自然語言在軟件開發中的真正價值在于促進開發人員和最終用戶之間的探索性對話。LLM可以輔助這種對話,但無法取代編程本身。這與過去一些類似的預言(例如FORTRAN報告中關于消除編碼和調試的斷言)一樣,并沒有成為現實。
6. 結論:編程的未來
雖然LLM等技術令人印象深刻,并能輔助編程工作,但它們并不能取代編程。程序合成面臨著計算復雜性上的根本限制,現有技術也遠未達到能夠完全替代程序員的地步。編程的“末日”尚未到來,程序員的技能仍然至關重要。
聯系作者
文章來源:人工智能學家
作者微信:
作者簡介:致力成為權威的人工智能科技媒體和前沿科技研究機構