YC合夥人談氛圍開發 (Vibe Coding) 的技巧

馭 AI 而行:Vibe Coding 不只直覺,更是精準導引的新開發哲學
Y Combinator 合夥人 Tom 透過親身實驗發現,Vibe Coding 不僅能帶來令人驚豔的開發效率,更是一門可以透過學習與實踐不斷精進的技藝。這猶如當年「提示工程」興起之初,社群中不斷湧現新的竅門與最佳實踐。
然而,儘管名稱聽來不拘小節,許多能發揮 Vibe Coding 最大潛力的技巧,其實恰恰是資深軟體工程師們早已習以為常的專業工作方法。這場訪談集結 Tom 的觀察與 YC 新創團隊的實戰經驗,為我們揭示如何在與 AI 協作的新時代,更有效地將創意轉化為實際可運行的軟體。
啟動與規劃:穩健的第一步
要開始 Vibe Coding 之旅,選擇合適的工具是首要任務。對於沒有程式基礎的初學者或專注於使用者介面(UI)快速原型開發的設計師、產品經理而言,Replit 或 Lovable 這類提供友善視覺化介面的工具是個不錯的起點,能讓想法迅速具象化為程式碼。
而對於有一定程式經驗,特別是需要處理複雜後端邏輯的開發者,則建議直接跳到功能更全面的 AI 程式碼工具,如 Windsurf、Cursor 或 Claude Code。有趣的是,受訪者們發現,有時 AI IDE 在特定問題上卡關時,將程式碼直接貼到純 LLM 的網頁介面提問,反而能意外地獲得解決方案。同時使用多個 AI 工具,根據其速度和專長(例如 Cursor 快適合前端,Windsurf 慢但思考深適合複雜邏輯),也能提升整體效率。
但無論選擇何種工具,Vibe Coding 的第一步並非急著寫程式碼,而是與 AI 共同制定一份詳細的專案計畫,並以文件形式(如 Markdown)儲存於專案中。這份計畫是協作的藍圖,應包含明確的功能範疇,甚至標註哪些功能暫不實作或留待未來。有了藍圖後,開發過程應採取「分段實作」的策略,每次只要求 AI 完成計畫中的一個小區塊。完成後立即驗證,確認程式碼符合預期並通過測試,然後使用版本控制工具 Git 提交變更,再進行下一個區塊。這種循序漸進的方式,遠比試圖讓 AI 一次性生成整個複雜專案更為可靠,也方便管理進度與偵錯。
版本控制與測試:確保品質與回溯能力
在 Vibe Coding 中,版本控制工具 Git 是你的生命線。務必嚴格使用 Git,在開始任何新功能或嘗試修復 Bug 前,先將當前狀態提交。這是因為 AI 生成的程式碼並非萬無一失,有時會產生非預期或錯誤的修改。一旦 AI 嘗試的方向不對,或者為了修 Bug 累積了一堆「糟糕」的程式碼(也就是「cruft」),最有效的方法往往不是讓 AI 在錯誤的基礎上不斷疊加修改,而是直接使用 git reset --hard 回到上一個乾淨可工作的提交點,然後重新嘗試,或者將從錯誤嘗試中學到的正確解決方案,在乾淨的程式碼上讓 AI 精準實作。
與版本控制相輔相成的是程式碼測試。雖然可以讓 LLM 協助編寫測試,但建議偏重編寫高層次的「整合測試」(Integration Tests),模擬使用者實際操作流程來驗證端到端功能是否正常。這類測試能有效捕捉 AI 在修改程式碼時,可能意外引入的「迴歸」(Regression)問題,即在改進某處功能時卻破壞了其他地方。建立強固的測試套件,就像為 AI 的每一次修改套上安全網,確保每次提交的程式碼都是穩定的。
全方位助手與除錯藝術
AI 的潛力遠不止於程式碼生成。訪談中提到,LLM 也能勝任許多非開發任務,例如設定 DNS 伺服器、透過指令列部署服務等 DevOps 工作,甚至協助設計 favicon 或處理圖片格式轉換等設計相關事務。將 AI 視為多功能助手,能在開發流程中極大化地提升效率。
除錯是開發過程中不可避免的一環。Vibe Coding 的除錯技巧始於最直接的方式:將錯誤訊息(來自伺服器日誌或瀏覽器控制台)直接複製貼給 LLM。很多時候,單憑錯誤訊息,AI 就能準確診斷問題所在。對於更複雜的 Bug,可以引導 AI 先分析可能的根本原因,列出幾個方案後再嘗試修復。同樣地,如果修復嘗試失敗,記得利用 Git 回退到原點,避免錯誤堆疊。如果一個模型難以解決,切換到另一個 LLM 模型也常有意想不到的效果,因為不同模型有各自的優勢與盲點。
為了讓 AI 更有效地理解和修改程式碼庫,遵循良好的軟體工程實踐至關重要。頻繁進行重構(Refactor),保持程式碼檔案小巧、功能模組化,是人類開發者和 LLM 都能受益的習慣。程式碼結構清晰、模組職責分明,能大幅降低 AI 在修改時產生副作用的風險。這也預示著未來軟體架構可能更趨向於模組化或服務導向,為 AI 協作提供更清晰的邊界。此外,對於不熟悉的新技術,可以請 AI 在生成程式碼後,逐行解釋其邏輯,將 AI 當作個人教師,這比傳統的查閱大量文件更為高效。
由於 AI 技術發展迅速,Vibe Coding 的方法論也在不斷演進。持續保持實驗精神,嘗試新的模型、探索不同的工具組合,並關注社群分享的新技巧,是保持領先的關鍵。不同模型在不同任務上的表現各異(例如某些擅長規劃架構,某些擅長實作細節),透過不斷實測來了解各模型的特性,能幫助你更精準地選擇工具,將 AI 的力量發揮到極致。
Vibe Coding 並非取代人類開發者,而是一種賦予開發者超能力的協作模式。它融合了 AI 的生成與分析能力,以及人類的規劃、驗證與決策智慧。透過採納諸如完善規劃、分段實作、嚴謹的版本控制、全面的測試覆蓋、模組化程式碼以及持續學習實驗等專業工程實踐,我們能夠更有效地引導 AI,將其從單純的程式碼生成器,轉變為強大的開發夥伴,共同打造出更穩健、更高效的軟體解決方案。