從 vibe coding 到 vibe engineering
交辦給 AI、交辦給 agent,讓它幫你把活做完 —— 這件事你越做越順之後,我要踩一下煞車,提醒你一件很重要的事。因為我發現一個現象:很多人交辦得越順手,反而越容易滑進一種壞習慣,叫做 vibe coding。接下來,我就來講清楚什麼是 vibe coding、為什麼危險,還有怎麼把它換成一個更好的習慣:vibe engineering。
先講什麼叫 vibe coding。vibe 就是「感覺」,vibe coding 就是憑感覺做事:AI 吐給你什麼,你大概掃一眼,覺得好像對,就收下、就往下走。整個過程你追求的是「快」,不是「懂」。你確實一直在產出東西、一直在收成果,但你其實沒有在把關。這件事一開始感覺超爽,因為進度飛快,問題是,那個爽是有代價的。
怎麼知道自己正在 vibe coding?我給你幾個訊號,看到就要警覺。第一個:AI 給你的東西,你沒讀就直接拿去跑,反正它說可以就可以。第二個:一出錯,你連錯誤訊息在講什麼都沒看懂,就直接把它整段複製、貼回去叫 AI 幫你修。你發現了嗎?這兩個動作,你都把「理解」這一步跳過去了,你只是在 AI 跟結果之間當一個傳話的手。
這張再看三個訊號。第一,畫面一跳出來、東西跑得動,你就當作「好了」,不再多驗一下。第二,做到七成就想交差,可是最後那三成,像是邊界情況、以後好不好維護,那三成才是真正的工程。第三,AI 順手改了一堆地方,有些檔案、有些行你根本沒看過,你也一起收下。加上前一張那兩個,總共五個訊號,只要中了,你就要停一下,問自己一句話。
為什麼這很危險?因為你以為 AI 幫你把事情做完了,但真相是,你只是把「判斷」這件事悄悄放掉了。東西看起來能動,底下對不對、穩不穩、有沒有雷,你其實不知道。錯了你也不會發現,因為你根本沒看。這樣堆出來的成果,就像一座紙牌屋,外表挺好看,風一吹就垮。而風險跟技術債,就在你沒看的那些地方,一天一天默默累積。
這些訊號我不是從書上抄的,是我自己踩出來的,講三個給你聽,你比較好對號入座。第一個:**檢查全綠,但成品我從來沒打開來看過。**我做這門課的影片,寫了程式去檢查每一頁的文字,跑起來全部通過,我就很放心。結果影片做出來一看:標題被圖示蓋住、字衝出畫面外。**檢查程式看的是文字,而那些問題全部在畫面上** —— 綠燈綠的是它看得到的那一半。第二個:**一次派很多個去生內容,結果我一支都沒讀就全部送出去。**當下的感覺是「效率好高」,實際上我只是把沒檢查的量放大了很多倍。後來被抓到旁白說「五個」、畫面上只有三個,而且不只一支。第三個最痛:**等我發現畫面有問題的時候,那支影片已經公開在網路上了。**而且我後來才知道,我上傳的那個檔案,是**在我把問題修好之前就做好的** —— 我修好了程式,卻拿了修好之前產出的成品去上傳,自己還以為修過了。這三個沒有一個是「不夠聰明」造成的,全部都是**同一件事:我沒有親眼確認最後那個東西。**
這裡有一句自檢題,是整集的分水嶺,你每天都可以問自己:「如果 AI 明天突然關掉,我還理解我剛剛交出去的那個東西嗎?」如果你答得出來,能講清楚它在幹嘛、為什麼這樣做,那你就是在做工程。如果你答不出來,只能說「反正 AI 給的、反正它會動」,那你就只是憑感覺在做。理解,就是那條線。線的兩邊,一邊叫 engineering,一邊叫 vibe coding。
那正確的習慣長什麼樣?我叫它 vibe engineering,一樣用 AI、一樣追求快,但保留紀律。這張先講三個動作。第一,還沒動手,先問「這件事什麼情況會爆?」先把可能出事的地方想一遍。第二,AI 給你成果,不要照單全收,先審查再接受,這是從「接受」跨到「把關」最省力的一個槓桿。第三,遇到錯誤,先自己讀懂它在講什麼,再決定要不要照 AI 的方法改,而不是把腦袋外包出去。
再講後兩個動作。第四,重新定義什麼叫「完成」:完成不是「我覺得對了」,而是「可以被驗證」,像是測試跑出綠燈、行為你親眼看得到、每一行你都能解釋為什麼在那。第五,做完之後,把這次的改動逐行看過一遍,每一行都問「這是這次任務真的需要的嗎?」不是的就砍掉。你會發現,vibe engineering 不是叫你變慢,是叫你別把「理解」這一步省掉。
講到「可驗證」,就要帶出一個關鍵動作:先寫 spec,也就是先寫規格,再動手。spec 講白了就是三件事:你要達成的目標、相關的脈絡背景、還有驗收標準,也就是做到什麼程度才算對。你把這三件事先講清楚,AI 才有一個準繩,知道自己在往哪個靶打;更重要的是,你自己才有東西可以拿來驗收。沒有 spec,你連「它做得對不對」都無從判斷,只能憑感覺,又滑回 vibe coding。
其實寫 spec 這件事,跟「交辦要講清楚」是同一條肌肉,只是把它拉到工程的層級。你交辦一個任務時,順手就把驗收標準寫進去。有個小技巧很好用:驗收標準要寫「使用者實際看得到什麼」,而不是寫「它會動」。因為「會動」太模糊,很多東西打得通、卻根本沒真的顯示出來。你把靶畫成「使用者點得到、看得到某個結果」,AI 跟你自己,才驗得準。
但這裡有個很重要的分寸,我一定要講,不然你會走火入魔。vibe engineering 不是叫你「永遠都很嚴謹」。有些東西是可逆的:一次性的小腳本、隨手做的原型、拿來探路的實驗,這種東西你 vibe 一下、快速做出來,完全沒問題,甚至那樣才對。真正的工程感,是分辨得出來哪個是隨時能丟的 demo、哪個是「承重牆」。護欄防的只有一件事:別在承重牆上 vibe。重要的、難回復的東西,一定要 engineering。
我把 vibe engineering 濃縮成三句話,你做事做到一半,隨時可以拿出來問自己。第一句:我假設了什麼?這些假設我驗證過了嗎?第二句:這一步、這一行,真的該存在嗎?還是只是順手多加的?第三句:我是不是只改了必要的東西,而且做完之後,我拿得出東西證明它是對的嗎?這三句話不長,但你只要養成習慣問,就會自動把自己從「憑感覺」拉回「有紀律」,而且不會拖慢你多少。
如果今天你只帶走一句話,那就是這句:AI 讓你更快,但千萬別讓它替你把大腦關掉。快,是為了把省下來的時間,拿去做更重要的判斷,不是拿來把判斷整個省掉。你交辦得越順,越要記得回頭把關,這樣你交出去的才是真材實料,而不是一座紙牌屋。你今天就可以挑一件剛交辦完的東西,問自己那句話:如果 AI 明天關掉,我還講得清楚它在幹嘛嗎?