This article argues that the principles of software engineering, often overlooked in favor of rapid prototyping, are making a comeback as the industry grapples with technical debt and the need for robust, maintainable systems.
這篇由 Alain Di Chiappari 撰寫的部落格文章引發了 Hacker News 社群對於軟體工程本質的熱烈討論。作者主張隨著 AI 代理(Agents)的崛起,開發者應從繁瑣的程式碼撰寫中解脫,重新專注於高層次的系統設計與架構,並提倡捨棄過度複雜的框架,回歸簡單、純粹的技術棧。
社群觀點
社群對於「軟體工程回歸」的說法呈現兩極化的反應。支持者認為 AI 確實大幅降低了實作門檻,讓開發者能從「打字員」轉型為「協調者」。有資深工程師分享,在處理跨語言、跨框架的微服務架構時,記憶語法細節已成為沉重負擔,AI 能有效處理這些「膠水程式碼」與樣板文件,讓人類專注於解決業務邏輯。甚至有開發者提到,透過並行運行的 AI 工作流,一人能同時處理數十個任務,瓶頸已不再是產出速度,而是公司需求跟不上開發進度。
然而,反對聲音則質疑這種「黑盒化」開發的長期風險。批評者指出,軟體工程的核心在於對系統的關係理解、模型建立與溝通,而非單純產出程式碼。若過度依賴 AI,開發者將失去對系統細節的掌握,導致難以維護的混亂局面。有留言者分享自身經驗,雖然 AI 能快速生成網頁,但產出的 HTML 與 CSS 往往是難以維護的廢料,最終仍須回歸如 Svelte 等現代框架來確保代碼的預測性與可讀性。
關於「設計」的爭論尤為激烈。部分留言認為現代開發者過於依賴規格書與工單,失去了自主設計的能力;但也有人反駁,程式碼本身就是一種最精確的溝通語言,若無法精確描述系統行為,AI 只會根據模糊的提示做出錯誤假設。此外,編譯器的確定性(Deterministic)與 LLM 的隨機性也是爭議焦點。反對派認為,編譯器產出的結果是可預測的,而 AI 產出的程式碼每次可能都不同,這為系統的驗證與測試帶來了前所未有的挑戰。
有趣的是,討論中出現了關於「技能落差」的辯論。有人認為覺得 AI 不好用是因為缺乏協作技巧,就像從單打獨鬥的工程師轉型為管理多個執行緒的領導者,需要完全不同的心智模型。而另一派則堅持,真正的創新來自於對底層技術的深刻理解,若跳過「痛苦的撰寫過程」,開發者將無法在關鍵時刻進行有效的除錯或效能優化。
延伸閱讀
在討論串中,參與者提到了一些值得關注的工具與概念,包括標榜極簡、符合 Web 標準的開發框架 Nuejs,以及透過建立 AGENT.md 或 agents.md 檔案來為 AI 提供專案上下文的實踐方法。此外,也有人分享利用 Python 腳本封裝 GDB,讓 AI 能在批次模式下進行底層組合語言的除錯嘗試。