


6 月 16 日舊金山舉行的 YC AI Startup School 上,Andrej Karpathy 發表主題演講,系統梳理了軟體正規化的深層變革,並提出未來 AI 系統設計的關鍵方向。

他指出,軟體正在進入一個快速重寫與結構重構的時代,而這場變革的核心動力正是大型語言模型的興起。

此次演講基於 Karpathy 圍繞“軟體 1.0 到軟體 3.0”的演進路徑,深入探討了自然語言程式設計、Agent 應用、產品自治性滑塊、以及人類在環等關鍵議題。演講不僅回顧了過去十年 AI 與軟體融合的程序,也展望了一個以人機協同為基礎的新軟體世界。

Andrej Karpathy 指出,軟體行業正處於一個深刻變革的階段。現在正是進入軟體行業的絕佳時機,不僅因為行業發展迅猛,更因為軟體本身正在經歷前所未有的根本性轉變。
過去 70 年,軟體的基本正規化幾乎沒有發生實質性變化,而近幾年卻連續出現兩次底層變革,導致現有的軟體體系面臨大規模重寫與重構的任務。以“軟體地圖”為喻,Karpathy 引用了一個名為 GitHub 地圖的視覺化工具,展示整個軟體世界的結構。這些程式碼倉庫代表了人們寫給計算機的所有指令集合,是數字空間中完成任務的基礎邏輯。
幾年前,新的軟體形態開始出現,Karpathy 提出了“軟體 2.0”的概念。區別於軟體 1.0 時代“手寫程式碼”的方式,軟體 2.0 的核心是神經網路的權重,開發者不再直接編寫程式邏輯,而是調整資料集並用最佳化器訓練出合適的模型引數。這一過程的本質是透過資料訓練出能夠執行復雜任務的網路,而非精確指令的堆砌。彼時,神經網路多被視為分類工具,如決策樹等模型,但“軟體 2.0”的說法更加準確地刻畫了這一正規化的躍遷。
對應軟體 1.0 時代的 GitHub,軟體 2.0 也已有平臺基礎。Hugging Face 被視為這一時代的 GitHub,另一個平臺 Model Atlas 則可視化了模型“程式碼”本身。在這個平臺上,例如影像生成器 Flux 的引數以影像節點形式呈現,每次微調一次 LoRA 引數,就如同“提交一次 Git 更新”,系統中便出現一個新的影像生成模型。

因此可以將三代軟體的演進總結為:
-
軟體 1.0:用程式碼程式設計計算機;
-
軟體 2.0:用權重引數“程式設計”神經網路;
-
軟體 3.0:用英文 prompt 程式語言模型。
以 AlexNet 為例,這一影像識別模型屬於軟體 2.0 的代表作品。當下的關鍵變化在於,大型語言模型(LLM)的出現使神經網路具備了被程式設計的能力,這是一種全新的計算形態,Karpathy 將其命名為“軟體 3.0”。
在軟體 3.0 的正規化中,prompt 變成了程式,而語言模型則成為通用執行器。最具突破性的是,這些程式不再使用專業語言,而是以自然語言表達,例如英文。這一轉變極大地降低了軟體互動的門檻,也顛覆了傳統開發流程。
例如同樣是進行情感分類,可以選擇:
-
編寫 Python 指令碼(軟體 1.0);
-
訓練神經網路模型(軟體 2.0);
-
直接提供一個 prompt 給 LLM(軟體 3.0)。
這種從程式碼到權重再到語言的演進,代表著計算正規化的逐步抽象與人機互動方式的根本性革新。
few-shot prompt 的出現使語言模型具備了更大的靈活性,稍作修改即可實現完全不同的行為方式,提示詞正在成為新時代的程式語言。當前階段是軟體 1.0、2.0、3.0 三種正規化並行共存的時期,GitHub 上的程式碼早已不再是純粹的程式語言,而是大量混雜著英語自然語言,這標誌著一種新型程式碼形態的誕生,一種以人類母語為基礎的新型程式設計正規化已經浮現。
Karpathy 回憶稱,當首次意識到這一趨勢時,感到震撼不已。他當即在推特上寫下並置頂了一句評論:“我們正在用英語程式設計計算機。”
在 Tesla 開發自動駕駛系統期間,這一趨勢變得愈發明顯。自動駕駛的系統輸入來自感測器資料,經過複雜的軟體堆疊處理後輸出轉向與加速指令。最初系統中充滿了 C++ 編寫的傳統軟體程式碼,即軟體 1.0,也混雜著用於影像識別的神經網路模組。但隨著 Autopilot 系統持續迭代,神經網路逐漸接管了更多功能,傳統程式碼被不斷刪除,原本依賴硬編碼實現的影像處理被神經網路模型所取代,整個系統由軟體 2.0 逐步“吞噬”。
這股“吞噬傳統程式碼”的浪潮再次上演,只不過這一次是軟體 3.0 開始取代部分 2.0 的邏輯。三種正規化共存的環境中,對工程師提出了新的要求:不僅需要熟練掌握三種工具,更要能在它們之間靈活切換,按需選取最合適的方式去構建系統。
▍Part1:如何理解大模型?

