AI 與軟體工程中產階級的空心化

AI 加速了技術債與專案失敗

AI 編碼代理(coding agents)正在移除專案累積技術債的「速度限制」。在工程文化薄弱的環境中,AI 允許開發者繞過關鍵的設計討論,直接透過提示詞(prompt)來實現看似功能完備但本質上無法維護的功能。這創造了一種危險的生產力幻覺:在未經訓練的眼睛看來,程式碼可以運作,但底層架構變得如此錯綜複雜,以至於團隊中沒有人理解系統實際上是如何運作的。

當錯誤(bugs)不可避免地出現時,缺乏人類理解會導致遞迴式的失敗循環。開發者無法解釋數據來源或為何做出特定的架構決策,因此轉而求助於 AI 來修復問題。這導致了一個循環:AI 生成的修復方案被疊加在 AI 生成的複雜性之上,使人類工程師與其自身程式碼庫的實際邏輯進一步疏遠。

「糟糕」工程的成本上升

雖然不稱職的工程實踐一直都是一種負擔,但 AI 放大了低技能開發者可能造成的損害。開發者現在可以在一個下午生成 20,000 行程式碼——這種變更量對於人類審查者來說,要進行徹底審查是不可能的。

實作與修正的不對稱性

實作現在變得廉價,但修正仍然昂貴。雖然 LLM 可以在幾分鐘內增加資料庫表和欄位,但撤銷這些決策需要複雜的遷移計畫、資料完整性檢查以及風險管理,以避免破壞生產系統。現在錯誤決策被合併(merge)的速度,遠遠超過資深工程師解開它們的速度。

審查流程的失效

隨著 AI 增加了 PR 的數量,傳統的審查流程正在崩潰。工程師越來越常面對伴隨著 AI 生成描述的大規模變更集(changesets)。當審查者屈服於這種「速度」的壓力時,他們會合併自己並不理解的程式碼,實際上將其批判性思考外包給了模型。

AI 工程經濟的分叉化

AI 正在使軟體工程的薪資與角色進一步分化,創造出一種「槓鈴型」分佈,其中中產階級——即主要擔任實作專家或「Jira ticket takers」的工程師——正在被空心化。

  • 高價值工程師: 那些擁有管理複雜性並做出正確架構決策判斷力的人,變得越來越有價值。AI 允許他們透過處理例行性的實作來加快速度,減少了他們對大量中層開發者支援團隊的需求。
  • 低價值工程師: 那些缺乏評估 LLM 建議之判斷力的人,正在成為負擔。他們的價值與一種現在已成為商品化(commodity)的技能(將規格說明轉化為程式碼)掛鉤。

社群洞察與反論點

從業者之間的討論突顯了關於此種轉變的幾個關鍵風險與細微差別:

「初級到資深」的晉升管道危機

人們對於通往資深工程師之路是否已斷裂存在著顯著的擔憂。由於初級開發者傳統上是透過犯錯和處理 AI 現在負責的「雜務」來學習,因此存在技能萎縮與認知懶惰的風險。

"Now it's less likely to get wisdom from another human to build up the knowledge and experience you need. And more likely to delegate the hard stuff to Claude so you don't learn from your mistakes."

管理層的盲點

管理層經常將增加的 PR 數量與程式碼行數誤認為是生產力的提升,卻未能意識到,單一工程師使用 AI 可以透過純粹的複雜性來摧毀團隊的長期動能。

「氛圍編碼者」(Vibe Coder)的陷阱

一些觀察者指出,AI 生成的程式碼往往會「回歸複雜性」。因為 LLM 模仿現有的模式,任何最初的過度工程(over-engineering)種子都可能被 AI 放大,導致「義大利麵條程式碼」(spaghetti code)的自我強化循環。

支持「人機協作」(Human-in-the-Loop)的論點

儘管存在風險,一些維護者認為,只要有嚴格的人類審查流程,AI 對開源社群是淨正面的影響,因為它降低了進入門檻。共識是,雖然 AI 可以生成程式碼,但人類仍必須對該貢獻負責,並能夠解釋每一行程式碼。

Sources

相關