Software-3.0

一句話定義

Karpathy 對 LLM 時代軟體範式的命名:程式設計從直接寫 function,轉向寫 prompt、管理 context window、配置工具與指揮 AI 助理完成任務。

核心要點

三代軟體分工

版本誰寫規則核心材料代表工作
Software 1.0人類工程師程式碼 / 明確規則寫 function、資料結構、控制流程
Software 2.0訓練流程資料集 / 目標函數 / 模型參數設計資料、loss、訓練與評估
Software 3.0人 + LLM agentprompt / context / tool / eval寫 spec、管理上下文、讓 agent 生成與操作

本概念不是說傳統程式碼消失,而是說「人直接指定每一步」不再是唯一入口。很多任務會從「寫一個 app」轉成「把原始輸入交給前沿模型,讓模型直接理解、轉換、生成或操作」。

產品存在性測試

2026-05-18-Karpathy-Software-3-Agentic-Engineering 用 MenuGen 菜單 app 案例說明:若使用者把菜單照片直接丟給 Gemini 等多模態模型就能得到翻譯、圖片與建議,那原本為此包 API / UI 的 app 可能不該存在。

可用測試:

  • 使用者是否能把原始輸入直接交給通用模型?
  • 三句話內是否能拿到你 app 的主要輸出?
  • 你的產品是否有模型本身沒有的資料、流程、權限、分發、信任或垂直驗證能力?

若答案偏否,產品可能只是薄封裝;若答案偏是,Software 3.0 反而讓以前成本太高的垂直工作流變得可行。

從 code 到 spec / context / verification

Software 3.0 下,工程師的價值不只在記 API 或手寫 boilerplate,而是:

  • 判斷這件事是否值得做,以及是否需要獨立產品形態。
  • 把模糊需求寫成 prompt、spec 與可操作任務。
  • Context-Engineering 提供 agent 正確的背景、程式碼、資料與限制。
  • LLM-Evaluation / 測試 / trace 驗證結果,而不是只看輸出像不像。
  • 在高風險區域保留人的理解與決策責任。

與其他概念的關係

  • Prompt-Engineering:Software 3.0 把 prompting 提升為 programming 的一部分,但 prompt 只是起點,仍需要 context、tools 與 eval。
  • Context-Engineering:當 programming 轉向管理模型輸入,context window 的內容選擇就變成軟體設計的一部分。
  • Agentic-Workflow:agentic workflow 是 Software 3.0 的產品 / 系統落地形態之一。
  • Agentic-Engineering:Software 3.0 描述範式轉換;Agentic Engineering 描述專業工程師如何在此範式中設計可驗證、可回滾、可維護的工作環境。
  • Vibe-Coding:Vibe coding 是 Software 3.0 的低門檻入口;它拉高下限,但不保證工程品質。
  • 行動引擎:當使用者用自然語言直接完成任務,很多 app 的 UI / workflow 可能被 action engine 或通用 agent 吃掉。

相關來源

備註

本頁目前以二手訪談解析為主。若後續取得 Karpathy 原訪談或原始文章,應校準 Software 3.0 的正式定義與 MenuGen 案例原句。