語言模型崛起帶來的正規化變化,也促使人們重新思考“計算機”的定義與結構。Andrew Ng 曾將 AI 比作“新的電力”,Karpathy 認為這個比喻非常貼切。OpenAI、Gemini、Anthropic 等實驗室像是在建設智慧電網,付出鉅額資本開支(CapEx)訓練模型,而使用者則透過 API 按量計費使用模型的智慧服務,這本質上是一種“按需供能”的模式。
這種供能模式具備公共基礎設施的所有典型特徵:低延遲、高可用性、一致性好、可擴充套件性強。就像傳統電網允許在主電源失效時切換至太陽能、電池或柴油機發電,LLM 生態中也出現瞭如 OpenRouter 等工具,實現多模型間的無縫切換。因為語言模型不爭奪物理資源,這種“智慧多供應商”的架構成為可能。

近期多家主流模型宕機時的現象進一步印證了這一點。當 GPT、Claude、Gemini 同時中斷服務時,全球範圍內的 AI 使用者瞬間陷入“智慧限電”狀態,這是一場典型的“腦力停電”危機,顯示出現代人對這些模型的高度依賴性。
不過 Karpathy 進一步指出,這些模型並不只是“公共事業”層級的工具,它們的訓練複雜度與成本也令其具備“晶圓廠”(fabs)的某些特徵。訓練一個 LLM 所需的資源遠超一座發電廠,不僅涉及龐大的資料管線,還包括尖端硬體、專屬加速器與長期演算法積累,整個過程是深度技術、研發能力和智慧財產權的高度集中體現。
即便如此,這些比喻仍顯不夠貼切。因為軟體具備可複製性與較低的護城河壁壘,相較硬體體系更易被挑戰或重構。如果類比晶圓廠與晶片產業:
-
擁有自主晶片(如 Google 的 TPU)並自行訓練模型的公司類似於英特爾;
-
僅使用通用硬體執行模型的公司類似於無廠房設計模式(fabless)。

