我們該不該繼續用 AI 寫程式?
Vibe Coding 是近年出現的新名詞,它描述的不是某種技術,而是開發方式的轉變。
在 AI 盛行的年代,我發現自己寫程式時,越來越常打中文,反而越來越少切回英文輸入法。在過去,寫程式是一種語言的轉換,從想法到英文關鍵字,從邏輯到語法結構。 而現在,我更多時候只是用自然語言描述「我想要什麼」,然後讓 AI 幫我生成實作。
我們開始不再從 Function 開始;而是從「意圖」開始;不再從語法思考,而是從結果思考。寫程式的重心,從敲打鍵盤,慢慢轉向描述問題。 於是問題也隨之而來,當 AI 當 AI 可以快速產生可運行的程式碼,我們是否還應該繼續依賴它? 越來越多聲音開始質疑,過度依賴 AI 會不會讓人停止思考。 當「自己寫」變成「請它寫」,我們是否正在慢慢放棄理解? 這會讓工程師變強,還是變弱?
我認為,關鍵不在於「要不要用 AI」,而在於我們如何定位它。 如果把 AI 視為替代品,那確實會讓人逐漸喪失思考能力; 但如果把 AI 視為工具,它其實是在放大工程師的能力。 真正需要被重新定義的,不是工具本身,而是工程師的角色。
把 AI 當工具,而不是替代品
就我來看,問題從來不是「該不該用 AI」,而是我們如何看待它。
如果把 AI 當成替代品,那它確實會讓人變得依賴。 當每一段邏輯都交給它產生,每一個錯誤都請它修正,久而久之,就會失去對系統的掌握。 程式可以運行,但自己未必理解它為什麼這樣運行。
但如果把 AI 當成工具,情況就完全不同。 工具的本質,是放大人的能力,而不是取代人的判斷。 就像 IDE 取代了純文字編輯器,自動補全取代了死記硬背的語法,Git 取代了手動備份程式碼。 這些工具並沒有讓工程師變弱,而是讓我們把時間花在更高價值的思考上。
AI 也應該被放在同樣的位置。 它可以幫助我們快速產生樣板程式碼、重構邏輯、補齊遺漏的邊界條件, 但最終的架構設計、技術取捨、風險判斷,仍然必須由人來決定。 真正危險的,不是 AI 本身, 而是我們是否把「理解」也一併外包。
當我們不再思考為什麼這樣設計, 當我們無法解釋每一層結構的存在意義, 那麼就不是在使用工具,而是在被工具使用。
把 AI 當工具,代表自己仍然是駕駛者; 把 AI 當替代品,代表自己把方向盤交了出去。 而工程師真正的價值,從來不是打字速度, 應該是對系統的掌握與判斷。

人類對新技術的排斥是常態
當一項新技術出現時,人類的第一反應往往不是擁抱,而是質疑。
交流電剛被提出時,人們擔心它危險; 火車剛出現時,有人認為高速移動會對人體造成傷害; 電腦進入辦公室時,也有人認為這只是昂貴又多餘的玩具。
歷史一再重演。 每一次技術革新,都會打破既有的工作模式,也會動搖既得利益與習慣。 不安與排斥,其實是正常的反應。AI 也是如此。
當它開始寫文章、畫圖、生成程式碼時,人們自然會擔心: 這是否意味著某些職業將被取代? 這是否代表我們的能力將變得不再重要? 但真正值得思考的,或許不是「它會不會取代我們」, 而是「我們是否願意隨著工具升級自己」。
技術本身從來不是威脅,停滯才是。
錯誤使用 AI 的後果
真正的問題,從來不是 AI 能不能寫出程式碼。 而是當不知道它在寫什麼時,會發生什麼事。
之前因為工作需要,在剛接觸學習 Unity 時,幾乎把整個專案都交給 AI。 因為我不熟悉 C#,也沒有遊戲開發的經驗。 於是我選擇了一條看起來最快的路, 我描述功能,貼上回覆,讓它幫我完成。
一開始,一切都很順利。
角色可以移動,場景可以切換,UI 也正常運作。 AI 確實幫我「完成」了一個遊戲。 但隨著功能越來越多,問題開始浮現。 模組之間沒有清楚的邊界, 命名沒有一致性, 邏輯彼此耦合, 當某個地方出現錯誤時,我甚至不知道該從哪一層開始排查。
我無法判斷哪些設計是合理的,哪些只是權宜之計。 專案逐漸變得混亂,而我卻沒有能力收斂它。 到最後,不只是我搞不清楚整個系統在做什麼, 連後續請 AI 協助時,它產出的結構也開始前後矛盾。
那一刻我才意識到: AI 可以替自己完成任務, 但它無法替你建立理解。
如果沒有全局的設計能力,只是跟著 AI 一步步往前推, 只會得到一個能跑的專案, 卻得不到一個能維護的系統。 錯誤使用 AI 的後果,不是寫不出來, 而是寫出來卻無法掌控。

工程師必須轉型
如果 AI 可以幫我們生成程式碼,那工程師還剩下什麼價值?
答案其實很清楚,工程師必須從「寫程式的人」,轉變為「設計系統與做決策的人」。 過去,我們的專業建立在語法熟悉度、框架掌握度與實作速度上。 但當生成程式碼的成本趨近於零,真正稀缺的能力,會變成判斷與設計。
我們必須知道:
- 這個系統應該如何拆分?
- 哪些模組應該解耦?
- 哪些地方未來可能成為瓶頸?
- 哪些設計只是暫時可行,哪些是長期可維護?
因為如果自己不知道整個系統該長什麼樣子, 就只能跟著 AI 一段一段往前拼湊。
而拼湊出來的東西,往往不是設計,而是堆疊。 AI 可以幫忙寫出「合理的區塊」, 但只有自己能決定「整體的方向」。
這代表工程師需要培養的能力,正在改變:
- 更強的系統思維
- 更清晰的抽象能力
- 更好的風險判斷
- 更全面的全局視角
寫程式,仍然重要。 但它不再是核心競爭力。 真正的核心競爭力,是理解整個系統如何運作, 以及在不確定的情境中,做出正確的技術決策。
未來不會消失的工程師,不是寫得最快的人, 而是看得最遠的人。
Vibe Coding 的真正意義
Vibe Coding 從來不是「憑感覺亂寫程式」。 它也不是把所有問題丟給 AI,然後期待奇蹟發生。
它真正代表的,是一種開發模式的轉變, 從語法驅動,轉向意圖驅動; 從手動實作,轉向人機協作。
當我們開始用自然語言描述需求時, 其實是在把思考的重心往上提升一層。 我們不再執著於每一行程式怎麼寫, 而是開始關注整個系統該長什麼樣子。
但前提是必須足夠理解系統,才能描述正確的「意圖」。 如果沒有設計能力,Vibe Coding 只會變成拼湊程式碼; 如果沒有判斷能力,AI 產出的只是看似合理的結構。
真正的 Vibe Coding,是清楚知道自己在做什麼,然後讓 AI 幫忙加速。 它不是降低門檻,而是提高層次。 未來的工程師,不再只是寫程式的人, 而是能夠定義問題、設計架構、做出決策的人。
當理解這一點,AI 就不再是威脅,而是屬於自己的員工。
