Appearance
Vibe Coding 實戰指南:PIV 框架與三大黃金法則
當 AI 成為你的 Pair Programming 夥伴,你需要的不是更多技術,而是更好的協作框架。
作者:Ray 日期:2025 年 12 月
前言
Vibe Coding 是一種與 AI 編程助手(如 Claude Code、GitHub Copilot)協作開發的新型態工作模式。你描述意圖,AI 產出程式碼,聽起來很美好——但實際操作時,許多開發者會發現:
- AI 經常「過度發揮」,做了你沒要的東西
- 產出的程式碼不確定能不能用
- 來回修改比自己寫還累
問題不在 AI 不夠聰明,而在於我們缺乏一套與 AI 協作的方法論。
本文將介紹 PIV 框架與三大黃金法則,幫助你在 Vibe Coding 中保持掌控感,同時最大化 AI 的生產力。
PIV 框架:與 AI 協作的基本節奏
PIV 是三個階段的縮寫:Planning → Implementation → Validation。
這不是什麼新概念,但在 Vibe Coding 的情境下,它的重要性被大幅放大——因為 AI 不會幫你思考「該不該做」,它只會執行「怎麼做」。
P - Planning(規劃)
在下指令給 AI 之前,先問自己:
- 輸入是什麼? 這個功能接收什麼參數或資料?
- 輸出是什麼? 預期產生什麼結果?
- 邊界條件? 空值、錯誤輸入、極端情況怎麼處理?
- 這個功能的範圍? 只做這件事,不多不少。
❌ 常見錯誤
「幫我做一個用戶登入功能」這種模糊指令會讓 AI 自行腦補大量細節,產出可能包含你不需要的 OAuth、記住我、密碼重設等功能。
✅ 較好的做法
「實作一個登入函數:
- 輸入:email 和 password
- 驗證:檢查 email 格式,password 至少 8 字元
- 成功回傳 user 物件,失敗拋出 ValidationError
- 不需要實作資料庫連接,用 dependency injection」規劃階段的時間投入,會在後續省下數倍的修改時間。
I - Implementation(實作)
這是 AI 發揮的階段。你的角色轉變為觀察者與引導者:
- 觀察 AI 的思路:它是否理解你的意圖?
- 適時中斷:發現方向錯誤就停下來,補充資訊
- 保持小步迭代:一次只做一件事(詳見後文)
這個階段的重點是「讓 AI 做事,但保持監督」。
V - Validation(驗證)
這是 Vibe Coding 中最容易被忽略,卻最關鍵的環節。
AI 產出的程式碼看起來很專業,語法正確,結構漂亮——但這不代表它是對的。
驗證的方式包括:
| 驗證方法 | 適用情境 |
|---|---|
| 執行測試 | 有寫測試的情況(推薦!) |
git diff | 審查 AI 改了什麼 |
| 實際執行 | 手動測試功能 |
| Code Review | 逐行閱讀理解邏輯 |
| 問 AI 解釋 | 「解釋這段程式碼在做什麼」 |
🚨 警告
不驗證就接受 = 埋地雷。
AI 產生的程式碼可能包含:
- 隱微的邏輯錯誤
- 安全漏洞
- 不符合專案慣例的寫法
- 過度設計或效能問題
養成習慣:每次 AI 產出後,至少做一種驗證。
三大黃金法則
在 PIV 框架之內,以下三個法則能讓你的 Vibe Coding 更加順暢。
法則一:Small Steps(小步迭代)
每次只請 AI 做一件小事。
為什麼重要?
- 出錯容易定位:改動小,問題範圍就小
- 審查更輕鬆:
git diff只有幾十行,而不是幾百行 - 回退成本低:不滿意?
git checkout重來
實踐方式
# ❌ 不好的做法
「幫我實作完整的購物車功能,包含新增、刪除、修改數量、計算總價、套用折扣碼」
# ✅ 好的做法
「先實作購物車的新增商品功能」
(完成、驗證、commit)
「接著實作刪除商品功能」
(完成、驗證、commit)
...口訣:一個 prompt,一個功能,一個 commit。
法則二:TDD / Test First(測試先行)
讓 AI 先寫測試,再寫實作。
為什麼在 Vibe Coding 中特別有效?
- 測試即規格:測試案例就是你對功能的精確描述,AI 不用猜你要什麼
- 自動驗證:有了測試,Validation 階段變成一鍵執行
- 防止過度設計:AI 只需要讓測試通過,不會亂加功能
實踐方式
# 第一步:請 AI 寫測試
「幫我寫測試案例,驗證 calculateTotal 函數:
- 空購物車回傳 0
- 單一商品回傳該商品價格 × 數量
- 多商品回傳加總」
# 第二步:確認測試符合預期
# 第三步:請 AI 實作
「現在實作 calculateTotal 讓測試通過」
# 第四步:執行測試驗證測試就是你和 AI 之間的契約。
法則三:YAGNI(不做不需要的事)
You Ain't Gonna Need It — 你不會需要它的。
為什麼重要?
AI 很容易「過度發揮」:
- 你要一個簡單函數,它給你一個完整的 class 架構
- 你要處理一種情況,它幫你預留了十種擴展點
- 你沒提到錯誤處理,它自作主張加了複雜的 retry 機制
這些「貼心」的設計往往造成:
- 程式碼變複雜,難以維護
- 引入你不理解的邏輯
- 增加測試負擔
實踐方式
在 prompt 中明確約束:
「只實作這個功能,不要加額外的擴展設計」
「保持簡單,不需要考慮未來的擴展性」
「不要加入我沒提到的功能」口訣:現在不需要的,現在就不做。
框架與法則的關係
| 法則 | 對應 PIV 階段 | 作用 |
|---|---|---|
| Small Steps | 貫穿整體 | 控制每次迭代的範圍 |
| TDD | P + V | 規劃時定義規格,驗證時自動檢查 |
| YAGNI | P | 限制範圍,避免過度設計 |
PIV 是框架骨幹,三大法則是執行戰術。 兩者搭配,才能在 Vibe Coding 中從從容容,游刃有餘。
實戰範例
假設你要實作一個「計算訂單折扣」的功能:
Step 1: Planning
思考並寫下:
- 輸入:訂單金額(number)、折扣碼(string)
- 輸出:折扣後金額(number)
- 規則:
SAVE10打九折、SAVE20打八折、無效碼不打折 - 範圍:只做折扣計算,不處理折扣碼的驗證來源
Step 2: Test First
「請寫測試案例:
1. 無折扣碼,回傳原價
2. SAVE10 折扣碼,回傳 90%
3. SAVE20 折扣碼,回傳 80%
4. 無效折扣碼,回傳原價
只測試這四種情況,不要加其他的。」Step 3: Implementation
「實作 applyDiscount(amount, discountCode) 讓測試通過。
保持簡單,不要預留其他折扣類型的擴展。」Step 4: Validation
- 執行測試 ✅
git diff確認改動 ✅- Commit ✅
總結
Vibe Coding 的成功關鍵不是更厲害的 AI,而是更好的人機協作方法。
記住這個口訣:
PIV 打底,小步走,測試領,不貪多。
- Planning:想清楚再動手
- Implementation:讓 AI 做,你監督
- Validation:驗證後才接受
- Small Steps:一次一小步
- TDD:測試先行
- YAGNI:不做多餘的事
掌握這套方法論,你會發現 AI 不再是難以控制的黑盒子,而是一個高效可靠的開發夥伴。
🎁 Bonus:實戰配置檔案
想要在實際開發中應用 PIV 框架和三大法則?我準備了一份 Claude Code 開發規則配置檔,你可以直接用在與 AI 協作時:
這份配置檔包含:
- PIV 框架的詳細執行步驟
- 三大黃金法則的實踐指南
- 溝通規則與禁止事項
- 可直接套用的開發口訣
將這份規則提供給你的 AI 助手(如 Claude、ChatGPT),能讓協作更加順暢高效。