但在 Karpathy 看來,最合適的類比物件是“作業系統”。語言模型並非像電、水那樣的靜態商品,而是一個日益複雜、具備平臺屬性的技術棧。正如作業系統有 Windows、macOS、Linux,LLM 生態中也有閉源模型與開源模型並存:GPT、Claude、Gemini 等封閉系統構成“主流平臺”,而 LLaMA 等開源模型則代表著 AI 世界的 Linux。
語言模型的底層結構開始呈現出類作業系統的組織形式:模型本體是“CPU”,上下文視窗是“記憶體”,而模型執行機制承擔排程角色,像是在管理一整套任務系統。與傳統計算平臺類似,一款應用如 VS Code 可以執行在不同的作業系統上;而類似 Cursor 的 LLM 應用也可運行於多個模型之上,只需切換模型引擎即可。
這種形態與 1960 年代的計算環境極為相似。當年,主機部署在資料中心,使用者透過遠端終端請求資源。如今,LLM 作為一種高成本的集中式計算資源,也只能以雲端部署為主,人們透過 API 與其互動,本質上是一種“時間共享計算”系統。
個人智慧尚未真正到來。不是因為沒有人嘗試,而是因為算力與模型資源尚不具備充分本地化部署條件。某些裝置如 Mac Mini 已可在小規模上執行推理任務(batch=1),受限因素主要是記憶體而非計算能力。但 Karpathy 指出,真正的“個人 LLM”尚未到來,它需要新的硬體架構、介面正規化與產品形態來實現“桌面級智慧”。
以 ChatGPT 為代表的互動方式,如今更像是透過“命令列終端”使用系統功能。雖然部分任務已有圖形介面(GUI),但尚未出現一種統一 GUI 適配所有 LLM 應用的方案。這個“缺失的圖形介面”意味著語言模型還未完成從工具到平臺的進化。
在 Karpathy 看來,最令人著迷的,是大型語言模型顛覆了技術擴散的歷史路徑。歷史上每一項重大技術——從電力到計算機、從 GPS 到網際網路——最初都是政府或軍方專屬,再逐步傳導到企業與個人使用者。但 LLM 卻反其道而行之,這一次最早被觸達、最深度應用的場景,是“煮雞蛋”這樣的日常任務,是寫作、查資料、規劃旅行這樣的大眾應用。
這是一種從底層社會結構向上傳導的擴散過程,政府與企業反倒成為“追趕者”。ChatGPT 等工具幾乎是“從天而降”進入全球使用者的螢幕,技術的普及速度之快、應用廣度之廣,前所未有。
總結這場正規化遷移的核心特徵:
-
LLM 實驗室是新型“智慧工廠”;
-
模型平臺構成作業系統生態;
-
當前處於 1960 年代式的集中計算格局;
-
LLM 被當作公共基礎設施使用;
-
技術擴散路徑發生逆轉,大眾成為首批使用者;
-
模型以終端形式迅速滲透全球桌面環境。
正是在這樣的背景下,新一代開發者開始程式設計這些“新計算機”,進入一個與以往完全不同的工程世界。
▍Part2:LLM 心理機制
在正式開始寫 prompt、構建 agent 之前,更重要的是深入理解語言模型的心理機制與結構本質。

