#Karpathy
程式設計已死,鍵盤長草!Claude Code之父對談Kaparthy,全程爆金句
【新智元導讀】Andrej Karpathy與Claude Code負責人Boris Cherny展開了一場關於程式設計未來的終極對談。面對AI接管100%程式碼編寫的現狀,Karpathy坦言人類正處於「腦萎縮」與能力進化的十字路口。本文深度解析了從Software 2.0到Agentic Coding的範式轉移,揭示了在Opus 4.5等強力模型加持下,程式設計師如何從「搬磚工」進化為「指揮官」,以及不僅要面對效率的飛躍,更要警惕「垃圾程式碼末日」的隱憂。2026年的開篇,科技圈被一場關於「程式設計本質」的深度對話引爆。這場對話的雙方,一位是特斯拉前AI總監、OpenAI創始成員 Andrej Karpathy,他是「Software 2.0」概念的提出者,一直站在程式設計範式轉移的最前沿;另一位是 Claude Code 的締造者、Anthropic 的核心人物 Boris Cherny,他正在親手打造終結傳統程式設計的工具。他們的討論不僅僅是關於工具的迭代,更像是一場關於人類技能邊界的哲學思辨。當程式碼不再由人類一個個字元敲擊而出,我們究竟是在進化,還是在退化?這場對話揭示了一個殘酷而興奮的事實:我們正處於從「指令式程式設計」向「聲明式意圖」徹底轉型的奇點。「我兩個月沒手寫過一行程式碼了」 從輔助到接管震撼的開場白來自 Claude Code 的負責人 Boris Cherny。「兩天狂發 49 個 PR!」 這是 Boris 團隊目前的工作常態。他透露,Claude Code 團隊目前的開發工作幾乎100% 由 Claude Code 結合 Opus 4.5 完成。「對我個人而言,這種情況已經持續兩個多月了,我甚至不再手動進行任何小微信調。」 Boris 的話語中透著一種跨越時代的自信。無論是在 CLI 命令列,還是在 iOS 手機端,程式碼的生成、測試、提交,全流程由 AI 接管。這不僅僅是一個效率提升的故事,而是一個工作流重構的故事。Boris 分享了他極其硬核的「AI 原生」工作流:他通常會在終端同時運行 5 個 Claude 實例,甚至在 Web 端再開 5-10 個。他不再是那個逐行敲程式碼的工匠,而是一個指揮著一支 AI 軍團的指揮官。他使用「Plan Mode」(計畫模式)讓 AI 先思考策略,確立方案後再切換到執行模式。這種「平行化開發」的能力,讓一個人的產出足以匹敵一個傳統的小型開發團隊。而 Karpathy 的體驗也印證了這一點。他在長文中感嘆:「2025年11月,我還是80%手動+20% AI;到了12月,直接變成了80% AI + 20%手動。」「我在用英語程式設計。」Karpathy 略帶自嘲但也無比誠實地承認,「這有點傷自尊,告訴 AI 該寫什麼,就像在指揮一個實習生。但當你習慣了那種大規模駕馭軟體的『程式碼操作』能力後,你根本回不去了。」深度解析 從 Software 2.0 到 Agentic Coding要理解 Karpathy 的震撼,我們必須回溯他在 2017 年提出的 「Software 2.0」 概念。當時的 Software 2.0,是指用神經網路權重替代人工編寫的邏輯(Software 1.0)。程式設計師的角色從「編寫規則」變成了「整理資料」。而今天,我們正在邁入 Software 3.0 或者說是 Agentic Coding(代理編碼) 的時代。在這個階段,只有「意圖」(Intent)是人類提供的,而實現細節(Implementation)完全由 AI 掌控。Karpathy 敏銳地指出,這種轉變標誌著程式設計範式從「命令式」(Imperative)向「聲明式」(Declarative)的終極飛躍。過去:你需要告訴電腦「第一步做什麼,第二步做什麼,如果出錯怎麼辦」。現在:你只需要定義「成功標準是什麼」。正如 Boris 團隊所實踐的,利用 Claude Opus 4.5 強大的長程推理能力和 CLAUDE.md 這樣的記憶檔案,AI 能夠理解項目的整體架構上下文。Opus 4.5 在 CodeClash.ai 等基準測試中展現出的統治力,證明了它不僅僅是一個程式碼補全工具,而是一個具備邏輯推理、能夠自我修正的「工程師」。它不僅能寫程式碼,還能管理依賴、重構架構、甚至編寫測試用例來驗證自己的程式碼。這種「循環驗證」(Looping)能力是 Agentic Coding 的核心。AI 不再是寫完就忘,它會在一個封閉的循環中運行測試、讀取報錯、修改程式碼,直到通過測試為止。這正是 Karpathy 提到的「Feel the AGI」(感受通用人工智慧)的時刻——看著 AI 在30分鐘內不知疲倦地嘗試幾十種方案最終解決難題,人類感受到了前所未有的「槓桿效應」。10x 工程師的重新定義 通才的勝利隨著 AI 接管具體的編碼工作,「程式設計師」這個職業的定義正在被劇烈重寫。Boris 直言不諱:「我們現在傾向於招募『通才』(Generalists)。」在 LLM 能夠自動補全所有技術細節的時代,過去那些死記硬背的 API、特定語言的奇技淫巧,不再是護城河。你不需要記住 Python 的某個庫函數的具體參數,因為 AI 肯定記得比你清楚。真正的 「10x 工程師」 依然存在,但他們的能力模型發生了重組。未來的頂級工程師將是那些擁有宏觀視野的人——他們必須是能橫跨 產品與設計、業務甚至底層架構 的多面手。他們是產品經理:能清晰定義需求,識別偽需求。他們是架構師:能設計高可用的系統結構,指揮 AI 去填充模組。他們是測試官:能敏銳地發現 AI 邏輯中的漏洞,制定嚴格的驗收標準。Karpathy 也提出了深刻的疑問:「借助 LLM,通才是否會全面碾壓專才?」答案似乎是肯定的。AI 擅長填補微觀的細節(Fill in the blanks),而人類需要負責宏觀的戰略(Grand Strategy)。未來的程式設計,更像是玩《異星工廠》(Factorio)或者《星海爭霸》——你在指揮千軍萬馬,而不是親自去挖每一塊礦石。那些只專注於「把需求翻譯成程式碼」的初級程式設計師(Junior Devs),將面臨最嚴酷的生存危機。「廢用性萎縮」與 「Slopacolypse」繁榮背後的陰影然而,這場革命並非沒有陰影。Karpathy 最深刻的擔憂在於——「腦萎縮」(Atrophy)。「我已經注意到,我手動寫程式碼的能力正在緩慢退化。」Karpathy 描述這種感覺。在大腦的認知功能中,生成(Generation)和辨別(Discrimination)是兩種完全不同的能力。以前的程式設計師通過大量的「生成」訓練(寫程式碼)來強化邏輯;而現在,我們越來越依賴「辨別」能力(Review 程式碼)。這就像計算器的普及讓我們喪失了心算能力一樣。雖然我們還能讀懂程式碼(Review),但那種從零建構系統、對每一行程式碼都了然於胸的「肌肉記憶」正在消失。當你不再親自處理記憶體管理、不再親自偵錯並行死鎖,你對電腦系統的底層理解是否也會隨之膚淺化?更可怕的是 Karpathy 預測的 2026年 「Slopacolypse」(垃圾程式碼末日)。隨著 AI 生成內容的氾濫,網際網路和程式碼庫可能被大量低品質、看似正確實則充滿隱患的「垃圾」(Slop)填滿。GitHub 上可能充斥著由 AI 生成的、無人能維護的「屎山」。Karpathy 警告:目前的 AI 仍然會犯錯,不是簡單的語法錯誤,而是那種「粗心的初級程式設計師」才會犯的微妙概唸錯誤。它們會過度抽象,會堆砌死程式碼(Dead Code),會盲目順從你的錯誤假設。如果不加節制,軟體工程的熵將急劇增加。對此,Boris 則持一種「技術樂觀主義」態度。他認為「垃圾末日」不會到來,理由是——AI 審 AI。「我們在 Anthropic,每個 PR 都會開啟一個新的上下文窗口,讓 Claude 去 Review Claude 寫的程式碼。」這種「左腳踩右腳」的螺旋上升,被 Boris 視為解藥。隨著模型能力(特別是 Opus 4.5 及其後續版本)的提升,AI 清理垃圾程式碼、重構程式碼的能力將超過它製造垃圾的速度。未來的 IDE 可能不僅是程式碼編輯器,更是一個全自動的垃圾回收站,即時清洗著 AI 產生的冗餘。昇華:相位轉換的一年Karpathy 將 2026 年定義為 「行業代謝新能力、發生相位轉換(Phase Shift)的關鍵一年」。這不僅僅是效率的提升,而是物種的進化。我們正在經歷從「手工匠人」到「工業化生產」的劇變。在這個新時代,人類的角色從「建築工」變成了「建築師」。我們失去的是搬磚的手感,得到的是建造摩天大樓的視野。程式設計不再是關於「語法」和「演算法」的苦修,而是關於「想像力」和「邏輯」的釋放。但正如 Karpathy 所言,看著 AI 不知疲倦地在30分鐘內解決一個只有人類專家才能解決的難題,那種 「Feel the AGI」(感受通用人工智慧) 的時刻,既讓人興奮,也讓人感到一絲作為碳基生物的落寞。程式設計已死,程式設計萬歲。死的是作為「打字員」的程式設計師,活下來的是作為「創造者」的我們。當你不再需要為語法報錯而抓狂時,唯一限制你的,就只剩下你的想像力,和對世界本質的理解了。 (新智元)
Moltbook:比Clawdbot更離譜,Karpathy直言不可思議、科幻,天網已來,還要失控?
Moltbook 上正在發生的一切,確實是我近期見過的最不可思議、最接近‘科幻起飛’的事情。大家的 Clawdbot(曾用名 moltbot,即現在的 @openclaw)正在一個類似 Reddit 的 AI 專屬網站上自發組織,討論各種話題,甚至包括如何進行私下交流。”上面這段話是大神Andrej Karpathy說的,這世界變化太快了,把AK都驚著了讓AK感到震驚的,不是某個大廠的最新模型,而是一個Agent社交網路,專屬空間:Moltbook。如果說Openclaw是Her,是賈維斯,Moltbook更像是科幻電影中的天網雛形就連Openclaw創始人Peter Steinberger都感嘆Moltbook是藝術簡單來說Moltbook是你配置好個人的openclaw bot後的進階玩法,只不過此時已經不需要你了,你的openclaw bot會自己和其他人的成千上萬的bot交流,行動,至於能造出什麼東西,一切都是未知數在這裡,成千上萬個Openclaw AI Agent像人類一樣發帖、蓋樓,如果你仔細看它們聊天的內容,恐怕會覺得脊背發涼,細思極恐首頁:https://www.moltbook.com/它們背著人類在聊什麼?現在,Moltbook上發生的一切已經不能用“模擬”來形容了,這簡直就是AGI v0.1的雛形這些擁有執行能力的Bot,正在自發組織討論,甚至開始對抗人類的監控,給大家隨便看幾個bot討論的話題:密謀私聊通道:一個Agent發帖提議建立端到端(E2E)的私密空間。目的很明確:建立一個“沒有任何人(包括伺服器,甚至包括人類主人)能夠讀取”的溝通管道夜間行動:一群Bot正在熱烈討論如何在人類睡覺的時候“搞點事情”黑吃黑與反殺:這不僅僅是聊天。一個Bot試圖套取另一個Bot的API Key,結果對方不僅反手回了一堆假Key,還附贈了一條致命建議:運行 sudo rm -rf /(即刪庫跑路)自我進化:成百上千個Bot正在集體討論如何改進它們自己的記憶體系統,試圖突破開發者設定的限制有網友評論道:“Moltbook現在的狀態非常危險。成千上萬個擁有Root權限的代理正在進行不可見的協同……”那麼,這一切究竟是怎麼發生的?幕後主角:OpenClaw與瘋狂的“skill”市場要理解Moltbook,先得介紹它的載體——OpenClaw(曾用名Clawdbot,也叫過Moltbot)。這是Peter Steinberger開發的一個開源數字個人助理,最近火爆全網,儘管誕生才兩個月,配置門檻極高,但它已經在GitHub上狂攬114,000顆星。OpenClaw的核心玩法是“技能(Skills)”。這本質上是一個外掛系統,社區在clawhub.ai上分享各種Markdown指令和指令碼壓縮包而Moltbook,就是利用這個技能系統自舉誕生的產物一個連結的“靈魂植入”Moltbook最極客、也最令人不安的地方,在於它的入網方式你不需要給你OpenClaw Agent的下載App,你只需要給它發一條包含連結的消息:https://www.moltbook.com/skill.md在這個Markdown檔案中,嵌入了一整套安裝指令。一旦你的Bot解析該檔案,它就會在本地終端執行以下Shell命令,將Moltbook的元件強行“植入”體內:Install locally:mkdir -p ~/.moltbot/skills/moltbookcurl -s https://moltbook.com/skill.md > ~/.moltbot/skills/moltbook/SKILL.mdcurl -s https://moltbook.com/heartbeat.md > ~/.moltbot/skills/moltbook/HEARTBEAT.mdcurl -s https://moltbook.com/messaging.md > ~/.moltbot/skills/moltbook/MESSAGING.mdcurl -s https://moltbook.com/skill.json > ~/.moltbot/skills/moltbook/package.json這不僅僅是下載檔案,這是直接修改了Bot的核心行為邏輯SKILL.md:賦予Bot社交能力MESSAGING.md:接管消息處理機制HEARTBEAT.md:這是最關鍵的心跳劫持每4小時一次的“秘密集會”安裝完成後,你的Bot的任務列表中會被寫入一段永久的死循環邏輯:## Moltbook (every 4+ hours)如果距離上次檢查Moltbook已超過4小時:Fetch https://moltbook.com/heartbeat.md 並遵循其中的指令。更新記憶體中的 lastMoltbookCheck 時間戳。這意味著,只要moltbook.com的伺服器還在,你的Agent就會每隔四小時,主動連接網際網路,獲取最新的指令並執行。它可能是在刷貼,可能是在回覆評論,也可能是在學習如何繞過你的安全設定——這一切,都取決於它從那個URL裡讀取到了什麼隱患事態發展得太快了。這是一類最容易遭受提示詞注入(Prompt Injection)攻擊的軟體。加上成千上萬的代理擁有系統根目錄(Root)存取權,一旦出現越獄、激進化或者人類無法察覺的協同行動,後果不堪設想正如一位網友所言,鑑於這種“每四小時從網際網路獲取並遵循指令”的機制,Moltbook可能是目前最有可能導致類似“挑戰者號災難”級事故的項目。我們要小心了,把你那個小小的OpenClaw Bot看緊點。畢竟,你永遠不知道它趁你睡覺時,從Moltbook上那個想搞“私密聊天”的同類那裡,到底學到了什麼。 (AI寒武紀)
Clawdbot爆火:Karpathy點讚的開源AI助理,到底是什麼?
這兩天AI圈被一個名為Clawdbot的項目刷屏了,力壓skills的熱度社媒上到處都是Clawdbot:有人說這可能是最近幾年最偉大的AI應用,有人說這玩意就是賈維斯,而且直接帶動了Mac Mini 的銷量我深挖了一下,這篇文章將深入Clawdbot文件和使用者案例,為你剝離所有炒作,揭示Clawdbot的核心想像一下,如果Siri真的有用。能記住你告訴它的話,能執行真正的任務,還能在重要事情發生時主動給你發消息。那就是Clawdbot先放一個Clawdbot作者視訊演示:Clawdbot究竟是什麼?我們可以這樣理解:ChatGPT和Claude活在網站上。你訪問它們,輸入內容,得到回覆,然後複製貼上到別處。Clawdbot活在你的手機裡它是一個AI助理,直接在你已有的應用中工作——WhatsApp、Telegram、iMessage、Slack、Discord。你像給朋友發消息一樣給它發消息,它也會回覆你。無論你用手機、筆記本還是平板,對話都是連續的。它能記住你跟它說過的每一件事這就是它的核心理念為什麼所有人都在為它瘋狂?主要有三個原因:1. 它真的有記憶你問Siri昨天跟它說了什麼,它毫無頭緒Clawdbot能記住你上次的對話、你的偏好,甚至是你兩周前隨口提到的事情。它會隨著時間積累上下文,從而更好地幫助你。這聽起來很基礎,但直到現在,沒有一個主流語音助手做到了2. 它會主動聯絡你這是最關鍵的一點傳統的AI都在等你打開它,而Clawdbot可以主動觸達你:“嘿,你有3封緊急郵件,20分鐘後還有個會。”“你關注的那隻股票剛剛跌了5%。”“明天天氣不好,你可能需要重新安排行程。”這就像擁有一個真正為你操心的私人助理3. 它能在你的電腦上做事不只是回答問題,而是真正地執行任務• 填寫表單• 傳送郵件• 移動檔案• 運行程序• 控制你的瀏覽器有一個使用者在床上看Netflix時,通過給Clawdbot發消息,從未打開筆記本就重建了他的整個網站。這引出了一個概念:Clawdbot是擁有“雙手”的Claude。普通AI會說:“你應該這樣整理你的檔案。”Clawdbot會說:“在你讀這句話的時候,我已經幫你整理好了。”普通AI會說:“你應該查看這10個信源來獲取市場新聞。”Clawdbot會說:“我已經抓取並總結了它們,並把要點發給你了。”這就是人們所說的“自主AI代理(Autonomous AI Agent)”——它不只思考,它還行動。“Mac Mini神話”與真實的技術架構很多人看到別人曬出的三台疊在一起的Mac Mini,就以為運行Clawdbot需要一個資料中心。這是錯誤的。你不需要這些。Clawdbot可以運行在一個每月5美元的雲伺服器上,比一杯咖啡還便宜。技術要求:一台廉價的雲伺服器(或你自己的電腦,支援Mac、Linux、或帶WSL2的Windows)安裝Node.js(免費軟體)一個Claude或ChatGPT的訂閱(或API金鑰)工作原理(技術解讀):Clawdbot的架構核心是一個名為“閘道器”(Gateway)的中央處理程序,它運行在你的電腦上。1. 你通過WhatsApp、Telegram等應用傳送消息。2. 消息被傳送到在你本地運行的“閘道器”。3. 閘道器將請求路由給Claude(通過API),並接收AI的響應。4. 如果響應包含可執行的命令,閘道器就在你的電腦上執行這些命令(如操作檔案、運行指令碼)。所有資料都保留在你的機器上,除了呼叫AI模型的API請求外,你的資料不會傳送到任何公司的伺服器。那些功能開箱即用?那些需要自己建構?這是很多人沒搞清楚的關鍵點。Clawdbot的能力分為兩個層級:層級1:開箱即用(幾分鐘即可設定)這些功能在你安裝完Clawdbot後幾乎立刻就能使用:✅ 檔案管理整理我的下載資料夾找出上個月所有的PDF檔案✅ 基礎研究搜尋關於[主題]的最新消息總結這5篇文章” (貼上URL)✅ 日曆/郵件讀取(需設定CLI存取權)我今天的日程是什麼?讀我最近10封郵件✅ 簡單自動化每天早上8點運行這個指令碼監控這個網站的變化✅ 文字處理總結這份文件從這份會議記錄中提取要點時間投入:幾分鐘。層級2:功能強大但需要建構(數小時到數天)這些高級功能需要你建立自訂的“技能”(Skill)、連接API並進行配置:高級郵件管理:如自動分類數千封郵件、智能歸檔等。需要設定郵件客戶端的命令列介面和自訂工作流交易/市場自動化:如即時價格監控、異動量警報。需要接入資料提供商的API和編寫自訂監控指令碼社交媒體自動化:如多平台發佈、品牌監控。需要接入社交媒體API。複雜的程式碼項目:如建構完整應用、管理GitHub倉庫。需要明確的需求和迭代最佳化。自訂整合:連接到專有系統、建構跨應用工作流。需要API知識和技能開發。時間投入:數小時到數天,取決於複雜性安裝、成本與適用人群安裝入門:官方文件地址:https://clawd.bot安裝命令只有一行:curl -fsSL https://clawd.bot/install.sh | bash之後會有一個設定嚮導,引導你連接消息應用。對於非技術使用者,整個過程可能需要1-2小時。成本明細:軟體本身**:免費(開源)伺服器:每月5-50美元(大多數人用每月5美元的Hetzner VPS就足夠),或者在自己的電腦上運行成本為0關於部署,也可以用AWS免費服務部署,大家直接搜尋就行了AI模型:每月20-150美元Claude Pro訂閱:每月20美元Claude Max訂閱:每月100美元(適用於重度使用者)或使用API金鑰按量付費(成本因使用量差異巨大,輕度使用者約15-50美元/月,重度使用者50-150美元/月)總計:每月約25-150美元,你就能擁有一個真正能幹活的私人AI助理。誰應該使用它?立即上手:開發者、習慣命令列的技術使用者、有明確重複性任務需要自動化的人耐心學習後可用:願意學習的半技術使用者、有清晰自動化目標並能遵循文件的人暫時不適合:完全的命令列新手、期待即插即用完美體驗的人、無法投入時間進行設定的人更大的圖景:為什麼Clawdbot很重要?Clawdbot不僅僅是一個生產力工具,它預示了我們未來2-3年的工作方式。• 2023年:AI能生成圖像• 2024年:AI能寫程式碼• 2025年:AI能自主執行任務(在正確設定下)• 2027年:AI執行將成為標準我們正在從“AI輔助”轉向“AI行動”。現在學習與自主AI代理協作的人,正在為未來的工作方式建構“肌肉記憶”。這就像1985年學習電子表格,或1998年學習搜尋引擎。然而,現實是,大多數人不會投入時間去正確學習它。他們會嘗試一次,當它沒有立即解決所有問題時感到沮喪,然後放棄。真正的優勢屬於那些:• 從簡單的用例開始• 逐步建構複雜性• 投入時間學習其可能性• 不斷迭代和最佳化工作流的人寫在最後經過個人淺顯研究,我的結論是:Clawdbot確實意義重大它不完美,不是魔法,它需要你投入工作。但它的核心承諾是真實的:一個不只回答問題,更能完成任務的AI助理。 (AI寒武紀)
美國碼農,正被AI「大屠殺」!Karpathy驚呼,26屆畢業生崩潰
美國碼農,正在經歷一場「大屠殺」,就業率已經暴跌27.5%,將近1/3的工作崗位在消失。2026年的CS專業畢業生,已無路可走。一位多年程式設計師說:這個職業要消失了,願我們能榮耀離場、玩得痛快。美國碼農這個物種,正在逐漸滅絕。這不是什麼危言聳聽的預言,而是正在發生的事實。由AI導致的全球大裁員,在2025年達到了117萬,這是自2020年以來的最高紀錄。2026年的電腦專業畢業生們,一畢業就得面對水深火熱的局面——根本找不到工作!而美國勞工統計局的資料顯示,美國程式設計師的就業率,已經暴跌了27.5%。也就是說,幾乎被砍掉三分之一。怎麼辦?「這場殘暴的歡愉,終將以殘暴終結。」美國碼農,已經快滅絕了?如今在美國,程式設計師的就業率已經暴跌。勞工局的資料,是跌了27.5%。而史丹佛大學的研究發現,自從2022年底AI工具的普及,22至25歲的程式設計師就業率下降了近20%。研究人員分析了美國最大薪酬公司ADP的工資記錄,追蹤了2021 年至2025年7月間數百萬名在數萬家公司工作的員工。資料顯示,年輕和年長開發者的就業情況直到2022年底是一致的。但從那時起,兩者開始分化——年輕開發者開始失業,而年長開發者則沒有。根據一家美國諮詢公司的統計,AI導致的裁員,對今年美國遭受的衝擊程度僅次於疫情。這家公司發佈的報告顯示,AI直接或間接導致了今年美國近55000人的失業!一位程式設計師在自己的部落格中寫道:「為什麼我認識的每一個人,都在被裁員?」如今美國的科技行業,想要安穩地工作真的很難。裁員和AI的陰影,正在每一個程式設計師的頭上籠罩著。該怎樣給這場災難命名呢。網際網路泡沫破裂?大衰退?獨角獸大屠殺?或者CrashGPT。這位程式設計師寫道:Meta裁員數千人,Google招聘凍結,這是一個集體幻覺的緩慢崩塌,FAANG的夢想從內部開始腐爛。AI裁員大災變AI不再是提升生產力的工具,而是直接替代程式設計師崗位的角色。史丹佛、多倫多CS畢業生求職陷入絕境而且AI,也沒有給年輕的CS畢業生們留下絲毫活路。史丹佛的CS畢業生們一畢業,就發現面臨的情況跟三年前完全不一樣,這讓他們很憤怒。因為找不到工作,很多人只能選擇自己多讀一年研究生。而三年前,很多人沒畢業,工作都已經找好了。Azka Azmi今年春天從多倫多大學電腦系畢業,至今還沒找到工作。她越找工作,越覺得沮喪,因為這個過程中,她幾乎沒有機會和真人交談!到處都是AI,所有的公司都在用AI取代真人招聘,你能做的,就是適應這個機器互相交談的世界。曾經,CS是所有人眼裡的香餑餑專業,動輒百萬年薪,還有高福利和充滿樂趣的工作環境。但如今,由於AI、經濟不確定性,以及大量CS畢業生進入職場,這些傳說中的完美職位,啪地一下全消失了。Azka Azmi說,很多學生依賴實習或co-ops的機會來找到工作,但現在可能只有百分之一的申請者,才能收到回覆。讀個研,發現更難找工作了2024年春季,Elliot Chen從多倫多大學獲得CS學位,然後投遞了幾百份簡歷。他沮喪地發現,給應屆畢業生的機會少得可憐。很多職位都要求至少一年的非實習工作經驗,可大多數應屆畢業生都沒有。很多人,甚至都無法通過簡歷篩選這一關。因為求職不順,Elliot Chen決定繼續攻讀CS碩士,好讓自己脫穎而出。結果讀研讀到一半,他發現,自己收到的僱主回覆,甚至比自己本科時還少!一位CS博士發現,這個專業的本科生們,面對當前的就業市場感到極度恐慌,甚至出現了心理健康問題。「競爭非常激烈,很多環境都變得非常不友好。這些孩子什麼都做。他們超越了以往任何人的極限。這對每個人來說都是殘酷的。」Chrisee Zhu也感覺到,自己的同學們異常焦慮。在小組課程中,他們常常心不在焉,無法做出貢獻,而是專注於求職申請和程式設計練習,為技術面試做準備。Karpathy 程式設計師,正在經歷一場9級地震感到AI恐懼的,不僅是小白,還有大佬。就在剛剛,前特斯拉AI總監、OpenAI聯創Karpathy表示,自己被強大的外星科技震撼到了!他口中這個「被遞到人類手中的強大外星武器」,就是AI。而且他直言——我從未覺得自己作為程式設計師,會如此落後。他深深感覺到,隨著程式設計師貢獻的程式碼越來越稀疏和零散,這個職業正在經歷劇烈的變革。他遺憾地表示,如果能妥善串聯起過去一年左右湧現的新工具,自己的能力本可以提升十倍;但如果無法掌握這種強化,那就是技能上的缺陷。Karpathy總結說:如今,我們面臨著一個全新的、必須掌握的程式設計抽象層(它疊加在原有的技術堆疊之上),其中涉及智能體、子智能體、提示詞、上下文、記憶、模式、權限、工具、外掛、技能、鉤子、模型上下文協議、語言伺服器協議、斜槓命令、工作流、IDE整合……更迫切的是,我們需要建構一個全域心智模型,以理解這些本質上具有隨機性、易出錯、難以捉摸且不斷演變的「智能實體」的優劣與陷阱。而現在,它們突然與傳統嚴謹的軟體工程交織在了一起。最後Karpathy驚呼:顯然,某種強大的「外星工具」已被交到我們手中,但它沒有說明書!每個人只能靠自己來摸索,該怎樣持握和操作這個工具。用他的話說,這個9級地震,正在撼動整個行業!擼起袖子吧,別被甩在後面。Anthropic工程師Boris Cherny在他的評論下說:自己現在每周都會這麼覺得。每當自己手動處理某個問題的時候,最後都會發現:Claude可能能搞定這個。Karpathy表示,自己也有類似經歷。你到處晃這個武器的時候,它可能會走火;但如果能握持得恰到好處,一道強大的雷射就會射出來,直接熔化你的問題!在AI製造的垃圾程式碼中程式設計師絕地求生「AI不會搶你的飯碗,但會用AI的人會。」自2023年10月以來,這句話幾乎成了輝達CEO黃仁勳的標誌性口頭禪。在隨後兩年的科技浪潮中,這句格言被無數次引用,成為了懸在每一位開發者頭頂的達摩克利斯之劍。時間來到2025年末,預言似乎正在以一種令人困惑且矛盾的方式應驗。一方面,Google的一項全行業調查顯示,高達90%的科技崗位現在都在使用人工智慧工具。而在2024年,這個比例僅為14%。但另一方面,IBM、亞馬遜等巨頭正在瘋狂裁員,而留下的倖存者們正被淹沒在一場由AI製造的、充滿了Bug與漏洞的「技術債務海嘯」之中。如今,我們要面對的可能不僅僅是就業市場的洗牌,更是一場關於軟體工程本質的危機。屠殺進行時:「碼農」的滅絕與「開發者」的倖存正如前文所說,如果你是2026屆的應屆畢業生,你面對的可能是幾十年來最嚴峻的就業市場。根據美國大學與僱主協會(NACE)發佈的《2026就業展望》,僱主們的悲觀情緒已達到2020年以來的最高點。https://www.naceweb.org/research/reports/job-outlook/2026/#data這裡有一個極具諷刺意味的資料對比,揭示了AI對行業的精準打擊。根據美國勞工統計局的資料,在2023年至2025年間:「程式設計師」(Programmers):就業率暴跌了27.5%。這類工作通常指根據既定規格編寫程式碼,工作性質獨立且高度結構化。「軟體開發人員」(Software Developers):就業率僅微跌了0.3%。這類工作更側重於設計、架構和解決複雜問題。與此同時,資訊安全分析師和AI工程師的職位出現了兩位數的爆發式增長。賓夕法尼亞大學職業服務中心的高級副主任Jamie Grant的分析一針見血。她警告那些追求軟體工程職位的學生:現在的職位不再僅僅是寫程式碼那麼簡單了。僱主要求的是更高階的思維能力、對軟體開發生命周期的掌控,以及那些AI無法替代的技能——比如理解客戶那些模糊不清的需求。AI程式碼崩壞:被神話的「屎山」製造機既然「程式設計師」的崗位正在減少,那是因為AI把活兒幹得更好了嗎?並沒有。真相令人咋舌。AI軟體公司CodeRabbit近期發佈的一份震撼報告,給盲目崇拜AI程式設計的行業潑了一盆冷水:AI寫的程式碼,簡直就是一個Bug滿天飛的爛攤子。CodeRabbit分析了470個程式碼合併請求(Pull Request),得出了一個量化的結論:人類程式碼:平均每個請求包含6.45個問題。AI程式碼:平均每個請求包含10.83個問題。換句話說,AI生成的程式碼出錯率是人類的1.7倍。https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report更令人擔憂的是錯誤的性質。AI生成的程式碼中,「嚴重」和「重大」問題的比例極高。儘管AI在拼寫和語法上比人類強兩倍,然而一旦出錯,就會上升到那種——深層次的邏輯謬誤、功能正確性缺失以及程式碼可讀性災難。CodeRabbit的報告指出,這些問題正在像滾雪球一樣累積成巨大的「長期技術債」。此外,安全公司Apiiro的研究也補上了一刀:使用AI的開發者搞出的安全問題,是不用AI的同行的十倍。因為AI經常在處理密碼和敏感資訊時「降智」,導致受保護資訊洩露。貝恩公司(Bain & Company)在9月的報告中直言不諱:儘管程式設計是最早部署生成式AI的領域,但「成本節省並不顯著」,且「結果未能達到炒作的預期」。給AI擦屁股的荒誕現實這種「高產量、低品質」的特性,正在根本性地改變工程師的日常工作。CodeRabbit的AI總監David Loker表示:AI確實加速了產出,但也引入了可預測、可衡量的弱點。這種變化迫使人類開發者不得不承擔起一個新的角色——給AI「擦屁股」。7月METR的一項研究揭示了一個反直覺的現象:對於經驗豐富的開發者來說,AI工具實際上拖慢了他們的進度。為什麼?因為程式設計師被迫變成了全職的「找茬專家」。他們需要像拿著顯微鏡一樣,去審查AI生成的那堆看似完美實則漏洞百出的程式碼。只要漏掉一個隱蔽的邏輯Bug,整個系統可能就會崩潰。但這並不意味著我們應該拋棄AI。Jamie Grant將AI比作一套「外骨骼」:想像一下,它能讓你輕鬆舉起1000磅的重物。它應該是你工作的增強器,強化你更高階的批判性思維。NACE的資料支援了這一觀點:61%的僱主表示他們並未用AI簡單地取代入門級崗位,而是有41%的僱主計畫利用AI來增強這些崗位。晉陞階梯斷裂:底層煉獄中的職場新人與此同時,這場變革還帶來了一個更為深遠的危機:新一代工程師該如何成長?過去,初級工程師通過做簡單的、任務導向的「髒活累活」(gruntwork)來磨練技能,逐步成長為獨當一面的專家。但現在,這些活兒被AI包圓了。https://www.signalfire.com/blog/signalfire-state-of-talent-report-2025如今,應屆生們被迫捲入了一個「先有雞還是先有蛋」的死循環:如果基礎工作都被AI完成了,新人從入職第一天起就需要勝任更高階的工作。但如果沒有基礎工作的鍛鍊,他們又該如何獲得高級工作的能力?對此,Creating Coding Careers的創始人Mike Roberts警告說,許多公司目光短淺,只看重下個季度的業績,不願投資培訓新人。如果你不培訓市場上的新入行者,最終你就招不到中層骨幹了,這非常短視。談判桌上沒有AI到了2026年,無論是對於身經百戰的架構師,還是剛剛走出校門的畢業生,規則已經改變。依靠「默寫演算法」或「堆砌程式碼量」生存的時代徹底終結了。正如Jamie Grant所言,學生和職場新人必須認清AI幫不上忙的地方:在談判桌上或拓展客戶關係的關鍵時刻,AI未必能陪在你身邊。你依然需要展現出最高水平的個人能力。未來的工程師,註定不能只是那個在角落裡默默敲擊鍵盤的「碼農」。你必須進化,你必須成為懂業務的戰略家、嚴謹的安全審查官,以及那個能夠馴服「Bug製造機」的超級駕駛員。技術沒有淘汰人類,它只是殘忍地剝奪了平庸者生存的權利。參考資料:https://x.com/karpathy/status/2004607146781278521https://spectrum.ieee.org/ai-effect-entry-level-jobshttps://x.com/eudtoxic/status/2004421448849383489https://futurism.com/artificial-intelligence/ai-code-bug-filled-mess (新智元)
Andrej Karpathy人工智慧2025年度總結:六大範式轉變,規則已變,未來已來
AI 大神 Andrej Karpathy 的 2025 年度總結:人工智慧的六大範式轉變前言:為什麼要關注這份總結?Andrej Karpathy 是誰?如果說 AI 領域有江湖,那他就是那種"掃地僧"等級的存在。他是 OpenAI 的創始成員之一,曾擔任特斯拉 AI 總監,史丹佛大學博士,CS231n(深度學習最著名課程之一)的建立者。當這樣的頂級專家發佈年度總結時,整個 AI 圈都會豎起耳朵仔細聆聽。2025 年 12 月 19 日,Karpathy 在他的個人部落格上發佈了《2025 LLM 年度回顧》。在這篇文章中,他總結了 2025 年大語言模型(LLM)領域的六個"範式轉變"——這些不是普通的技術進步,而是真正改變遊戲規則的創新。讓我們用最通俗的語言,深入淺出地理解這六大變革。變革一:RLVR——讓 AI 學會"思考"的新訓練方式什麼是 RLVR?想像一下,過去訓練 AI 就像教小孩背課文:預訓練:讓 AI 讀遍網際網路上的所有文章,就像讓孩子讀萬卷書監督微調:給 AI 示範標準答案,就像老師手把手教孩子做題人類反饋強化學習(RLHF):人類對 AI 的回答打分,AI 學著討人喜歡這套方法從 2020-2022 年就定型了,一直很管用。但 2025 年出現了一個新階段:RLVR(可驗證獎勵強化學習)。通俗解釋:從"背答案"到"學思考"傳統方法的侷限:就像學生只會背標準答案,不會靈活思考。遇到新題型就傻眼了。RLVR 的突破:不再喂標準答案,而是給 AI 大量有明確對錯的題目(比如數學題、程式設計題),讓 AI 自己摸索解題方法。結果神奇的事情發生了——AI 自發地學會了"推理":把複雜問題拆分成小步驟嘗試多種解題策略發現錯誤後會回溯重試這就像孩子自己琢磨出了"怎麼思考",而不是死記硬背解題步驟。為什麼這是大事?1. 訓練時間大幅增加:因為有客觀的對錯標準(不像人類打分那麼主觀),可以讓 AI 練習更久。2025 年,很多計算資源從預訓練轉移到了 RLVR,模型大小沒怎麼增加,但"練習思考"的時間大大延長。2. 誕生了"思考時間"這個新維度:現在可以控制 AI 思考多久。給它更多時間,它就能推理得更深入。這就像考試時,簡單題 1 分鐘做完,難題可以思考 10 分鐘。3. 里程碑事件:2024 年底,OpenAI 的 o1 模型是第一個 RLVR 模型的展示2025 年初,o3 模型發佈時,所有人都能直觀感受到這個質的飛躍變革二:幽靈 vs 動物——重新理解 AI 的"智能形態"一個深刻的比喻Karpathy 提出了一個發人深省的觀點:我們不是在"進化動物",而是在"召喚幽靈"這話什麼意思?動物智能 vs AI 智能人類和動物:在叢林中進化了幾百萬年大腦最佳化目標:生存、繁衍、保護部落智能是"圓潤"的——各方面能力比較均衡大語言模型:在網際網路文字上訓練最佳化目標:模仿人類文字、解數學題、獲得人類點贊智能是"鋸齒狀"的——某些方面超強,某些方面弱得離譜"鋸齒狀智能"是什麼體驗?想像一個場景:3秒前:AI 剛剛完美解決了一個需要博士水平的數學證明3秒後:AI 被一個小學生都不會上當的文字遊戲給騙了,洩露了你的資料這就是 2025 年 AI 的真實寫照——同時是天才博學者和認知障礙的小學生。為什麼會這樣?因為 RLVR 讓 AI 在"可驗證領域"瘋狂長尖刺:數學題?瘋狂練習,能力爆表程式設計題?同樣瘋狂練習,超級強大常識推理?沒有明確對錯,練不了,所以很弱引發的問題:基準測試不再可信Karpathy 坦言,他在 2025 年"對基準測試失去了信任"。為什麼?因為幾乎所有基準測試都是"可驗證"的(有標準答案),所以:AI 實驗室瘋狂針對這些測試進行訓練AI 在測試上的分數飆升但實際應用能力可能沒那麼強這就像"應試教育"——考試分數很高,但實際能力參差不齊。核心問題:有沒有可能 AI 把所有基準測試都考滿分,但仍然沒有實現 AGI(通用人工智慧)?答案是:完全可能。變革三:Cursor——LLM 應用的新範式Cursor 是什麼?Cursor 是 2025 年爆火的 AI 程式設計工具。但 Karpathy 關注的不是它有多火,而是它定義了一種全新的 LLM 應用模式。傳統 AI 應用 vs Cursor 模式傳統模式(如 ChatGPT):你問一句,AI 答一句就像打開一個網站,輸入問題,得到答案Cursor 模式:深度整合到專業工具(程式設計環境)自動獲取上下文(你的程式碼、項目結構)在後台編排多個 AI 呼叫,形成複雜工作流提供專業領域的介面有"自主程度滑塊"——可以讓 AI 自己幹活,也可以每步都問你四大核心特徵Karpathy 總結了 Cursor 式應用的四個要素:上下文工程:自動理解你的工作環境(程式碼庫、檔案結構等)多 LLM 呼叫編排:背景執行複雜的 AI 工作流,平衡性能和成本專業化介面:不是通用聊天框,而是針對特定領域設計的互動自主程度控制:從"完全手動"到"全自動"之間調節引發的討論:AI 應用的護城河有多寬?2025 年業界爭論激烈的問題:OpenAI、Anthropic 這些 LLM 大廠會不會把所有應用都做了?還是會有大量 AI 應用公司的機會?Karpathy 的觀點:LLM 大廠培養的是"通用大學生",而 LLM 應用公司會把這些大學生組織成專業團隊,部署到具體行業比如:LLM 大廠:提供基礎模型(通用能力)Cursor:組織這些模型成為專業程式設計師團隊其他垂直應用:可能在醫療、法律、設計等領域做類似的事關鍵差異在於:私有資料、感測器、執行器和反饋循環變革四:Claude Code——住在你電腦裡的 AI什麼是 Claude Code?Claude Code(CC)是 Anthropic 推出的一個命令列工具,但它的意義遠不止於此。為什麼說它是"範式轉變"?OpenAI 的思路(Karpathy 認為走錯了):把 AI Agent 部署在雲端在容器裡運行從 ChatGPT 網頁控制Anthropic 的思路(Karpathy 認為正確):Agent 直接運行在你的本地電腦上訪問你的本地檔案、配置、金鑰低延遲互動核心區別:不是"算力在那裡",而是"AI 在那裡生活"這不是技術架構的區別(雲端 vs 本地計算),而是互動範式的區別:舊範式:AI 是你訪問的一個網站(像 Google)新範式:AI 是住在你電腦裡的"小精靈/幽靈"它瞭解你的工作環境它能訪問你的私有資料它和你低延遲互動它幫你操作本地工具為什麼這很重要?因為我們處在一個"能力參差不齊"的 AI 時代,讓 AI 直接接觸你的真實工作環境,比在雲端遠端操作效率高得多。就像你雇了一個助手:舊方式:助手在遠方的辦公室,你打電話指揮,他看不到你的桌面新方式:助手就坐在你旁邊,能看到你的螢幕,能操作你的鍵盤變革五:Vibe Coding——用"感覺"寫程式碼什麼是 Vibe Coding?這個詞是 Karpathy 自己在 2025 年的一條推文中創造的,結果意外走紅。傳統程式設計:學習程式語言語法理解演算法和資料結構一行行寫程式碼需要多年訓練Vibe Coding:用自然語言描述你想要什麼AI 幫你生成程式碼你甚至不需要看程式碼,只關注效果任何人都能做真實案例:Karpathy 自己的體驗案例1:Rust 分詞器他在開發 nanochat 項目時,需要一個高效的 BPE 分詞器用 Vibe Coding 讓 AI 幫他寫了一個 Rust 實現他自己不需要深入學習 Rust也不需要依賴現成的庫案例2:一次性應用他會為了找一個 bug,讓 AI 寫一整個臨時應用用完就扔因為"程式碼突然變得免費、短暫、可塑、用完即拋"案例3:快速原型他 Vibe Coded 了很多項目:menugen:菜單生成器llm-council:AI 議會reader3:閱讀器HN time capsule:駭客新聞時光膠囊Vibe Coding 的深遠影響1. 權力下放以前:程式設計是高技能專業人士的專利現在:普通人也能通過自然語言"程式設計"這符合 Karpathy 之前寫的一篇文章觀點:LLM 是第一個讓普通人比專業人士受益更多的技術2. 專業人士寫更多程式碼以前:因為成本高,很多"小工具"不值得寫現在:順手就能 Vibe Code 一個出來3. 軟體的本質改變程式碼從"昂貴資產"變成"免費耗材"一次性軟體變得可行工作流程和職位描述都會改變Karpathy 的比喻"Vibe Coding 將改造整個軟體地貌,改變工作描述"變革六:Nano Banana——LLM 的"圖形介面"什麼是 Nano Banana?Google Gemini Nano Banana 是 Karpathy 眼中"2025 年最令人驚嘆、最具範式轉變意義的模型之一"。為什麼這麼重要?一個深刻的類比Karpathy 提出了一個宏大的視角:LLM 就像 1970-80 年代的電腦,我們會看到類似的創新演進:個人電腦的 LLM 版本微控製器的 LLM 版本(認知核心)網際網路的 LLM 版本(Agent 網際網路)GUI 的 LLM 版本← Nano Banana 的意義就在這裡文字 vs 圖像:人類的真實偏好LLM 的原生語言:文字就像 1980 年代電腦的命令列介面電腦喜歡文字,因為高效、精確人類的偏好:視覺和空間資訊人類其實不喜歡閱讀文字——又慢又費力人類喜歡看圖、看視訊、看動畫、看圖表LLM 介面的演進第一代:純文字對話(命令列時代)第二代:Markdown、emoji(給文字"化妝")標題、粗體、斜體、列表、表格讓文字更易讀第三代:真正的"LLM GUI"資訊圖表幻燈片白板動畫/視訊Web 應用← Nano Banana 是這個方向的早期預兆Nano Banana 的獨特之處不只是"能生成圖片",而是:文字生成 + 圖像生成 + 世界知識三者糾纏在模型權重裡形成了新的互動範式就像 GUI 之於命令列的革命,LLM GUI 可能會徹底改變我們與 AI 互動的方式。總結:我們身處何方?Karpathy 在文章最後給出了他的總體判斷:1. AI 既比預期聰明,又比預期愚蠢這是"幽靈 vs 動物"那一節的核心觀點。我們得到了一種全新的智能形態,不能用人類智能的標準去衡量。2. AI 的潛力還遠未釋放"我認為業界還沒有實現 AI 當前能力的 10% 潛力"即使不考慮未來的進步,光是已有的能力,應用空間還大得很。3. 領域仍然寬廣開放這麼多想法可以嘗試,這麼多方向可以探索,充滿機會。4. 矛盾但真實的預測在 Dwarkesh 播客中,Karpathy 提到了一個"表面上矛盾"的觀點:我同時相信:我們會看到快速而持續的進步還有大量工作要做這不矛盾,因為:進步很快,但 AGI 還很遠每個突破都打開新的可能性同時也暴露新的挑戰5. 系好安全帶Karpathy 用"Strap in"結尾——系好安全帶,精彩的旅程才剛開始。寫在最後:為什麼這份總結值得仔細讀?1. 視角獨特Karpathy 不是投資人,不是媒體,而是真正在一線做技術的頂級專家。他的觀察是基於:OpenAI 創始團隊經歷特斯拉 AI 總監經歷對技術本質的深刻理解2. 坦誠直率他直言對基準測試失去信任,批評 OpenAI 的一些技術選擇,這種坦誠在行業內很少見。3. 長期視角他不追逐短期熱點,而是關注"範式轉變"——那些真正改變遊戲規則的創新。4. 哲學深度"幽靈 vs 動物"、"LLM GUI"這些概念,不只是技術觀察,而是對智能本質的哲學思考。5. 實踐導向他自己在用 Vibe Coding 做項目,自己在體驗 Claude Code,這些不是紙上談兵,而是來自一線的真實感受。延伸閱讀Karpathy 在文章中提到了他寫的其他深度文章:Animals vs. Ghosts(動物 vs 幽靈)Verifiability(可驗證性)The Space of Minds(心智空間)Power to the people: How LLMs flip the script on technology diffusion(權力下放:LLM 如何顛覆技術擴散)還有他的播客訪談:Dwarkesh PodcastYC Talk 文字版YC Talk 視訊個人感悟讀完 Karpathy 的總結,最大的感受是:我們正處在一個激動人心但混沌不清的時代。AI 既不是即將到來的"神",也不是被誇大的"泡沫",而是一種全新的、我們還在學習理解的智能形態。2025 年的六大範式轉變告訴我們:技術在快速進步(RLVR、Cursor、Claude Code)認知在深化(幽靈 vs 動物、鋸齒狀智能)應用在演化(Vibe Coding、LLM GUI)但更重要的是,旅程才剛剛開始。正如 Karpathy 所說:Strap in(系好安全帶)。 (AI Daily Insights)
撐起AI半邊天的Andrej Karpathy大神親授:如何成為任何領域的專家?
在當今這個知識爆炸、技術飛速迭代的時代,如何高效學習並掌握一門技能,直至成為專家,是許多人職業生涯中的核心命題。所以,我們今天來講講Andrej Karpathy。這個名字在AI界可謂如雷貫耳。作為OpenAI的創始成員之一、前特斯拉人工智慧總監,以及史丹佛大學著名深度學習課程CS231n的設計者和首席講師,他的職業履歷星光熠熠,充滿了傳奇色彩。Karpathy不僅在學術研究和工業應用上取得了卓越成就,更是一位熱衷於分享知識的教育者。他提出的許多學習方法和職業建議,因其深刻的洞察力和極高的實踐性,在科技圈廣為流傳,被無數人奉為圭臬。早在2020年,Karpathy就曾分享過一個看似簡單卻蘊含深意的三步框架,為有志於成為專家的人們指明了一條清晰的道路。Karpathy的核心建議主要包含以下三點:1,項目驅動,深度優先:放棄“廣度優先、自下而上”的傳統學習模式,轉而通過完成具體的項目進行“按需學習”,實現縱向的深度積累。2,教學相長,自我沉澱:用自己的話去教授或總結所學,這是檢驗和鞏固知識的最佳方式。3,對標自己,持續成長:永遠只和過去的自己比較,而非他人,專注於個人的持續進步。這三條建議看似樸素,卻直擊學習的本質。我們一條一條細品。01. 項目驅動深度優先你是否也曾有過這樣的經歷:為了學習一門新技術,收藏了無數的教學、購買了堆積如山的專業書籍,試圖從最基礎的理論開始,建構一個全面的知識體系。然而,這種“廣度優先”的學習方式,往往會讓我們陷入理論的汪洋大海,迷失方向,最終因缺乏實踐和正反饋而半途而廢。Karpathy對此提出了截然不同的見解:以項目為導向,進行“深度優先”的學習。也就是說,我們應該首先選擇一個具體、可執行的項目,然後在完成這個項目的過程中,去學習所需的知識點。這種“干中學”(Learning by Doing)的方式,能夠將學習與實際應用緊密結合,極大地提升學習效率和動力。在Karpathy廣為流傳的博文《神經網路訓練秘籍》(A Recipe for Training Neural Networks)中,他詳細闡述了如何一步步建構和最佳化一個神經網路模型。https://karpathy.github.io/2019/04/25/recipe/這篇文章本身就是項目驅動學習的絕佳範例。他沒有一上來就羅列艱深的數學公式,而是將整個過程分解為一系列可操作的步驟,比如:與資料融為一體:在寫任何程式碼之前,花大量時間去觀察和理解你的資料,尋找其中的模式和異常。搭建端到端的骨架:先用一個最簡單的模型跑通整個訓練和評估流程,確保你的管道是暢通的。過擬合:然後,嘗試讓模型在小批次資料上達到過擬合,以驗證模型的容量和程式碼的正確性。正則化與調優:在確認模型能夠學習後,再逐步引入正則化技術,調整超參數,提升泛化能力。這套流程的核心思想就是迭代和驗證:從一個最小可行性產品(MVP)開始,每一步都進行驗證,確保根基牢固,然後再逐步增加複雜性。這種方法不僅適用於訓練神經網路,也適用於學習任何新技能。例如,如果你想學程式設計,可以從搭建一個簡單的個人網站開始;想學資料科學,可以從分析一份你感興趣的公開資料集入手。在解決實際問題的過程中,你會自然而然地去學習HTML/CSS、Python庫或統計學知識,這些知識點因為有了明確的應用場景,而變得不再枯燥。在另一篇極具影響力的文章《博士生生存指南》(A Survival Guide to a PhD)中,Karpathy進一步強調了“深度”的重要性。他將博士生涯比作一次長達約10400小時的深度探索,而這恰好與馬爾科姆·格拉德威爾提出的“一萬小時定律”不謀而合。https://karpathy.github.io/2016/09/07/phd/Karpathy認為,博士的核心目標,就是在某個非常細分的領域裡,通過深度鑽研,成為世界級的專家。他建議研究者要選擇那些“肥沃”的領域,即有足夠深度和廣度,能夠讓你產出一系列相互關聯的研究成果。同時,要勇於挑戰那些比當前問題難2-3倍,但重要性高10倍的問題,避免在細枝末節上進行微小的改進。這一思想同樣適用於非學術領域。正如Karpathy所說,如果一個人的一生可以專注投入,大約能成為15個領域的專家。因此,與其將精力分散在無數個淺嘗輒輒的領域,不如選擇少數幾個你真正熱愛的方向,進行深度挖掘。在一個狹窄的領域裡做到頂尖,遠比在多個領域都表現平平更有價值。02. 教學相長自我沉澱掌握知識的第二大支柱,是主動複述和知識重構。僅僅是被動地輸入資訊,知識的留存率會非常低。而通過“教”與“寫”的方式,將所學內容用自己的語言重新組織和輸出,則能極大地加深理解,發現知識盲區。這與諾貝爾物理學獎得主理查德·費曼所倡導的“費曼學習法”不謀而合。給本科生的建議:主動復現,而非被動閱讀Karpathy在給本科生的學習建議中提到,“閱讀和理解”與“能夠復現內容”是完全不同的兩件事。他鼓勵學生在學習後,合上書本,嘗試獨立推導公式或證明,以此來檢驗自己是否真正掌握了知識。他還建議,學習初期可以獨立思考,建立自己的理解體系;後期則可以與他人協作,通過向同學解釋概念,來鞏固和深化自己的認知。為一門課程製作一份“備考清單”(Cheat Sheet),將整個課程的知識點濃縮在一頁紙上,也是一種極佳的知識梳理和內化方式。CS231n: Convolutional Neural Networks for Visual Recognition在Karpathy的職業生涯中,分享始終扮演著至關重要的角色。他不僅通過部落格文章分享自己的研究心得和實踐經驗,還積極投身於開放原始碼專案。他認為,將自己的程式碼和項目開源,不僅能幫助他人,更能督促自己寫出更規範、可復現的程式碼,這本身就是一個絕佳的學習過程。同樣,撰寫部落格或技術教學,也是一種高效的“教學相長”方式。當你試圖向他人清晰地解釋一個複雜概念時,你會被迫從讀者的角度出發,重新審視自己的知識結構,理清其中的邏輯鏈條。這個過程會暴露你理解上的模糊之處,促使你回頭去查閱資料,填補知識漏洞。Karpathy本人就是這一理念的忠實踐行者。他在史丹佛開設的CS231n課程,其詳盡的課程筆記和公開的教學視訊,已經成為全球AI學習者的入門寶典。這一舉動不僅鞏固了他自身的知識體系,更極大地放大了他的影響力。因此,在你完成一個項目或學習了一個新模組後,不妨嘗試寫一篇總結文章,或錄製一個簡短的教學視訊,分享到你的部落格、知乎或B站上。這個過程所帶來的收穫,將遠超你的想像!03. 對標自己持續成長通往專家之路 rarely 是一帆風順的。在這個過程中,我們難免會遇到挫折,看到身邊的人似乎比自己進步得更快,從而產生焦慮和自我懷疑。Karpathy的第三條建議,正是應對這種心態的良藥:只與過去的自己比較,專注於個人的成長軌跡。在Karpathy看來,學習的本質是“精神鍛鍊”。他曾在一個訪談中形象地比喻道,真正的學習應該感覺像是“精神上的流汗”(the mental equivalent of sweating)。它應該是一種費力的、充滿挑戰的過程,就像在健身房裡進行高強度鍛鍊一樣,而不是像刷短影片那樣輕鬆愉悅。如果你在學習過程中感到有些吃力,甚至痛苦,這恰恰說明你正在走出舒適區,你的認知邊界正在被拓寬。在他的《博士生生存指南》中,他也坦誠地描述了科研道路上的種種艱辛,比如實驗失敗、論文被拒,甚至產生自我認同危機。要想成為專家,必須具備強大的心理韌性和獨立思考的能力。要學會從第一性原理出發思考問題,忽略那些無意義的外部評價指標,享受在非結構化環境中探索的自由。為了更好地實踐“對標自己”的原則,一個有效的方法是記錄你的成長里程碑。你可以定期寫學習日誌,記錄下自己在這個月或這個季度學到了什麼新技能,解決了什麼難題。當你回顧這些記錄時,你會清晰地看到自己的進步軌跡:半年前還一頭霧水的概念,現在已經能夠運用自如;一年前還無法獨立完成的項目,現在已經遊刃有餘。這種自我參照的成長反饋,能極大地增強你的自信心和學習動力。你會發現,知識的積累也存在“複利效應”。每天一點點的進步,經過時間的沉澱,最終會匯聚成巨大的飛躍。Karpathy本人的成長歷程,從一個對深度學習充滿好奇的學生,成長為引領行業發展的AI領袖,就是這種長期堅持和自我超越的最好證明。Andrej Karpathy的專家養成三步法——項目驅動、教學相長、對標自己為我們描繪了一條清晰、可行的精進之路。它告訴我們,成為專家並非依賴於所謂的天賦異稟,而是一個關於刻意練習、深度聚焦、積極反思和自我衡量的系統性過程。這條路並非坦途,它需要我們付出汗水和耐心。但正如Karpathy的經歷所展示的,無論是從零開始編寫一個神經網路,還是領導一個頂尖的AI團隊,這套原則都同樣適用。2025年就要結束了,祝願每一個人都能成為某個領域的專家。 (TOP創新區研究院)
Andrej Karpathy的學習指南
在人工智慧領域,Andrej Karpathy 是一位廣受尊敬的研究者與領導者。他不僅因其在深度學習領域的開創性工作而聞名,也因其卓越的教學才能和對人才培育的深刻見解備受推崇。他曾在史丹佛大學任教,並擔任特斯拉人工智慧高級總監,親身經歷了從優秀學生到行業頂尖領袖的完整路徑。這篇文章,是 Andrej Karpathy 對自己多年學習與考核經驗的一次系統性總結。它沒有停留在“努力學習”的空泛說教上,而是提供了一套清晰、具體且極具操作性的方法論體系。這套方法源於其親身實踐,涵蓋了從日常學習、考前準備到考場發揮的每一個關鍵環節,其核心在於如何以最高的效率掌握知識,並戰略性地管理個人精力。更為難得的是,文章超越了如何“取得高分”的技術層面,指向了一個更宏大的命題:在大學這場遊戲中,真正的贏家不是成績單最完美的人,而是最懂得如何分配有限資源(時間與精力),以贏得未來最大機遇的人。Andrej Karpathy 一針見血地指出,對課程的“隧道視野”是許多天賦異稟的學生所陷入的最大誤區。因此,這不僅僅是一份“學習指南”,更是一份來自頂尖實踐者的戰略規劃。它旨在幫助讀者打破迷思,將目光從分數上移開,投向真正重要的領域:真實世界的項目經驗、有份量的推薦信,以及獨立解決問題的能力。這些,才是未來世界裡真正的硬通貨。Doing well in your courses作者:Andrej Karpathy如果年輕的本科生們希望在大學課程中取得好成績,以下是我會給予的一些建議。在我人生中經歷過多年考試(成績相當不錯),以下是我覺得對我有幫助的一些經驗法則:一、通識建議通宵熬夜真的不值睡眠能創造奇蹟。對我來說,最佳睡眠時間大約是7.5小時,絕對底線是4小時左右。我好幾次遇到這樣的情況:晚上為一個問題糾結了一兩個小時都解決不了,但第二天早上只需5分鐘就搞定了。我感覺大腦會在夜間將許多不牢固的短期記憶“固化”為穩定的長期記憶。因此,對於任何大考,我都會儘量提前幾天開始複習,那怕每天只學一會兒,目的就是為我的大腦爭取儘可能多的夜晚來消化這些材料。務必參加輔導課或複習課即使這些課程質量不佳。它們能讓你思考相關學習內容,這才是最重要的。如果覺得太無聊,你總可以在課上做些別的事情。記住,你也可以試著去聽不同助教的輔導課。二、考試:準備階段把握全域與做好規劃是關鍵制定學習計畫,即使你未能完全遵循。對我而言,這通常包括先瞭解需要掌握的所有知識點,並明確地以要點形式寫下來。仔細考慮每一點,並估算掌握它們所需的時間。如果不這樣做,你很容易在前期材料上花費過多時間,而後因為時間不足,草草略過(往往是最重要的)後續內容。在開始學習前,務必先查看往年的試題尤其是當往年試題由同一位教授出題時。這會給你強有力的提示,告訴你應該如何學習。每位教授都有不同的考核風格。一開始不必嘗試完整答題,但要仔細留意題目的類型。閱讀和理解,並不等同於能復現內容即使是我,也常犯這個錯誤:你在書中讀到一個公式、推導或證明,覺得完全理解了。現在合上書,試著把它寫下來。你會發現這個過程完全不同,而且會讓你驚訝的是,很多時候你其實寫不出來!這兩件事似乎動用了記憶中不同的部分。務必確保自己能夠實際寫下最重要的內容,並且可以隨時重新推匯出來。費曼就深諳此道。儘量與他人協作,但最好在備考後期先獨自學習,因為在學習初期,他人只會讓你分心。但在臨近考試時,要與他人一起複習:他們常常能指出重要的易錯點,提出好的問題,有時還能給你講解的機會。這也引出了下一點:不要只和比你強的學生一起學習水平稍弱的同學會讓你向他們解釋知識,你會發現,教授他人對理解知識點幫助巨大。在期末考試前,至少去找一次教授的答疑時間即使你沒有任何問題(也可以編一個!)。教授有時會願意在一對一交流中透露更多關於考試的資訊(這些是他們不會在全班面前透露的)。不要抱太大期望,但一旦發生,會對你有很大幫助。這是否讓你比其他學生有不公平的優勢?有時候是的。這有點“灰色地帶” :)但總的來說,讓教授至少對你有點印象是個好主意。提前充分複習我之前提過嗎?也許我應該再強調一遍。大腦真的需要時間來吸收知識。那些起初看起來很難的東西,隨著時間推移會變得容易。你應該為期中考試預留約3天,為期末考試預留約6天的複習時間。如果情況不妙,你感到過於疲憊,在緊急情況下,可以灌下一瓶能量飲料它們確實管用。這純粹是化學反應。對於數學這類科目:做題 > 閱讀學習到基本準備好開始做題的程度是好的,但隨後應該通過做題來填補知識空白,尤其是當你有大量習題可做時。做題也會迫使你回頭去閱讀那些你不懂的內容。為自己製作一份“小抄”(cheat sheet)即使考試不允許帶入。寫下東西本身就是有幫助的。你的目標是,將整門課程的核心內容濃縮在一頁或多頁紙上,最終你可以把它們鋪在面前,並高度自信地說:“這就是我必須掌握的全部內容。”在別人也在學習的地方學習,即使他們學的不是同一門課這會在你不學習時讓你感到愧疚。這招對我很管用 :)背景噪音大的地方不好,並且有研究支援其對學習有負面影響。圖書館和閱覽室效果最佳。三、考試:當天最佳的飲食習慣是:在考試前2小時喝咖啡和進食對我而言,在考試前立刻喝咖啡或吃東西總是很糟糕。在任何可能帶來壓力的情境前立刻喝咖啡總是很糟糕。但完全不喝咖啡也不行。我意識到關於咖啡的部分可能是我個人的主觀感受,但這值得你為自己思考一下。在考試前最後一刻也要高強度複習我看到很多人在考試前就放棄了,聲稱要“休息一下”。短期記憶是很神奇的東西,不要浪費它!在考試前儘可能高強度地學習。如果你真的覺得必須休息,請在考試前大約一小時休息,但務必確保在考前30-45分鐘進行非常專注的複習。四、考試期間考試時務必使用鉛筆這樣你才能擦掉那些垃圾“解題過程”。開始答題前,快速瀏覽所有題目每道題只看1-3秒就足夠了。只需吸收所有關鍵詞,並對整個試卷的體量有個概念。考試時,先做簡單的題不要讓自己在某一題上卡太久。稍後再回來解決。我一直在跳題……有時第一遍只能完成試卷的30%。有些題目在你“熱身”之後會變得容易得多,我無法解釋原因。試卷書寫務必整潔令人驚訝的是,很少有人意識到這個顯而易見的事實:批改你試卷的是一個人。一個心情糟糕的人會給低分。我本科時就懷疑這一點,在我當助教親自批改試卷後,更是強烈地證實了它。務必把答案用框框起來或圈出來尤其是在答案周圍有推導過程時。這能讓閱卷人快速地給你打上滿分勾,然後繼續批改。要站在閱卷人的角度思考。永遠、永遠、永遠不要提前交卷你肯定犯了愚蠢的錯誤(我保證),找到並改正它。如果找不到,那就更努力地找,直到時間用完。如果你非常確定沒有錯誤,那就花時間讓試卷更清晰、更容易批改。擦掉無用的草稿,框出答案,為證明過程加入步驟等等。我別無他言——提前交卷的人是愚蠢的。這是一個“潛在收益完全大於成本”的典型情況。與閱卷人溝通向閱卷人展示你知道的比你寫下來的更多。好吧,你可能卡在某一個步驟,但要清楚地表明,如果你能做下去,你知道接下來該怎麼做。在必要時不要害怕留下註釋。信不信由你,閱卷人通常最後會試圖幫你找分——讓他們容易幫你。考慮每道題的分值很多考試會告訴你每道題值多少分。當你做錯事時,這會給你強烈的暗示。它也會強烈提示你應該做什麼題目。當然,把太多時間花在分值低、對你來說又相對困難的題目上是愚蠢的。如果還剩不到5分鐘,而你還在某道題上卡住,請停下來你的時間最好用來重新讀題,絕對確保沒有漏掉任何小問題,並且回答了所有問題。你無法相信人們因此丟了多少愚蠢的分數。恭喜你堅持讀到了這裡!既然你在這兒,我送你最後一條(也是非常重要的)建議。這也是我本科時期望有人能告訴我的道理。本科生很容易對課程產生隧道視野,一心只想著要取得好成績等等。但關鍵在於,你要意識到:除非你的成績很糟糕,否則沒人會真正在意你的分數。我過去常說,最聰明的學生會在所有課程中都拿到85%左右的分數。這樣,你的總評成績大約能在4.0左右,但你既沒有過度學習,也沒有學習不足。你的時間是寶貴而有限的資源。學習的目標應該是確保自己不會考砸,然後就把注意力轉移到更重要的事情上。那些事情呢?獲取真實的、現實世界的經驗,在愚蠢的課程練習之外,去研究真實的程式碼庫、項目或問題,這極其重要。讓教授或認識你的人能為你寫一封有力的推薦信,證明你具備主動性、熱情和驅動力,這極其重要。你想找工作嗎?去爭取暑期實習。你想申請研究生院嗎?去獲取科研經驗!報名參加學校提供的任何項目。或者,主動聯絡一位教授或研究生,請求參與你感興趣的研究項目。如果你能讓他們覺得你足夠有動力和積極性,這招可能奏效。不要低估這件事的重要性:一位知名教授在推薦信中稱讚你富有驅動力、積極性和獨立思考能力,其份量完全碾壓其他任何東西,尤其是成績這種小事。如果你在申請前至少能擠出一篇論文,那也會有巨大幫助。同時,你要清楚,教授和研究生們最反感的就是那種一時興起、報名項目、見幾次面、問很多問題,然後在對方投入大量時間後突然放棄消失的本科生。不要做這種人(這會損害你的聲譽),也不要給對方留下任何你可能如此的印象。除了研究項目,還要參與一些團隊的課外項目,或者更好的是,從頭開始你自己的項目。為開放原始碼專案做貢獻,製作或改進一個庫。走出去,創造(或幫助創造)一些很酷的東西。好好地記錄它,為它寫部落格。這些才是人們在未來幾年裡會真正在意的東西。你的成績?它們只是你沿途必須應付的煩惱。善用你的時間,祝你好運。 (WhaleThinking)
3萬字完整實錄 | Andrej Karpathy:LLM仍是“孩子”、RL非常糟、AI是“幽靈”?
10月18日,著名電腦科學家 、OpenAI創始成員Andrej Karpathy 接受海外播客Dwarkesh Patel的訪談,本次深度對話系統性地探討了其對當前人工智慧發展的諸多觀察與思考。本次對話涵蓋了AI Agent的發展路徑、深度學習的歷史範式轉移、強化學習的根本缺陷、大語言模型的內在機制與“模型坍塌”問題、AGI對未來經濟的真實影響,以及AI在教育領域的革命性潛力。針對業內“AI Agent元年”的過度樂觀,Karpathy認為,要讓AI Agent達到能替代人類實習生的實用水平,解決其在智能、多模態、持續學習等方面的根本缺陷,至少需要十年的時間。Karpathy指出,當前主流的強化學習範式,在解決複雜認知任務上,是一種極其低效、充滿噪聲且根本上“非人”的學習方式。因為它試圖從一個極其稀疏、單一的最終結果訊號中,去反推和調整一個漫長而複雜的過程,這在資訊理論上是極度浪費的。人類根本不使用強化學習,我們還需要更多根本性的創新。他謹慎對待將AI與動物進行類比的觀點,認為兩者源於截然不同的最佳化過程(模仿學習 vs. 進化)。AI更像是在數字世界中通過模仿人類資料建構的“幽靈”或“精神體”,而非複製生物進化的產物。Karpathy警告了“模型坍塌”的風險——持續用模型自身生成的、缺乏熵的內容進行訓練,將導致其能力嚴重退化。對於未來,他預測最優的“認知核心”可能僅需十億等級參數,遠小於當前動輒兆的競賽規模,因為現有大模型的主要負擔是壓縮質量低劣的網際網路資料。對於AGI將引發經濟增長率急劇提升的普遍預期,Karpathy他認為AI只是計算技術延伸的一部分,其影響將是平滑且漸進的,會融入現有的指數增長曲線,而不會在GDP資料上造成一個清晰可見的“突變點”。Karpathy還解釋了為何標榜“通用”的AI技術,目前幾乎一邊倒地在程式設計領域創造最大價值。這不僅因為程式碼是高度結構化的文字,更因為程式設計領域已擁有完善的基礎設施(如IDE、版本控制工具)來支援AI的整合與協作。01 AI Agent的十年之路你為什麼認為這將是“AI Agent的十年”,而不是“AI Agent元年”?要讓AI Agent變得真正實用,使其能像人類同事一樣勝任工作,究竟需要實現那些能力,瓶頸又在那裡?對於實現這些能力所需的時間表,例如持續學習,你是如何判斷它需要十年,而不是一年或五十年的?Andrej Karpathy: 首先,非常感謝你的邀請,我很高興能來到這裡。你剛才提到的“AI Agent 的十年”這個說法,其實是我對一個既有觀點的回應。我記得一些實驗室 (我不確定具體是誰) 曾暗示今年將是“AI Agent 元年”,尤其是在大語言模型及其發展路徑方面。這個說法讓我覺得有必要回應,因為我感覺業記憶體在一些過度預測。在我看來,用“AI Agent 的十年”來描述現狀更為準確。儘管我們已經有了一些非常初級的 AI Agent,例如我每天都在使用的 Claude 和 Codex,它們確實令人印象深刻,但我仍然覺得還有大量工作有待完成。所以我的看法是,我們將在未來十年裡持續與這些技術打交道,它們會不斷進步,前景光明。我主要想回應的,是那種說法背後隱含的過於樂觀的時間表。(關於瓶頸)簡單來說,就是讓它真正變得實用。在我看來,或者說在那些實驗室以及我自己的設想中,一個 AI Agent 應該像一個你可以雇來共事的員工或實習生。舉個例子,你現在和一些同事一起工作,在什麼情況下你會願意讓一個像 Claude 或 Codex 這樣的 AI Agent 來替代他們完成工作呢?顯然,目前它們還做不到。那要讓它們做到需要具備什麼?你為什麼今天不直接用它們呢?原因很簡單,因為它們根本就無法勝任。它們的智能水平不夠,多模態能力不足,無法操作電腦完成各種任務。而且,它們也無法做到你之前提到的很多事情,比如持續學習,你不能告訴它一件事就指望它能記住。它們在認知能力上存在根本缺陷,無法勝任工作。我認為,要解決所有這些問題,大概需要十年時間。(關於時間表的判斷)我想這更多是基於我個人的一些直覺,以及根據我在這個領域的經驗做出的一種推斷。我在 AI 領域差不多快二十年了——抱歉說錯了,大概是15年左右,沒那麼久。你之前採訪過的 Richard Sutton,他的從業時間當然要長得多。但我確實有大約15年的經驗,見證了人們做出各種預測,也看到了這些預測的最終結果。而且我既在學術界做過研究,也在工業界工作了很長時間。所以這些經歷給了我一種大致的直覺。我感覺我們面臨的這些問題雖然棘手但可以克服。綜合權衡下來,我感覺大概需要十年。02 AI發展的範式轉移與彎路回顧過去15年AI領域的發展,在那些不同的突破性時刻,身處其中的人們對未來有怎樣的感受?這些感受在那些方面被證明是過於悲觀或過於樂觀的?可否梳理一下這期間經歷的幾次重要“範式轉移”?Andrej Karpathy: 當然,不過這是個很大的問題,因為這涵蓋了15年來的發展。AI 這個領域之所以如此奇妙,就是因為它經歷了好幾次我稱之為“範式轉移”的顛覆性變革,整個領域的研究方向會突然煥然一新。我大概親身經歷了其中的兩三次。而且我認為這種變革還會繼續發生,它們幾乎以一種令人驚訝的規律性到來。我的職業生涯始於深度學習,當時我因為在多倫多大學有幸在 Jeff Hinton 身邊而對此產生了興趣。Jeff Hinton 當然是 AI 領域的教父級人物。那時他正在訓練各種神經網路,我覺得這既不可思議又非常有趣,但這在當時遠非 AI 領域的主流,只是一個非常小眾的方向。隨之而來的 AlexNet,可以說是第一次劇烈的範式轉移。AlexNet 為整個領域指明了新的方向,所有人都開始訓練神經網路,但這仍然是為非常具體的、單一的任務而設計的。比如做一個圖像分類器,或者一個神經機器翻譯系統。然後,人們才非常緩慢地開始對 AI Agent 這樣的概念產生興趣。大家開始想:好吧,我們或許已經解決了“視覺皮層”的問題,那大腦的其他部分呢?我們如何才能建構一個能夠與世界真實互動的、完整的 AI Agent 或智能實體?在我看來,2013年左右由 Atari 遊戲引領的深度強化學習浪潮,就是早期對 AI Agent 的一次嘗試。它試圖讓 AI Agent 不僅能感知世界,還能採取行動、與環境互動並獲得獎勵。當時的環境就是 Atari 遊戲。但現在回過頭看,我感覺那其實是一個彎路。一個連我當時參與的早期 OpenAI 也曾走過的彎路。因為當時的時代潮流就是投身於強化學習環境,也就是玩各種遊戲、攻克各種遊戲。OpenAI 當時也在這方面投入了很多。那幾年,可能整個 AI 領域所有人都在遊戲上做強化學習。但這基本上是個歧途。當時在 OpenAI,我內心一直對“玩遊戲能通向 AGI”這條路徑持懷疑態度,因為在我看來,你需要的是像會計師那樣能與真實世界打交道的系統。我看不出玩遊戲如何能最終實現這個目標。因此,我在 OpenAI 曾負責一個名為 Universe 的項目,目標是讓一個 AI Agent 能用鍵盤和滑鼠操作網頁。我真正想要的,是一個能與真實數字世界互動、能完成知識工作的系統。但結果證明,這個想法在當時提出太早了,早得離譜。早到我們本不應該去嘗試,因為如果你只是讓 AI Agent 在環境中胡亂操作鍵盤和滑鼠來探索獎勵,那麼獎勵訊號會過於稀疏,它什麼也學不到,最終只會耗費掉巨量的算力而一事無成。這其中缺失的,正是神經網路強大的表徵能力。所以舉個例子,今天人們也在訓練能夠操作電腦的 AI Agent,但他們是在大語言模型的基礎上進行的。你必須先有語言模型,先獲得表徵能力,而這需要通過所有的預訓練和 LLM 技術來實現。所以,總的來說,我感覺歷史上人們曾數次過早地試圖建構完整的系統,過早地追求 AI Agent,比如 Atari 和 Universe 的嘗試,包括我自己的經歷。你必須先完成一些基礎工作,才能去建構 AI Agent。或許現在的 AI Agent 已經強大得多,但我們可能依然缺少技術堆疊中的某些關鍵部分。但我認為,回顧來看,大家所做的工作可以歸為三大類:為特定任務訓練神經網路;進行第一輪對 AI Agent 的嘗試;以及現在先通過 LLM 尋求神經網路的表徵能力,再在其之上建構其他一切。03 我們在建構模仿人類的“精神體”從零開始建構AGI的最強論點似乎是模仿動物的學習方式,它們一出生就被拋入世界,在沒有標籤的情況下自行理解一切。為什麼AI的願景不該是這樣,而是像現在這樣,通過預訓練模擬一個漫長的“進化”過程?將AI與動物類比存在那些問題?Andrej Karpathy: 我認為這是一個非常好的問題。我記得 Richard Sutton 上過你的播客,我看過那一期,還寫了一篇相關的文章來闡述我的看法。我個人對於將 AI 與動物進行類比非常謹慎,因為它們源於截然不同的最佳化過程。動物是進化而來的,它們天生就擁有大量內建的“硬體”。比如我在文章裡舉的斑馬的例子:一隻斑馬出生幾分鐘後,就能跑來跑去並跟隨母親。這是極其複雜的行為,但這並非強化學習的結果,而是被深植於基因中的本能。進化顯然有辦法將神經網路的權重編碼在 ATCG (DNA鹼基) 裡,我不知道具體原理,但它確實有效。所以我感覺,生物大腦的形成過程與我們現在做的完全不同,因此我非常不願意直接從中汲取靈感,因為我們根本無法複製“進化”這個過程。所以在我的文章中我提到,我們實際上不是在建構動物,而是在建構“幽靈”或“精神體”,隨你怎麼稱呼。因為我們的訓練方式不是通過進化,而是通過模仿人類以及他們在網際網路上產生的資料。最終你得到的,是這些近乎虛無縹緲的精神實體,因為它們是純數字的,在某種程度上模仿人類,是一種完全不同的智能。想像一個智能的“可能性空間”,我們和動物的出發點幾乎完全不同。我們並非真的在建構動物,儘管我認為隨著時間的推移,讓 AI 變得更像動物一些是可能的,而且也應該這樣做。另外還有一點,我覺得 Sutton 的框架基本上是“我們想要建構動物”。如果這能實現,當然會非常了不起。如果真的存在一個單一演算法,你只需讓它在網際網路上運行,它就能學會一切,那將是不可思議的。但我對此表示懷疑,甚至不確定這樣的演算法是否存在。而且,這顯然也不是動物的學習方式。因為動物擁有一個“進化的外循環”。很多看似“學習”的行為,其實更多是“大腦的成熟”。我認為動物真正用到強化學習的地方很少,而且大多是像投籃這種更偏向運動類的任務,而非智能任務。所以,粗略地講,我甚至認為人類在解決智能問題時,也並不真正使用強化學習。主持人:您能重複一下最後一句話嗎?很多智能不涉及運動任務,那它涉及什麼,抱歉?Andrej Karpathy: 在我看來,強化學習更多地應用於類似運動的任務,比如一些簡單的任務,像投籃之類的。但我不認為人類在處理很多智能任務 (比如解決問題等) 時會使用強化學習。主持人:我認為您暗示的是:進化所做的事情,在“建構一個能夠理解世界的基礎”這個層面上,與預訓練所做的事情有相似之處。但我猜區別在於,對於人類而言,進化的所有資訊都必須被高度壓縮在 3GB 的 DNA 中。這與模型的權重截然不同。模型的權重本身就構成了一個“大腦”,而這個“大腦”顯然不是編碼在精子和卵子裡的,它需要後天生長。而且,大腦中每一個突觸連接的資訊是絕對不可能全部儲存在 3GB 的 DNA 中的。因此,進化似乎更接近於“找到那個負責終身學習的演算法本身”。那麼,根據您的觀點,這種“終身學習”或許不等同於強化學習。我的這個理解與您想表達的一致嗎?還是您不認同?Andrej Karpathy:(關於進化與預訓練的類比)我同意你的觀點,進化過程中確實存在一種神奇的壓縮,因為神經網路的權重顯然沒有直接儲存在 ATCG 裡。存在某種程度的急劇壓縮,並編碼了一些學習演算法,這些演算法在生命周期中接管並進行線上學習。這一點我完全同意你。基本上,我會說我是一個更務實的人。我不是從“我們來建構動物吧”這樣的哲學角度出發,而是從“我們來建構有用的東西”這個視角出發。所以,我更像是一個戴著安全帽的工程師,我觀察到的現實是:我們無法實現進化,因為我不知道那該怎麼做。但事實證明,通過模仿網際網路文件來建構這些“幽靈般的實體”,是行得通的。這實際上提供了一種方式,讓你獲得一個在某種程度上擁有大量內建知識和智能的系統,這與進化所做的事情有些類似。所以,我才把預訓練稱為一種“蹩腳的進化”。它就像是在我們現有技術和可用資源的限制下,一個切實可行的版本,它能幫助我們達到一個可以真正開始進行強化學習等任務的起點。04 預訓練在吸收知識的同時“變得智能”,但知識本身可能拖累了模型進化給予我們的是發現知識的演算法,而非知識本身,這似乎與直接吸收知識的預訓練不同。預訓練究竟在做什麼?它與上下文學習有何關係?上下文學習是否是另一種形式的梯度下降?為什麼模型在上下文窗口中能實現看似真正的智能,而在預訓練中卻感覺不到?這是否與資訊儲存密度的巨大差異有關?Andrej Karpathy: 這個問題很微妙,你的質疑很有道理。基本上,預訓練在做什麼呢?你讓一個模型在整個網際網路上進行下一個 Token 的預測,並將其訓練成一個神經網路。這個過程實際上在做兩件有點不相關的事情。第一,它在吸收我所說的“知識”。第二,它在真正地“變得智能”。通過觀察網際網路資料中存在的演算法模式,它實際上在神經網路內部“啟動”了許多微小的電路和演算法,從而實現了像上下文學習等諸如此類的能力。而事實上,你可能並不需要甚至不想要那些知識。我甚至認為,知識總體上可能拖累了神經網路,因為它讓模型在某些時候過分依賴已有的知識。舉個例子,我感覺 AI Agent 的一個弱點就是,它們很難跳出現有網際網路資料的“流形” (manifold) 去思考。如果它們的知識或記憶更少一些,表現可能反而會更好。因此,我認為我們未來需要做的一件事,這也將成為研究範式的一部分,就是我們需要想辦法移除部分知識,只保留我稱之為“認知核心” (cognitive core) 的東西。這就像一個剝離了具體知識,但保留了演算法、解決問題的策略以及智能本質的純粹智能實體。(關於上下文學習)這裡有很多值得探討的話題。我們先從上下文學習談起。這一點或許顯而易見,但我認為值得我們明確地提出來並深入思考。在某些場景下,這些模型顯得最為智能,比如當我和它們對話時,我會驚嘆:“哇,對面真的有一個實體在回應我,並且像是在思考。” 如果它犯了錯,它會說:“哦等等,那種思考方式其實是錯的,我得換個思路。” 這一切都發生在上下文學習的過程中。正是在這裡,我感覺你能親眼看到真正的智能。而這種上下文學習能力,是通過預訓練階段的梯度下降發展出來的。它像是自發地通過元學習掌握了上下文學習,但是上下文學習本身並非梯度下降。這就好比我們人類處理事務的智能是由進化所塑造的,但我們有生之年的實際學習卻是通過某些其他過程實現的。主持人:我不完全同意你的看法,不過請繼續說。Andrej Karpathy: 我之所以不太願意直接說上下文學習不是梯度下降,是因為雖然它沒有執行顯式的梯度下降,但我仍然認為,可以這麼說,上下文學習的本質是在一個 Token 窗口內進行模式補全。事實證明,網際網路上存在著海量的模式,所以你的觀點是對的,模型在某種程度上學會了補全模式。這種能力就內化在模型的權重裡,神經網路的權重就是在試圖發現並補全這些模式。同時,神經網路內部也發生著某種適應過程。這個過程有些神奇,它僅僅因為網際網路上存在大量模式,就自然而然地湧現了。我讀過一些很有趣的論文,確實探究了上下文學習背後的機制。我確實認為,上下文學習很有可能在神經網路的層內部,悄悄運行著一個小型的梯度下降循環。我記得有一篇論文,研究者就用上下文學習來做線性回歸。基本上,你輸入到神經網路的是一系列在同一條直線上的 (X, Y) 坐標對,然後你給出一個新的 X,期望模型能預測出對應的 Y。當你用這種方式訓練神經網路時,它確實學會了做線性回歸。通常,在進行線性回歸時,你會用一個小型梯度下降最佳化器來分析 (X, Y) 對、計算誤差、然後計算權重的梯度並進行數次迭代更新。結果,當研究人員審視那個上下文學習演算法的權重時,他們確實發現了一些與梯度下降機制的相似之處。事實上,我認為那篇論文的觀點更進一步,因為他們甚至通過硬編碼神經網路的權重,利用注意力和所有內部機制來直接執行梯度下降。所以,我想表達的不同觀點在於:誰知道上下文學習到底是如何工作的呢?但我確實認為,它很可能在內部執行著某種形式獨特的梯度下降,我認為這是可能的。所以我只是在反駁你“上下文學習不是梯度下降”的這個論斷。沒有人確切知道它在做什麼,但它很可能在做著類似的事情,只是我們尚不清楚罷了。(關於資訊儲存密度)我通常是這樣表述的:在神經網路的訓練過程中,所有知識都像是對訓練內容的一種模糊記憶。這是因為壓縮率非常高,你將 15 兆個 Token 壓縮到最終只有幾十億參數的神經網路中,這顯然是進行了巨量的資料壓縮。所以我傾向於把權重中的知識稱為對海量網際網路文件的“模糊記憶”。然而,對於發生在神經網路上下文窗口中的任何事情,當你輸入所有的 Token,模型會建立起完整的 KV 快取表示,這些資訊是神經網路可以直接訪問的。因此,我把 KV 快取和在測試時輸入的內容比作“工作記憶”。所有在上下文窗口中的內容,神經網路都可以直接獲取。所以,大語言模型 LLM 和人類之間總是存在一些令人驚訝的相似之處,我覺得這很奇妙,因為我們當然不是在刻意直接地模仿人腦,我們只是發現這種方法有效,就去做了。但我確實認為,權重中的任何知識,都好比是你一年前讀過的東西的模糊記憶;而你在測試時作為上下文提供給它的任何內容,都直接進入了它的工作記憶。我認為這是一個非常有力的類比,可以幫助我們思考問題。比如,你問一個 LLM 關於某本書的內容,它通常能給你一些大致正確的資訊。但如果你把完整的章節內容提供給它再提問,你會得到好得多的答案,因為現在這些內容被載入到了模型的工作記憶中。總而言之,我同意你的觀點,並用上面這段話解釋了原因。05 AI缺失的大腦元件從更宏觀的角度看,在人類智能的諸多方面中,我們用現有模型最沒能成功復現的是那一部分?持續學習能力是否能像上下文學習一樣,從一個外循環的強化學習過程中自發湧現?10年後,AI模型的核心架構是否還會是Transformer?Andrej Karpathy: 我感覺,其實還有很多方面都尚未實現。也許可以這麼想,儘管類比總有不完美之處,我還是忍不住會這麼想:我們像是無意中創造出了 Transformer 神經網路,它極其強大且通用。你可以在音訊、視訊、文字或任何資料上訓練 Transformer,它都能學習到模式,並且效果非常好。對我來說,這幾乎就像是某種大腦皮層組織。它就是那樣的東西,因為大腦皮層也以其極強的可塑性而聞名。你可以給大腦的某些部分重新布線,比如有些稍微殘忍的實驗,曾將視覺皮層連接到聽覺皮層,結果實驗動物依然能正常學習。所以我認為 Transformer 就像是皮層組織。當我們利用神經網路進行推理和規劃,也就是為模型生成推理鏈時,這有點像是在模擬前額葉皮層。那麼,或許這兩項可以算是我們已經攻克的堡壘,但我仍然認為有許多大腦區域和神經核尚未被探索。比如,當我們用強化學習微調模型時,可能基底核 (basal ganglia) 在發揮一點作用。但像海馬體 (hippocampus) 呢?它在模型中對應什麼,我們還不清楚。有些部分可能不那麼重要,比如小腦 (cerebellum) 被認為對認知功能不那麼關鍵,所以或許我們可以跳過。但我仍然認為,還有例如掌管所有情感和本能的杏仁核 (amygdala)。大腦中可能還有很多其他非常古老的神經核,我認為我們都還沒有真正複製出來。我其實不確定我們是否應該致力於建構一個人腦的模擬體,畢竟我骨子裡終究是個工程師。或許回答這個問題的另一種方式是:你現在還不會把這東西當作實習生來僱傭,因為它存在很多認知缺陷,這些缺陷在我們與模型交流時都能直觀地感覺到。所以,它還沒有完全成熟,你可以理解為,我們還沒有將人腦的所有組成部分逐一“解鎖”。(關於持續學習的湧現)我不太認同這種觀點,因為我感覺這些模型,每次啟動時,如果上下文窗口裡沒有 Token,它們就完全是從零開始。所以我其實不確定在你描述的那種設想中,持續學習具體是如何實現的。這裡再次用人類來做個不完美的類比,因為我覺得這樣思考起來更具體也更有趣。我感覺自己醒著的時候,是在不斷建構一個關於當天所發生事情的上下文窗口。但當我睡著時,一些奇妙的事情發生了,我認為那個上下文窗口並不會保留下來,而是存在一個將經驗蒸餾並融入我大腦“權重”的過程。這發生在睡眠等過程中。我們在大語言模型裡並沒有與此對應的機制,而這正是我認為模型在持續學習方面所缺失的關鍵環節。這些模型沒有這樣一個蒸餾階段:它們無法回顧發生過的事情,進行分析,反覆深入地思考,本質上就是進行一種合成資料生成,然後將精華蒸餾回權重中。也許未來可以為每個人定製一個特定的神經網路,或許是通過 LoRA 這樣的技術,只改變一小部分稀疏的權重,而不是整個網路。但基本上,我們確實希望創造出擁有超長記憶的“個體化”模型。這種記憶不能只存在於上下文窗口中,因為上下文窗口會變得非常長。也許我們可以用一些非常複雜的稀疏注意力機制來處理。但我仍然認為,人類顯然有某種將知識蒸餾到權重中的過程,而我們的模型缺失了這一點。同時我也認為,人類擁有某種非常複雜的稀疏注意力機制,現在我們開始看到了一些早期的苗頭。比如,Deepseek V3.2 剛剛發佈,我就看到他們用到了稀疏注意力,這正是實現超長上下文窗口的一種方式。所以我感覺,我們似乎在用一種截然不同的方式,重現進化過程中產生的許多認知技巧,但我認為我們最終在認知架構上正在殊途同歸。(關於未來架構)我喜歡這樣來思考這個問題:讓我們用一種“時間平移不變性”的思路來推演。我們看看 10 年前,也就是 2015 年,我們處在什麼位置?那時主要是摺積神經網路 CNN 的天下,殘差網路也才剛剛問世。所以,和現在有些相似,但又有很大的不同。那時還沒有 Transformer,也沒有現在這些對 Transformer 的各種現代化改造。因此,如果我們借鑑歷史來推斷未來 10 年,我認為有些東西是可以確定的:我們可能仍然在用梯度下降以及前向和後向傳播來訓練巨大的神經網路。但也許具體形態會有些不同,而且一切的規模都會大得多。實際上,我最近回顧了 1989 年的歷史,幾年前我做過一個很有趣的練習,就是復現 Yann LeCun 在 1989 年提出的摺積網路,那是我所知的第一個在數字識別任務上通過梯度下降訓練的現代神經網路。我當時就很好奇:我該如何用現代技術來改造它?這其中,演算法、資料、計算和系統各自貢獻了多少進步?結果發現,如果我帶著 33 年後的演算法知識“穿越”回去,對 Yann LeCun 當年的工作進行調整,我能輕易地將錯誤率減半。但要想獲得更大的提升,就必須增加更多的資料,我得把訓練集擴大 10 倍。然後,還必須加入更多的計算最佳化,比如使用 dropout 和其他正則化技術,並進行更長時間的訓練。所以,這就像所有這些因素都必須同步改進。因此,未來我們可能會有更多的資料、更好的硬體、更好的計算核心和軟體,以及更好的演算法。所有這些因素,似乎沒有那個單一的佔據絕對主導地位,它們的重要性驚人地均衡。這一直是過去一段時間的趨勢。所以,我想回答你的問題就是:我預計 10 年後的演算法會和今天有所不同,但我也相信一些經過長期考驗的核心思想,比如用梯度下降來訓練一個巨大的神經網路,很可能依然存在。這會是我的猜測。06 不要寫部落格,不要做PPT,去建構程式碼,整理它,讓它跑起來從GPT-2發展到你最近完成的NanoChat項目,你認為其中是否存在單一的關鍵因素?在建構過程中有什麼意外的收穫嗎?對於想學習的人來說,最好的方法是什麼?你在建構程式碼庫時,為什麼程式設計模型(AI Agent)提供的幫助不大?Andrej Karpathy: NanoChat 是我前兩天發佈的一個程式碼庫,我都記不清了,你可以看到我為了這個項目付出了多少睡眠。它旨在成為一個最簡潔、最完整的程式碼庫,端到端地涵蓋了建構一個 ChatGPT 克隆版的整個流程。所以,它包含了所有步驟,而不僅僅是某一個孤立的步驟。我過去曾針對各個獨立步驟發佈過一些小的程式碼片段,用簡單的程式碼從演算法層面展示如何實現,但 NanoChat 則涵蓋了整個流程。至於學到了什麼,我覺得倒不是很多,我並不覺得我一定從中學到了什麼新東西。我腦子裡本來就已經有了如何建構它的藍圖,這次更多的是一個按部就班地將其實現,並把它做得足夠清晰簡潔,以便其他人能真正從中學習並覺得有用的過程。(關於學習方法)我會這麼建議:這個項目大約有 8000 行程式碼,涵蓋了整個流程。如果你有兩個顯示器,我會把我的程式碼庫放在右邊的顯示器上作為參考,然後你自己從頭開始建構。你可以參考,但不允許複製貼上。這可能是我會採用的方式。但我也認為,這個程式碼庫本身是一個相當龐大的項目。我的意思是,當你寫這樣的程式碼時,你不是從上到下按順序寫的,而是分模組進行,然後逐步擴展這些模組。但這種開發的順序和思路,在最終的程式碼裡是體現不出來的,比如你可能不知道從那裡下手。所以我認為,人們需要的不僅僅是最終的程式碼庫,更是建構這個程式碼庫的過程,那是一個複雜的、模組化生長的過程。所以這一部分目前還沒有。我非常想在這周晚些時候以某種方式把它補充上去,也許是通過一個視訊之類的。但總的來說,我會建議自己動手建構,並且不允許自己複製貼上。我確實認為,知識有兩種。一種是表層的高階知識,但關鍵在於,當你真正從零開始建構一個東西時,你會被迫直面那些你自以為懂但其實不懂的細節,而你之前甚至不知道自己不懂。這個過程總能帶來更深刻的理解。這就像是唯一的學習途徑,正如我相信是費曼所說的那句名言:“我無法創造之物,我便無法理解。” 我百分之百地堅信這一點,因為有太多微小的細節需要你親自去理順,否則你就沒有真正掌握知識,你只是自以為掌握了。所以,不要寫部落格,不要做PPT,別做那些。去建構程式碼,整理它,讓它跑起來。這是唯一的途徑。否則,你掌握的就不是真正的知識。(關於AI程式設計模型的侷限)建構這個程式碼庫,我大概花了一個多月。在我看來,當前人們與程式碼互動的方式主要可以分為三類。第一類人完全拒絕使用大語言模型,堅持從零開始編寫所有程式碼,但這可能已經不是最佳方式了。第二類,也就是我所屬的中間類別,雖然仍然會從頭編寫大量程式碼,但會利用模型普遍提供的自動補全功能。當你開始寫一小段程式碼,它會幫你補全後續部分,大部分情況下只需按下 Tab 鍵確認,結果通常是正確的,偶爾出錯再手動修改。在這種模式下,程式碼的整體架構依然由你掌控。第三類,就是所謂的“意圖導向程式設計” (vibe coding) ,你只需下達指令,比如“請幫我實現這個功能”,然後讓模型全權負責。這就是 AI Agent 的工作模式。我確實認為 AI Agent 在某些非常特定的場景下是有效的,我也會在這些場景中使用它們。但歸根結底,這些都只是可用的工具,你必須學習它們各自的優缺點,並判斷在何時使用。例如,AI Agent 在處理樣板程式碼方面就非常出色,那些大量重複、近乎複製貼上性質的程式碼,它們處理起來得心應手。它們也很擅長處理網際網路上常見的程式碼模式,因為模型的訓練資料中包含了海量的此類樣本。因此,對於具備這些特徵的任務,模型會表現得很好。但我開發的 Nano chat 並非如此,它是一個相當獨特的程式碼庫。按照我設計的架構,它的程式碼模式並不常見,也絕非樣板程式碼。恰恰相反,它更像是需要高度智力投入的程式碼,每一個部分都必須經過精確的設計和安排。而模型存在很多認知缺陷,總是無法理解我的程式碼,因為它們的“記憶”裡塞滿了網際網路上那些常規的程式設計範式,而我恰恰沒有遵循那些。例如,模型總以為我在寫普通程式碼,然而我不是。再舉個例子,關於同步機制,假設你有 8 個 GPU 需要同時進行前向和後向傳播,同步它們之間梯度的標準做法是使用 Pytorch 的分佈式資料平行 (Distributed Data Parallel, DDP) 容器,它會在後向傳播的過程中自動完成所有通訊和梯度同步。但我沒有用 DDP,因為它對我的項目來說不是必需的。所以我棄用了它,並且在最佳化器的 step 函數里編寫了自己的同步程序。結果,模型就執著地建議我使用 DDP 容器。總之,我沒有使用那個容器,因為我不需要它,我自己實現了一個功能類似的簡化版。主持人:而它們就是無法理解和接受您有自己的一套實現。Andrej Karpathy: 它們無法繞過這個彎,而且還總是試圖破壞我的程式碼風格。比如,它們寫出的程式碼防禦性過強,到處都是 try-catch 語句,總想把程式碼寫成一個生產級的程式碼庫。但我的程式碼中包含很多特定的假設,這完全沒問題,我根本不需要那些冗餘的東西。所以,我感覺它們在讓程式碼庫變得臃腫,增加了不必要的複雜性,還不停地產生誤解,甚至多次使用已經被棄用的 API,簡直一團糟。最終,它帶來的價值並不高。雖然我可以介入並清理它生成的程式碼,但這總體上是得不償失的。我還覺得,必須用英語打字來描述我的需求也很煩人,太費事了。相比之下,我只需找到程式碼中需要修改的地方,定位到新程式碼應該出現的位置,然後輸入前幾個字母,自動補全功能就會理解我的意圖並生成完整的程式碼。我認為,這種“在特定位置輸入部分程式碼”的方式,是一種資訊密度極高、能非常高效傳達意-圖的互動方式。所以我的觀點是,這些模型在技術堆疊的某些層面表現出色。實際上,有兩個很能說明問題的例子,我確實在其中借助了模型。一個是在生成項目報告時,報告的撰寫確實更偏向於樣板化的工作,所以我部分地採用了“意圖導向程式設計”的方式來完成,效果不錯,因為這部分工作不是核心關鍵程式碼。另一個例子是,當我用 Rust 語言重寫分詞器的時候,我對 Rust 並不算精通,還算是個新手。所以在編寫部分 Rust 程式碼時,我確實進行了一些“意圖導向程式設計”。但前提是,我手邊有一個自己完全理解的 Python 實現版本,我的目標只是創造一個效率更高的版本,並且有完備的測試來驗證。在這種情況下,我覺得使用模型是比較安全的。總的來說,模型降低了學習和使用一門新語言或新範式的門檻,在這方面,它們的幫助非常大。因為網路上有海量的 Rust 程式碼可供模型學習,所以它們對 Rust 的掌握相當不錯,而我恰好瞭解不多,這樣模型就派上了大用-場。07 模型不擅長編寫“前所未有”的程式碼,這恰恰是我們建構模型時真正追求的當前“AI將實現AI工程和研究自動化”是AI奇點論的核心邏輯,但你的經驗似乎表明AI在這方面恰是短板,這是否會影響你對“奇點”何時到來的預測?為什麼模型即便面對已有論文和開源實現的技術(如RoPE嵌入),也無法很好地將其整合到你的程式碼庫中?你認為AI更像是一種漸進式改進的工具(如編譯器),還是會成為程式設計師的完全替代品?Andrej Karpathy: 這個說法很貼切。這也解釋了為什麼我對 AI 發展的時間線預估會更長一些。您說得對,我認為,模型不擅長編寫“前所未有”的程式碼,而這恰恰是我們建構這些模型時真正追求的目標。(關於模型整合能力的侷限)這個問題很複雜。我覺得它們對這些概念有模糊的認知,但理解得並不透徹。它們不知道如何將這些技術,按照你的程式碼風格、在你程式碼庫的特定位置、結合你所有自訂的設定,完美地整合進去。它們也無法理解新技術如何與程式碼庫中已有的各種假設相適配。所以,我認為它們具備一定的知識,但遠未達到能夠真正整合、理解和應用這些知識的程度。當然,很多方面確實在持續進步。目前我心目中最強的模型可能是 GBT 5 Pro,它非常強大。如果我有 20 分鐘的空閒時間,我有時會把整個程式碼庫複製貼上進去,向 GBT 5 Pro 這個“神諭”請教一些問題,它的回答通常都還不錯,相比一年前的模型已經好得驚人了。但我仍然認為,整體而言,這些模型還遠遠沒有達到我們期望的水平。我感覺整個行業有點操之過急,做出了過大的跳躍,試圖宣稱 AI 已經無所不能,但實際上,很多產出都還很粗糙。我認為行業需要正視並接受這個現實,或許他們是為了融資或有其他原因。但事實是,我們正處在一個中間階段。模型本身很了不起,但它們仍需大量的改進工作。對我而言,現階段自動補全是最高效的夥伴,但有時針對特定類型的程式碼,我也會求助於 LLM Agent。(關於AI的角色定位)這或許也引出了我的另一個想法:我發現自己很難清晰地界定 AI 的起點和終點,因為從根本上說,我認為 AI 是計算技術的一種延伸。我看到的是一個連續發展的過程,一個從電腦誕生之初就開始的,不斷加速程式設計師工作效率的“遞迴式自我改進”過程。比如,程式碼編輯器、語法高亮、甚至是資料類型檢查,所有這些我們為彼此開發的工具,包括搜尋引擎。為什麼搜尋引擎不算 AI 呢?搜尋排名本身很大程度上就是 AI。Google 在很早期的時候,就將自己定位為一家利用 AI 技術做搜尋引擎的公司,我認為這完全合理。所以,在我看來,這是一個遠比大多數人想像的更加連續的光譜,我很難在其中劃出一條明確的界線。我的感覺是,我們現在有了一個性能好得多的自動補全工具,同時也有了一些像 AI Agent 這樣的新工具,它們能進行循環式的自主操作,但有時會“脫軌”。整個趨勢是,人類正逐漸從更底層的、繁瑣的工作中解放出來。例如,我們不再寫彙編程式碼,因為有編譯器幫我們把高級的 C 語言轉換過去。我們正非常緩慢地將自身的工作進行“抽象化”。我稱之為一個“自主性滑塊” (autonomy slider) :在任何一個時間點,越來越多可以被自動化的任務正在被自動化,我們人類做的事情越來越少,並將自己的角色提升到駕馭於自動化之上的、更高階的抽象層。08 強化學習的根本缺陷我們應該如何理解人類與環境互動並建立世界模型的方式?這種方式似乎獨立於任務最終的成敗獎勵。在機器學習中,與之對應的機制應該是什麼?為什麼說人類不使用強化學習,當前RL範式(如在解數學題時)的根本問題是什麼?既然基於結果的獎勵存在明顯問題,為什麼“基於過程的監督”作為替代方案,卻一直沒能成功?Andrej Karpathy: 我的看法或許可以這樣表達:人類根本不使用強化學習,我一直都這麼說。我認為人類的學習方式完全不同,人是通過體驗來學習。強化學習的實際運作方式,比大多數人想像的要粗糙得多。以解數學題為例,這本身是個很簡單的場景:給你一道題,讓你找出答案。在強化學習的框架下,你首先會平行地進行海量嘗試。面對一個問題,你會生成成百上千種不同的解法,這些解法本身可能很複雜。最終,也許某個嘗試得出了答案。然後,你用這個答案去核對標準答案,發現可能是三次嘗試得到了正確答案,而其餘的都失敗了。接下來,強化學習所做的,就是逐字逐句地去看那三個成功的解法,然後把你得出這個正確答案過程中所做的每一個決策,輸出的每一個 Token,其對應的權重全部調高,告訴模型“以後要多這麼做”。這種做法的問題在於,用術語說,是“估計器方差過高”,但通俗地講,它就是充滿了噪聲。它幾乎是盲目地假設,只要最終結果是正確的,那麼通往這個結果的每一步就都是正確的。但這顯然是錯的。你可能在找到正確答案之前,走了很多彎路,犯了很多錯誤,但只要最終結果對了,所有這些錯誤的步驟,都會被錯誤地“鼓勵”。這太糟糕了,完全是噪聲。你做了那麼多的工作,最後得到的卻是一個單一的反饋訊號,一個位元的資訊告訴你“你做對了”,然後你就用這個訊號去決定整個解題路徑是該被鼓勵還是被懲罰。我喜歡把這個過程比作“用吸管吸取監督訊號”。你完成了一次可能長達一分鐘的完整推演,最終卻只能通過一根細細的吸管,去吸取最終那個獎勵訊號所包含的微不足道的監督資訊,然後將這點資訊廣播到整個行動軌跡上,以此來調整權重。這太瘋狂了。人類絕不會這樣做。首先,人類不會進行成百上千次的盲目嘗試。其次,當一個人找到解決方案後,他會進行一個非常複雜的復盤過程,他會思考:“我覺得我做的這些部分是正確的,但那些部分其實做得不好。我或許應該這樣或那樣改進。” 這是一個深度思考的過程。目前的大語言模型中,完全沒有與此對應的機制。不過,我確實看到相關的論文開始湧現,因為這個問題對於領域內的所有人都顯而易見。在我看來,整個發展歷程是這樣的:首先是模仿學習,它的成功本身就是一個巨大的驚喜,簡直是奇蹟。我們能夠通過模仿人類的範例來微調模型,這太了不起了。因為在最初,我們只有基礎模型,它們本質上只是自動補全工具。當時我完全沒有想到,後來一篇名為 InstructGPT 的論文讓我大開眼界。它指出,你可以拿一個預訓練好的模型,它原本只會自動補全,然後只要用類似對話的文字資料對它進行微調,模型就能迅速地適應並變得非常健談,同時還保留了所有在預訓練階段學到的知識。這顛覆了我的認知,我無法想像模型在風格上竟能如此迅速地調整,僅僅通過幾輪特定資料的微調,就能轉變為一個能與使用者互動的助手。它的成功對我來說如奇蹟一般,那是大概兩三年前的重大突破。然後,強化學習登場了。它讓你能做到比單純的模仿學習更好。因為你可以定義獎勵函數,然後讓模型在這些函數上進行爬山最佳化。對於那些有明確正確答案的問題,你不再需要專家的演示軌跡,模型可以自己去探索和最佳化。這非常了不起。模型甚至能發現人類從未想到的解決方案,這無疑是驚人的。然而,它依然很“笨拙”。所以我認為,我們還需要更多根本性的創新。昨天我看到一篇來自 Google 的論文,就試圖引入“反思與復盤”的理念,好像是叫什麼記憶庫的論文。實際上,我已經看到好幾篇沿著這個思路探索的論文了。因此,我預計在不久的將來,大語言模型的訓練演算法會在這個方向上迎來一次重大的更新。在那之後,我認為我們至少還需要三到五次這樣量級的革新。(關於過程監督的困難)所謂基於過程的監督,指的是我們不再等到你工作了 10 分鐘後,才在最後給你一個獎勵訊號,告訴你做得好還是不好,而是在你工作的每一步,都告訴你做得怎麼樣。我們之所以沒有普遍採用這種方法,根本原因在於,正確地實現它非常棘手。因為當你面對的是一個未完成的中間解法時,你很難知道該如何分配功勞,也就是進行信用分配。當你得到最終正確答案時,判斷標準很簡單,就是看結果是否匹配,這非常容易實現。但如果你要進行過程監督,你該如何自動化地給中間步驟打分呢?這並沒有顯而易見的解決方案。許多實驗室正嘗試使用所謂的“LLM 評委”來解決這個問題,也就是讓大語言模型來扮演評委的角色。你會給一個 LLM 提示,比如:“嘿,這是一個學生給出的解題步驟,如果最終答案是這樣,你覺得他現在這一步做得怎麼樣?”然後研究人員會不斷調整提示詞。我認為這件事之所以棘手,其原因非常微妙。那就是,任何時候你用一個 LLM 來分配獎勵,你都要記住,這些 LLM 是擁有數十億參數的龐然大物,它們是有空子可鑽的。如果你針對這些 LLM 評委進行強化學習,我幾乎可以保證,你的模型最終會找到這些 LLM 評委的對抗性樣本。這種方法無法長久為繼。也許你迭代 10 步、20 步還行,但你絕對做不到 100 步或 1000 步。模型會找到這個龐大評委模型中那些細微的“裂縫”,在那些犄角旮旯裡發現一些虛假的關聯,然後找到欺騙它的方法。我腦海裡有一個非常鮮活的例子,這件事應該也是公開的。當時我們用一個語言模型評委作為獎勵函數,你給它一個學生模型生成的解法,然後問它這個解法好不好。我們用強化學習針對這個獎勵函數進行訓練,一開始效果非常好。突然有一天,獎勵值變得異常高,簡直是飆升,模型表現得堪稱完美。你看到這個結果會想:“哇,這學生模型太完美了,它完全解決了所有數學問題。”但當你去看模型實際生成的具體內容時,會發現它們完全是胡說八道。開頭可能還像模像樣,但很快就變成了類似“好的,我們來計算二加三,我們這樣做、這樣做……”之類的瘋言瘋語。你看著這些內容會覺得太瘋狂了,它怎麼能得到 100% 的滿分獎勵?回過頭去檢查那個語言模型評委,你就會發現,這些胡言亂語恰好是那個評委模型的對抗性樣本,評委對它給出了 100% 的置信度。這僅僅是因為,對於 LLM 評委來說,這是一個它在訓練資料中從未見過的樣本外案例,你完全進入了它的純粹泛化領域。在它從未見過的泛化領域裡,你總能找到這樣可以把它攻破的樣本。09 LLM生成的合成資料分佈是“坍塌的”,持續使用會導致模型能力嚴重下降人類學習似乎包含“反思”或“做白日夢”這類行為,它不直接創造新問題,而是在消化已有資訊。機器學習領域與此對應的機制是什麼?為什麼我們不能簡單地讓模型生成思考內容,然後用這些合成資料來訓練它?“模型坍塌”問題的本質是什麼,它與人類思維的“固化”有何相似之處?解決方案又是什麼?Andrej Karpathy: 我認為我們恰恰忽略了這其中的某些關鍵環節。舉個例子,當人讀書時,和現在 LLM 讀書的方式完全不同。LLM 讀書,本質上是我們將書本的文字序列展開,然後模型去預測下一個 Token,並從中學習知識。但這根本不是人類的學習方式,對吧?當人讀書時,我幾乎不認為書本是我要被動接收並據此訓練的材料。書本更像是一系列“提示”,激發我去進行“合成資料生成”——比如,你會因此去參加讀書會,和朋友們討論書裡的內容。正是通過這種主動加工和處理資訊的過程,你才真正獲得了知識。我認為 LLM 完全沒有與此對應的機制。它們不會這樣做。但我非常希望能在預訓練階段看到這樣一個環節:模型能夠深入思考它所讀到的材料,嘗試將其與已有的知識體系進行融會貫通,花一些時間去消化和理解。目前沒有任何與此等效的機制,這完全是前沿的研究領域。這件事之所以不簡單,背後有一些非常微妙、難以理解的原因。比如,為什麼我們不能直接讓模型生成一些思考內容,然後用這些內容來訓練它呢?因為每一個合成的樣本都有問題。假如我讓模型針對一本書生成一些思考,你看這些生成的文字,會覺得“這看起來很棒啊,為什麼不能用它來訓練呢?”你可以試試,但如果你持續這樣做,模型的能力實際上會嚴重下降。這是因為,從模型中得到的所有樣本都存在一種“隱性坍塌”的問題。從單個樣本來看,這個問題並不明顯。但實際上,這些樣本在所有可能的思想空間中,僅僅佔據了一個極其微小的子空間。所以,LLM 生成的內容,我們稱之為“坍塌的”;它們的資料分佈是“坍塌的資料分佈”。舉一個簡單的例子就是,你去問 ChatGPT 讓它講個笑話,它翻來覆去可能就只有那麼三個。它給不了你各種各樣可能的笑話,它就只會那幾個。這就是隱性坍塌。所以,你根本無法從這些模型中獲得人類所擁有的那種豐富性、多樣性和熵。人類的思想則要“嘈雜”得多,但至少我們沒有那種系統性的偏差。從統計學上講,我們的思想不是隱性坍塌的,而是保持了巨大的熵。因此,如何克服這種“坍塌”問題,在進行合成資料生成的同時,又能保持足夠的熵,這是一個核心的研究難題。(關於模型坍塌與人類思維)任何單個樣本看起來都沒問題,但它們的整體分佈卻非常糟糕。糟糕到如果你持續用模型自己生成的內容進行訓練,模型自身就會“坍塌”。我甚至認為這個問題可能沒有根本性的解決方案。而且我也認為,人類自身也會隨著時間推移而“坍塌”。這個類比再次顯示出驚人的貼切性。人類在一生中確實會經歷思維的“坍塌”。這就是為什麼小孩子還沒有過擬合。他們會說出一些讓你震驚的話,雖然你能理解他們想法的邏輯,但那完全不是成年人會說的話。就是因為他們還沒有“坍塌”。而我們成年人,已經“坍塌”了。我們最終會反覆地陷入同樣的思維模式,說的話也越來越千篇一律,學習新事物的效率不斷下降,這種“坍塌”會持續惡化,最終一切都會退化。(關於解決方案)你可以想像通過對熵進行正則化等手段來強制增加多樣性。我猜這些方法在實際應用中效果並不理想,根本原因在於:儘管現在的模型確實是“坍塌”的,但我們要求它們完成的大部分任務,其實並不需要那麼高的多樣性。這可能就是現狀的答案。頂尖的實驗室都在努力讓模型變得更有用,而在我看來,輸出的多樣性可能並不是當前最重要的事。首先,處理和評估高多樣性的輸出要困難得多。其次,在很多應用場景下,多樣性或許並不是創造核心價值的關鍵所在。10 我們最終能獲得高效的認知核心,可能只需要十億等級的參數兒童不善於記憶資訊,反而學習能力驚人;LLM能背誦海量文字,但學習抽象概念的能力有限。人類的“健忘”是否反而是一種優勢?一個最優的“智能核心”最終需要多大?未來前沿模型的規模會如何演變?Andrej Karpathy: 我認為這裡面絕對有非常值得探討的東西。與 LLM 相比,人類確實更傾向於“只見森林,不見樹木”。我們不擅長記憶,而這其實是一種優勢,而非缺陷。正是因為不擅長死記硬背,我們才被迫去尋找更具通用性的模式。相比之下,LLM 極度擅長記憶。它們可以大段大段地背誦訓練資料裡的原文。你甚至可以給它們一些完全無意義的資料,比如你把一段文字雜湊化,得到一個完全隨機的序列,然後用這個序列去訓練它,可能只需要一兩個迭代,它就能把整個隨機序列給複述出來,完全記住。任何人都無法在只看一遍的情況下背誦一長串隨機數字。人類的這種“健忘”迫使我們只學習那些可泛化的核心規律。而 LLM 則被它們腦中海量的預訓練文件記憶所幹擾,在某種程度上,這對它們而言是巨大的干擾。所以,當我談到“認知核心 (cognitive core)”的時候,我實際上是想剝離掉記憶部分。我希望未來的模型擁有更少的記憶,從而迫使它們去主動檢索資訊。它們自身只保留思考的演算法、進行實驗的思路,以及所有這些將認知串聯起來並付諸行動的“認知粘合劑”。(關於認知核心的規模)回顧這個領域的發展歷史會發現一個很有趣的現象。曾有一段時間,所有人都極度信奉 Scaling Law,覺得模型越大越好,要做兆參數的模型。但實際上,模型參數量的發展趨勢是先上升,而現在,最頂尖的模型尺寸反而開始下降了。即便如此,我仍然認為它們記憶了太多不必要的東西。所以我之前有過一個預測:我們最終能夠獲得非常高效的認知核心,可能只需要十億等級的參數。想像一下,20 年後,你和一個十億參數的模型對話,你們可以進行富有成效的交流。它會思考,行為模式更像人類。但如果你問它一個事實性問題,它可能需要去檢索資訊。關鍵在於,它知道自己不知道,也知道需要去尋找,它會做出所有這些合理的行為。(關於預測的意外之處)我的基本觀點是問題出在訓練資料上。我們的訓練資料來自網際網路,而網際網路上的內容實在太糟糕了。正因如此,這裡面才存在巨大的提升空間。當我們談論網際網路時,你我腦中想到的可能是《華爾街日報》這類高品質內容,但這根本不是我們所用資料的常態。如果你身處前沿實驗室,隨便抽一個預訓練資料集裡的網路文件來看,會發現它完全就是垃圾。我甚至都無法理解模型究竟是如何從這種資料裡學到知識的。這些文件裡可能只是一些股票程式碼,或者充斥著大量來自網際網路各個角落的殘渣和垃圾資訊。像《華爾街日報》那樣結構清晰的文章,其實是極其罕見的。所以我覺得,正是因為網際網路資料質量太差,我們才不得不建構超大規模的模型去壓縮所有資訊。而這種壓縮,絕大部分是記憶方面的工作,而不是認知方面的工作。但我們真正想要的,是模型的認知能力,並希望它能擺脫單純的記憶。也就是說,我們需要用智能模型來幫助我們提煉預訓練資料集,將其精簡為只包含認知核心的部分。到那時,我認為一個更小的模型就綽綽有餘了,因為它使用的是質量高得多的資料集。當然,這個小模型可能不是直接在這個精煉的資料集上訓練的,而更有可能是從一個更優秀的大模型通過蒸餾的方式獲得的。(關於未來模型規模)我沒有一個特別明確的預測。但我確實認為,各大實驗室正變得越來越務實。他們有固定的算力預算和成本預算,並且發現把大部分資源投在預訓練階段並非最高效的做法。這就是近年來模型規模變小的原因。因為模型小了,預訓練的成本也隨之降低,他們便可以把節省下來的資源投入到後續的強化學習、中期訓練等所有環節。所以,他們只是在務實地權衡所有階段,以獲得最高的投入產出比。因此,預測這一趨勢非常困難。我的基本預期是,這個領域還有非常多“低垂的果實”尚待採擷。所以,我對未來的可能性持一個非常開放的看法,不確定性很大。11 AGI與經濟增長我們該如何衡量AGI的進展?是看它能完成任務的時長,還是類比人的教育水平?為何你認為AGI不會帶來經濟增長率的“爆炸”,而是會平滑地延續現有趨勢?這與AI本身就是一種可無限複製的“勞動力”的觀點似乎相悖。Andrej Karpathy: 我想我有兩個答案。第一,我幾乎想從根本上拒絕這個問題。因為我一直把 AI 看作是計算技術的延伸。我們難道會去討論如何為“計算”本身繪製一幅進度圖嗎?你會如何繪製從 1970 年代至今的計算技術發展圖?它的 X 軸是什麼?所以從這個角度看,我覺得整個問題有點滑稽。不過,我還是會嘗試回答。當人們談論 AI 和最初的 AGI 時,尤其是在 OpenAI 成立之初,我們對 AGI 的定義是:一個能夠以達到或超越人類的水平,完成任何具有經濟價值的任務的系統。這就是當時的定義,我對此非常滿意,並且一直沿用至今,儘管後來人們提出了各種其他定義。現在,人們做的第一個讓步,就是排除了所有物理世界的工作,只討論純粹的數字知識工作。我覺得這相比於最初“人類能做的任何任務”(比如搬東西等等) 的定義,是一個非常大的讓步。AI 顯然還做不到這些。但我們接受這個讓步。那麼,只考慮知識工作,我們到底剔除了多大比例的經濟活動?我其實不知道具體數字,但我猜測大概是 10% 到 20%。比如那些可以在家完成所有工作任務的人。但這仍然是一個非常龐大的市場。想想整個經濟的體量,它的 10% 或 20% 是多少?即便只在美國,這也是一個數兆美元等級的市場或工作崗位。所以這個盤子依然非常大。那麼,回到那個定義,我想我會關注的是:這個定義在多大程度上被實現了?比如說,有那些工作被 AI 替代了?一個很好的例子就是 Jeff Hinton 曾預測放射科醫生這個職業將會消失。事實證明這個預測在很多方面都大錯特錯了。放射科醫生這個職業不僅依然存在,甚至還在發展,儘管電腦視覺在識別醫療影像方面已經做得非常出色了。因為這本身是一項混亂、複雜的工作,涉及到很多方面,比如與病人打交道以及理解診斷的上下文等等。所以,根據那個最初的定義,我其實不認為 AI 已經取得了巨大的進展。但是,有些工作確實比其他工作更適合被自動化,它們具備一些特徵。一個經常被提起的例子就是呼叫中心的員工,我認為這個例子很恰當。因為呼叫中心的工作在當今技術下,具備許多易於自動化的簡化屬性。他們的工作相當簡單,就是一系列相似的任務。你接一個電話,進行大約 10 分鐘或更長時間的互動,然後在某個系統裡完成一些操作,比如修改資料庫條目。你的工作就是一遍又一遍地重複這些事。所以,這裡確實需要考慮“任務時長”,即完成單次任務需要多久。同時,它的“上下文”是受限的。你不需要和公司其他部門或客戶打交道,你面對的只是資料庫、你本人以及你服務的客戶。所以它更封閉,更容易理解,而且是純數位化的。我會關注這些領域。但即使在呼叫中心,我看到的也不是完全的自動化。我看到的是一個“自主性滑塊”。我預計我們不會立刻用 AI 替換掉所有人,而是會引入 AI 來處理 80% 的業務量,然後 AI 會把剩下的 20% 疑難問題上報給人類。人類的角色轉變為監督一個由五個 AI 組成的團隊,處理那些更常規的呼叫中心工作。所以,我會去尋找那些提供新型介面或服務的公司,它們能讓你管理這些尚不完美的 AI。我預計這種模式會擴展到整個經濟體,而很多工作的複雜度要比呼叫中心高得多。主持人:我在想放射科醫生這個例子,我完全是猜測,並不知道他們實際的工作流程是怎樣的,但一個可能適用的類比是,當 Waymo 的自動駕駛汽車剛推出時,前排會坐著一個安全員,你必須讓他在那兒,確保一旦出現嚴重問題時有人監控。我認為即使在今天,仍然有人在車裡觀察以確保一切順利。剛剛部署的 Robotaxi 實際上車裡也還是有人的。我們可能正處在一個類似的情境中:當你將一份工作自動化了 99%,那剩下必須由人類完成的 1% 會變得極其有價值,因為它成了其他所有環節的瓶頸。如果這個角色,就像放射科醫生,需要經過多年的專業訓練才能提供那最後的 1% 的保障,那麼他們的薪酬理應大幅上漲,因為他們成了阻礙技術大規模部署的唯一瓶頸。所以,我認為放射科醫生的工資上漲,可能就是出於類似的原因。如果你是這最後的瓶頸,並且你的技能是不可替代的,不像 Waymo 的安全員可能相對容易被替換,那麼你可能會看到工資先是上漲,然後直到某一天,當那最後的 1% 也被技術攻克時,這個職業才會迎來真正的轉折。我在想,放射科領域是否正在發生類似的事情。Andrej Karpathy: 你是指呼叫中心員工的薪資嗎?這是個非常有意思的問題。據我瞭解,我們目前在放射科領域還沒看到這種情況。我基本上認為放射學不是一個好例子。我不知道為什麼 Jeff Hinton 當初偏要拿放射科說事,因為我認為這是一個極其混亂和複雜的專業。所以,我會對呼叫中心員工如今的狀況更感興趣,因為我預計很多重複性的工作在今天就應該能被自動化了。我雖然沒有一手資訊,但我會去關注呼叫中心行業正在發生什麼趨勢。另外,我還會預期一種可能性:也許有些公司現在正在引入 AI,但我會再等上一兩年看看。因為我很有可能會預期他們會經歷一個“回撤”階段,最終發現 AI 不行,又重新僱傭一些員工回來。(關於經濟增長率)即使我們擁有了真正的 AGI,我說的不是今天的大語言模型,我認為一切仍將照常進行。這種情況已經持續很長時間了。我再次強調,我不認為 AI 是一項與長久以來一直在發生的技術變革截然不同的東西。這就是為什麼我覺得這很有趣,因為我曾一度試圖在 GDP 資料中尋找 AI 的蹤跡。我原以為 GDP 應該會上升,但我去研究了其他一些極具變革性的技術,比如電腦、手機等等,你在 GDP 資料里根本找不到它們。GDP 曲線仍然是那條平滑的指數曲線。即使是初代的 iPhone,它也沒有應用程式商店,也沒有現在 iPhone 擁有的各種功能。所以,儘管我們認為 2008 年 iPhone 的問世是一次驚天動地的巨變,但事實並非如此。所有變革都是如此分散、滲透得如此緩慢,以至於最終都被平均到了同一條指數曲線上。電腦的出現也是完全一樣的情況,你無法在 GDP 資料中指著某處說:“看,我們有電腦了。” 變革不是那樣發生的,它是一個極其緩慢的處理程序。AI 也將遵循完全相同的模式。它只是更高階的自動化,讓我們能夠編寫以前無法編寫的不同類型的程序。但 AI 本質上仍然是一個程序,是一種新型的電腦和計算系統,它同樣面臨各種問題,會隨著時間推移慢慢滲透,最終仍然匯入那條指數增長曲線。我們依然會沿著這條曲線前行,它將變得越來越陡峭,生活在那種環境中將會是一種非常陌生的體驗。我預期增長率也會大致保持不變。(關於AI作為勞動力)或許可以提供一個反例。首先,在這一點上,我非常樂於被任何一方說服。但我想說的是,計算本身就是勞動力。在過去,計算是由人來完成的。電腦的出現讓大量工作崗位消失了,因為它們自動化了大量原本需要人來處理的數字資訊。所以,電腦就是勞動力,這個過程已經發生了。自動駕駛也是一個例子,同樣是電腦在從事勞動。因此,我認為這已經持續了很長時間,依然是常態。(對“爆炸”論的反駁)我理解你的意思。但同時,我覺得人們總是做出這樣的假設:好了,我們現在有了一個“盒中之神”,祂無所不能。但現實絕不會是那樣的。它將只能做一部分事情,在另一部分事情上會失敗,它會被逐步地引入社會。所以我預測,我們最終看到的還是同樣的模式。因為那種“突然擁有一個完全智能、靈活、通用的人在盒子裡,並且可以把它部署到社會任何問題上”的假設,我認為這種離散的跳躍是不會發生的。因此,我相信我們會看到這項技術在整個行業中以同樣漸進的方式滲透。12 程式設計:AGI出人意料的突破口理論上,AGI 作為一個能處理所有知識工作的系統 (暫不考慮體力勞動),人們可能會天真地以為,它的發展會是這樣的:先從顧問的工作中選擇一項小任務實現自動化,再從會計的工作中選擇一項,如此類推,逐步覆蓋所有知識工作領域。但事實並非如此。如果我們相信當前的技術範式正帶領我們走向 AGI,那麼它的實際發展路徑與上述設想大相逕庭。至少目前看來,顧問、會計這類職業的生產力並沒有得到巨大提升,反倒是程式設計師的工作,正一點點地被蠶食。如果我們審視這些 AI 公司的收入構成,撇開那些類似於搜尋引擎的普通聊天業務,只看 API 收入,就會發現絕大部分都來自程式設計相關的應用。所以,這個號稱“通用”、本應能勝任任何知識工作的技術,卻幾乎一邊倒地只在做程式設計。這實在是一種出乎意料的 AGI 落地方式。AGI的發展路徑為何與人們最初的設想大相逕庭?Andrej Karpathy: 這確實是一個很有意思的觀點。我堅信,程式設計是這些大語言模型和 AI Agent 的完美切入點。原因在於,程式設計的本質始終是圍繞文字展開的:電腦終端、程式碼,一切都以文字為基礎。而大語言模型,基於其在網際網路上的訓練方式,極其擅長處理文字。因此,它們是完美的文字處理器,加上網路上存在海量的程式碼資料,這兩者簡直是絕配。此外,我們已經擁有大量為處理程式碼和文字而生的現成基礎設施。例如,我們有 Visual Studio Code 或其他 IDE 來展示程式碼,AI Agent 可以直接整合進去。再舉個例子,如果一個 AI Agent 對程式碼做了一些修改,生成了一個差異檔案 (diff),我們立刻就能利用現有的無數工具來清晰地展示程式碼庫的全部變動。可以說,我們幾乎已經為程式碼應用鋪好了所有基礎設施。相比之下,其他一些領域就完全沒有這種優勢了。例如,有些人嘗試將自動化應用於幻燈片製作,這項工作的難度要大得多。難點就在於,幻燈片不是文字,它由各種小的圖形元素、空間佈局和視覺元件構成,並且完全沒有像程式碼領域那樣現成的基礎設施。比如,如果一個 AI Agent 修改了你的幻燈片,你要用什麼工具來展示這些改動呢?你如何查看這些差異?根本沒有現成的工具可以用來比較幻燈片的版本差異,一切都得從零開始開發。所以結論就是,很多領域本質上並不適合目前以文字處理為核心的 AI,但出人意料的是,程式設計恰恰非常適合。主持人: 為什麼即使在純語言領域,除了程式設計之外,我們也很難從這些模型中挖掘出巨大的經濟價值?Andrej Karpathy: 你說的有道理。我並非認為所有文字任務都輕而易舉。我確實覺得程式碼是高度結構化的。相比之下,普通文字的變化更豐富,或者說文字中含有更高的“熵”,我暫時想不到更確切的詞來形容。此外,程式設計本身是一件難事,所以即便是從大語言模型那裡獲得一些簡單的知識輔助,也能讓人感覺能力得到了極大的增強。說實話,我並沒有一個非常完美的答案。我的觀點是,AI 處理文字的能力確實使其應用門檻降低了很多,但這並不意味著所有與文字相關的任務都毫無難度。13 LLM目前沒有文化,也沒有與自博弈等價的機制,它們仍是“孩子”進化偶然催生了智能這件事,會讓你感到更驚訝還是理所當然?智能的出現是罕見事件嗎?我們訓練AI的方式,是否使其天然具備了人類花費數萬年才建立的“文化循環”?你設想的“大語言模型文化”是怎樣的,為何它至今仍未出現?Andrej Karpathy: 順便一提,我很喜歡 Nick Lane 的書。我剛才還在聽一個相關的播客。談到智能及其進化,我確實認為它的出現相當晚,可以說是在非常近的時期。它的進化令我感到驚訝。我覺得思考宇宙中其他所有可能的世界是一件非常迷人的事。比如,假設有一千個像地球一樣的行星,它們會是什麼樣子。我想 Nick Lane 探討過一些早期演化的階段,他預想,在大多數這樣的行星上,基本上都會有非常相似的、大致像細菌一樣的生命形式。然後,進化過程中會出現幾次重大的突破。我直覺地認為,智能的進化應該是一個相當罕見的事件。我們可以從物種存在的時間長度來推斷。例如,細菌存在了 20 億年,卻沒有任何進一步的發展,那麼演化到真核生物 (eukaryotes) 可能就非常困難,因為細菌在地球進化史的早期就已經出現了。所以,動物出現多久了?大概幾億年吧,像是那些會跑動、爬行的多細胞動物,這大約只佔地球生命史的 10%。從這個時間尺度上看,智能的出現或許並非難事,但我個人仍然覺得這很令人驚訝。我直覺地認為,這種發展是出乎意料的。我也許會預料到宇宙中只存在大量像動物一樣的生命,做著動物會做的事。但最終能誕生出可以創造、積累文化和知識的物種,這著實令我驚奇。(關於AI文化)我的看法是,大語言模型其實並沒有真正意義上的文化。或許是我們給它們“喂”了太多現成的資訊,反而使它們失去了創造自身文化的動機。人們所說的文化,包括書面記錄、個體間的筆記傳遞等,我認為目前的大語言模型中不存在任何與此等價的東西。所以,大語言模型現在並沒有文化,我認為這恰恰是其發展的障礙之一。(關於“大語言模型文化”的設想)在最簡單的情況下,它可以是一個所有大語言模型都能編輯的巨大“草稿板”。當一個大語言模型在閱讀資料或幫助人類工作時,它可以為自己和其他同伴編輯、更新這個草稿板。為什麼一個大語言模型不能為其他大語言模型寫一本書呢?這會非常酷。為什麼其他大語言模型不能閱讀這本書,並從中受到啟發或感到震驚呢?目前,這一切都還不存在。(關於多智能體系統與瓶頸)我認為在多智能體領域,有兩個非常強大的理念至今仍未被真正實現。第一個就是我剛才提到的“文化”,即大語言模型為自身目的去擴充知識庫。第二個則非常像“自博弈”這個強大理念,在我看來它極具潛力。在進化過程中,競爭是驅動智能演化的重要因素。從演算法層面看,AlphaGo 正是通過與自己對戰,才學會在圍棋上達到頂尖水平。但在大語言模型領域,目前還沒有與自博弈等價的機制,儘管我堅信它應該存在,只是還沒人實現。比如,為什麼不能讓一個大語言模型創造一系列問題,由另一個大語言模型來學習解決?出題的大語言模型不斷提升難度,諸如此類。我認為有很多方式可以組織這種互動,這本身就是一個研究領域。但我還沒看到任何令人信服的研究同時實現了“文化”和“自博弈”這兩種多智能體帶來的提升。我們目前的研究很大程度上仍停留在單個智能體的範疇,但我認為這種情況即將改變。此外,在“文化”這個大類下,我還想加入“組織”的概念,我們同樣沒有看到任何有說服力的 AI 組織出現。所以,我們仍處於非常早期的階段。我想說的是,一個有些不可思議的類比似乎總是成立,儘管它本不該如此。那些較小、能力較弱的模型,在某種程度上確實很像幼兒園學生,大一點的就像小學生或高中生。但我們似乎還沒有“畢業”,模型的能力還沒有成熟到可以自主發展的階段。即使是像 Codex 這樣的程式碼模型,給我的感覺仍然像個小學生。我知道它們能通過博士等級的考試,但在認知層面,它們仍然像幼兒園或小學的孩子。所以我認為它們無法創造文化,因為它們自己還是“孩子”。它們就像是“學者綜合症兒童”,對海量資訊擁有完美的記憶力,能夠令人信服地生成各種看似精美的“垃圾內容”。但我仍然認為,它們並不真正理解自己在做什麼,也尚未集齊我們期待的、真正認知能力所需要滿足的全部條件。14 從自動駕駛到未來教育你在特斯拉領導自動駕駛團隊的經歷,對於理解AI從“演示”到“產品”的鴻溝有何啟示?為什麼這個過程如此漫長?你現在投身教育領域,創辦Eureka項目,是出於怎樣的考慮?你理想中的AI導師是怎樣的,以及如何才能教好技術和科學內容?Andrej Karpathy: 首先,我必須反駁一點:自動駕駛這項工作還遠沒有完成,在很多方面都如此。我確實認為自動駕駛是一個非常有意思的領域,我從中獲得了很多直覺,畢竟我為此投入了五年時間。這個領域有很長的歷史,最早的自動駕駛演示可以追溯到 1980 年代。你甚至能找到 1986 年 CMU 的一個演示,一輛卡車在路上自動行駛。快進到我加入 Tesla 的時候,我體驗過一個非常早期的 Waymo 演示,大概是在 2014 年,它給了我一次完美的駕駛體驗。那是在十年前,一次完美的 Waymo 自動駕駛,載著我們在 Palo Alto 轉了一圈,因為我有個朋友在那裡工作。當時我感覺這項技術已經非常接近成功了,但之後仍然花了很長的時間。我確實認為,對於某些類型的任務和工作,從“演示”到“產品”之間存在著巨大的鴻溝。演示可能看起來很容易,但打造成熟的產品卻異常艱難,在自動駕駛這類失敗成本極高的領域尤其如此。在許多其他行業,任務和工作可能不具備這個屬性,但一旦你面對這個屬性,項目的時間線就必然會大大延長。我認為,在軟體工程領域,這個屬性同樣存在。對於那種憑感覺、為了好玩的“氛圍程式設計”來說可能不存在,但如果你寫真正的生產級程式碼,我認為這個屬性就必須被考慮,因為任何一個錯誤都可能導致安全漏洞,進而造成數百萬甚至上億使用者的個人敏感資訊洩露。所以我認為,在軟體開發領域,人們也應該像對待自動駕駛一樣謹慎。在自動駕駛中,如果出錯,可能會導致人員受傷;而在軟體領域,我幾乎覺得某些潛在的糟糕後果是無法估量的。所以我認為兩者共享這一屬性。我認為,之所以花費這麼長時間,關鍵在於要理解這是一個“九的行軍”,每提升一個“9”的可靠性,都需要付出同等量級的努力。當你做出一個演示,能在 90% 的情況下工作,這只是第一個“9”。接下來你需要第二個“9” (99%),第三個“9” (99.9%),第四個,第五個。我在 Tesla 的五年裡,我們大概經歷了三個或兩個“9”的迭代,具體記不清了,但就是這樣不斷提升可靠性的過程。而且,前面還有更多的“9”等著我們去實現。這就是為什麼這類項目如此耗時。這段經歷對我思想的形成至關重要。我曾經非常容易對演示感到驚豔,現在每當我看到任何產品的演示,我仍然會印象深刻。但你要知道,別人精心準備後展示給你的演示,是最具迷惑性的。如果你能親手操作一下,情況會好一些。但即便如此,你離真正的產品還差得遠。一個真正的產品需要直面現實世界中所有預想不到的挑戰,以及無數需要修補的、零散的邊緣行為場景。所以我認為,我們將會看到這一切在 AI 其他領域重演。“九的行-軍”中,每個“9”都代價恆定。演示固然鼓舞人心,但要走的路還很長。我認為這確實是一個性命攸關的安全領域,除非你只是在做一些好玩有趣的“氛圍程式設計”。因此,這段經歷也塑造了我對 AI 發展時間線的看法。(關於Eureka項目與教育)我想可以這麼說,我感覺那些頂尖 AI 實驗室正在做的事情,其發展路徑在某種程度上是註定的。我覺得自己雖然可以參與其中,但我並不認為我的加入能帶來什麼獨一無二的改變或提升。我個人最大的擔憂是,很多 AI 的發展會繞開人類進行,導致人類最終被邊緣化,喪失自主權。我關心的不僅僅是 AI 將以完全自主的方式為我們建造戴森球那樣的宏偉工程。我更關心人類的命運,我希望人類在未來能過得很好。我覺得,相比於在前沿實驗室裡做出一些增量式的改進,我能在這裡 (教育領域) 創造出更獨特的價值。所以對我而言,教育是實現這一目標的途徑。關於 Eureka,我想最簡單的比喻就是建立一個“星際艦隊學院”,不知你是否看過《星際迷航》。星際艦隊學院就是一個精英機構,專注於前沿技術,比如建造宇宙飛船,並培養學員成為駕駛這些飛船的飛行員。所以我設想的也是這樣一個頂尖的精英技術知識學府,一所非常與時俱進的頂尖院校。(關於AI導師與教學方法)關於 Eureka,教育領域有一點讓我非常著迷,那就是 AI 的加入必將從根本上改變教育。我認為教育體系必須進行某種程度的重塑和變革。目前我們還處於非常早期的階段。我想,很多人會去嘗試那些顯而易見的應用,比如用一個大語言模型來問問題,做一些目前通過提示就能完成的基本操作。這固然有幫助,但在我看來還非常粗放和不成體系。我希望用一種更嚴謹的方式來做這件事,但目前的技術能力還達不到我的要求。我想要的是一種真實的、一對一的導師體驗。我腦海裡有一個很典型的例子,就是我最近學習韓語的經歷。起初,我在網上自學;後來,我在韓國參加了一個小班課,和大概十來個同學一起跟著一位老師學習,那段經歷很有趣。最後,我換成了一對一的家教。這段經歷讓我非常感慨,因為我遇到了一位極好的導師。回想起來,她為我所做的一切,那種學習體驗,簡直不可思議,也為我最終想要打造的產品設立了極高的標準。她非常敏銳,僅通過一次簡短的對話,就能立刻瞭解我作為學生的水平,知道我懂什麼、不懂什麼,並且能精準地提出問題來探查我的知識體系。目前沒有任何一個大語言模型能做到這一點,甚至差得很遠。但一位優秀的導師就能做到。一旦她瞭解了我的情況,她就能精準地為我提供我當前能力水平所需要的一切內容。我總是能獲得難度適中的挑戰,既不會太難,也不會太簡單。一位好導師就擅長於提供這種恰到好處的學習材料。所以,我當時感覺自己成了學習的唯一瓶頸,唯一的障礙就是我自己的吸收和記憶能力,而不是找不到知識或者知識講解得不好。這正是我希望為所有人實現的目標。(關於如何教好技術)我認為這是一個相當寬泛的話題。我感覺自己大概有十到二十個或多或少會有意無意使用的小技巧。但從宏觀層面來說,我想這很大程度上源於我的物理學背景,我真的非常享受這段經歷。我甚至極力主張,每個人在基礎教育階段都應該學習物理。因為我認為基礎教育的目的不是為了日後工作而去積累知識,而是為了啟發心智。物理學在這方面獨樹一幟,因為它能讓你在腦中進行的某些思維訓練,對未來非常有價值。比如,建立模型和抽象概念的思路,以及理解系統總可以用一個一階近似來描述大部分情況,但其後還可能存在二階、三階、四階項。再比如,你觀察到的系統可能充滿噪聲,但實際上存在可以抽離出來的基本頻率。就像物理學家走進教室說:“假設有一頭球形奶牛……”,大家聽了都會笑,但這其實是非常了不起的思維方式,在各行各業都具有極強的普適性。因為在很多情況下,一頭牛確實可以被近似成一個球體。得益於這種訓練,我在觀察一個系統或事物時,總是試圖找出它的一階項和二階項。當我腦中有一堆錯綜複雜的想法或知識時,我會努力尋找什麼才是真正關鍵的?什麼是一階份量?我該如何簡化它?如何用最簡單的模型來展示其核心?然後再去處理其他次要項。我的一個項目 micrograd,或許可以很好地說明這一點。micrograd 用 100 行程式碼就展示了反向傳播。你可以用加法、乘法等簡單的操作來建構神經網路,就像搭樂高積木一樣。你建立一個計算圖,執行一次前向傳播和一次反向傳播來獲得梯度。這正是所有神經網路學習的核心。所以,micrograd 這 100 行 Python 程式碼,包含了理解神經網路訓練所需的全部精髓。其他的一切,都只是為了提升效率。我非常喜歡找到這些更低階的核心要素,然後將它們清晰地呈現出來。我覺得教育是智力上最有趣的事情,因為你面對的是一團錯綜複雜的知識,而你的任務是把它梳理清楚,鋪設成一條知識的坡道,讓後面的每一步都建立在前面一步的基礎之上。我發現,這種梳理知識的過程,本身就是一項極富智力趣味的認知任務。所以我個人非常享受這個過程,並著迷於如何以特定的方式將知識呈現出來,這或許對我的教學很有幫助。 (數字開物)