當心 Vibe Coding 副作用!Netflix 工程師曝「理解萎縮」危機,靠 3 步驟戒掉無腦寫 Code

Description

Netflix 資深工程師 Jake Nations 認為,生成式 AI 讓開發速度提升,卻可能讓開發者對系統的理解深度萎縮;解法是先研究與壓縮上下文、制定詳細實施計畫,再讓 AI 在規格內執行。

Article Body

在矽谷技術圈的聚光燈下,一場關於軟體工程本質的動搖正在發生。Netflix 資深工程師 Jake Nations 在一次公開演講中,以一席「告解」揭開序幕:「我發布了我不懂的程式碼,而且我敢打賭,你們也一樣。」透過生成式 AI,開發者得以在數小時內清掉原本需耗時數天的 backlog;但在開發速度背後,理解深度可能急速萎縮,形成「能跑但看不懂」的系統與加速累積的技術債。

Nations 將這視為「無限生成規模」的危機:當生成數量與速度甩開人類理解力,開發者可能從系統建築師變成程式碼搬運工。他借用 Rich Hickey 的框架區分 簡潔(Simple) 與 易用(Easy):簡潔關乎單一、不纏繞的結構,易用則關乎取得難度。AI 是強大的易用按鈕,能消除摩擦,卻不代表產出的架構簡潔,反而可能掩蓋複雜度。

Netflix 曾嘗試讓 AI agent 重構使用五年的授權系統。舊系統包含歷史遺留的錯誤模式、授權邏輯與業務假設交纏等偶然複雜性;AI 缺乏歷史上下文,容易盲目繼承舊模式,無法辨識哪些接縫應該切斷。初步結論是:AI 不會自動清理技術債,只會讓債務更快繁衍。團隊後來先手動完成部分最困難的遷移,再把累積的約束條件交給 AI。

三階段工作流

  1. 研究:不要先讓 AI 寫 code。先讓 AI 映射模組依賴,再由工程師反覆質問與修正,將大型 codebase 的混亂狀態壓縮成精準規格,清楚說明做到與不做到的範圍。
  2. 實施計畫:把計畫寫到「按圖索驥」的程度,定義函數簽名與資料流,讓初級工程師或 agent 可以照規格執行,避免在執行階段自行進行架構發明。
  3. 執行:先賺取理解,才能享有自動化。人類先親手處理最難的部分,將隱藏約束與失敗經驗作為種子,再讓 AI 在既定規格內執行。

文章最後主張,當程式碼生成的邊際成本趨近於零,真正昂貴的資源會變成系統直覺。若習慣跳過思考直接生成,技術本能可能枯竭;未來更重要的是能在大量程式碼中辨識接縫、理解系統本質,並決定哪些東西值得被寫出來。

資料來源:AI Engineer;BusinessNext 本文初稿為 AI 編撰,整理、編輯/李先泰。