AI 能快速生成程式,但工程能力不會憑空出現

有人說,現在有了 Vibe Coding,人人都能寫程式。

但我其實更擔心的是:在這個時代,連我的孩子未來是否還有耐心從 Hello World 開始學,我都沒有十足把握。當你還在一步一步學語法、搞懂迴圈和資料結構時,別人可能早就把網站架好了、介面做出來了,甚至連作品集都上線了。

所以我一直在想,到了這個時代,程式到底該怎麼教?

我並不否認 Vibe Coding 的價值。它確實讓很多人第一次感受到,原來「做出一個東西」的門檻可以降得這麼低。只要描述需求,AI 很快就能幫你生成一個網頁、一個小工具,甚至一個看起來頗完整的系統原型。這種速度,確實很吸引人。

但問題也在這裡。多數時候,Vibe Coding 做出來的東西,仍然比較像玩具、作業,或展示用的 prototype。它可以跑,不代表它穩定;它看起來完整,不代表它真的可維護、可擴充;它甚至可能在 demo 的時候很順,真正上線後卻漏洞百出。

真正要把系統做得穩、做得久,而且每一步都盡可能接近正確,靠的就不只是「叫 AI 幫我生出來」,而是更完整的工程能力。

如果從淺到深來看,我會覺得這幾年其實慢慢出現了幾個不同層次。最表層的是 Vibe Coding,也就是我描述需求,AI 幫我快速生成結果。再往上一層,是 prompt engineering,意思是你不只是隨便丟一句需求,而是能更精準地下指令,讓輸出更接近你真正要的東西。

但再往下走,事情就沒那麼簡單了。所謂 context engineering,重點已經不是「怎麼說」,而是「模型在這一步到底看到了什麼」。很多錯誤不是因為模型不會,而是因為它沒有看到應該看到的資訊,或者看到了太多雜訊。你要有能力幫它整理上下文,控制資訊流,減少誤判與遺漏。

而最近大家開始談的 harness engineering,就更接近真正的工程現場了。這時候你已經不只是在下 prompt,而是在設計整個 agent system 的工具鏈、流程、驗證、追蹤,甚至是失敗後怎麼修復。換句話說,你不是在「叫 AI 做事」,你是在把 AI 放進一個可約束、可驗證、可追蹤的系統裡,讓它能比較可靠地運作。

這幾個詞看起來很新,但它們其實都在說同一件事:真正困難的,從來都不是把東西生出來,而是讓它在真實世界裡可靠運作。

問題是,新人最缺的往往不是工具,而是場域經驗。他不知道什麼叫做好,無法判斷結果是否可靠,也不理解真實世界裡有哪些規則、限制與風險。於是,他不只 prompt 下不好,更不可能有效指揮 AI 去完成流程設計、結果驗證與例外處理。以通訊工程來說,這個現象非常明顯。例如,AI 幫學生生出一段無線通訊模擬程式,BER 曲線也畫出來了。但學生可能沒意識到:SNR 定義是否一致?通道假設是否合理?這需要的是經驗、判斷,以及對系統本質的理解。

我們不一定要把學生都訓練成最會手刻每一行程式的人,
但我們應該把他們訓練成:

  • 看得懂系統限制的人
  • 知道如何驗證結果的人
  • 懂得拆解問題的人
  • 知道什麼時候不能相信模型的人
  • 有能力把 AI 納入可靠工作流程的人

這樣的人,未來不只是會用工具。他才真的有能力,去做出能進入現實世界的系統。

留言

這個網誌中的熱門文章

探索向量空間:線性代數的核心與應用

做自己,也要夠強 - 從Z世代學生到Iverson給我的啟示

線性轉換與基底變換的應用