
過去半年,"vibe coding" 被產業濫用成「AI 寫程式我看得順眼就上線」。我們堅持把它定義回來:
VIBE = Vision-led, Iteration-driven, Boundary-aware, Engineered.
差別在哪?反例先講:開了 Cursor、複製貼上 ChatGPT 輸出、看跑得起來就 commit——這不是 vibe coding,這是技術債生產線。我們的方法論是有紀律的 AI 輔助開發:先規劃、後生成、再嚴格 review,每一步 AI 的角色都明確,沒有「全交給 AI」這個選項。
我每週帶內部 review 都會問同一個問題:「這段 AI 寫的,你看得懂為什麼這樣寫嗎?」
這個問題的本質是判斷力。AI 能在 30 秒寫出一個看起來合理的 React component,但它不會告訴你:
判斷這幾件事,就是資深工程師現在的議價籌碼。AI 寫程式快,但 review AI 寫的程式更需要功力。我們的內部說法是:「AI 把寫程式變便宜了,把懂程式變更貴了。」
很多人問我們:「VIBE Coding 真的快嗎?」最具體的證明是我們對自己動手——把用了快兩年的 Swingvy 換掉,用 VIBE Coding 從零打造 EKel 內部 HR / 營運系統。傳統估時 4–6 個月,實際 4 週全部上線,三端同步交付:Web Application、iOS Mobile App、Android Mobile App。
為什麼要拿自己開刀:因為這是最誠實的測試。對自己動手,沒有客戶壓力可以推託、沒有需求模糊可以怪別人、沒有「客戶是這樣要求的」可以擋。整個專案從規格到上線都是我們自己負責,每一個工時都有清楚的歸屬。
技術選擇刻意保守、可長期維護:
下面拆解這 4 週裡 AI 與人各做了什麼(5 人顧問團隊):
| 階段 | 傳統做法時數 | AI 輔助時數 | 主要工作 |
|---|---|---|---|
| 需求 → 規格 | 60h | 30h | AI 把訪談記錄轉成 user story,人類審查與補洞 |
| 資料模型設計 | 40h | 40h | 完全人工:架構決策不假手 AI |
| Schema / API 生成 | 160h | 16h | AI 從規格生成 Supabase schema、API routes、type definitions |
| Web 前端 | 240h | 60h | AI 寫 component,工程師審查與重構 |
| iOS / Android Mobile App | 280h | 80h | AI 寫跨端共用邏輯、工程師處理平台差異 |
| 收據 AI 整合 | 80h | 30h | Claude API prompt 設計、edge case 處理人工把關 |
| 自動化測試 | 120h | 32h | AI 生成測試案例,工程師決定覆蓋什麼 |
| Code Review | 80h | 80h | 時數沒減反增:要 review AI 的輸出 |
| 整合測試 | 100h | 60h | AI 幫忙寫整合測試樣板 |
| 文件 | 60h | 8h | AI 從 code 反推文件並由人類校稿 |
| 總計 | 1220h | 436h | 節省約 64% |
兩個關鍵觀察:
跟這個案子有關的延伸閱讀:EKel 自建 HR 系統 — 完整案例 — 那邊有 Sprint 1 / Sprint 2 的詳細交付節奏、收據 AI 的具體實作、為什麼選這個技術堆疊、以及上線後實際運行情況。
每一個 ticket 都會走完這 8 步,沒有例外:
這個流程裡,AI 永遠在第一稿,人永遠在最後一稿。
Claude 一度產出一段使用某 REST API endpoint 的程式碼——這個 endpoint 不存在。我們花了一小時 debug 才意識到 AI 在幻覺。
對策:所有 AI 生成的外部 API 呼叫必須附原始文件連結,工程師上線前驗證。我們在 prompt template 裡加了一條規則:「若你不確定 API 存在,請輸出 TODO 而不是假裝知道。」幻覺率明顯下降。
TypeScript 通過編譯不代表對。AI 寫的整合層常會把 Date 跟 string 在邊界上混用,本機跑沒事,到 production 拿到時區資料就炸。
對策:邊界層(外部系統互通的地方)一律人工寫;內部商業邏輯才大量用 AI。
AI 對美感很有意見,但對使用情境沒有。它會生成一個 dashboard 看起來很潮,但實際每天要按 30 次的按鈕被藏在第三層 menu。
對策:UI 草稿先用 AI 出,但跟使用者面對面 walkthrough 是不能省略的。我們堅持每個 UI 上線前要有 5 位真實使用者的回饋紀錄。
AI 很喜歡寫 try { ... } catch (e) { console.log(e) } 這種「假裝有 error handling」的程式碼。看起來安全,實際上 production 出問題時找不到 stack trace。
對策:CI 加 lint rule 禁止只 console.log 不向上拋的 catch;Code Review 強制檢查每個 catch 是否有意義。
VIBE Coding 不是純粹的工具升級,它正在改寫工程團隊的金字塔結構:
| 角色 | 過去團隊比例 | VIBE 團隊比例 |
|---|---|---|
| 資深工程師(10 年以上) | 10–15% | 30–40% |
| 中階工程師(3–7 年) | 50–60% | 30–40% |
| 初階工程師 | 25–35% | 10–20% |
金字塔被擠扁成菱形。原本中階人做的「依規格寫第一版」工作,AI 接走 60–80%;初階人做的「樣板程式」工作,AI 直接吃掉。剩下需要的角色是能設計、能 review、能跨領域判斷的資深人。
對企業招募的意涵:
很多企業看 VIBE Coding 的 ROI 算錯了,他們算「AI 工具訂閱費」與「節省的工程師薪水」相減。這是錯誤的算法。正確的算法是:
ROI = (上市時間提前 × 業務機會) − (AI 訂閱 + 額外 review 成本 + 訓練投資)
對 B2B SaaS 而言,提前 3 個月上線通常意味著多兩個季度的合約收入;對內控 / 合規型 App 而言,提前上線意味著風險窗口縮短。這些業務影響遠大於工具錢。
但同時,企業也常忽略隱藏成本:
只有把這些都算進去,才能誠實看 VIBE Coding 對你的組織值不值得。
VIBE Coding 的真相是:它讓資深工程師更值錢,初階工程師更焦慮。 因為 AI 把寫程式的肌肉勞動取代了,留下的全部都是判斷力。
如果你的團隊還沒有人在規矩地玩 AI 輔助開發,現在開始還來得及。如果你準備找資深的人帶這個轉型,歡迎來聊。
不是所有 prompt 都好用。以下四個 template 是我們從上百次嘗試中保留下來的:
你是一位資深工程師。請為下面的 user story 撰寫服務類別:
User Story: <貼上 user story>
要求:
- 處理權限與資料邊界(不繞過 row-level security)
- 所有資料庫查詢必須在 method 開頭,避免迴圈內查詢
- 拋出明確的 custom exception,不要 silent fail
- 附對應的測試案例,覆蓋 positive、negative、bulk 三類情境
- 若 user story 有歧義,請列出你假設的部分請審查以下 UI 元件,重點檢查:
1. 資料載入策略是否合理(同步 vs 非同步)
2. 是否有不必要的 re-render
3. 錯誤處理是否會 silent fail
4. 是否有可重用的 sub-component 該被抽出
5. accessibility(a11y)有沒有問題
附上具體建議(不只是說「可以改進」,要說「改成什麼」)。這是一段呼叫外部系統的整合程式碼。請列出所有可能的失敗模式(網路、認證、schema 不符、timeout、rate limit 等),並對每一種說明:
1. 我們的 code 會怎麼反應?
2. 如果反應不夠好,建議怎麼改?這是客戶提供的需求描述。在開始寫 code 之前,請:
1. 列出你假設的部分(例如:「我假設『所有客戶』指的是 IsActive=true 的客戶」)
2. 列出至少 5 個可能讓需求模糊的邊界情況(如 VIP、休眠戶、欠款戶)
3. 寫出兩個版本的 user story,分別代表兩種合理的解讀這四個 template 在我們團隊每天都被使用。好的 prompt template 不是寫得花,而是把陷阱寫在前面。
新加入的工程師最常見的兩個失誤:要麼完全不信 AI(產出慢),要麼完全信 AI(產出有 bug)。我們設計了一份三週訓練:
| 週次 | 工作內容 | 評估 |
|---|---|---|
| 第 1 週 | 純人工寫程式,禁用 AI;完成 5 個小 ticket | 主要看 code 品質基線 |
| 第 2 週 | 必須用 AI,但不能直接接受第一版;至少要有 3 輪 AI ↔ 人 對話 | 看 prompt 能力與審查能力 |
| 第 3 週 | 自由使用 AI,但每個 PR 要附「AI 寫了什麼、我改了什麼」說明 | 看判斷力 |
關鍵心法:先讓他們相信自己(第 1 週),再讓他們學會駕馭 AI(第 2 週),最後讓他們培養辨別力(第 3 週)。順序不能反,否則會養出「AI 依賴症」的工程師。
最後一個常被忽略的問題:上線後 AI 寫的程式碼出問題,誰扛責任?
我們的內部規則:所有 AI 生成的 code,commit 訊息要標記 ai-assisted,但 PR author 是最終負責人。AI 不能簽 PR,所以人簽下去就是承擔判斷責任。
監測上要做兩件事:
ai-assisted=true tag:方便事後分析 AI 輔助程式碼的 production 失敗率。當這兩件事都做了,AI 輔助開發才是「工程實踐」,不是「賭博」。
AI 讓「自己做」看起來門檻很低:兩個內部工程師、Cursor 加 Claude Code、四週端出 demo。但企業要的不是 demo,是 18 個月後員工還在用、稽核還過得了、合規檢查不會爆掉的系統。本文沿著時間軸拆解 DIY 路徑在第 4、6、12、18 個月會撞到什麼牆,以及為什麼專家用 AI 跟非專家用 AI 的產出差距是 5–10 倍——同樣的工具,不同的駕駛。
我們還沒做 Agentforce 導入,但花了 18 個月持續評估與追蹤。本文整理:西方早期採用者的失敗模式、Salesforce 平台從 Agent Builder 到 Testing Center 的演進、以及給準備在 2026 啟動的台灣企業的判斷框架與程式碼範例。
我們的金融客戶實戰來自澳洲——CTO 在兩家澳洲一級銀行與一家中型銀行做過 FSC 導入。本文把這些經驗對應到台灣金融業的法規、核心系統、預算結構,給準備啟動的決策者一份不被廠商行銷帶風向的判斷材料。