軟體 3.0 框架
Andrej Karpathy 提出的軟體演進框架:1.0(顯式規則/Code)→ 2.0(神經網路權重/Weights)→ 3.0(提示與上下文/Prompt & Context)——LLM 作為「解釋器」的計算範式。
三個版本
| 版本 | 計算方式 | 開發者做什麼 | 產物 |
|---|---|---|---|
| 軟體 1.0 | 顯式規則 | 手寫每一行邏輯規則 | Code |
| 軟體 2.0 | 神經網路訓練 | 整理數據集 + 設定目標 | Weights(模型權重) |
| 軟體 3.0 | LLM 推論 | 撰寫 Prompt + 設計 Context | Prompt & Context |
「在軟體 3.0 範式中,神經網路承擔了越來越多的工作……不再需要中間的應用程式。」
計算主客易位
Karpathy 指出:1950–60 年代,計算機科學面臨一個分叉——計算機應該像「Calculator(計算機)」還是「Neural Net(神經網路)」?當時選了 Calculator 路徑,建立了傳統計算體系。
現在主客易位:神經網路正在成為「主機程序(Host Process)」,而傳統 CPU / 硬體退化為負責執行確定性任務的「協處理器」。
App 消亡的隱喻:Nanabanana
Karpathy 以他開發的 Menu Gen App 為例:
- 傳統方式:建整套架構,上傳菜單照片 → OCR → 生成圖片 → 疊加
- 軟體 3.0 方式:直接把照片丟給 Google Gemini,讓模型使用 “Nanabanana” 工具疊加生成圖
「我意識到我所有的 Menu Gen 程式碼都是多餘的,它是在舊範式下運作的。那個 App 根本不應該存在。」
→ 在軟體 3.0 下,許多過去需要「App 作為中介」的工作,直接由 LLM 承擔。App 不是被更好的 App 取代,而是被「不需要 App」的範式取代。
對 vault 的意義
這個框架解釋了為什麼 karpathy-wiki-pattern(本 vault 的設計模式)成立:
- 軟體 1.0 的 wiki:人手寫 markdown
- 軟體 2.0 的 wiki:訓練專用知識庫模型(RAG 的極端版)
- 軟體 3.0 的 wiki(本 vault):LLM 作為解釋器,持續把 raw 素材編譯為結構化知識——見 RAG vs LLM Wiki
與相關框架的對比
| 框架 | 提出者 | 焦點 |
|---|---|---|
| 軟體 3.0 框架 | Andrej Karpathy | 軟體範式從 Code → Weights → Prompt 的演進 |
| AI 工程三代演進 | Harness Engineering 社群 | AI 工程師的工作重心從 Prompt → Context → Harness 的演進 |
兩者互補:軟體 3.0 講的是計算範式的轉移;AI 工程三代講的是工程師的工作方式的轉移。
相關概念
強連結(原文明確提及)
- Andrej Karpathy — 提出者
- Vibe Coding — 軟體 3.0 的大眾化現象
- 代理工程 — 軟體 3.0 的專業工程師實踐版
推斷連結(LLM 認為相關,待確認)
- RAG vs LLM Wiki ?? — 本 vault 對軟體 3.0 的具體應用
- AI 工程三代演進 ?? — 工程師層面的對應演進框架
- Harness Engineering ?? — 軟體 3.0 下如何確保系統可靠性
深入閱讀
← 回到 wiki