Vibe Coding 課程的繁榮與隱憂

Vibe Coding 課程的繁榮與隱憂:當非技術出身的人開始販售「人人都能寫軟體」的夢想,轉職者與初階工程師該如何判斷?

自從2022年 ChatGPT 橫空出世後,我其實一直在觀察生成式 AI (Generative AI) 對軟體開發這個產業的變化,而也如同你所見的,AI 技術的快速發展,使得程式設計這個工作 (Coding 乃至於 Programming) 被以幾近光速的變化速度由 AI 取代,而且眼下這波浪潮沒有停止的跡象,會不會未來更進一步的侵蝕更高階的工作 (如 SD/SA 等) 還有待觀察,可以很確定的是,生成式 AI 自動 Agent / Skill 等能力導入後,已經可以取代 95% 以上使用標準程式語言進行程式開發的工作,而在 2024 年,有一個詞彙突然出現:Vibe Coding,號稱在完全不懂軟體開發的情況下,只要使用幾句自然語言就能開發出系統,想當然爾,網路上隨即爆出很多用 Vibe coding 就能這樣那樣的所謂 "課程",只是這樣對軟體產業真的好嗎? 未來是否會量產出更多的數位垃圾 (digital slop),或是反而會有更多工程師要去處理 Vibe coding 產生的問題,而這對想入門這個產業的人來說,真的是好事嗎?

因此,有了這篇文章的存在。

當然不可諱言的,這篇文章是我與 AI 討論後,由 AI 整理出來的,在此預先告知。 

一個正在快速膨脹的市場

打開社群媒體,你很難不注意到這波浪潮。一支又一支短影音告訴你:「我不會寫程式,但我用 AI 在三天內做出了一個 App」、「學什麼程式語言?未來只需要會說話就能開發軟體」、「別再花四年讀資工系了,這堂課讓你三週變成開發者」。這些內容的背後,是一個正在快速膨脹的「Vibe Coding 實戰課程」市場。課程的販售者很多本身不具備深厚的軟體工程背景,但他們擅長抓住時代的焦慮——AI 正在改變一切,你如果不趕上就會被淘汰——並將這份焦慮轉化為購買行為。

這些課程的文案通常有幾個共同特徵:強調「零基礎」就能上手、展示令人印象深刻的成果截圖、引用「軟體開發民主化」的論述來賦予正當性、並且巧妙地利用對未來的不確定感來製造緊迫感——「AI 時代已經來了,再不學就來不及了」。價格從幾千到數萬元不等,學員在課程結束後通常能做出一兩個看起來完整的應用程式,並在社群上分享自己的「成果」,進一步強化了這波風潮的可信度。

對於正在考慮轉職進入軟體開發領域的人,或是剛入行的初階工程師而言,這些課程到底是打開新世界大門的鑰匙,還是一張包裝精美的空頭支票?這個問題值得從正反兩面仔細剖析。

正方觀點:Vibe Coding 課程確實帶來了真實的價值

降低了心理門檻,讓更多人敢於踏出第一步

軟體開發長期以來被包裝成一個「高智商、高門檻」的領域。很多對科技有興趣的人,光是看到程式碼就產生了畏懼感,覺得「這不是我能學的東西」。Vibe coding 課程最大的正面貢獻,可能不在於它教了什麼技術內容,而在於它打破了這道心理屏障。當一個從未接觸過程式設計的人,在課程中用自然語言指揮 AI 做出了一個能實際運作的應用程式時,那個「原來我也可以」的心理突破是真實的、有價值的。

這種心理門檻的降低不應該被輕視。在教育心理學中,「自我效能感」(self-efficacy)是學習動機最強的預測因子之一。一個人如果相信自己有能力學會某件事,他就更可能投入時間和精力去深入學習。Vibe coding 課程如果能讓一個原本覺得「軟體開發離我太遠」的人開始相信「也許我可以」,那它就可能成為一段更長學習旅程的起點,而不是終點。

提供了快速的成就回饋,有助於維持學習動力

