Vibe Coding 技術債完整指南
從計劃到維護,每個階段該怎麼跟 AI 溝通
黃志弘 Leo
2026-03-30 發佈 · 2026-10-08 更新 · 520 人看過
?什麼是技術債?
Vibe Coding 就像你的房子都叫別人打掃。看起來有整理,但實際上你什麼細節放哪裡都不知道。到某天你要找一個東西的時候,翻遍整間房子都找不到。
程式也是 — 能跑不代表寫得好。寫法一旦沒有一致、不整齊不乾淨,跑久了問題就會一個一個冒出來。你累積的越多,日後越難維護。
為什麼 Vibe Coding 特別容易欠債?
AI 每次給你的通常是「當下最快的解法」,長期架構不一定好。你說「幫我加一個功能」,它加了,但可能跟之前的邏輯打架。你不會發現,直到某天整個壞掉。
傳統工程師有 code review、有團隊互相檢查。一個人 Vibe Coding 沒有這層防護 — 你就是工程師、也是 QA、也是 PM,全部都是你。
Demo 還是產品?
如果只是做來自己玩,技術債無所謂。但如果有人在用、有人在付費,你的 code 就是地基,地基歪了,整棟樓遲早會倒。
真實案例:資料庫被清掉三次、備份系統壞掉、沒做好安全防護被網路蟑螂攻擊。同一個功能,一個寫法一個月花 1 萬,一個只需要不到 900。那就是沒有維護跟技術債的代價。
1開始前:規劃階段
寫第一行 code 之前就要做
讓 AI 先面試你
不要直接叫它寫,先讓它問你問題,把需求想清楚。
我想做一個 [你要什麼]。
在開始寫任何 code 之前,請你先:
1. 問我幾個關鍵問題(技術選擇、邊界情況、資料流)
2. 幫我規劃整體架構(資料夾結構、技術棧)
3. 列出建議的開發順序(先做什麼再做什麼)
4. 告訴我可能會遇到的問題
5. 等我確認了再開始寫寫好 CLAUDE.md
這個檔案是你的專案規則書,AI 每次開工都會先讀。寫得好,它就不會亂來。
# 專案名稱
一句話描述這個專案
## 技術棧
- 框架:Next.js 15
- 資料庫:Supabase
- 樣式:Tailwind
## 資料夾結構
- src/app/ — 路由
- src/components/ — 共用元件
- src/lib/ — 商業邏輯
## 指令
- npm run dev — 本地開發
- npm run test — 跑測試
## 規則
- 所有資料庫操作都走 src/lib/db/
- 不要自己加新的套件,先問我
- 錯誤處理要帶上下文,不能靜默吞掉
- 改完 code 要跑 typecheck
## 不要做的事
- 不要用 any 型別
- 不要繞過 Supabase RLS
- 不要直接 commit 到 main用 Plan Mode
讓 AI 先列計劃,你確認了再動手。不要讓它邊想邊寫。
先進入 Plan Mode,不要動 code。
讀完 [相關檔案] 之後回答我:
1. 這個功能需要改哪些檔案?
2. 資料從用戶操作到資料庫的完整流程是什麼?
3. 哪裡可能會出錯?
4. 現有的 codebase 有什麼既有的寫法要遵循?
列出計劃,等我確認再開始。2開發中:寫 code 的時候
每加一個功能都要注意的事
正確的功能請求方式
不要只說「幫我加一個功能」,要告訴它參考哪裡、遵循什麼模式。
| 不好的說法 | 好的說法 |
|---|---|
| 幫我加一個行事曆 | 看一下 src/components/ 裡的 DatePicker 是怎麼做的,用一樣的模式做一個行事曆,加上對應的測試 |
| 修一下登入的 bug | 登入在 session 過期後會失敗,去 src/auth/ 看 token 刷新的邏輯,先寫一個能重現問題的測試,再修根本原因 |
| 這個頁面改好看一點 | 標題放大到 24px、按鈕改圓角 12px、背景換成 #1a1a2e |
中途檢查(防止越改越亂)
等一下,看看你剛寫的 [檔案]。
跟 [另一個類似功能的檔案] 比較一下,寫法一致嗎?
如果不一致,哪種寫法應該是標準?為什麼?我注意到你剛才也改了 [X],但我只要你改 [Y]。
那個改動是必要的嗎?如果不是,還原它。
我們只改這次任務需要的東西。每做完一件事就 commit
不要一次改十個東西才存檔。改完一個功能就 commit,壞了可以退回去。
把剛才做的 commit,訊息要說明「為什麼」改,不只是「改了什麼」。
格式:feat: / fix: / refactor:
不要 commit 任何還沒完成的程式碼或註解掉的 code。哪些 code 要特別注意
| 等級 | 範圍 | 檢查方式 |
|---|---|---|
| 🟢 安全 | 模板、測試、文件、設定 | 快速看一眼就好 |
| 🟡 注意 | 商業邏輯、API、資料庫 | 一行一行看,確認邏輯對 |
| 🔴 危險 | 登入、付款、加密、安全 | 自己寫或 AI 寫完要做安全審查 |
3中期審查:定期健檢
每 2-4 週做一次
技術債大掃除 prompt
叫 AI 全面檢查,但先不要修 — 看完報告你再決定。
做一次技術債審查,先不要改任何東西。
檢查:
1. 寫法一致性:錯誤處理、資料庫操作、API 回應,每種有幾種不同寫法?超過 3 種 = 有問題
2. 理解度:超過 50 行的函式或超過 300 行的檔案,你能用白話解釋每個在幹嘛嗎?
3. 測試:哪些重要功能沒有測試?哪些測試只測了正常情況沒測邊界?
4. 死碼:哪些函式或檔案沒有被用到?
5. 安全:所有用戶輸入的地方都有驗證嗎?
6. 套件:跑 npm audit 看有沒有已知漏洞
給我一份優先順序清單:高/中/低,先不要動手修。一句話評分
你現在是資深的全端工程師
review 我的 code
包含前端、後端的程式碼是否寫法跟邏輯一致
給我 1-10 分
並告訴我哪裡會拉高我的成本跟未來不好維護安全重構步驟
我們要重構 [哪個模組]。
動手之前:
1. 先跑現有的測試,確認全部通過
2. 如果測試不夠,先寫新的測試記錄目前的行為
3. 然後才開始改,一次只改一件事
4. 每改一件就跑一次測試
5. 如果有任何之前通過的測試壞了,停下來告訴我4後期維護:長期健康
每個月做一次
一鍵健康報告
跑一次健康檢查:
1. 套件更新狀態:npm outdated,標記落後 2 個大版本以上的
2. 型別安全:npx tsc --noEmit,列出所有型別錯誤
3. 程式碼品質:npm run lint,列出警告和錯誤
4. 測試狀態:npm test,通過率和不穩定的測試
5. 死碼:有沒有沒被用到的 export
一段話總結:這個 codebase 是健康、退化、還是危機?安全掃描 prompt
扮演安全審查員,讀 [auth, API, 資料庫相關檔案]。
檢查:
1. 所有用戶輸入的地方都有驗證嗎?
2. 有沒有寫死的密鑰或 API key?
3. SQL 查詢都有參數化嗎?
4. 有沒有辦法繞過登入驗證?
5. 錯誤訊息有沒有洩露敏感資訊?
6. 跑 npm audit 看已知漏洞
每個發現:嚴重程度 + 檔案位置 + 修復建議
先不要修,給我報告就好。!危險信號
中了兩個以上就該停下來整理
☐ 改一個地方,另一個地方就壞
☐ 加一個功能,要花越來越久
☐ 有些 code 你自己都看不懂了
☐ 同一個問題在不同地方用不同方式解決
☐ 測試通過但你不確定功能是不是真的對
☐ 寫好的 code 兩週內就要重寫
☐ 80% 的時間在跟 AI 來回修改,20% 在理解 code