
Vibe Coding 時如何調整 AI 提示詞以提升產出品質
Vibe Coding 其實是精準溝通的藝術
「Vibe Coding」的核心在於進入心流(Flow State),讓 AI 工具(如 Cursor, Windsurf, Claude Code)快速處理樣板代碼並實作功能。然而,許多開發者在追求速度時,容易陷入「模糊指令 -> 錯誤產出 -> 反覆 Debug」的死循環。
本文將告訴你如何在 Vibe Coding 的過程中,透過結構化的提示詞(Prompt)調整,減少重工並提升程式碼品質。
適用場景與限制:什麼時候該慢下來?
這種方法適用於:
- 快速原型開發(MVP 構建)。
- 熟悉技術棧中的新功能實作。
- 處理複雜度中等的重構任務。
請勿依賴 Vibe Coding:
- 當你需要處理高安全性要求的核心架構(如身份驗證機制的底層實作)。
- 當專案缺乏必要的測試覆蓋率(測試是驗證 AI 代碼的唯一底線)。
- 當你完全不理解 AI 生成的邏輯時(這會導致技術債堆積)。
如何調整 AI 提示詞:從模糊到精準的四個步驟
提升產出品質的關鍵不在於寫更長的咒語,而在於「提供邊界」。
1. 定義當前的上下文邊界 (Context Scoping)
不要只說「幫我寫個 API」,要說「在目前的 auth.ts 中,使用現有的 User interface,新增一個驗證 Email 格式的 POST 接口」。給 AI 參考檔案,避免它憑空捏造無效的邏輯。
2. 指定輸出規範 (Constraint Setting)
在提示詞結尾加上:「請優先使用函式導向程式設計(Functional Programming),且不要引入額外的 npm 套件。」這能避免 AI 安裝不必要的相依庫。
3. 要求推論步驟 (Chain of Thought)
如果你要求 AI 寫複雜邏輯,請加入:「在寫代碼前,先用列點方式說明你的實作思路。」這能讓你及時發現它對邏輯的誤解,而不用等到看到錯誤的程式碼才修正。
4. 迭代修正與反饋 (Feedback Loop)
如果輸出失敗,不要只說「這不對,重寫」。要指明錯誤:「你誤用了 prisma 的查詢語法,請根據 schema.prisma 裡定義的關聯,重新修正 Query。」
當你掌握了這些協作模式,你會發現開發節奏會更順暢。若想深入學習更多關於 AI 與開發流的實戰策略,歡迎造訪 mentalok.io。
常見錯誤:為什麼你的 AI 總是寫壞代碼?
- 忽略現有代碼風格: 直接要求功能,忽略了專案已經存在的 ESLint 規則或命名規範。對策: 明確要求「請保持現有的命名風格與 TypeScript 規範」。
- 過度模糊的目標: 如「讓這個功能變好看」。對策: 明確目標,如「請使用 Tailwind CSS 類別,將按鈕的 padding 調整為 py-2 px-4,並確保在手機版可點擊區域大於 44px」。
- 一次丟入太多指令: 這會導致 AI 遺忘前文或產生幻覺。對策: 將大型需求拆解成 2-3 個小任務,一次只讓 AI 負責一個模組。
- 未給予測試指令: 以為程式碼跑得動就是對的。對策: 養成習慣,要求 AI 同時生成對應的單元測試(Unit Test)。
常見 Bug 與陷阱 (Pitfalls)
- 幻覺函式庫 (Hallucinated Libraries): AI 經常會編造出不存在的套件參數。檢查文件是必須的,若發現 AI 持續錯誤,強制它閱讀你的
package.json或import列表。 - 無窮遞迴的優化循環: 當你請 AI 進行「Code Refactoring」,它可能會陷入無意義的語法簡化。請明確告知目標,例如「優化效能」或「提升可讀性」,不要兩者同時要求。
- 狀態遺漏 (State Drift): 在長對話中,AI 可能會忘記你最初設定的環境變數或資料庫 Schema。定時在提示詞中複述核心規則,或使用 Cursor 的
@Codebase功能來重整參考點。
快速檢查清單 (Sanity Checklist)
- [ ] 是否已指定輸入與輸出的資料型別 (TypeScript Interface)?
- [ ] 是否要求 AI 處理邊界情況 (Edge Cases,例如 Null 或空陣列)?
- [ ] AI 是否有參考現有的程式碼庫結構?
- [ ] 是否請 AI 寫出對應的測試代碼?
- [ ] 產出的程式碼是否經過手動檢查,而非直接 Commit?
- [ ] 是否在提示詞中設定了禁止使用的套件或寫法?
常見問題 (FAQ)
Q: 當 AI 進入無限輸出錯誤迴圈時,該怎麼辦?
A: 停止與它對話,這是最直接的方法。清空當前 Context,重新開啟新的對話視窗,並將你的錯誤記錄(Stack Trace)與相關代碼片段貼進去作為起始點。
Q: 我應該讓 AI 寫完整個檔案嗎?
A: 不建議。對於複雜的業務邏輯,請要求 AI 針對特定函式進行實作或優化,這樣產出品質會比要求生成整頁代碼高得多。
Q: 如何在 Cursor 中讓 AI 更了解我的專案規範?
A: 使用 .cursorrules 文件。將你的編碼規範、常用的開發流程寫在裡面,這樣 AI 在每次對話前都會預先讀取這些約束,減少溝通成本。