![]()
當你面對一堆連 AI 自己都不理解的復雜代碼時,你已經徹底喪失了修復它的能力。
編譯 | 王啟隆
來源 | youtu.be/dHBEQ-Ryo24
出品丨AI 科技大本營(ID:rgznai100)
Vibe Coding 這個詞從卡帕西大神提出到現在,已經過了整整一年。而自從 Peter Steinberger 通過 Vibe 寫出了 OpenClaw 這樣的現象級軟件,人們似乎篤信:哪怕你連一行代碼都看不懂,只要你會寫提示詞,大模型就能像變魔術一樣幫你寫出一個完整的 App。社交媒體上到處都是非技術人員“一天開發十個應用”的炫耀貼,似乎軟件工程師這個職業即將被掃進歷史的垃圾堆。
但在這場震耳欲聾的歡呼聲中,一位真正為深度學習奠基的元老,卻發出了截然不同、甚至極其刺耳的嚴厲警告。
“這真的讓我感到惡心。我甚至覺得這簡直是反人類的(inhumane)。”
![]()
說出這句話的人是Jeremy Howard(杰瑞米·霍華德)。如果你是 AI 圈的從業者,你絕對不可能沒聽過他的名字:他是 Kaggle 的前總裁兼首席科學家、頂級 Grandmaster;他是 Fast.ai 的創始人;更重要的是,在 2018 年,正是他與 Sebastian Ruder 共同提出了ULMFiT,打破了當時“語言模型無法微調”的行業鐵律,直接啟發了后來的 ELMo、BERT 和 GPT 系列,拉開了 NLP 預訓練大模型的序幕。
在這場由 Machine Learning Street Talk (MLST) 播客主理人 Tim Scarfe 飛赴澳大利亞布里斯班、在其后院進行的深度對談中,這位深度學習先驅將目前 AI 編程的遮羞布撕得粉碎。
他沒有為當前的 AI 狂熱背書,反而像一位憂心忡忡的導師,犀利地指出了隱藏在代碼自動生成背后的巨大陷阱。這不僅是一場關于技術的硬核探討,更是一場關于“人類心智如何成長”的哲學思辨。
![]()
在進入這篇近萬字的硬核實錄之前,我們為你提煉了這場對話中最具顛覆性的核心論斷:
Vibe Coding 本質上是一臺“老虎機”:你寫下一段提示詞,按下回車,然后祈禱出來的代碼能跑通。你獲得了控制的幻覺,但當你面對一堆連 AI 自己都不理解的復雜代碼時,你已經徹底喪失了修復它的能力。
大模型沒有創造力,它只是在“角色扮演”理解:無論是讓 Claude 寫 C 編譯器,還是解決某個具體任務,AI 都只是在訓練數據的龐大分布中進行“插值(Interpolation)”。它們沒有建立真實的物理心智模型,一旦脫離訓練分布的“舒適區”,它們就會瞬間變得比白癡還蠢。
“適當的困難(Desirable Difficulty)”是人類進化的燃料:如果把所有初級、繁瑣的編程任務都交給 AI 自動化,人類就會失去建立代碼直覺的摩擦力。一個從未在泥濘的底層代碼中掙扎過的初級程序員,永遠不可能成長為架構復雜系統的資深工程師。
AI 最大的末日風險,是被巨頭用來“奪權”:別去操心什么“AI 覺醒毀滅人類”的科幻劇本。真正的危險在于,科技寡頭和政府正在利用這種恐慌制造監管壁壘,試圖將這種能夠顛覆世界的技術壟斷在少數人手里。
以下是這場對談的完整中文深度編譯。
![]()
歷史的回聲——打破“語言模型不可微調”的鐵律
Tim Scarfe(蒂姆·斯卡夫,MLST主理人,以下簡稱“蒂姆”):Jeremy Howard,歡迎來到 MLST 播客。
Jeremy Howard(杰瑞米·霍華德,以下簡稱“杰瑞米”):歡迎來到我的家,謝謝你大老遠飛過來。
蒂姆:我們現在到底在哪?
杰瑞米:我們現在在澳大利亞昆士蘭州東南部的莫頓灣(Moreton Bay),海邊,就在我的后院里。
蒂姆:這里的天氣絕對沒讓我失望。不過我不知道該從何說起。我一直是你的超級粉絲,大概從 2017、2018 年開始吧。當時你發表了那篇著名的ULMFiT 論文。我記得我當時在微軟工作,我還專門做過一個關于它的演講。因為回想起來,那是一個巨大的轉折點。
如今我們覺得大語言模型的“微調(Fine-tuning)”是理所當然的事:我們在海量的文本語料上預訓練模型,然后再專門對它進行微調。但顯然,在當時,這并不是什么公認的“行業共識”。
杰瑞米:不,那甚至是歷史上第一次有人這么做。是的,大概是前一兩年吧,Quoc Le 和 Andrew Ng 幾年前做過一些嘗試,但他們漏掉了一個極其關鍵的點:你預訓練的對象,必須是一個通用目的(General Purpose)的語料庫。
當時沒有人意識到這個關鍵點。也許我算比較幸運吧,我的背景其實是哲學和認知科學(Cognitive Science),所以在過去的幾十年里,我一直在思考這些問題。
蒂姆:能不能給我們簡單勾勒一下 ULMFiT 的技術架構?
杰瑞米:我個人是“正則化(Regularization)”的超級粉絲。我非常喜歡采用一種極其靈活的模型,然后不要通過減小其架構規模來限制它,而是通過增加正則化來約束它。但在當時,即使是這個觀點也極具爭議,當然這絕不是我們獨有的洞察。
當時,Stephen Merity 把 LSTM [注:長短期記憶網絡,當時最流行的RNN架構] 的極端靈活性發揮到了極致,它其實就是一個經典的、帶狀態的循環神經網絡。然后他在上面加了整整 5 種不同類型的正則化!你能想到的正則化方式他全加上了。
我的出發點是:好,我現在有了一個極其靈活的深度學習模型,它能變得像我期望的那樣強大,同時也能受到我需要的約束。接著,我需要一個真正龐大的語料庫。有趣的是,當時 Stephen 恰好在 Common Crawl 工作,他幫我們弄到了維基百科的數據集。
后來我發現,原版的維基百科數據集做了太多假設,比如把所有的“未知詞(Unknown words)”都標記為
,因為它假設你要用傳統的自然語言處理(NLP)方法。于是我推翻了重來,創建了一個全新的維基百科數據集,這就是我的“通用語料庫”。
接著,我用了一個叫 AWD-LSTM 的模型。我就用一臺老式的游戲顯卡跑了一夜——大概 8 個小時。當時我們在舊金山大學,手里根本沒有堆積如山的計算資源,我估計就是一塊 2080 Ti 顯卡。
第二天早上我醒來,然后進行了今天我們所說的典型的“三階段架構”(預訓練、領域微調、下游任務微調)。我當時覺得,既然我已經訓練了它去預測維基百科的下一個詞,它一定對這個世界有了相當多的了解。
然后我想,如果我把它放在一個特定領域的語料庫上進行微調——也就是今天我們說的監督微調(Supervised Fine-tuning)——比如電影評論數據集,它應該會變得特別擅長預測電影評論里的下一個詞。我跑了一個小時的領域微調。
接著,我做了最后幾分鐘的下游分類器微調。這是一個經典的學術數據集,被認為是最難的一個任務:給你一段 5000 字的電影評論,你要判斷它是正向情感還是負向情感。在當時,這被認為是很難的,當時表現最好的模型,都是一些極其專用的、別人寫了整整一篇博士論文才搞出來的模型。
結果呢?我在微調后的 5 分鐘內,就打破了當時所有的 SOTA(最優結果)紀錄。真是太神奇了。
![]()
2018 年,Jeremy Howard 的 ULMFiT 論文歷史性地證明了:先在通用語料上進行預訓練,再到特定領域進行微調,最后進行任務分類的“三段式”路徑是完全可行的。這徹底改寫了 NLP 的發展軌跡。
蒂姆:關于如何進行微調,你們當時還提出了一套非常有趣的方法論。
杰瑞米:是的,關于“怎么微調”,這是我們在 fast.ai 開發出來的方法。這算是 fast.ai 第一年的成果。當時最具爭議的一件事,就是我們認為我們應該專注于“微調現有的模型”,因為我們認為微調太重要了。同時期的其他研究者,比如 Jason Yosinski,他在博士期間做了一項非常偉大的研究,就是探討如何微調模型以及它們到底能有多好。
在計算機視覺(Computer Vision)領域,我們算是最早投入微調研究的一批人。當時我們發現,用一個單一的學習率(Learning Rate)去微調整個龐大的網絡是毫無意義的,因為網絡的不同層有著完全不同的行為。
于是我們提出了“判別式學習率(Discriminative Learning Rates)”的想法。
對于不同的層,我們賦予不同的學習率。另一個關鍵洞察是——這在很多年里都沒人意識到——你實際上需要對每一個 Batch Norm(批量歸一化)層進行微調。因為那是驅動整個網絡上下波動的關鍵。當你這么做的時候,你通常只需要微調最后的一兩層。我們在 ULMFiT 中發現,盡管我們解凍了所有的層,但其實只需要最后兩層就能接近 SOTA 結果。這大概只需要幾秒鐘。
![]()
Vibe Coding 是披著智能外衣的“老虎機”
蒂姆:我覺得這是一個極其重要的歷史背景。現在讓我們把時間線拉回現在。目前在 AI 輔助編程領域,有一種流行的現象叫做Vibe Coding。人們用自然語言寫提示詞,讓大模型生成代碼,如果跑不通就讓它再改。你覺得這是未來嗎?
杰瑞米:說實話,這真的讓我感到惡心(It literally disgusts me)。我甚至覺得這簡直是反人類的(inhumane)。
我對科技的使命感在過去 20 年里從未改變,那就是:阻止人們像這樣工作。
關于以 AI 為核心的代碼生成(AI-based coding),最致命的問題在于,它就像是一臺老虎機(Slot Machine)。
你獲得了一種“控制的幻覺(Illusion of control)”。你可以精心雕琢你的提示詞(Prompt),列出一長串的模型上下文(MCPs),加上你的技能要求等等。但在最后,你依然只是拉下了老虎機的拉桿。
然后,老虎機吐出了一段沒有人能真正理解的代碼。
![]()
蒂姆:但很多人會說,只要它能跑通就行了啊。
杰瑞米:這就引出了一個終極問題:我愿意把我們公司的產品押注在這段代碼上嗎?
答案是:我不知道。因為沒人知道它到底在干嘛。沒人經歷過構建這個復雜系統的過程,他們非常不擅長軟件工程。
我認為有一個真理永遠不會改變:當人類能夠實時地操控計算機內部的對象,并與之交互時,人類能用計算機做到的事情,遠遠大于單純把任務外包給它。
如果你去聽那些偉大的科學家的講述,無論是費曼(Feynman)還是其他人,他們建立深度直覺的方式,是通過構建“心智模型(Mental Models)”。而心智模型,是通過隨著時間推移,不斷與他們正在學習的事物進行深度交互而建立起來的。
機器在今天可以通過分析巨大的文本語料庫的統計相關性,構建出關于世界運作方式的抽象層級結構。這是我的前提。但我堅決反對將其視為真正的創造力或理解力。
蒂姆:但確實有一些公司在使用大模型生成海量的代碼。比如最近 Anthropic 發布了一篇博客,說他們讓 Claude 的智能體團隊(Agent Teams)自主編寫了一個 C 編譯器。這聽起來像是在顛覆軟件工程?
杰瑞米:我看到了那篇由 Chris Lattner(LLVM 的作者)點評 Claude 寫的 C 編譯器的文章。當時他們說:“這是一個 clean room(無塵室)級別的 C 編譯器。”你能看出它是 clean room,是因為它是用 Rust 語言寫的。
但只要你稍微扒開看看,你就會發現,這個所謂的“AI 編寫的編譯器”,不過是對目前最廣泛使用的 C/C++ 編譯器(如 Clang 和 LLVM 架構)進行了一次極其拙劣的風格遷移(Style Transfer)。
因為互聯網上到處都是 LLVM 的代碼,到處都是關于如何構建編譯器的教材。把 C 語言編譯器的邏輯轉換成 Rust 語言,本質上只是在訓練數據的不同部分之間進行了一次插值(Interpolation)。
他們沒有真的在“創造”一個編譯器。他們只是在海量存在的相似實現中,拼湊出了一個看起來像編譯器的東西。
所以,想要構建出不是純粹抄襲的東西,你不能僅僅把它外包給 LLM。這就好比,如果這個世界上從來沒有過這兩種工具(比如從來沒有過編譯器或者某種算法),你覺得 AI 能夠從零開始發明它們嗎?目前沒有任何經驗數據表明它們具備這種軟件工程的能力。
![]()
Anthropic 宣稱的“AI 自主編寫 C 編譯器”的突破。
![]()
角色扮演與“知識的壓縮”:AI 真的懂了嗎?
蒂姆:這引出了一個非常哲學的問題。網上一直有兩種聲音:一派說 LLM 根本什么都不懂,它們只是隨機鸚鵡;另一派則說,你看它剛才幫我解決的這個問題,你別太荒謬了,它當然有理解能力!
杰瑞米:有趣的是,他們兩邊都是對的。
大語言模型是在“角色扮演(Cosplay)”理解事物。它們假裝自己懂了。
在認知科學領域,這有點像丹尼爾·丹尼特(Daniel Dennett)提出的“意向立場(Intentional Stance)”,或者是約翰·塞爾(John Searle)的“中文房間(Chinese Room)”實驗。
你把一個問題丟給它,它回答得頭頭是道,看起來像是一個極具智慧的實體。但實際上,它只是在做高維度的統計相關性匹配。
我們來區分一下“假裝懂”和“真的懂”。只要你處于大模型訓練分布的那個區域內,這兩者之間的區別是完全不重要的。如果它碰巧在一大堆它背過的物理學教科書的數據附近“假裝”它懂物理,它的表現會非常出色。
但一旦你踏出那個訓練分布的邊界,哪怕只是一步之遙,它就會瞬間崩潰。
蒂姆:你之前也提到了知識的復雜性和不可還原性。比如 César Hidalgo 在《知識的法則》中提到,知識是網絡化的。還有哲學家指出,知識是一種“視角(Perspectival)”。
杰瑞米:完全正確。我認為知識是有視角的,知識是具身化(Embodied)的,它是活的。它存在于我們的身體里,存在于我們的社會和組織中。
一個組織的根本目的,就是為了保存和進化這種知識。當你開始把那些需要認知能力的任務交給語言模型時,你其實產生了一種非常詭異的矛盾效應:你侵蝕了組織內部的知識。
很多人在爭論 AI 是否有創造力。我之前跟 Peter Norvig 聊過,我們覺得 AI 其實挺有創造力的。比如,如果你拿國際象棋的符號去喂給大模型,它就能學會下棋。但關鍵在于,知識其實是關于約束(Constraints)的。
創造力是知識在尊重這些約束的前提下的進化。如果你不給它施加嚴格的約束,它就不能叫創造。
比如,如果你讓大模型去寫代碼,但它經常連最基本的邏輯前提都搞不明白。它會犯下比白癡還蠢的錯誤(worse than stupid)。它不知道世界是怎么運作的。為什么?因為我掉出了它的訓練數據分布之外,它變傻了。
如果這種行為被稱為“創造力”,那是極其誤導人的。只有當你能清晰地描述出問題的邊界和約束,并能通過物理或邏輯的驗證機制時,創造力才是有價值的。
蒂姆:我想聊聊這種過度自動化帶來的負面影響。最近 METR(一個 AI 評估組織)發布了一項研究,發現使用了當前頂級 AI 輔助編程工具的資深開發者,在處理復雜問題時,反而比不用 AI 的人慢了 19%。因為他們陷入了“檢查 AI 錯誤”的泥潭中。
![]()
METR 的最新研究表明,在處理復雜的高級編程任務時,資深開發者在使用 AI 輔助后,耗時反而增加了 19%。因為糾正 AI 的邏輯漏洞并試圖理解其生成的“代碼黑盒”,比人類自己從頭架構還要耗費心智。
杰瑞米:是的,我看到了那個研究。這正是我最擔心的事情。
對于人類來說,如果你不在平時的開發、設計和工程中主動使用并鍛煉你的“肌肉”,你就不會成長。你甚至會枯萎。
作為一家研發型初創公司的 CEO,如果我的員工沒有在成長,我們公司就會死。
蒂姆:這就涉及到了教育學中的一個概念:適當的困難(Desirable Difficulty)。艾賓浩斯(Ebbinghaus)的記憶曲線告訴我們,只有在快要忘記的時候去努力回憶,記憶才會被深深地刻在大腦里。如果我們把所有的認知挑戰都外包給 AI,我們會不會失去建立深層直覺的能力?
杰瑞米:完全正確!這是極其深刻的洞察。
記憶不會平白無故地形成,除非你要付出努力去形成它們。如果在你快要忘記之前,AI 總是恰好把答案喂到你嘴邊,你永遠無法建立起真正屬于你自己的知識結構。
我給你舉個非常具體的例子。我在 2014 年創辦了世界上第一家將深度學習應用于醫學的初創公司,叫 Enlitic。我們最初的焦點是放射學(Radiology)。
當時有很多人擔心:AI 會不會讓放射科醫生變得越來越平庸?
我強烈地認為會發生完全相反的事。所以我們做了大量關于如何將 AI 融入工作流的研究。比如飛機上的線傳飛控(Fly-by-wire)或者汽車上的防抱死制動系統(ABS)。如果你能成功地將那些真正可以被自動化的任務自動化,你就能讓專家把精力集中在那些真正需要他們的地方。
我們在放射學領域發現,如果我們可以自動識別肺部 CT 掃描中所有的“候選結節(Possible Nodules)”,而且我們做得確實比人類好,那么放射科醫生就可以省去滿屏幕找黑點的機械勞動,把全部精力集中在判斷:“這些標記出來的結節,到底是良性的還是惡性的?”
這讓專家變得更強了,因為這去除了低價值的噪音。
但回到軟件開發,情況完全不同!
如果一個工具沒有以“順應人類直覺”的方式工作,那么對于一個人類而言,它就是在阻礙你成長。
對于一個只干了前五年開發的新手來說,你讓他放棄使用編譯器或高級語言,讓他去摳底層的邏輯,他會覺得很痛苦。但那些在過去幾十年里成長起來的偉大程序員,他們都是在與復雜的系統中進行真實的、“充滿摩擦力(Friction)”的對抗中,建立起了龐大的心智模型。
如果你現在讓一個大語言模型直接把那些有摩擦力的任務全給做完了,那就像是,本來你只需要修改一個小組件,結果大模型給你生成了一大坨垃圾代碼(Code slop)。你在那里不斷地 prompt 它,讓它修改,最終你得到了一個能跑的東西。
但是,你并沒有建立起對這套代碼的心智模型。
這意味著什么?意味著在 10 年后,我們將失去能夠理解和架構宏大軟件系統的資深工程師。這就是我所說的“反人類(inhumane)”的原因。它剝奪了人類獲取深層知識的權利。
![]()
Jupyter Notebook 的保衛戰與“交互式編程”
蒂姆:既然你如此反感“黑盒式”的 AI 自動生成,那你認為怎樣才是正確的軟件開發方式?這就不得不提你一直大力推廣的 Jupyter Notebook 了。盡管在軟件工程界,像 Joel Grus 這樣的人曾發表過著名的演講《我不喜歡 Notebooks》,認為它違背了軟件工程的最佳實踐。
杰瑞米:是的,Joel Grus 做過那個非常有趣的演講。我承認,對于傳統的軟件工程師來說,Notebooks 看起來很糟糕,因為里面的代碼容易亂序執行,很難做 Git 版本控制,也難以進行模塊化測試。
但很多人誤解了數據科學(Data Science)和傳統軟件工程(Software Engineering)的區別。
當我處理一個未知的復雜系統時,比如一個全是混亂數據的數據庫,或者一個深度學習模型的隱藏層特征時,我需要的是交互式的探索(Interactive Exploration)。我需要在運行這一行代碼的瞬間,看到數據的分布,看到可視化的圖表,這是一種直接的、物理反饋般的直覺建立過程。
如果我不使用 Notebook,而是像傳統軟件工程那樣寫一個巨大的 Python 腳本,然后跑一遍測試,這中間的反饋鏈路太長了。它隔絕了我與數據之間的真實接觸。
這也是為什么我們開發了nbdev這個工具。我們試圖在探索性的 Notebook 和嚴謹的軟件工程之間搭建一座橋梁,讓你既能享受實時的狀態反饋,又能自動生成模塊化的代碼、文檔和測試。
這也是為什么我在面對 Vibe Coding 時如此憤怒的原因。好的軟件工具(比如好的 REPL 環境)是為了拉近人類與系統內部狀態的距離;而現在被濫用的 AI 生成工具,是在人類和系統之間砌起了一堵厚厚的高墻。
蒂姆:這讓我想起了 Bret Victor 那個著名的演講《在原則上發明(Inventing on Principle)》。他強調創造者需要與他們正在創造的東西建立實時的、毫無延遲的反饋循環。
杰瑞米:絕對如此。Bret Victor 是個天才,我根本無法企及他千萬分之一的高度。但他展示了最重要的一點:建立人類與你正在操作的物體之間的直接連接。我們的整個歷史,從鼠標的誕生到拖拽交互的發明,全都是為了這個目標。
而現在那些盲目追捧大模型自動化的人,正在親手摧毀這種直接連接。
![]()
真正的末日風險,是被寡頭壟斷的未來
蒂姆:在播客的最后,我想聊聊關于 AI 存在的終極風險(Existential Risk)。最近,像 Geoffrey Hinton 和 Demis Hassabis 這樣的大佬都簽署了關于防范 AI 滅絕人類風險的聲明。你之前似乎對這種觀點進行了反駁。
杰瑞米:是的。關于那個所謂的“AI 末日風險聲明”,我想說,事情已經發生了變化。
現在我們有比“AI 覺醒毀滅人類”更現實、更迫切的問題需要擔心。
那個聲明背后的邏輯是:AI 隨時會變得完全自主(Autonomous),并且它會摧毀世界。這很大程度上源于 Eliezer Yudkowsky [注:著名 AI 毀滅論者] 等人的觀點。我認為這在多個層面上都被證明是完全錯誤的。
對于那些擁有大量權力、或者對權力極度渴望的人來說,他們總是傾向于壟斷技術。所以,如果你能成功地散布一種恐慌:“這種技術太危險了,它會摧毀世界,所以絕對不能讓普通人接觸到它。”
那么最明顯的解決方案是什么?那就是集中權力(Centralize Power)。
這是我們在歷史上反復看到的戲碼。他們會說:只有極少數幾家最富有的科技公司,或者政府,或者兩者結合,才能掌控這種力量,并且確保任何其他人都拿不到它。
在我的威脅模型(Threat Model)里,這是你能做的最糟糕的事情。
因為你把控制權集中在一個地方,那些渴望權力的人只要接管那個單一的核心,就能控制一切。
所以,如果你問我對于未來的 AI 風險怎么看?
真正的危險不是來自那個抽象的“超級智能機器”。真正的危險來自人類自己。我們正在親眼目睹一個巨大的權力倒退:科技巨頭利用這種恐懼作為武器,試圖建立起極高的監管護城河,讓開源社區死亡,讓初創公司無法生存,從而把人類文明下一個十年的知識基礎設施,牢牢鎖在他們的私有服務器里。
這就是為什么我們要堅持開源,堅持像小模型(比如在端側設備上運行的模型)的研發,堅持讓人類能夠繼續掌控自己編寫代碼、理解系統的能力。
如果所有的底層能力都被剝奪,我們面臨的將不是《終結者》里的審判日,而是一場緩慢的、讓人類在安逸的自動化中集體失去思考能力的“安樂死”。
蒂姆:這真是讓人脊背發涼,但也醍醐灌頂。Jeremy,非常感謝你抽出時間來參與這次對談。
杰瑞米:謝謝你,這是一次很棒的對話。
(投稿或尋求報道:zhanghy@csdn.net)
![]()
未來沒有前后端,只有 AI Agent 工程師。
這場十倍速的變革已至,你的下一步在哪?
4 月 17-18 日,由 CSDN 與奇點智能研究院聯合主辦「2026 奇點智能技術大會」將在上海隆重召開,大會聚焦 Agent 系統、世界模型、AI 原生研發等 12 大前沿專題,為你繪制通往未來的認知地圖。
成為時代的見證者,更要成為時代的先行者。
奇點智能技術大會上海站,我們不見不散!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.