傳統的程式設計學習路徑有一個眾所周知的問題:前期的學習曲線非常陡峭,而且要花很長時間才能做出有「成就感」的東西。你可能花了三個月學 Python 的語法和基礎概念,但做出來的東西只是在終端機上印出幾行文字。這個漫長而枯燥的前期過程讓很多初學者在還沒嚐到甜頭之前就放棄了。

Vibe coding 課程翻轉了這個體驗曲線。學員在很短的時間內就能做出有視覺回饋、可以互動、甚至可以分享給朋友用的成果。這種快速的正向回饋循環確實有助於維持學習動力。如果學員在這份成就感的驅動下繼續深入學習底層原理,那 vibe coding 就成功扮演了「引路人」的角色。

培養了「與 AI 協作」的早期經驗

不管你對 vibe coding 的看法如何,有一件事是確定的:未來的軟體開發將大量仰賴人與 AI 的協作。學會如何有效地跟 AI 工具溝通——怎麼描述你要的東西、怎麼在 AI 的產出不符預期時調整指示、怎麼迭代地修正方向——這本身就是一項正在變得越來越重要的技能。

Vibe coding 課程,即使內容不夠深入,至少讓學員在早期就建立了與 AI 互動的經驗和直覺。這些經驗不等於軟體工程的專業能力,但它們是未來任何工程師都需要具備的「AI 協作素養」的起點。對於轉職者來說,進入正式的技術學習之前就對 AI 工具有基本的操作經驗,可以讓後續的學習過程更順暢。

對於非工程職位的人,可能已經「夠用了」

還有一個常被忽略的正面面向:不是每個學 vibe coding 的人都想成為專業的軟體工程師。一個行銷人員如果能用 AI 快速做出一個活動頁面原型、一個創業者如果能用 AI 做出一個 MVP 來驗證商業想法、一個研究人員如果能用 AI 把資料處理自動化——對他們來說,vibe coding 課程提供的能力可能確實就夠了。不是每個會開車的人都需要懂引擎的原理,對於這些「使用者」而非「建造者」的角色,vibe coding 是一個合理的技能投資。

反方觀點:這些課程可能造成的傷害遠大於它帶來的價值

非技術出身的授課者無法教授他們自己不具備的判斷力

這是最根本的問題。我們在前面的討論中反覆談到,軟體開發真正困難的不是「讓程式碼跑起來」,而是判斷「這段程式碼該不該這樣寫」、「這個架構在什麼條件下會出問題」、「這個設計方案的 trade-off 是什麼」。這些判斷力來自深厚的技術基礎和大量的實戰經驗。一個自己不具備這些能力的授課者,不管他的教學技巧多麼純熟、文案寫得多麼動人,他在本質上無法傳授這種判斷力,因為他自己就沒有。

這就像一個只會用微波爐加熱食物的人,開了一堂「零基礎成為廚師」的課程。他確實能教你怎麼把食物加熱、怎麼讓它看起來不錯。但他教不了你食材搭配的原理、火候控制的技巧、食品安全的規範。學員學完之後覺得自己「會做菜了」,但如果他真的去應徵餐廳的廚師工作,或是開一間餐廳,遲早會出問題——而且出問題的方式可能是他完全無法預見的,因為他不知道自己不知道什麼。

製造能力假象,導致錯誤的職涯決策

這是對轉職者和初學者最直接的傷害。我們前面討論過,vibe coding 正在製造一種「能力的假象」——學完課程的人做出了幾個看起來完整的專案,在社群上得到了正面的回饋,於是真心相信自己已經具備了進入軟體開發產業的能力。他們可能據此辭掉現有的工作、投入時間和金錢準備轉職,結果在面對真正的技術面試或實際的工程工作時才發現,自己的能力跟業界的期待之間有巨大的落差。

這個落差的殘酷之處在於,它在課程階段是不可見的。Vibe coding 課程的「實戰」通常是在受控的環境中完成預設的專案——問題是被精心挑選過的、範圍是被刻意限縮過的、邊界情境是被忽略掉的。學員在這個環境中建立的信心,碰到真實世界的複雜度時會迅速瓦解。而在這個過程中被浪費的時間、金錢和機會成本,是真實的損失。

