在Day 03中,我們學會了如何撰寫結構化的規格書Prompt與精確控制Context。然而,即使Prompt寫得再完美,如果你企圖一次讓AI自動產生整包系統——從資料庫、後端API到前端畫面——結果往往是一場災難:檔案結構混亂、型別不符、Bug鋪天蓋地,調試起來比自己重寫還要痛苦。
避免這種災難性塌陷的核心秘訣,在於掌握Ping-Pong開發法。
許多剛接觸Vibe Coding的開發者容易陷入巨型Prompt陷阱:
巨型Prompt模式:
[人類] 一次給予 1000 字巨型需求 ────> [AI] 生成 15 個檔案 ────> [結果] 畫面報錯、API 沒通、修 A 壞 B,全部重來
Ping-Pong 協作模式:
[人類] 需求 1 (腳手架) ──> [AI] 建立基礎檔 ──> [人類] Review & 驗收 ──┐
┌─────────────────────────────────────────────────────────────┘
└─> [人類] 需求 2 (資料層) ──> [AI] 實作 API ──> [人類] Review & 驗收 ──┐
┌──────────────────────────────────────────────────────────────┘
└─> [人類] 需求 3 (UI 畫面) ──> [AI] 綁定元件 ──> [人類] 驗收完成!
Ping-Pong開發法的四部曲
一個標準的Ping-Pong開發循環包含以下四個關鍵步驟:
Step1:定義最小範疇(DefineScope)
將大型任務拆解為可以在3分鐘內產出並測試的微型子任務(Sub-task)。
範例:與其說做個購物車,不如拆成:
定義購物車資料結構與ZustandStore
建立購物車商品列表元件
實作加減數量與刪除邏輯
Step2:提示發送與邊界限制(Prompting)
針對單一子任務,搭配@file精確輸入Context,發送小範圍Prompt。
Step3:人類審查與Diff驗收(Review&Validate)
在點擊IDE的Accept之前,快速進行人工Review:
型別檢驗:是否有隱式any或型別不相符?
架構檢驗:AI是否建立了多餘的新檔案?是否符合.cursorrules?
邏輯驗收:在瀏覽器中開啟功能測試,或執行單元測試。
Step4:即時微調(Feedback/Refine)
如果不符合預期,不要手動修改大量代碼,而是給予精確反饋讓AI修正,或者手動調整1-2行關鍵程式碼後,再讓AI接手。
實戰演練:以會員收藏功能為例的乒乓對話
假設我們要為專案加入文章收藏(Bookmark)功能,看看標準的Ping-Pong流程如何運作:
(Ping 1):建立資料模型與API介面
人類:@types/article.ts請在文章型別中加入isBookmarked:boolean欄位,並幫我在services/api.ts新增一個toggleBookmarkApi(articleId:string)的假API函數,回傳Promise。
AI:修改型別檔並寫好API函數。
人類(驗收):檢查語法與Type無誤,按Accept。
(Pong 1):實作收藏按鈕UI元件
人類:@components/BookmarkButton.tsx請使用ShadcnUI的Button與LucideIcon的Bookmark,建立一個收藏按鈕組件。需傳入isBookmarked與onToggleprops,點擊時切換圖示填滿狀態(Filled/Outline)。
AI:產生獨立的BookmarkButton元件。
人類(驗收):開啟Storybook/頁面看畫面,確認樣式正常。
(Ping 2):串接狀態與Optimistic UI
人類:@pages/article/[id].tsx將BookmarkButton整合至文章頁面標題旁。點擊時使用ReactuseOptimistic實現樂觀更新(先切換UI狀態,背景呼叫toggleBookmarkApi,若失敗則回滾)。
AI:寫出包含OptimisticUI與ErrorHandling的狀態邏輯。
人類(驗收):測試點擊回應速度與網路異常時的回滾,確定完全符合預期!
乒乓協作的黃金法則:小步快跑,隨時Commit
單一職責(SingleResponsibilityPrompt):一次對話只做一件事(建型別/刻UI/寫邏輯/補測試)。
Commit隨手做:每當一個Ping-Pong循環通過驗收,立刻進行GitCommit。這樣即使下一個對話AI把程式碼寫爛了,你也能一秒重置(gitreset--hard),不會損失進度。
當AI開始鬼打牆時:如果連續兩次修正AI都寫錯,立刻停止對話,手動修補核心問題,或清除ChatHistory開啟新對話。
Ping-Pong開發法是VibeCoding保持流暢感(Flow)與控制權(Control)的關鍵平衡點。透過將大任務拆小,我們既享受到AI高速產出程式碼的爽快感,又確保了每一行進入Codebase的代碼都經過嚴格把關。