Vibe Coding 時如何調整 AI 提示詞以提升產出品質
AI

Vibe Coding 時如何調整 AI 提示詞以提升產出品質

By Administrator

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)

  1. 幻覺函式庫 (Hallucinated Libraries): AI 經常會編造出不存在的套件參數。檢查文件是必須的,若發現 AI 持續錯誤,強制它閱讀你的 package.jsonimport 列表。
  2. 無窮遞迴的優化循環: 當你請 AI 進行「Code Refactoring」,它可能會陷入無意義的語法簡化。請明確告知目標,例如「優化效能」或「提升可讀性」,不要兩者同時要求。
  3. 狀態遺漏 (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 在每次對話前都會預先讀取這些約束,減少溝通成本。