AI 程式編寫的危險幻象:Jeremy Howard 談軟體工程 vs. 程式編寫

AI 程式編寫的危險幻象:Jeremy Howard 談軟體工程 vs. 程式編寫

核心論點:程式編寫不是軟體工程

AI 輔助的程式編寫透過將軟體開發視為風格轉換問題,而非工程學科,製造出危險的生產力幻象。雖然大型語言模型(LLM)能在其訓練資料中的既有模式之間插值,產生語法正確的程式碼,但它們無法執行高層次的設計、架構推理與新穎問題解決——這些才是真正的軟體工程。這個區別很重要,因為若在未保有系統深層心智模型的情況下將認知任務委派給 AI,會產生「理解債務」:組織擁有可運作的程式碼,卻沒有人真正理解它。

插值幻象與「氛圍編程」

現代 AI 程式編寫工具常像「老虎機」:開發者拉動把手(提示),便得到一個隨機結果。這個過程被稱為「氛圍編程」,透過提示工程與上下文管理製造出控制感的幻象,但缺乏技術直覺的根基。

組合創造力 vs. 真正創新

Jeremy Howard 區分了不同類型的創造力:

  • 組合/組成創造力: LLM 在這方面非常有效。它們能以全新方式組合人類已有的知識。例如,用 Rust 撰寫 C 編譯器,往往是對訓練資料中既有 Rust 程式碼與編譯器邏輯的插值,而非「乾淨房間」的發明。
  • 外推創造力: LLM 難以跳出訓練分佈。當問題需要真正前所未有的解決方案時,LLM 常會慘敗,回退到表層相似性,根本不正確。

老虎機效應

因為 LLM 偶爾會給出「贏」的結果(可運作的功能),開發者可能會上癮於不斷提示與微調的迴圈。Howard 指出,這會令人感到疲憊與壓力,因為開發者不再掌控邏輯,而是賭在模型的輸出上。

組織衰弱的風險

將程式編寫的行為委派給 AI,危及組織必須存活與演進的核心知識。Howard 主張,知識不是維基百科上靜態的資產,而是活生生、具身的適應性獲取過程。

控制的侵蝕

當 AI 產生大部分程式碼時,會出現「惡性控制侵蝕」。開發者停止鍛鍊設計與工程的肌肉,導致「衰弱」狀態,失去提升能力的可能。這對中階開發者尤其危險,因為他們可能永遠無法培養出驗證 AI 輸出的深層直覺。

理解債務

Howard 舉例說明使用 AI 修復 IPykernel 中的複雜崩潰。雖然 AI 最終解決了問題,但產出的程式碼沒有人能理解。這產生關鍵風險:若程式碼不被理解,其長期穩定性、記憶體洩漏與邊緣案例漏洞皆未知。將公司的產品押在沒有人理解的程式碼上,是一種投機且危險的賭注。

透過摩擦學習:互動式程式設計的必要性

真正的技術直覺是透過「適度困難」——當現實對心智模型產生阻力時的摩擦——而建立的。

低摩擦工具的失敗

移除程式編寫過程中所有摩擦的工具(如自主 AI 代理)會阻礙長期記憶與深層理解的形成。Howard 引用艾賓浩斯的研究與間隔重複的概念,指出只有在努力檢索時記憶才會形成。

REPL 與 Notebook 的力量

為了對抗衰弱,Howard 主張回歸互動、具狀態的環境(REPL、Jupyter Notebook)。他認為即時操作物件——對問題「戳」到它反彈的過程——才是真正產生洞見的地方。

"當人類能即時操作電腦內的物件、研究它們、移動它們、並將它們結合時,人類能從電腦中做出更多事。"

他強調目標不應是將人類從迴路中自動化移除,而是利用 AI 在互動環境中提升人類建立系統深層心智模型的能力。

AI 風險:集中化 vs. 滅絕

談到存在性風險時,Howard 認為主要危險不是自主 AI「起飛」並毀滅世界,而是權力的集中化。

  • 集中化陷阱: 恐嚇式的 AI 滅絕論常導致呼籲將權力集中於少數大型企業或政府,以「確保安全」。
  • 真正威脅: 將史上最強大的技術集中於少數人手中,會激發渴求權力者壟斷控制的巨大動機,這比流氓 AI 對文明的威脅更大。

Howard 認為解決之道是將技術散佈於全社會,確保權力平衡與相互制衡,而非創造單點失效的風險。


摘要 Jeremy Howard 主張,雖然 AI 在將程式編寫視為風格轉換問題上表現優秀,但它缺乏「軟體工程」的根本能力,這會導致「理解債務」與組織衰弱的未來。

標題 AI 程式編寫的危險幻象:Jeremy Howard 談軟體工程 vs. 程式編寫

Sources