「恐懼行銷」扭曲了對產業現實的認知

很多 vibe coding 課程的行銷策略刻意放大了對未來的恐懼感:「AI 即將取代所有工程師」、「不學 vibe coding 就會被時代淘汰」、「傳統的程式學習方式已經過時了」。這些說法有一部分事實基礎,但被極端化和去脈絡化地呈現,目的是刺激焦慮、促成購買。

我們前面的整場討論已經提供了一個遠比這些行銷話術更細緻的圖景:AI 確實在改變軟體開發的方式,但它取代的是最下游的編碼工作,而不是整個軟體工程的專業。基礎知識的重要性不但沒有降低,反而因為工程師需要審查和判斷 AI 的產出而變得更加關鍵。工程師的角色在轉變,但轉變的方向是往更高階的規格定義和技術判斷移動,而不是被消滅。

當這些課程的文案告訴學員「不需要學基礎,直接用 AI 就好」的時候,它們實際上是在鼓勵學員跳過我們討論中反覆強調的那些「不可跳過」的能力養成步驟。這不是在幫學員適應未來,而是在讓他們在未來的就業市場上更加脆弱。

「民主化」的敘事被利用為行銷工具

我們前面已經詳細分析過 (如下),vibe coding 的「民主化」是一種不完整的民主化——它民主化了「讓東西跑起來」的能力,但沒有民主化「確保東西跑得好」的能力。然而在課程的行銷中,「民主化」被當作一個不加區分的正面標籤來使用,暗示學完這門課你就跟專業工程師站在同一個起跑線上了。

以下為前文中 "前面已詳細分析過" 的原始內容:

「民主化」這個詞在科技領域被頻繁使用,它的隱含語意是:原本被少數人壟斷的能力,現在每個人都能擁有了,這是一件純粹正面的事情。Vibe coding 確實符合這個敘事的表層——過去你需要花幾年時間學習程式設計才能做出一個軟體產品,現在你只需要用自然語言描述你想要什麼,AI 就能幫你生成。從「能做出東西」這個維度來看,門檻確實被大幅降低了,參與的人數確實被大幅擴大了。這是真實的,也是有價值的。

但如果我們從前面討論的脈絡來看,這個「民主化」的敘事掩蓋了幾個關鍵的區分。

第一個被掩蓋的區分是「做出東西」和「做出好東西」之間的差距。我們前面談到,Agent 產出的程式碼往往在表面上非常工整——結構清楚、有註解、甚至有測試——但可能在效能、安全性、可維護性上埋著深層的問題。Vibe coding 民主化的是「做出能跑的東西」的能力,但它沒有民主化「判斷這個東西做得對不對」的能力。後者仍然需要紮實的資訊科學基礎、系統設計的素養、以及從大量實戰經驗中累積的技術判斷力。用我們前面的比喻來說,vibe coding 讓每個人都能「開車上路」,但它沒有讓每個人都具備判斷「這條路安不安全」或「車子引擎是不是快出問題了」的能力。

第二個被掩蓋的區分是「個人專案」和「商業軟體」之間的鴻溝。如果你用 vibe coding 做一個個人的作品集網站、一個自用的記帳工具、或是一個小型的自動化腳本,這完全沒問題——AI 確實讓這些事情變得人人可及,這是真正的民主化。但商業軟體面對的挑戰完全不同:它需要在高流量下穩定運行、需要保護使用者的資料安全、需要能被團隊持續維護和擴展、需要符合法規要求、需要處理無數的邊界情境。這些需求不會因為 vibe coding 的存在而消失,而 vibe coding 本身也不提供處理這些需求的能力。我們前面討論的 SDLC 角色鏈存在的理由,正是因為商業軟體的複雜度遠超過「讓它跑起來」這個層次。

