為什麼指揮 AI 時你需要防護欄
AI 並不知道你的應用本該做什麼。它只是在向看起來合理的模式靠攏。這意味著它會樂此不疲地:
- 為了"修復報錯"而刪掉一個它不理解的檢查
- 在你只要求它改一個檔案時,卻重構了三個檔案
- 引入一個 happy path 不會暴露出來的隱蔽 bug
- 在它根本沒執行過程式碼的情況下,自信地告訴你已經做完了
防護欄把"相信我"變成"拿出證據"。目標是構建一個讓東西很難被意外搞壞的系統,這樣你就能一直說"先試試看",而不必屏著呼吸。
把這些防護欄想像成一條流水線,每一處改動在抵達真實使用者之前都必須穿過它。每道關卡都廉價而自動,其中任何一道都能把一個壞改動當場攔下:
程式碼變更
│
▼
┌────────┐ ┌────────┐ ┌────────┐ ┌──────────┐ ┌────────┐
│ LINT │ ▶ │ TYPES │ ▶ │ TESTS │ ▶ │ CI GATE │ ▶ │ DEPLOY │
│ 樣式 │ │ 形狀 │ │ 行為 │ │ 全部通過 │ │ 上線 │
└────────┘ └────────┘ └────────┘ └──────────┘ └────────┘
│ │ │ │
▼ ▼ ▼ ▼
✗ FAIL ────────────────────────────▶ 阻止合併
(在到達使用者之前修復)
這件事在 AI 身上比在人類隊友身上更重要,有一個更深層的原因。一個刪掉校驗檢查的人類,通常知道自己在冒險,並且能感到那份分量。AI 什麼也感覺不到。它會移除一個守衛、重寫一個檔案、然後報告成功——無論這個改動是絕妙還是災難性的,都用同樣歡快的語氣。你讀不出它的肢體語言,因為它根本沒有肢體語言。防護欄就是它的肢體語言——它是關於這份工作是否真正穩妥,你能得到的唯一誠實訊號。