Karpathy 用“人的精神的隨機模擬體(stochastic simulations of people)”來定義 LLM。它並不是傳統意義上的計算系統,而是某種泛人類語言經驗與推理模式的集合體,由 Transformer 架構實現,每個 token 的預測消耗相似計算量,模擬出對話與推理過程。
這些模型透過大量網路文字訓練形成“泛人類語言模擬器”,自然也表現出一些心理學上的“人格缺陷”:比如在部分推理任務中展現超人能力,卻又可能在拼寫或邏輯判斷中犯下低階錯誤。
Karpathy 舉例稱,這些模型可能會堅持認為 “9.11 > 9.9”,或拼錯 “strawberry”,難以判斷是否包含兩個 “r”。這就是語言模型的雙重特性——既是全知的“數字雨人”,又是偶爾出錯的初學者。
這種“鋸齒狀的智慧”極難預測,它在某些方面表現得像個天才,在另一些方面卻像個糊塗蟲。語言模型還存在“順行性遺忘症”(anterograde amnesia),就像一個每天都重啟的同事,無法累積經驗,也無法鞏固記憶。它不具備自然學習能力,不會自己變聰明,必須依賴外部人為地管理其“工作記憶”——即上下文視窗。
這也是很多人誤用語言模型的根源所在。它不會記住使用者的偏好、風格或歷史交流,也無法像人類一樣漸進式地構建認知與能力體系。因此,Karpathy 強烈推薦觀看《記憶碎片》(Memento)與《初戀 50 次》(50 First Dates)兩部影片,它們的主角每天醒來都喪失記憶,這種設定與語言模型的執行機制高度相似:權重固定、記憶短暫,每一次互動都是從零開始的“重啟”。
除了記憶侷限,語言模型還存在顯著的安全隱患。它非常容易受到 prompt injection 攻擊,可能在無意識中洩露資訊或暴露敏感資料。必須始終牢記:這是一位具備超能力卻存在認知缺陷的“超級同事”,如何引導其能力、規避其短板,是工程與產品設計的核心問題。
▍Part3:Karpathy 看到的機會
轉向更現實的議題:如何有效使用語言模型?有哪些新興方向值得關注?Karpathy 提出一類值得重視的產品形態——“部分自治型應用”(partial autonomy apps)。
以寫程式碼為例,雖然可以直接開啟 ChatGPT,複製貼上 bug、提問並獲得答案再回貼,但這種方式效率低、上下文管理複雜,互動體驗也缺乏結構。更高效的方案是為特定任務設計專用應用,以圖形介面與任務流程相結合,從而獲得更優解。
Cursor 是目前廣泛使用的 LLM 程式設計應用之一,代表了這類“部分自治型應用”的雛形。其關鍵特徵包括:
-
自動管理上下文:能識別開發者當前在做什麼,並主動載入相關檔案內容;
-
編排多模型呼叫:後臺呼叫嵌入模型構建程式碼索引,再呼叫語言模型處理邏輯與補丁,實現多 Agent 協作。
Cursor 不僅保留傳統 IDE 的互動習慣,還疊加 LLM 的智慧能力,實現更自然的工程流。Karpathy 強調,圖形使用者介面(GUI)在這一類應用中極其關鍵,不應只依賴文字互動完成任務。
以程式碼補丁為例,與其讓語言模型輸出自然語言解釋更改內容,不如用視覺化的紅綠 diff 標記來展示修改差異。一目瞭然的介面、快捷鍵支援、明確的接受/拒絕機制,使得人類可以高效參與決策,並監督模型的“動手能力”。
他進一步提出“自主性滑塊”(autonomy slider)概念,允許使用者靈活控制 LLM 的干預程度。在 Cursor 中可以:
-
只使用補全(tap completion);
-
用快捷鍵改寫選中段落(Command+K);
-
重寫整個檔案(Command+L);
-
或賦予 agent 完全許可權在整個倉庫中操作(Command+I)。
這種“許可權調節機制”讓使用者可根據任務複雜度自由切換在人類主導與 AI 主導之間,有效平衡 agent 的效率與可控性。
另一個成功的例子是 Perplexity,其特徵結構與 Cursor 高度類似:
-
資訊整合能力強,介面清晰;
-
能排程多個 LLM 模型協同工作;
-
擁有 GUI,允許使用者追溯引用、審閱內容;
-
提供自主性滑塊,從簡單搜尋到十分鐘後生成完整研究報告,覆蓋從低干預到高自治的多種使用場景。
這些產品形態啟發一個更深層的問題:未來大多數軟體都會演化為“部分自治系統”,那它們究竟應該長成什麼樣?
對產品經理與開發者而言,核心挑戰是:如何讓一個產品擁有可控的智慧自主性?
需要逐一回答的問題包括:
-
LLM 能否“看到”使用者所能看到的全部資訊?
-
LLM 是否能以使用者可以接受的方式採取行動?
-
在任何階段,使用者是否都能插手、監督、修正 AI 的行為?
這些問題構成了“新型軟體產品設計”的起點。在傳統軟體中,行為路徑由硬編碼定義;在軟體 3.0 時代,產品行為由 prompt、工具呼叫、上下文感知與多模型編排共同構建,而 GUI 與“自治滑塊”則成為承接人機共創邏輯的關鍵機制。
語言模型不是完美系統,它需要人類“始終在環中”參與運作。就像 Photoshop 的 diff 呈現方式一樣,傳統軟體中大量面向人的按鈕、引數、面板,都將因 AI 的接入而面臨重構。GUI 的設計必須圍繞如何讓人類與 AI 更高效地協作重新思考。
生成—驗證閉環的速度決定了 LLM 應用的產出效率。加快這一閉環的方式主要有兩個:其一是最佳化驗證流程,尤其是透過圖形介面。GUI 可以啟用大腦的視覺系統,相較於處理文字,影像更易理解、更具審閱效率。其二是為 AI 繫上“繩子”,防止其行為過度主動、超出人類可控邊界。
Karpathy 指出,agent 的能力雖令人興奮,但讓它一次性在程式碼倉庫裡提交 1000 行 diff 並不可取。即使生成速度再快,審閱仍是瓶頸。他傾向於“小步快走”,每次引入最小可控更改,確保每一步都是正確、合理的。AI 過於主動時,系統反而更難使用,也更易出錯。
部分部落格開始總結如何與 LLM 高效協作的最佳實踐。例如寫 prompt 時必須具體清晰,否則驗證失敗就會導致多次無效迭代。越清晰的 prompt,驗證效率越高,整體協作流程越順暢。未來,每位使用者都將發展出自己的一套 prompt 寫作與 AI 協作風格。
他進一步探討 AI 時代對教育系統的衝擊。與其讓 ChatGPT 直接教授知識,不如將教學任務拆分為兩個系統:一個為老師使用,用於生成課程內容;一個為學生服務,用於傳達課程。課程本身作為“中間產物”,可供稽核、統一風格、防止偏題,是“拴住 AI”的有效路徑。這種結構性設計更易推廣,也更符合 AI 教學系統的實際要求。
Karpathy 將 LLM 應用比作自動駕駛系統,指出兩者的核心理念與難點非常相似。他在 Tesla 工作 5 年,深度參與 Autopilot 的“部分自主系統”構建。儀表盤是 GUI,自主性滑塊控制介入程度,這些設計理念直接可遷移到 AI agent 系統中。
回憶 2013 年第一次體驗自動駕駛情景時,他仍記得乘坐 Waymo 測試車、佩戴 Google Glass 的感受。那段體驗帶來的震撼讓人以為自動駕駛即將全面普及。但 12 年過去了,自動駕駛仍未攻克,依然需要大量遠端接管與人工干預。這說明真正改變世界的系統通常要經歷一個遠比預期更長的技術演化週期。
語言模型的複雜性與自動駕駛不相上下。“2025 是 AI Agent 之年”這樣的說法太過草率,更現實的說法是:這是 AI Agent 的十年週期,需要長期迭代、人類持續在環、漸進推進。這種軟體形態,不是一次性的 demo 專案,而是必須嚴肅對待的基礎設施演化過程。
他再次引用喜愛的類比物件——鋼鐵俠戰衣(Iron Man suit)。戰衣是增強工具,也是 agent,是自主性滑塊的具象化表現。理想產品應是人機共駕的“智慧戰衣”,而非全自主的“AI 機器人”。應聚焦於構建部分自主性產品,內建 GUI、UX、互動邏輯和許可權調節機制,讓人類主導、AI 協助的模式變得流暢高效。
產品目標應是:構建能加速生成—驗證閉環的工具,同時保留未來放權自動化的路徑。產品架構中要具備可調節的“自主性滑塊”,並設計機制支援隨著時間推移逐步釋放許可權,讓系統越來越智慧。
此類產品形態潛藏大量機會,是當下值得重點關注的發展方向。
談及自然語言作為程式語言的革命性意義,Karpathy 表示,過去人們需耗費 5~10 年學習一門程式語言才能參與軟體開發,如今只需掌握自然語言。人人都是程式設計師,只要能說話,就能操控系統,這是前所未有的變革。
他提出“vibe coding”概念——最初是一個洗澡時靈光一現的推文,意外爆紅,甚至被製成了 Wiki 條目。vibe coding 是一種基於自然語言與智慧系統協作的全新程式設計方式,它將程式設計過程從寫程式碼轉變為“調節系統氛圍感(vibe)”和描述意圖。
他提到 Hugging Face 的 Thomas Wolf 曾分享過一段孩子們進行 vibe coding 的影片。孩子們在沒有程式碼知識的前提下,透過自然語言描述構建體驗,展現出強烈的創造欲與沉浸感。他稱這段影片為最喜歡的影片之一,“怎麼可能在看到這段影片後,對未來感到悲觀?”
vibe coding 是一代人進入軟體世界的“入門藥物”,它將以極低的門檻喚起數十億人的創造衝動,帶來前所未有的開發者浪潮。他對這一代人感到振奮,並親自參與嘗試。
他用 vibe coding 構建了一個 iOS 應用,即使不懂 Swift,也能透過 prompt 和 LLM 協作完成一款可執行的 app。整個開發過程僅耗時一天,儘管應用功能簡單,仍讓他感到驚訝:智慧協作工具已經將開發門檻降至極低水平,讓軟體開發進入了一個真正大眾化的時代。
Karpathy 在演講最後部分分享了他以 LLM 為基礎進行產品構建的實際經歷,進一步佐證了“人人都是程式設計師”這一觀點。他並未學習 Swift,但依然能在一天內構建出一個可執行的 iOS 應用。不再需要五天啃完教程才能開始動手,vibe coding 為“不會寫程式碼的人”打開了全新創作入口。
他還介紹了自己開發的 MenuGen 應用,初衷源自一個真實痛點——看不懂餐廳選單。他希望選單能配上圖片,便著手開發該工具:使用者開啟網頁、拍攝選單,系統自動生成菜品影像。每位使用者享有 5 美元免費額度。雖然目前這個應用是“巨大虧損中心”,但他依然樂在其中。
最簡單的是模型原型,最複雜的是部署運維。MenuGen 的網頁功能幾個小時便完成,真正耗時的,是上線、整合身份驗證、處理支付、配置域名等繁瑣流程。他以整合 Google 登入為例,需要引入 Clerk 庫,並按指示執行多個跳轉、配置步驟。這種體驗讓他反思:如果系統已經具備 Agent 能力,為何這些重複勞動仍需手動完成?GUI 與流程邏輯依然是為人類而非 Agent 所設計的。
由此引出一個核心議題:是否能開始構建為 Agent 而生的軟體系統?
人類與網頁互動已有標準介面如 GUI、API;但 AI Agent 作為“類人計算者”,也需獲得適配層。他設想,網站能否提供一個類似 robots.txt 的 llm.txt 檔案,以 Markdown 結構明確說明頁面用途、結構與行為邏輯,為 LLM 提供標準化、高效率的互動入口。
目前大部分技術文件是寫給人看的,包含影像、排版等裝飾性資訊,不利於 LLM 理解。而 Vercel、Stripe 等公司已開始使用 Markdown 編寫文件,這種結構天然適配語言模型,是 LLM 可讀化的重要方向。
他舉例自己學習動畫製作框架 Manim 的經歷:透過複製整份文件給語言模型,再描述想做的動畫,LLM 一次生成了完全符合預期的程式碼,無需他查閱文件或理解庫的結構。這意味著,文件如果格式化得當,非程式設計師也能借助 LLM 進行專業創作,釋放巨大創造潛力。
不過,Karpathy 指出,文件結構改造只是第一步,更關鍵的是改變內容表達方式。傳統說明文件中“點選這裡”等描述毫無語義,LLM 無法執行。像 Vercel 正在將所有“點選”類指令替換為可執行的 curl 命令,Agent 就能呼叫 API 而非依賴 GUI。這是一種主動為 Agent 適配的資訊架構更新。
Anthropic 提出的 Model Context Protocol 則進一步定義 Agent 如何以消費者身份與數字資訊互動。他非常看好這類協議,Agent 不再只是被動執行模型,而是成為 Web 的活躍角色、第一類資訊公民。
為支援這一結構轉變,一些工具開始將網頁資料轉化為 LLM 可用結構。例如將 github.com 改為 get-ingest.com,可自動生成完整目錄結構與整合內容文字,適配 LLM 處理邏輯。另一個例子是 Deep Wiki,不僅展示倉庫程式碼,還呼叫 AI Agent 進行結構分析並自動生成文件頁面,大幅提升語言模型的讀取效率與理解能力。
他特別欣賞這類只需“改個 URL”就能獲得 LLM 可讀資料的小工具,稱其優雅且實用。雖然 LLM 已能執行點選與介面操作,但這些操作極其昂貴且易錯,應主動為其降低互動門檻,提前在基礎結構層最佳化路徑。
目前大量 Web 系統並非為 Agent 而設計,開發活躍度低、結構混亂。長尾系統將永遠無法自動適配。建立面向 LLM 的中介轉接層,是相容舊系統的唯一路徑;而對於現代系統,完全有能力從源頭構建適配 Agent 的互動介面。

最後,Karpathy 再次回到他最喜愛的類比——鋼鐵俠戰衣。這不是全自動機器人,而是增強工具,是 agent 與人類協作的終極形態。未來 10 年,整個行業將像這套戰衣一樣,從輔助開始,逐步放權,構建高度自動化與高可控性並存的智慧系統。
✦ 精選內容 ✦