第三個被掩蓋的區分是最根本的,也是我們整場討論反覆觸及的核心問題:vibe coding 的「民主化」敘事把軟體開發簡化為「寫程式碼」這一個環節,然後宣稱這個環節被民主化了。但軟體開發從來不只是寫程式碼。它是理解問題、定義規格、設計架構、評估可行性、控制品質、管理技術債的整套過程。Vibe coding 民主化的只是這條鏈上最下游的一環,而且恰好是 Agent 本來就在快速接管的那一環。真正困難的、真正有價值的環節——我們討論的那些 SA 級的規格定義能力、技術可行性評估、系統性的品質把關——這些完全沒有被民主化,反而因為 vibe coding 降低了下游門檻,讓這些上游能力的稀缺性更加凸顯。

從這個角度來看,vibe coding 與其說是軟體開發的「民主化」,不如說是軟體開發的「分層化」。它把軟體開發清楚地分成了兩個層次:一個是「讓東西跑起來」的層次,這個確實被民主化了;另一個是「確保東西跑得好、跑得安全、跑得持久」的層次,這個不但沒有被民主化,進入的門檻反而因為我們討論的「中空化」和「養成路徑斷裂」而變得更高了。

更值得深思的是,「民主化」這個敘事本身可能帶來一個危險的副作用。我們前面討論到 vibe coding 正在製造一種「能力的假象」——透過 vibe coding 完成了幾個專案的人,可能真心認為自己已經具備了軟體工程的能力。當「民主化」的敘事鼓勵越來越多人相信「人人都能做軟體」時,它同時也在模糊「做出軟體」和「做好軟體」之間的界線。這對個人來說可能導致錯誤的職涯預期,對企業來說可能導致錯誤的人才判斷,對整個產業來說可能加速我們討論的品質控制危機。

如果一定要用「民主化」這個框架來理解 vibe coding,我會說它是一種「不完整的民主化」——它民主化了軟體開發的「表達層」,讓更多人能把想法快速轉化為可運作的原型,這本身是有意義的。但它沒有民主化軟體開發的「工程層」,而且它可能讓人誤以為表達層就是全部。真正的軟體開發民主化,不是讓每個人都能做出一個 App,而是讓更多人理解軟體是怎麼被正確地設計、建造和維護的。在這個定義下,我們離真正的民主化還有很遠的距離,而 vibe coding 在這條路上的貢獻,比它的倡導者所宣稱的要有限得多。

這種敘事的危險在於,它模糊了「做出一個原型」和「構建一個可靠的軟體產品」之間的巨大差距。我們討論過的那些企業真正在意的能力——在 SDLC 中識別技術風險的能力、在敏捷流程中把關品質的能力、在 Agent 產出中辨識深層問題的能力——這些都不會因為「民主化」的口號而自動獲得。把「民主化」當作行銷話術,實際上是在販售一個過度簡化的承諾。

加速了人才市場的「劣幣驅逐良幣」效應

當大量的 vibe coding 課程畢業生帶著看起來豐富的「作品集」進入求職市場時,企業的人資部門面臨一個越來越嚴重的篩選問題。我們前面討論過,作品集在 AI 時代的可信度已經大幅下降——你無法從成品本身判斷候選人是否真的理解他做的東西。當市場上充斥著表面光鮮但缺乏深度理解的候選人時,企業的招募成本上升、面試流程變得更冗長,而那些真正投入時間建立扎實基礎的初階工程師和轉職者,反而需要花更多力氣來證明自己跟 vibe coding 畢業生是不同的。

更微妙的是,當少數 vibe coding 背景的人真的進入了企業、但因為能力不足而在工作中產生品質問題時,這會強化企業對「非本科」和「轉職者」的偏見——即使問題的根源不在於「非本科」這個身份,而在於不完整的訓練。最終受害的是所有認真準備轉職的人。

超越正反二元:一個更務實的判斷框架

