AI 正在重寫程式設計的規則:關於「Vibe Coding」,你必須知道的 5 個驚人真相
前言:告別「感覺對了就衝」的 Vibe Coding 時代
當前,AI 輔助程式設計的浪潮正席捲整個開發界。我們都體驗過那種讓 AI 帶著一路狂飆、生產力爆表的興奮感,這正是 Andrej Karpathy 所謂的「氛圍驅動開發 (Vibe Coding)」——一種憑感覺、跟著節奏走的開發模式。
然而,當最初的腎上腺素消退,我們必須直面一個殘酷的現實:這種純粹的速度與直覺,是否正以我們看不見的速度,大規模地製造脆弱、短期、且無法維護的技術負債?我們是在加速前進,還是在加速奔向懸崖?
本文將為你揭示一個在 AI 時代中,能幫我們找回秩序與專業的關鍵方法論——「規格驅動開發 (Spec-Driven Development, SDD)」。它不僅是一套流程,更是一種全新的開發哲學,正在徹底改變我們對程式設計的認知。
1. 程式碼不再是真理,而是「有損的翻譯」
在傳統的軟體開發中,我們奉行「程式碼為王 (Code is King)」的信條,認定程式碼是專案的唯一真相來源 (single source of truth)。然而,SDD 提出了一個顛覆性的觀點:規格 (Specification) 才是唯一的真相來源。
OpenAI 的 Sean Grove 指出,程式碼只是從規格到機器可讀語言的一種「有損的投射 (lossy projection)」。它無法完整地包含開發者的原始意圖、價值觀、以及在無數個設計岔路口所做的權衡與決策 (trade-offs)。換句話說,程式碼只是規格的其中一種表現形式,而非其全部。
當前的 Vibe Coding 模式,就像是我們將最珍貴的原始碼(提示詞)送進碎紙機,卻小心翼翼地對編譯後的二進位檔(程式碼)進行版本控制,這完全是本末倒置。Sean Grove 生動地比喻了這種行為:
「這感覺有點像你把原始碼粉碎了,然後非常仔細地對二進位檔進行版本控制。」
這根本性地意味著,我們最有價值的智慧資產,已不再是最終的程式碼,而是那份可重複執行、能夠生成程式碼的規格本身。
2. 你的新工作是「AI 總監」,而不是「碼農」
在 SDD 模式下,工程師的角色正發生根本性的轉變。工作的重點不再是手動編寫每一行程式碼,而是提升到一個更高的抽象層次。
這個角色的轉變,正如 Will 保哥所分享的,是從演員到總監的躍升。工程師的新任務是定義好規則、框架和架構,像導演一樣,指導 AI 去完成具體的實作。這也直接回應了《A.I. Tomorrow》紀錄片中的一個核心提問:在 AI 時代,一位 10 倍速工程師(10x developer)的真正價值是什麼?答案可能不再是他打字的速度,而是他撰寫一份清晰、完整、能精準駕馭 AI 的規格文件的能力。
這個轉變並非要取代工程師,而是將我們從繁瑣的實作中解放出來,專注於更具創造性和策略性的頂層設計工作。因此,開發者的職涯軌跡將越來越依賴他們指導與調度的能力,而非僅僅是手動實作的技能。
3. 真正的魔法發生在「寫規格之前」
許多人誤以為,規格驅動開發就是「寫一份好的提示詞」。但這忽略了最關鍵的一步。
Brian Casel 指出,多數工具都跳過了在撰寫正式規格之前的「對齊 (alignment)」階段。這個階段至關重要,它包含了與 AI 進行深度對話、探討各種可能性、權衡設計決策等策略性規劃。在此階段,AI 扮演的角色不是一個被動的程式生成器,而是一個「蘇格拉底式」的合作夥伴。它會透過不斷提問來幫助我們釐清模糊的想法、挑戰我們的假設、迫使我們思考被忽略的邊界條件 (edge cases),最終將一個模糊的念頭,鞏固成一份清晰、周全的開發計畫。
所有真正的魔法,都發生在這個奠定基礎的階段。Brian Casel 分享道:
「我們不是一覺醒來就知道該打造什麼... 在創建規格之前,還有一個至關重要的階段。」
這代表著,最高槓桿率的開發活動,發生在我們寫下第一行規格之前的深度策略對話中。
4. 規格是公司所有人的「共同語言」,不只為工程師存在
規格文件的另一個強大之處,在於它能打破部門之間的溝通壁壘,成為組織的「共同語言」。
以 OpenAI 的 Model Spec 為例,因為規格是用自然語言(如 Markdown)編寫的,它成為了一個「通用的人工製品 (universal artifact)」。這意味著,不僅是工程師,包含產品、法務、安全、研究和政策團隊的每個人,都可以閱讀、討論並貢獻於同一份文件。這確保了組織中的所有人,都能在最高層級對齊目標和價值觀。
Sean Grove 甚至將美國憲法比喻為一份「國家模型規格」,強調一份好的規格文件,如何能大規模地對齊人類的意圖。這讓規格從一份乾燥的技術文件,提升到組織核心的戰略藍圖。所以,一份好的規格不僅能指導機器,更能大規模地同步組織中所有人的心智,將技術執行與商業目標緊密鎖定。
5. 接受「慢就是快」:這套流程感覺繁瑣,但能避免未來的災難
談了這麼多理想,我們也必須面對現實。根據「熠辉Indie」的實戰教學經驗,與直接用 Vibe Coding 相比,嚴格遵循如 GitHub Spec-Kit 這樣的 SDD 框架,在前期會感覺更慢、更複雜。他提到:「使用 speack case 的話,大概需要耗費三到四倍的時間」。
然而,這種前期的「慢」,正是一種關鍵的「投資」。它是在前期投入時間,確保方向正確、細節周全,以換取後期的穩定性、可維護性,並避免災難性的重構。
《A.I. Tomorrow》紀錄片中那個投票 App 失敗的故事就是最好的警示。因為前期缺乏規劃,一個「增加選項」的微小修改,最終演變成了整個程式的重寫,導致專案徹底失敗。這血淋淋的教訓證明了前期「慢工出細活」的絕對必要性。這份前期的流程投資並非延遲,而是唯一能夠為未來「購買」速度與穩定性的可靠方法。
結論:重新定義開發者的價值
規格驅動開發不僅僅是一套新工具或流程,它正在重新架構軟體開發的核心價值:開發的核心正從「如何寫程式碼」轉移到「定義該寫什麼程式碼」。
當 AI 越來越擅長處理「如何做」的細節時,人類開發者的戰略價值,將完全聚焦於更高層次的策略思考、意圖定義和價值判斷上。
最後,讓我們留下一個值得深思的問題:
當 AI 將程式碼的「撰寫」徹底商品化後,人類開發者的終極價值,是否就昇華為定義「為何而戰」與「如何致勝」的規格能力?
沒有留言:
張貼留言