資料來源#
摘要#
Andrej Karpathy 將程式設計分為三種典範:Software 1.0 是明確撰寫程式碼;Software 2.0 是經學習得到的權重(透過整理資料集、目標與架構來編寫程式);Software 3.0 則是提示——LLM 是可程式化的電腦,而「上下文視窗裡的內容,就是你操控直譯器的槓桿」。模型以整個網際網路的資料訓練,因此會隱含地同時處理資料中的各種任務,成為能在數位資訊空間執行運算的通用直譯器。更深一層的主張是:3.0 不只讓舊程式跑得更快,還讓整類程式變得不再需要,並使以往不可能存在的資訊處理任務得以實現。
三種典範#
| Software 1.0 | Software 2.0 | Software 3.0 | |
|---|---|---|---|
| 你撰寫 | 程式碼 | 資料集 + 目標 + 架構 | 提示/上下文 |
| 執行者 | CPU | 訓練完成的神經網路 | 作為直譯器的 LLM |
| 「程式」是 | 原始碼 | 權重 | 上下文視窗 |
OpenClaw 安裝程式的例子#
過去,要安裝複雜的跨平台工具,往往得靠一支「膨脹到極其複雜」的 shell 指令稿來支援各種環境——這是 Software 1.0 的思維。3.0 的作法則是:安裝說明就是一段複製貼上給代理程式的文字。代理程式帶著自己的智慧,檢查你的機器、採取智慧行動,並在過程中除錯。「要複製貼上給代理程式的那段文字是什麼?現在的程式設計典範就是這樣。」(一般化的說明請見 Agent-Native Infrastructure。)
MenuGen:不該存在的應用程式#
Karpathy 建立了 MenuGen——拍下菜單、用 OCR 辨識品項,再為每道菜生成圖片——做成一個真正的 Vercel 應用程式,還串接了圖像生成流程。接著他看見了 3.0 版本:把照片交給 Gemini,說*「用 Nano Banana 把菜色疊到菜單上」*,模型就會輸出一張精確的菜單圖片,菜色圖片也直接呈現在像素中。「我做的整套菜單生成都是多餘的。那個應用程式根本不該存在。」神經網路取代了整個應用程式;提示就是圖片,輸出也就是圖片,中間不需要應用程式。
超越程式碼:全新的資訊處理任務#
還有一個較細微的觀點:過去的程式碼處理的是結構化資料。Software 3.0 讓從未成為程式的運算方式得以實現。他舉的例子是LLM wiki:「以前沒有程式能從一堆事實建立知識庫。現在你可以用不同方式重新編譯這些文件……以重新詮釋資料的方式創造新事物。」他認為這「更令人興奮」,勝過單純加速——重點不是我們能把什麼做得更快,而是以前什麼事情根本做不到。
推演:神經網路作為主程序#
推演到極致,會是「完全由神經網路構成的電腦」——直接輸入原始影片/音訊,由擴散模型即時生成專屬於當下的使用者介面,神經網路成為主程序,CPU 則作為處理確定性附屬工作的協同處理器。他將這描述為 1950 至 60 年代分岔路線的逆轉(計算機與神經網路之間):第一回合由傳統運算勝出;目前神經網路仍在傳統運算上虛擬化執行;兩者的關係或許會反轉。這是將 The Bitter Lesson 推演至架構層面的結論。他也保留餘地,表示這條路目前仍「TBD」。
延伸連結#
- Compute Allocator — 在 3.0 架構中,判斷哪些事情值得投入運算資源,是人類的角色
- Andrej Karpathy — 這套分類法的提出者
- Agent-Native Infrastructure — OpenClaw「複製貼上給代理程式」的安裝方式,是 3.0 的實際呈現
- Vibe Coding vs. Agentic Engineering — vibe coding 是降低入門門檻的 3.0;agentic engineering 則是以專業品質實踐 3.0
- AI as Primary Author — 以英文編寫程式,正是讓 AI 能成為大部分程式碼作者的典範
- LLM-as-Compiler Knowledge Base — 他提出的代表性例子:「以前不是程式的全新任務」
- The Bitter Lesson — 將神經網路作為主程序的推演,是把 Sutton 的原則推至硬體層面
- The Verifiability Thesis — 說明今天哪些 3.0 任務行得通(可驗證的任務)
- HTML as the New Markdown — Thariq Shihipar 提出的「每項任務都臨時建立一個 UI」,是原生 3.0 的工作流程;Disposable Micro-Apps 則是 MenuGen 這類幾乎不存在的應用程式
- Interaction Models — Thinking Machines 提出的「以擴散模型生成 UI/神經網路電腦」方向,是朝主程序推演邁進的具體一步
- Universal AI (AIXI) — 「將預訓練視為受資源限制的通用壓縮」在典範層面的近親;兩者都把「通用方法優於結構」的邏輯推向理論極限
- Latent vs. Deterministic Space — Tan 對下方未解問題提出的實務準則:把判斷交給模型,把狀態與限制交給程式碼;MenuGen 是越界的代表性錯誤
- OpenClaw — 安裝程式例子中的工具,如今也有了自己的實體頁面
待解決的問題#
- 「應用程式不該存在」(MenuGen)與理當存在的應用程式之間,界線在哪裡?也就是說,什麼時候仍應採用確定性的 1.0/2.0 架構,什麼時候它又只是多餘的?
- 神經網路作為主程序的轉變,目前只被視為可能,但仍 TBD。第一個真正反轉 CPU/神經網路關係的正式上線系統會是什麼樣子?
資料來源#
Cited by 17
- Agent-Native Infrastructure×2
The concrete seed (shared with Software 3 0): installing OpenClaw isn't a shell script, it's a…
- Andrej Karpathy×2
Software 3 0 — prompting/context as the program; the LLM as a programmable interpreter.
- Latent vs. Deterministic Space×2
Software 3 0 — Karpathy's paradigm frame for the same boundary; his MenuGen example is the inverse…
- Open Questions Backlog×2
Software 3 0: The neural-net-as-host-process flip is presented as plausible-but-TBD. What would the…
- OpenClaw×2
The canonical agent-native install. Karpathy's go-to example of Software 3 0 / Agent Native…
- AI as Primary Author
Software 3 0 — programming-in-English is the paradigm in which an AI can be the author at all
- Compute Allocator
Software 3 0 — MenuGen ("that app shouldn't exist") is allocation in action: deciding the neural…
- Disposable Micro-Apps
Software 3 0 — micro-apps are Software-3.0-native: Karpathy's MenuGen "that app shouldn't exist" is…
- HTML as the New Markdown
Software 3 0 — HTML-first plans and Disposable Micro Apps are Software-3.0-native: per-task UIs…
- Interaction Models
Software 3 0 — Karpathy frames interaction models as a step toward the 3.0 neural-computer
- LLM-as-Compiler Knowledge Base
Software 3 0 — Karpathy's canonical example of a "new information-processing task that wasn't a…
- Model Capability & Training
Software 3 0 — Karpathy's taxonomy: 1.0 code, 2.0 weights, 3.0 prompting; LLM as programmable…
- OpenAI
OpenAI is an AI research company and the maker of the GPT‑5 series (including GPT‑5 Thinking and…
- Thariq Shihipar
Software 3 0 — his HTML-first workflows and Disposable Micro Apps are Software-3.0-native: per-task…
- The Bitter Lesson
Software 3 0 — the neural-net-as-host-process extrapolation is the bitter lesson pushed all the way…
- Universal AI (AIXI)
Software 3 0 — Karpathy's "neural net as host process" is a paradigm-level cousin of "pretraining…
- Vibe Coding vs. Agentic Engineering
Vibe coding raises the floor (anyone builds); agentic engineering preserves the quality bar while going faster; ">10x a…
Related articles
- Harness Shrinkage as Models Improve
Prompt scaffolding shrinks each model release; Cat Wu's pruning discipline; Boris Cherny "100 lines of code a year from…
- Agent Harness Engineering
Patterns for scaffolding long-running LLM agents: environment design, progressive context disclosure, mechanical archit…
- Andrej Karpathy
Co-founder OpenAI, ex-Tesla AI, Eureka Labs; coined "vibe coding," Software 1/2/3.0, "ghosts not animals," "agentic eng…
- Claude Code
Anthropic's agentic coding product; created by Boris Cherny late 2024; TypeScript/React on Bun (itself Claude-rewritten…
- Compute Allocator
The human's evolving role: deciding what's worth spending compute on; ~1% of generated tokens ship, 99% is scaffolding…
