主題
Vibe Coding vs Vibe Engineering
Vibe Coding
— Andrej Karpathy, 2025/2
Vibe Coding 是一種開發方式:
- 完全交給 AI
- 不看 code
- 用執行結果判斷對錯
- 快速原型
Vibe Coding 的問題
- 19% AI 生成的 code 有安全問題
- 不理解就無法維護
- "Development hell" — 陷入無窮無盡的 bug 修復循環
- 技術債爆炸
我們稱為「屎山代碼」
適合 Vibe Coding 的情況
- 快速驗證想法
- 一次性腳本
- 學習新技術時的實驗
- 個人 side project(不需要長期維護)
Vibe Engineering
— Simon Willison
Vibe Engineering 是更成熟的做法:
- 用 AI 加速
- 但對產出負責
- 審查每一行 code
- 理解架構
Vibe Engineering 的核心
AI 生成
↓
人類審查
↓
人類理解
↓
人類負責軟體開發是工程問題
軟體開發不是創造、不是生成,是蓋房子。
蓋房子的邏輯
- 基建要先蓋好
- 每蓋完一小區塊就要檢查
- 有問題馬上修
- 才能往上蓋
你是工頭,AI 是工人
你要:
- 規劃藍圖
- 分配任務
- 檢查成果
- 確保品質
你需要有:
- 長期思維
- 解決問題的能力
- 制定策略、標準、流程
AI 寫 Code 意味著什麼?
| 選項 | 思考 |
|---|---|
| A:取代工程師? | 短期內不會,因為還需要人類判斷 |
| B:加速工程師? | ✅ 正確,但需要正確使用 |
| C:改變工程師的工作方式? | ✅ 從「寫 code」變成「管理 AI」 |
這個時代的生存法則
核心:時間與速度
做產品就是在拼速度。拼不過別人就不用玩了。
什麼重要?
| 重要 | 原因 |
|---|---|
| 了解技術 > 追隨潮流 | 思考新技術的存在意義,穩定 > 新穎 |
| 模型 >>> 工具 | 選對模型比選對工具重要 10 倍 |
| 速度 > 完美 | 先上線,再迭代 |
| Open Source | 不要重造輪子,AI 看不懂的東西讓它翻書 |
什麼不重要?
- 完整的功能(先上線)
- 最擅長的技術?最新的技術?都不重要(先能用)
要學什麼?
- 觀察前沿 — 追蹤最新的 AI 發展
- 保持冷靜 — 不要 FOMO,專注能解決問題的
- 用數據說話 — 不要用感覺判斷
- 打造你自己的工程環境 — CLAUDE.md、Commands、MCP
不學什麼?
現在模型做不好,但以後會做好的事。
模型選擇
選對模型比選對工具重要 10 倍
為什麼模型重要?
- 換一個更好的模型 → 立刻提升,真的有效
- 換一個更好的工具 → 學習成本,而且大多數時候沒用
- 遇到 Bug 大多數時候換一個模型就可以解決(Bias 問題)
Claude Code 的優勢
- 模型便宜,對開發者友善
- 200K context window
- 強大的 code 生成能力
- MCP 擴充性
工具只是載體
- Claude Code 好處是模型便宜,對開發者友善
- Cursor UI 好看還可切換模型
跟他們自家 Agent 能力沒有任何關係
關鍵原則
瓶頸永遠要是 AI,不是你
- 你不應該在等 AI
- AI 應該一直在跑
- 同時開多個任務
怎麼做?
- 多開 Terminal — 同一個 repo,不同 feature
- 多開 Repo — 兩個資料夾,用 Git + GitHub 管理合併
- Cloud Background Agents — Claude Code / Codex,開 PR 再 merge
- Plan Mode — 同時開發同模組時先規劃
你是調度員,不是工人
其他原則
- 請盡量把所有東西放同一個專案(讓 AI 有足夠 context)
- 請利用開源程式庫、文件、範例直接讓他參考
- 請讓 AI 知道你的規範(CLAUDE.md)
- 根據結果調整 CLAUDE.md
小結
| Vibe Coding | Vibe Engineering |
|---|---|
| 完全交給 AI | 用 AI 加速 |
| 不看 code | 審查每一行 |
| 快速原型 | 長期可維護 |
| 一次性專案 | 正式產品 |
選擇適合的方式,對你的產出負責。