更驚人的是研究數據。教授引用相關研究指出,使用 LLM 工具輔助的人,雖然自認為效率提升了 20%,但實際上的開發速度反而比沒使用工具的人慢了 20%。這種主觀感受與客觀現實的巨大落差,揭示了 Vibe Coding 最大的陷阱:它給人一種「我很高效」的錯覺,但實際上大量時間被浪費在除錯和修正 AI 產生的錯誤程式碼上。
這顯示出過度依賴工具可能產生效率提升的錯覺,當遇到未曾見過的程式需求,若缺乏基礎的邏輯分解能力與物理原理知識,將無法修正 AI 發生的錯誤,導致最終產出更加耗時。簡單打個比方,LLM 就像是一台高級的自動駕駛汽車,能幫你處理常見的路徑,但如果你不知道如何拆解賽道、不了解車輛運行的物理原理,當遇到從未見過的險惡彎道時,自動駕駛就容易出錯,而你也會因為缺乏基本功而不知道該怎麼修正它。
Vibe Coding 失敗的三大原因
創新能力為零:只能組合訓練數據中的現有模式,無法產生真正新穎的解決方案
錯誤難以發現:生成的程式碼看起來合理但邏輯錯誤,需要專業知識才能識別
除錯時間暴增:修正 AI 錯誤比自己寫程式更耗時,抵銷了生成速度優勢
訓練數據偏差:LLM 訓練資料多為工程師語言,日常語言描述容易產生誤解
從認知心理學角度看,這種效率幻覺源於「流暢性錯覺」(Fluency Illusion)。當 AI 快速生成大量程式碼時,用戶會感覺進展很快,產生效率提升的主觀感受。但實際上,這些程式碼的品質可能很差,後續需要花費更多時間修正。相較之下,人類程式設計師雖然寫得慢,但產出的程式碼品質更高,總體時間反而更短。
正確使用生成式 AI 的三步驟
面對 AI 工具的強大能力,許多人質疑學習寫程式的必要性。對此教授認為,寫程式教育中最核心的技能在於「分解問題」,意即將一個模糊的大問題拆解成細小區塊,直到每個區塊都能用幾行程式碼解決。若缺乏這種訓練,使用者將難以利用 AI 工具產出真正能運作的複雜程式。
此外,LLM 的訓練資料多屬工程師風格的語言描述,非專業人士使用的日常語言,往往與訓練資料不匹配,容易導致 AI 無法生成有用的程式碼。至於如何發揮生成式 AI 輔助寫程式的最大效益,Chasins 教授建議遵循三個步驟:
第一步是最小化問題:將問題分解至大約 5 行程式碼的規模。這是關鍵的拆解能力,當你能將複雜問題分解成一個個小單元時,AI 才能有效輔助每個小單元的實現。第二步是使用虛擬碼(Pseudo code):這是一種可能綜合使用多種程式語言的語法、保留字,向 AI 描述邏輯的方式。雖然虛擬碼類似自然語言,但不是我們日常使用的語言,用意是讓電腦更精準理解執行邏輯。
第三步是制定驗證計畫:透過大量測試或專業審核來確保 AI 輸出的正確性。這一步最容易被忽視,但卻最關鍵。許多 Vibe Coding 使用者拿到 AI 生成的程式碼後就直接使用,沒有進行充分測試,結果在生產環境中出現嚴重錯誤。
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Профессор Калифорнийского университета опровергает Vibe Coding! Эффективность генеративного AI при написании кода снизилась на 20%
加大柏克萊教授 Sarah Chasins 在 GQ Taiwan 解析生成式 AI,指 LLM 本質是「填空遊戲」經 300-400 年運算訓練。Vibe Coding 處理常規內容可行但創新不通。研究顯示使用者自認效率升 20% 實際反慢 20%。建議三步驟:最小化問題至 5 行、用虛擬碼描述、制定驗證計畫。
ChatGPT 背後的填空遊戲真相
Sarah Chasins 教授首先用大眾也能懂的方式,解釋了 ChatGPT 的運作機制。ChatGPT 建立在大型語言模型(LLM)之上,其核心運作邏輯相當單純,就是一個負責將看起來搭配的單字組合在一起的程式。LLM 的開發者,首先會收集網路上所有由人類編寫的文件與網頁,這些資料代表了人類認知中合理的詞彙組合。
接著,程式會進行大規模的「填空遊戲」訓練。舉例來說,系統會看到「狗狗有四條[空白]」這樣的句子,符合人類認知的答案是「狗狗有四條腿」,但若程式猜測錯誤,開發者便會修正直到它答對為止。經過相當於地球時間 300 到 400 年運算時間的訓練後,程式最終會生成一份極其龐大的「作弊紙」,也就是科技界常說的「參數」。
接下來,只需再提供一份對話格式的文件,這個擅長填空的程式就能轉化為聊天機器人,自動依照邏輯補完人類問題後的剩餘回應。這種「填空」本質的解釋揭示了生成式 AI 的核心侷限:它只能組合訓練數據中出現過的模式,無法真正理解語義或進行創造性思考。
這個原理對於理解 Vibe Coding 的侷限性至關重要。當你要求 AI 寫一段「登入功能」的程式碼時,AI 能寫得很好,因為網路上有成千上萬個登入功能的範例。但當你要求它寫一個從未有人實現過的創新演算法時,AI 只能拼湊相似的片段,結果往往是邏輯錯誤或完全無法運行的程式碼。
Vibe Coding 的效率幻覺
針對近期流行利用 LLM 直接生成程式碼,而非由人類手打程式碼的 Vibe Coding 模式,Sarah Chasins 教授持保留態度。她分析,這類工具在處理已被人類寫過千百遍的常規內容時表現尚可,但若打算嘗試任何創新的事物,這種模式通常行不通。
更驚人的是研究數據。教授引用相關研究指出,使用 LLM 工具輔助的人,雖然自認為效率提升了 20%,但實際上的開發速度反而比沒使用工具的人慢了 20%。這種主觀感受與客觀現實的巨大落差,揭示了 Vibe Coding 最大的陷阱:它給人一種「我很高效」的錯覺,但實際上大量時間被浪費在除錯和修正 AI 產生的錯誤程式碼上。
這顯示出過度依賴工具可能產生效率提升的錯覺,當遇到未曾見過的程式需求,若缺乏基礎的邏輯分解能力與物理原理知識,將無法修正 AI 發生的錯誤,導致最終產出更加耗時。簡單打個比方,LLM 就像是一台高級的自動駕駛汽車,能幫你處理常見的路徑,但如果你不知道如何拆解賽道、不了解車輛運行的物理原理,當遇到從未見過的險惡彎道時,自動駕駛就容易出錯,而你也會因為缺乏基本功而不知道該怎麼修正它。
Vibe Coding 失敗的三大原因
創新能力為零:只能組合訓練數據中的現有模式,無法產生真正新穎的解決方案
錯誤難以發現:生成的程式碼看起來合理但邏輯錯誤,需要專業知識才能識別
除錯時間暴增:修正 AI 錯誤比自己寫程式更耗時,抵銷了生成速度優勢
訓練數據偏差:LLM 訓練資料多為工程師語言,日常語言描述容易產生誤解
從認知心理學角度看,這種效率幻覺源於「流暢性錯覺」(Fluency Illusion)。當 AI 快速生成大量程式碼時,用戶會感覺進展很快,產生效率提升的主觀感受。但實際上,這些程式碼的品質可能很差,後續需要花費更多時間修正。相較之下,人類程式設計師雖然寫得慢,但產出的程式碼品質更高,總體時間反而更短。
正確使用生成式 AI 的三步驟
面對 AI 工具的強大能力,許多人質疑學習寫程式的必要性。對此教授認為,寫程式教育中最核心的技能在於「分解問題」,意即將一個模糊的大問題拆解成細小區塊,直到每個區塊都能用幾行程式碼解決。若缺乏這種訓練,使用者將難以利用 AI 工具產出真正能運作的複雜程式。
此外,LLM 的訓練資料多屬工程師風格的語言描述,非專業人士使用的日常語言,往往與訓練資料不匹配,容易導致 AI 無法生成有用的程式碼。至於如何發揮生成式 AI 輔助寫程式的最大效益,Chasins 教授建議遵循三個步驟:
第一步是最小化問題:將問題分解至大約 5 行程式碼的規模。這是關鍵的拆解能力,當你能將複雜問題分解成一個個小單元時,AI 才能有效輔助每個小單元的實現。第二步是使用虛擬碼(Pseudo code):這是一種可能綜合使用多種程式語言的語法、保留字,向 AI 描述邏輯的方式。雖然虛擬碼類似自然語言,但不是我們日常使用的語言,用意是讓電腦更精準理解執行邏輯。
第三步是制定驗證計畫:透過大量測試或專業審核來確保 AI 輸出的正確性。這一步最容易被忽視,但卻最關鍵。許多 Vibe Coding 使用者拿到 AI 生成的程式碼後就直接使用,沒有進行充分測試,結果在生產環境中出現嚴重錯誤。