'Vibe Coding' 的認知成本:AI 是否正在侵蝕我們的技術能力?
'Vibe Coding' 的認知成本:AI 是否正在侵蝕我們的技術能力?
大型語言模型 (LLMs) 的吸引力是不言而喻的。對於許多開發者而言,從手動編碼轉向「vibe coding」——即透過提示詞 (prompting) 讓 AI 生成整塊邏輯,然後僅僅檢查其是否可行——這種轉變感覺就像獲得了超能力。然而,技術社群中日益增長的觀點認為,這種生產力的提升伴隨著隱藏的認知稅。
在一次坦率的反思中,開發者 James Pain 描述了一個令人心碎的體悟:在完全依賴 AI 進行編碼的一兩年後,他覺得自己「幾乎忘記了如何編碼」。這種經驗凸顯了現代開發工作流程中的一個關鍵緊張關係:將 AI 作為提高效率的工具,與將其作為思考的替代品之間的界線。
基本技能的侵蝕
對許多人來說,AI 的危險不在於它取代了工作,而是在於它取代了學習的過程。當解決問題的摩擦力被消除時,處理該問題所需的心理肌肉就會開始萎縮。
「冒充者」循環
Pain 指出,AI 會加劇現有的自我懷疑和冒充者症候群 (imposter syndrome)。這個循環通常如下:開發者對自己的能力感到不確定,使用 AI 生成解決方案,發現結果看起來「很像 AI」(平庸且缺乏個人風格),隨後對自己從零開始產生的工作能力感到更加不自信。
這種情緒在其他開發者中也得到了共鳴,他們發現自己開始對曾經憑直覺執行的基本任務產生懷疑。正如一位用戶所言:「懷疑感在那些我以前不假思索就能做到的事情上蔓延得最快。」
入職陷阱
這種侵蝕對於初級開發者而言尤為嚴重。一位貢獻者分享說,在新工作中利用 AI 會讓入職過程變得更加困難,因為「vibe coding」的誘惑阻止了他們發展該職位所需的深層系統知識。
"The more time I spend asking Claude to write code, the less I feel like I'm developing the skills that the job requires... I lack the necessary confidence in my own work, which just feels bad."
反對觀點:更高層次的抽象化
並非所有人都將其視為智力下降。許多人認為我們只是在向更高層次的抽象化邁進。就像開發者不再寫組合語言 (assembly) 而改用高階語言一樣,向提示詞編碼的轉變被一些人視為下一個邏輯步驟。
從編碼者到架構師
一些開發者報告說他們感覺自己變得更聰明了,因為他們不再被枯燥的語法所困擾。透過將「乏味的代碼編寫」外包出去,他們可以專注於架構決策、業務關鍵模組以及複雜的系統設計。
"Instead of 'what's the right syntax for this for loop again?' I'm asking 'what's the business critical module in this system and how do I structure the test suite to prove it's working to spec?'"
AI 作為資深導師
對於非技術團隊或正在學習新領域的人來說,AI 扮演著虛擬資深工程師的角色。它可以解釋複雜的概念、重構舊代碼,並提供即時反饋,對於那些將其作為導師而非代筆人使用的開發者來說,能加速學習曲線。
認知保留策略
為了避免與盲目依賴 AI 相關的「大腦萎縮」,社群中出現了幾種有紀律的方法:
1. 「計畫先行」的工作流程
與其要求 AI 「建立 X」,成功的用戶提倡採用蘇格拉底式方法:準備一份詳細的計畫,與 AI 進行思想碰撞,然後以小規模、可驗證的步驟來實施該功能。這確保了人類是編排者,而 AI 是執行者。
2. 有意識的摩擦力
一些開發者正有意識地將困難度重新引入生活,以保持大腦的敏銳度。這包括:
- 手動編碼個人專案: 僅在卡住時使用 AI 提供想法。
- Code Katas: 手動練習小規模、重複性的編碼 exercises 進行練習。
- 學術研究: 將數學或電腦科學理論作為「愛好」來學習,以維持心理嚴謹性。
3. 審查循環
開發者不再只是接受 AI 的輸出,而是將 AI 代碼視為來自初級開發者的 PR (Pull Request) 。 這涉及使用 git diff 來閱讀每一項變動,並強迫 AI 解釋為什麼它做出了某些決策。
結論:工程師的責任
較為謹慎的開發者們的共識是,雖然 AI 是一項了不起的工具,但它並非工程師技術的替代品。風險不在於工具本身,我們卻養成了一種不理解內容卻就此委託的習慣。正如一位貢獻者警告說,危險性在於我們提交了我們自己沒看過的代碼,而這些代碼是由 AI 審查過的,接著又由另一個 AI 進行跟進。
最終,目標是確保 AI 服務於工程師,而不是工程師變成了一個生成代碼的黑盒子的機制的專案經理。