Andrej Karpathy:軟件正在第三次重寫(xiě)——從手寫(xiě)邏輯到 Vibe Coding 的未來(lái)
AI 正在重塑軟件開(kāi)發(fā)流程,從 Karpathy 的“Vibe Coding”理念出發(fā),我們可以預(yù)見(jiàn)未來(lái)產(chǎn)品開(kāi)發(fā)的協(xié)作方式、工具形態(tài)與思維模式將發(fā)生根本變化。本文將幫助你理解這場(chǎng)技術(shù)變革對(duì)產(chǎn)品經(jīng)理的影響,以及如何提前布局。
Karpathy 認(rèn)為軟件正在經(jīng)歷第三次重大范式轉(zhuǎn)變:
- 從Software1.0(人類(lèi)手寫(xiě)邏輯),
- 到Software2.0(神經(jīng)網(wǎng)絡(luò)通過(guò)數(shù)據(jù)學(xué)習(xí)),
- 再到Software3.0(用自然語(yǔ)言“編程”)。
這意味著人人皆程序員,“vibe coding” 正在成為現(xiàn)實(shí)。
LLM 代理必須被 on-the-leash 管理,先在 Autonomy Slider 的低檔位驗(yàn)證可靠性,再逐步放寬權(quán)限;只有這樣,才能防止 ‘over-reactive agents’ 一步到位、帶來(lái)不可控風(fēng)險(xiǎn),并保持快速的 Generation ? Verification 循環(huán)。
一、軟件真的“又”變了:1.0 → 2.0 → 3.0
- Software1.0:純粹的人寫(xiě)指令。
- Software2.0:數(shù)據(jù)+優(yōu)化器生產(chǎn)權(quán)重,“權(quán)重就是代碼”。
- Software3.0:Prompt就是程序,LLM成為可編程計(jì)算機(jī);英語(yǔ)成了“主流編程語(yǔ)言”。
“We’re now programming computers in English.”(原話)
Software 1.0 —傳統(tǒng)顯式代碼
- 操作系統(tǒng)內(nèi)核:LinuxKernel、WindowsNT等。全部由人類(lèi)工程師手寫(xiě)C/C++。
- 經(jīng)典后端/前端框架:Django、Spring、React、Vue……框架本身和業(yè)務(wù)邏輯都寫(xiě)成源碼托管在GitHub。
- 游戲引擎“腳本”:UnityC#腳本、UnrealC++模塊,玩法和規(guī)則由開(kāi)發(fā)者逐行實(shí)現(xiàn)。
特點(diǎn):邏輯確定、可讀、可靜態(tài)分析。主要產(chǎn)物是 .c / .cpp / .py / .js 等文本源碼。
Software 2.0 —訓(xùn)練出的“權(quán)重就是代碼”
- 深度學(xué)習(xí)模型本身:AlexNet、ResNet、YOLO、StableDiffusion——網(wǎng)絡(luò)結(jié)構(gòu)由人寫(xiě),但真正執(zhí)行任務(wù)的是上億個(gè)浮點(diǎn)數(shù)權(quán)重。
- HuggingFaceModelHub:上面存放的pytorch_model.bin/safetensors權(quán)重文件正是Software2.0的典型“代碼單元”。
- 自動(dòng)駕駛感知棧:特斯拉早期Autopilot的視覺(jué)識(shí)別網(wǎng)絡(luò):攝像頭幀→檢測(cè)/分割結(jié)果,權(quán)重通過(guò)大規(guī)模標(biāo)注數(shù)據(jù)訓(xùn)練得到。
特點(diǎn):開(kāi)發(fā)活動(dòng)重心從“寫(xiě)規(guī)則”轉(zhuǎn)向“準(zhǔn)備數(shù)據(jù)+訓(xùn)練+調(diào)參”。產(chǎn)物是權(quán)重文件;人類(lèi)幾乎無(wú)法直接閱讀或手改。
Software 3.0 —用自然語(yǔ)言+工具鏈來(lái)“寫(xiě)程序”
- ChatGPT/Claude/Gemini等LLMAPI:Prompt就是程序,調(diào)用接口即運(yùn)行;復(fù)合調(diào)用+ToolUse組成“軟件”。
- AI編程IDE(Cursor、Devon、GitHubCopilotChat):用戶用英文/中文對(duì)話,讓LLM在本地代碼庫(kù)上生成、修改、解釋;AutonomySlider決定自動(dòng)化深度。
- 無(wú)代碼Agent平臺(tái):如LangChainAgents、OpenAIFunctionCalling+外部工具,用戶靠YAML/JSON描述意圖,LLM負(fù)責(zé)決策與調(diào)用。
特點(diǎn):“源碼”變成 Prompt + 配置文件 + 一系列工具調(diào)用。LLM 擁有推理、規(guī)劃能力,可在運(yùn)行時(shí)做出新行為;人類(lèi)主要負(fù)責(zé)約束與驗(yàn)證(on-the-leash)。
二、LLM 的“計(jì)算機(jī)/操作系統(tǒng)”類(lèi)比
他用多重類(lèi)比幫助定位 LLM:像“公用事業(yè)(utility)”提供按量計(jì)費(fèi)的智力服務(wù);像“操作系統(tǒng)(OS)”一樣擁有不斷演化的復(fù)雜生態(tài);又像“60 年代的大機(jī)時(shí)代”,我們通過(guò)“終端”(聊天框)進(jìn)行分時(shí)使用。
這些類(lèi)比意在強(qiáng)調(diào):LLM 不是一個(gè)簡(jiǎn)單 API,而是一臺(tái)可編程、具有內(nèi)存/工具/編排能力的新電腦,且 GUI 形態(tài)仍在早期探索。
三、LLM 的“心理學(xué)”與編程語(yǔ)言:英文
他把 LLM比作“stochastic little spirits(隨機(jī)模擬人類(lèi)的靈魂)”,由自回歸 Transformer 在海量文本上擬合而成,展現(xiàn)出擬人化的認(rèn)知特征:廣博但易遺忘、能推理也會(huì)“幻覺(jué)”。
- JaggedIntelligence(參差智力):在某些任務(wù)上超強(qiáng),但在基礎(chǔ)邏輯上卻可能答錯(cuò)(如9.11與9.9比較)。
- AnterogradeAmnesia(順行性遺忘):訓(xùn)練完成后不能持續(xù)學(xué)習(xí),缺乏長(zhǎng)期記憶。
- Hallucinations(幻覺(jué)):編造錯(cuò)誤事實(shí)。
- PromptInjection(提示注入):容易被惡意指令欺騙。
這些缺陷意味著 LLM 不能直接放手自治,必須建立人類(lèi)監(jiān)督與約束機(jī)制。
由此,英文就是新的編程語(yǔ)言——寫(xiě)作高質(zhì)量、可執(zhí)行的自然語(yǔ)言指令,成為軟件 3.0 的核心技能。
四、從“vibe coding(氛圍式編程)”到落地難點(diǎn)
演講中,他展示過(guò)以對(duì)話式方式快速拉起原型(“我說(shuō)想要什么,它就去寫(xiě)代碼、我再運(yùn)行/改進(jìn)”)。
- 容易的部分:用LLM迅速把“能跑的demo”做出來(lái)。
- 困難的部分:讓它穩(wěn)定、可維護(hù)、可部署——這就是他反復(fù)提到的“demo≠產(chǎn)品”**鴻溝:demo是works.any(),產(chǎn)品必須works.all()(在所有用戶、場(chǎng)景、輸入上都穩(wěn)。)。
五、部分自治產(chǎn)品:人機(jī)協(xié)同的最佳實(shí)踐
這一節(jié)是整場(chǎng)的產(chǎn)品方法論核心,Karpathy 用 Cursor(AI IDE) 和 Perplexity(AI 搜索) 做典型:
共同模式
- LLM負(fù)責(zé)管理上下文與多輪調(diào)用,GUI讓人類(lèi)以極低成本審核與回滾。
- 產(chǎn)品圍繞“Generation?Verification(生成?驗(yàn)證)”的快速閉環(huán)搭建:LLM先給草案/diff/參考,人類(lèi)快速看、快回退、快迭代
設(shè)計(jì)目標(biāo)是:降低驗(yàn)證成本(如 diff 視圖、顏色高亮、分組變更、一步撤銷(xiāo))。
Autonomy Slider(自治滑桿)
- Cursor從“點(diǎn)按補(bǔ)全(tapcompletion)→修改一個(gè)chunk→改整個(gè)文件→放手改整個(gè)倉(cāng)庫(kù)”,讓用戶隨時(shí)控制粒度**與授權(quán)邊界。
- Perplexity的“Quicksearch→Research→Deepresearch”也體現(xiàn)了逐級(jí)放權(quán):從快速回答,到綜合檢索/引用,再到更深入的研究流程,每一級(jí)都可人工中斷與校驗(yàn)。
- 本質(zhì):先輔助、再增強(qiáng)、最后才可能通往全自動(dòng),逐級(jí)解鎖。
限制“過(guò)度興奮”的代理比如往往會(huì)超額輸出
- 不要一次性生成巨大改動(dòng),而是鼓勵(lì)小步可控的提案;把AI“拴在短鏈上(keeptheAIonaleash)”,讓人類(lèi)保持主導(dǎo)與守門(mén)。
- GUI把審核成本壓到最低(diff、顏色、批量/逐條、一步撤銷(xiāo)),循環(huán)越快,誤差越小。
Autopilot 類(lèi)比
他指出,特斯拉 Autopilot 的經(jīng)驗(yàn)是“先把部分自治做對(duì)”:從車(chē)道保持/自適應(yīng)巡航等輔助駕駛起步,逐步通向更高階能力(如自動(dòng)變道、自動(dòng)泊車(chē)、召喚功能、復(fù)雜駕駛?cè)蝿?wù)、城市道路自動(dòng)駕駛(FSD Beta))
軟件 3.0 產(chǎn)品也應(yīng)當(dāng)這樣演進(jìn):輔助 → 增強(qiáng) → 高自治/全自治,而不是一蹴而就。
六、把“給人用”的系統(tǒng),升級(jí)為“給代理用(build for agents)”
文檔與接口:把系統(tǒng)的說(shuō)明寫(xiě)給 LLM 看(而非只寫(xiě)給人),例如提供 llms.txt、結(jié)構(gòu)化/Markdown 友好的接口說(shuō)明、確定性的調(diào)用約定、明確的輸入輸出示例。
協(xié)議與上下文管道:采用更標(biāo)準(zhǔn)化的工具協(xié)議(如他提到的 MCP 思路)與上下文構(gòu)建器(例如把代碼庫(kù)/知識(shí)庫(kù)喂給代理的工具),降低代理“摸黑”探索成本。
七、教育與擴(kuò)圈:人人都能“用英語(yǔ)編程”
LLM 既能當(dāng) Suit(增強(qiáng)),也能當(dāng)Robot(完全代理);短期更看好前者。
他以 “Vibe Coding” 病毒推文為例:
- 不懂Swift也能一天做出iOS小App。
- 自己造了MenuGen(拍菜單生成菜品圖片),寫(xiě)代碼只花幾小時(shí),真正耗時(shí)的是DevOps(登錄、支付、部署)。
孩子們的 Vibe Coding 視頻讓他堅(jiān)信自然語(yǔ)言編程是“入門(mén)毒藥”,將解鎖龐大新群體。
八、收束:十年尺度的“代理時(shí)代”
Karpathy 以“鋼鐵俠戰(zhàn)衣”比喻:LLM 是人的能力放大器;但真正的轉(zhuǎn)變不是一年兩年能完成,而更像一個(gè)十年量級(jí)的演進(jìn),需要我們在產(chǎn)品層面設(shè)計(jì)“部分自治”的過(guò)渡形態(tài),用快節(jié)奏的生成?驗(yàn)證將其馴化到可靠可控。
Reference:Andrej Karpathy: Software Is Changing (Again)
本文由 @Ewvue 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!