把正反兩方的論點放在一起看,一個比較平衡的結論是:vibe coding 課程本身不是洪水猛獸,但目前市場上的多數課程在定位和承諾上存在嚴重的誤導。問題不在於「該不該學 vibe coding」,而在於「學了之後以為自己獲得了什麼」。

如果你把 vibe coding 課程當作一個「啟蒙」和「探索」的起點——用它來確認自己對軟體開發有沒有興趣、建立與 AI 工具互動的初步經驗、做出一些原型來驗證想法——那它確實有正面的價值,前提是你不要因此以為自己已經準備好進入業界了。好的學習旅程是:vibe coding 引發興趣,然後你深入學習基礎知識、建立底層技術直覺、培養精確的文字表達能力、逐步累積系統性思考的能力。Vibe coding 是旅程的第一站,不是終點。

但如果你把 vibe coding 課程當作「轉職的捷徑」——期待花幾週時間學完就能找到軟體工程師的工作、拿到工程師的薪資——那你幾乎必然會失望。我們前面的討論已經清楚地描繪了企業真正在意的能力:問題拆解與規格定義的能力、閱讀和評估程式碼的能力、技術溝通的精確度、基礎知識的理解深度。這些能力沒有捷徑,需要的是持續的投入和累積。

給正在考慮購買這類課程的人的判斷依據

在決定是否投資一門 vibe coding 課程之前,有幾個問題值得你先誠實地回答。

你的目標是什麼?如果你只是想做出一些個人專案、自動化一些日常工作、或是在你現有的(非工程師)職位上增加一項輔助技能,vibe coding 課程可能就夠了。但如果你的目標是轉職成為專業的軟體工程師,你需要的遠不只是一門 vibe coding 課程。

授課者的背景是什麼?一個好的課程不一定需要由頂尖工程師來教,但授課者至少應該對軟體開發的全貌有基本的認知,而不只是知道怎麼操作 AI 工具。如果授課者自己的技術經歷只限於用 AI 做過幾個專案,他能教你的就只有「怎麼用 AI 做專案」,而無法幫你理解那些專案底層的技術決策。

課程有沒有誠實地說明它的侷限?一門負責任的課程會告訴你:「這門課教你的是怎麼用 AI 工具快速做出原型,但成為專業的軟體工程師還需要在基礎知識、系統設計和工程實務上做大量的學習。」如果一門課程的文案暗示學完就能轉職、就能接案、就能跟專業工程師平起平坐,那它的承諾很可能是過度的。

它是否利用恐懼來促成銷售?「再不學就來不及了」、「傳統學習方式已經過時了」、「AI 即將取代所有工程師」——這些話術如果出現在課程的行銷中,你應該提高警覺。合理的課程推廣會聚焦在「這門課能幫你學到什麼」,而不是「你如果不買會多慘」。恐懼驅動的購買決策很少是好的決策。

結語:真正的問題不是課程,而是期待

Vibe coding 作為一項技能,在 AI 時代確實有它的位置。能夠用自然語言有效地指揮 AI 工具完成任務,是一種有實用價值的能力。圍繞這項技能發展出教學課程,本身不是問題。

問題出在課程的承諾和學員的期待之間的落差。當非技術出身的授課者把 vibe coding 包裝成「進入軟體產業的快速通道」、用恐懼行銷來放大焦慮、用「民主化」的論述來暗示專業門檻已經消失時,他們實際上是在販售一個不切實際的夢想。這個夢想對那些花了錢、花了時間、甚至辭了工作來追逐它的人來說,代價可能是沈重的。

軟體開發的世界確實正在被 AI 重塑,機會是真實存在的。但通往這些機會的路徑,不是任何一門短期課程能夠提供的。它需要紮實的基礎知識、需要從實作中累積的技術判斷力、需要精確的文字表達能力、需要對系統性思考的持續鍛鍊。Vibe coding 可以是這段旅程中一個有趣的起點,但任何試圖告訴你「這就是全部」的人,要嘛是不了解這個行業的真實面貌,要嘛是刻意不告訴你。無論是哪一種,你都不應該把自己的職涯規劃建立在他們的承諾之上。