深夜兩點,你的 Cursor 視窗反覆跳著報錯。AI 像個聽不懂人話的實習生瘋狂道歉、瘋狂改碼、瘋狂把事情搞更糟。你開始懷疑人生。
但真相是:這種「AI 幻覺循環」不是因為 AI 笨,而是因為你把它當成了神,卻忘了給它法律約束。
一、序幕:AI 開發的「糖衣毒藥」
大眾認為:AI 讓你寫得更快,所以你會更強。
但真相是:AI 讓你犯錯也更快,而且錯得更深。
你以為自己在「堆進度」。其實你在「堆風險」。
尤其當你讓 AI 一口氣生成一整個模組、十個檔案、三十個函式——你得到的不是產能,是一張「技術債期票」,到期日通常是今晚。
最可怕的不是 Bug。
是你開始習慣用「能跑就好」安慰自己,然後某天發現:你根本不知道系統為什麼能跑。
AI 的上限不取決於模型,而取決於你的工程紀律。
沒有紀律,AI 就不是加速器,是擴音器——把你的懶惰、含糊、僥倖放大一百倍。
二、條約篇:別聊天,去簽合約(.cursorrules)
你現在最常犯的錯,是用「自然語言」感化 AI。
你以為你在溝通。其實你在賭運氣。
因為沒有合約的 AI,每次都像換了一個人格:
今天偏愛抽象、明天迷戀重構、後天突然開始寫你根本不想要的功能。
沒有 .cursorrules 的 AI,就像沒有藍圖的建築工。
它不是不努力,它是不知道你要蓋「商辦」還是「違建」。
你要做的不是寫 Prompt。
你要做的是訂法律。
你可以把 .cursorrules 寫得很冷酷,像這樣:
# Project Non-Negotiables
- 不允許新增未經同意的依賴
- 不允許「順便」做額外功能(feature creep)
- 所有改動必須附測試與通過 CI
# Stack & Commands(必跑)
Frontend:
- npm run lint
- vitest run
Backend:
- pytest
- ruff check
# Output Format
- 只提供必要 diff / 檔案清單
- 先說「你要改什麼」,再說「你改了什麼」
- 不確定就問,不要猜
你不是在限制 AI。
你是在把它從「會亂做事的天才」調教成「能交付的工程師」。
三、裁判篇:CI 與測試是最後的尊嚴
大眾認為:測試跟 CI 很麻煩,等產品做起來再補。
但真相是:AI 時代你不先補,就永遠補不起來。
因為 AI 會把你推進一個地獄循環——我叫它 The Loop of Death(AI 幻覺循環):
你讓 AI 修 Bug。
它改了一堆東西。
Bug 沒消失,新增三個。
你再讓它修。
它再改更大。
然後你失去掌控。
那種無力感很熟吧?
你看著代碼一行行跳出來,卻知道每一行都在毀掉項目。
這時候你需要的不是更會寫的 AI。
你需要的是一個只看證據、不聽藉口的裁判:CI + 測試。
規則很簡單,也很殘酷:
不綠(Test Passed)不合併。
不討價還價。
不接受「看起來能動」。
那一刻當你看到 CI 全綠勾勾——
你會第一次感覺自己不是在賭命,而是在做生意。
CI 就像給你的項目裝了「防呆保險箱」,不符合規格的東西,連大門都進不去。
四、靈魂篇:MVP.md 是你的「北極星」
AI 最擅長的,不是寫代碼。
是「把你沒說清楚的慾望,實現成一坨你用不到的功能」。
這就是 Feature Creep。
你沒明講邊界,AI 就會自動腦補「更完整」。
然後你以為自己在做產品,其實在堆積無用的複雜度。
所以你需要一份靈魂文件:MVP.md。
它不是給 AI 看而已,是給你自己醒腦用的。
你可以這樣寫:
# MVP
## 目標(Only)
- 使用者能完成 A → B → C 的核心流程
## 非目標(Not now)
- 不做登入/權限/多語系
- 不做精緻動畫
- 不做自動化推薦
## 驗收標準
- 對應測試全綠
- 核心流程 3 分鐘內跑完
- UI 不醜到讓人想關掉
人類在 AI 開發裡唯一不可替代的價值:定義邊界。
你不畫線,AI 就會把你拖進無限工期的幻覺。
五、權力篇:雙 Agent 模式——讓 AI 監視 AI
大眾認為:AI 既然能寫,就也能檢查。
但真相是:永遠不要讓寫代碼的人去檢查代碼。
人會護短,AI 也會。
你要做的是「拆權」。
把 AI 拆成兩個角色,互相牽制:
- Planner(規劃者):只負責拆需求、設計方案、列出風險、定驗收。
- Coder(執行者):只負責照規格最小實作、補測試、跑指令、交 diff。
一個想,一個做。
一個挑刺,一個修補。
別混在一起。
單視窗是混亂糾纏。
雙視窗是權力制衡。
然後你再加一個更狠的角色:QA/Reviewer(裁判助理),專門找碴——
尤其是你最容易忽略的那塊:UI 的「手感」。
六、衝刺篇:小時級迭代與 3 條黃金指令
你想要的是「可控的速度」。
不是「失控的快」。
把迭代縮到小時級。每一輪只做一件事:
寫測試 → 最小實作 → 綠燈 → 合併/部署驗證。
然後補上你內容裡最關鍵、也最容易被忽略的四個「商業化補強」。
1)上下文清理機制(Context Management)
AI 聊久了會變笨、會幻覺。
你不要跟它熬夜談心。你要換班。
規則:
- 每輪衝刺結束,強制開新對話
- 更新
tasks.md(完成/未完成/下一步) - 把
MVP.md + tasks.md + .cursorrules當成新對話的唯一上下文輸入
你不是在「重置 AI」。
你是在重置混亂。
2)UI/UX 人工校閱點(Visual Review)
商業產品不是只有功能能跑。
還有「看起來像不像一個能收費的東西」。
在每輪 Planner/QA 復核時,加一個固定動作:
視覺走查(Visual Review)
- 間距、字級、對齊、狀態(hover/focus/loading)
- 需要的時候,人類直接微調 Tailwind class
AI 做不到品味一致,你得承認這件事。
3)工具鏈具體化(新手也能照做)
「跑命令」對很多人是門檻。那就別留空白。
把這些命令直接寫進 rules:
- Frontend:
npm run lint、vitest run - Backend:
pytest、ruff check並規定:每次交付前必跑,沒跑就不算交付。
4)支付與部署規則(你要的是能收錢)
代碼寫好只是第一步。
你要把「可上線」也變成硬規則。
例如:
- 所有改動必須在 Vercel Preview 連結確認無誤才可合併
- Preview 必須包含:核心流程走一遍 + 主要頁面視覺走查
你要做的不是更努力。
你要做的是更冷血。
送你 3 條黃金指令(直接複製貼上)
指令 1:給 Planner(只准規劃,不准寫碼)
你是 Planner。根據 MVP.md,把下一個「小時級迭代」拆成 3–5 個可驗收的 tasks。每個 task 都要有:目的、影響範圍、驗收標準、需要的測試。禁止提出額外功能。
指令 2:給 Coder(只准最小實作,不准發揮)
你是 Coder。只實作 tasks.md 的第一個 task。先寫測試,再寫最小可通過的代碼。必跑:npm run lint / vitest run / pytest / ruff check(依專案)。輸出只給 diff + 你跑過的命令結果摘要。
指令 3:給 QA/Reviewer(專門找碴,包含視覺)
你是 QA/Reviewer。你要嘗試讓這個功能壞掉:邊界值、錯誤路徑、UI 狀態(loading/empty/error)。檢查測試是否覆蓋驗收標準。若有部署規則,要求提供 Vercel Preview 並完成 Visual Review 清單。
七、尾聲:從「寫代碼」到「造產品」
你以為你缺的是更強的模型、更神的 Prompt、更快的生成。
但真相是:你缺的是一套讓 AI 必須服從的系統。
當你有了 .cursorrules(法律)、CI/測試(裁判)、MVP.md(北極星)、雙 Agent(制衡)、小時級迭代(節奏)、Context 清理(衛生)、Visual Review(品味底線)、Preview 部署規則(可收費門檻)——
你就不再是被 AI 拖著跑的人。
你開始像個真正的產品建築師。
你決定邊界、決定順序、決定什麼叫「完成」。
AI 只是你的工班。AI 不會取代工程師,但有工作流的工程師會取代只會 Prompt 的工程師。在 AI 時代,最快的開發方式不是拼命寫代碼,而是拼命設置約束。好的產品不是寫出來的,是透過「不容商量的規則」篩選出來的。