出品 | 51CTO技術(shù)棧(微信號:blog51cto)
軟件開發(fā)因AI有了根本性轉(zhuǎn)變?
剛剛,帶火“Vibe Coding”風(fēng)潮的前 OpenAI 大佬 Andrej Karpathy,在 YC 的演講刷屏出圈!
這是一場足以改變你對編程、對大模型、對未來軟件形態(tài)理解的深度分享。
Karpathy 一開場就擲地有聲地說:
“軟件正在再次發(fā)生根本性的變化。”
這句話引爆了 Hacker News 社區(qū)熱議——哪怕最初發(fā)布的只是一份錯漏百出的轉(zhuǎn)錄稿,依舊擋不住大家的瘋狂轉(zhuǎn)發(fā)與評論。
圖片
而在 X 上,YC 創(chuàng)始人 Jared 表示:
“這場演講發(fā)人深省,讓人對 LLM 有了全新的認(rèn)識。”
圖片
Karpathy 的核心觀點是:
- 過去 70 年,軟件的底層范式幾乎未變;
- 但短短幾年內(nèi),軟件連續(xù)發(fā)生了兩次結(jié)構(gòu)性巨變;
- AI 正把“寫代碼”這件事,變成“寫提示”、“對話”、“控制 Agent”;
- 英語,正在成為新的“編程語言”。
他說:
“我們正站在一場軟件重寫的浪潮上,我們有大量的工作要做、大量的軟件要寫,甚至重寫,這將遠(yuǎn)超我們想象。”
現(xiàn)在,這場官錄視頻終于新鮮出爐!
圖片
我們?yōu)槟闾釤捔诉@場演講的干貨,圖文并茂,幫你還原Karpathy大神眼中的軟件3.0,從中讀出軟件未來的走向、LLM 背后的操作系統(tǒng)哲學(xué)、以及“AI賦能人類”的正確姿勢。
?? 視頻地址:
https://www.youtube.com/watch?v=LCEmiRjPEtQ
話不多說,準(zhǔn)備迎接 Software 3.0 的世界!
1.“軟件地圖”:Software 1.0 → 2.0 → 3.0
我們可以先看看“軟件世界”的整體形態(tài)。假設(shè)我們有一張“軟件地圖”,那這張圖展示的是 GitHub 上的全部項目。
這些項目可以看作是人類寫給計算機的“指令”,告訴它如何在數(shù)字世界中執(zhí)行任務(wù)。
你放大地圖,可以看到各種各樣的代碼倉庫——這些就是我們已經(jīng)寫好的所有代碼。這些代碼是“指令”,告訴計算機怎么在數(shù)字世界中完成任務(wù)。
我?guī)啄昵坝^察到,軟件開始向一種新形式演化,我當(dāng)時給它取名叫 Software 2.0。
- 所謂 Software 1.0,是傳統(tǒng)意義上我們手寫的代碼;
- 而 Software 2.0,指的是神經(jīng)網(wǎng)絡(luò),準(zhǔn)確地說是它們的參數(shù)(weights)。我們不再直接寫“代碼”,而是調(diào)數(shù)據(jù)、跑優(yōu)化器,生成參數(shù)。
圖片
當(dāng)時的神經(jīng)網(wǎng)絡(luò)還只是被看作一種分類器——就像決策樹一類的工具。因此“訓(xùn)練神經(jīng)網(wǎng)絡(luò)”的流程,倒還挺自然。
如今,我們在 Software 2.0 世界中也有了類似 GitHub 的東西——比如
Hugging Face、模型地圖等,它們就像代碼庫一樣存儲著不同的模型。
你看到的中間那個大圓圈,其實是 Flux(一個圖像生成模型)的參數(shù)。每次有人在 Flux 上微調(diào)模型,就像是對 GitHub 的一次提交。
圖片
一直以來,我們所熟悉的神經(jīng)網(wǎng)絡(luò),其實都更像“功能固定的機器”——比如圖像分類器。
而這一次,我認(rèn)為最根本的改變是:
神經(jīng)網(wǎng)絡(luò)開始“可編程”了。
這就是我們所說的大語言模型(LLMs)。
在我看來,這是一種全新的計算機。我甚至認(rèn)為它值得被稱為Software 3.0。
圖片
現(xiàn)在,你寫的 prompt 就是“程序”,而它運行在大模型之上。更奇妙的是——這些“程序”居然是用英語寫的!
這是一種非常特別的編程語言。
因此,現(xiàn)在我們已經(jīng)擁有三種完全不同的編程范式:
- Software 1.0:手寫邏輯;
- Software 2.0:訓(xùn)練參數(shù);
- Software 3.0:用 prompt 驅(qū)動大模型。
我建議任何即將入行的人,都要對這三種范式“多面手”,因為它們各有優(yōu)劣:
- 有時你想顯式寫邏輯,那就用 1.0;
- 有時你想訓(xùn)練模型,那就用 2.0;
- 有時你只需要 prompt,那就用 3.0。
2.大模型(LLMs)不是“算法”而是“操作系統(tǒng)”
接下來,我想聊聊大語言模型(LLMs)所代表的新計算范式,以及這個新“計算生態(tài)”長什么樣子。
我很早以前看到一句話讓我印象深刻,是 Andrew Ng 說的:
“AI 就像是新時代的電力。”
這句話點出了關(guān)鍵點:
- LLM 實驗室(如 OpenAI、Gemini、Mistral 等)投入資本(CapEx)來訓(xùn)練模型;
- 然后用運營開銷(OpEx)通過 API 向開發(fā)者“輸送智能”;
- 模型按 token 計價,像電力一樣被“計量使用”;
- 我們對這些模型的要求也非常像“基礎(chǔ)設(shè)施”:低延遲、高可用、穩(wěn)定輸出。
假設(shè)你切換電源時需要一個轉(zhuǎn)換開關(guān)(transfer switch),我們在用 LLM 時也需要在不同模型之間切換,比如通過 router 連接 Claude、GPT、Gemini。
“當(dāng) SOTA 模型宕機的時候,簡直就像是全世界都‘?dāng)嚯姟恕>拖耠妷翰环€(wěn),全球都在‘降頻’運行。”
但和電不一樣,LLM 不是一種簡單商品,而是一個復(fù)雜的軟件系統(tǒng),甚至更像操作系統(tǒng)(Operating System):
- OpenAI、Anthropic 就像是 Windows 和 macOS;
- 而開源模型(如 Mistral、Qwen、LLaMA)則更像 Linux;
- 操作系統(tǒng)的作用不是“運行某個功能”,而是構(gòu)建一個“平臺”來承載更多功能;
- 同樣地,LLM 并不是自己在“完成任務(wù)”,而是承載了很多提示詞、工具、代理(agents)等“運行時系統(tǒng)”。
當(dāng)然,現(xiàn)在的 LLM 還處在非常早期的階段,它們本質(zhì)上還是“語言模型”。
但現(xiàn)在的趨勢非常清晰:重點不再只是模型本身,而是圍繞它的工具鏈、模態(tài)集成、交互協(xié)議等全面生態(tài)。
我當(dāng)初意識到這一點時,嘗試畫了一張草圖:
- LLM 是一種新型“計算機”,類似于 CPU;
- Context window(上下文窗口)就是內(nèi)存;
- LLM 負(fù)責(zé)協(xié)調(diào)“內(nèi)存 + 計算資源”來解決問題;
- 它使用的“能力插件”正在不斷擴展。
從這個角度看,LLM 看起來非常像一個新型的“操作系統(tǒng)”。
圖片
還有個類比我很喜歡:
比如你要下載一個 App,比如 VS Code。你可以在 Windows、Linux、macOS 上運行。
同理,你也可以拿一個基于 LLM 的 App,比如 Cursor,部署在 GPT、Claude、Gemini 上。
這些模型像是不同系統(tǒng)平臺,而 App 則是通用的可插模塊。
3.我們還沒進(jìn)入“AI 個人計算機時代”
我們現(xiàn)在的 LLM 計算,處于類似“1960 年代”的階段。
- LLM 推理成本仍然很高;
- 所以模型計算被集中部署在云端;
- 而我們就像瘦客戶端(thin client),通過網(wǎng)絡(luò)遠(yuǎn)程訪問;
- 沒有人真正“獨享”一臺模型計算機。
于是我們回到了“分時共享制”(Time-Sharing)的計算模式——大家排隊用一臺模型,在云里“批處理”執(zhí)行任務(wù)。
“現(xiàn)在像是在 1960 年代,大家排隊使用計算資源。未來是否能像 1980 年代那樣迎來個人化 AI?我們還不知道。”
當(dāng)然,也有一些嘗試正在發(fā)生:
- 比如 Mac Mini 被證明是一些 LLM 的理想平臺;
- 如果你的使用方式是“批量推理 + 高內(nèi)存消耗”,那么本地推理其實是可行的。
這些是個人化 AI 的早期跡象,但還遠(yuǎn)遠(yuǎn)談不上普及。
也許在座的某位會定義下一代個人 AI 計算機的模樣。
4.與 LLM 交互像是用“命令行”,而 GUI 還沒誕生
每次我和 ChatGPT 聊天,就像是在“命令行終端”中和操作系統(tǒng)對話。
目前我們還沒有一個真正意義上的 GUI(圖形用戶界面):
- ChatGPT 只是一個對話氣泡;
- 你能用它做事,但它并不適合所有任務(wù);
- 很多未來的 LLM 應(yīng)用需要建立自己的 GUI;
- 目前沒有一個通用的、跨任務(wù) GUI 接口存在。
圖片
5.AI的技術(shù)擴散路線“上下顛倒”,這項革命性技術(shù)屬于所有人
大語言模型(LLM)和操作系統(tǒng)雖然有很多相似之處,但它們也有一些非常獨特的不同點,尤其是在技術(shù)擴散路徑方面。
比如說,電力、密碼學(xué)、計算機、飛行、互聯(lián)網(wǎng)、GPS 等等——這些具有變革性的技術(shù),過去都是從政府和大公司先用起來的。
因為它們昂貴、門檻高,只有大型機構(gòu)能率先試水,之后才逐漸擴散到消費者手中。
但 LLM 完全反過來了。
大眾用戶才是最早的 adopter,而政府和大企業(yè)反而是后知后覺的那批。
所以這次技術(shù)擴散是“上下顛倒”的。這項革命性技術(shù)不再掌握在政府或大公司手里,而是屬于我們所有人——因為它只是軟件,我們每個人都可以用!
ChatGPT 就像“被光速投射到了我們每一臺設(shè)備上”,轉(zhuǎn)眼之間,幾十億人擁有了這臺新計算機。
LLM 是“有缺陷的靈魂”:幻覺、近事遺忘、安全性
LLM 擁有百科全書式的知識和記憶力,遠(yuǎn)遠(yuǎn)超過任何單個人類。
當(dāng)然,它們也有很多認(rèn)知缺陷:
- 它們常常幻覺(hallucinate),會“編造”內(nèi)容;
- 它們?nèi)狈φ嬲淖晕艺J(rèn)知模型;
- 雖然這些問題已經(jīng)有所改善,但還遠(yuǎn)未解決;
- 它們展現(xiàn)的是“鋸齒狀智能”——某些方面超人類,某些方面蠢到爆。
比如,模型可能堅稱:9.11 > 9.9,或者“strawberry”里有兩個 r,這些就是經(jīng)典的例子。
所以它們?nèi)匀挥泻芏唷翱印保憧赡芤徊恍⌒木筒冗M(jìn)去。
另一個非常獨特的問題是——近事記憶缺失(anterograde amnesia)。
你可以把 LLM 想象成一個剛?cè)肼毜男峦拢弘S著時間推移,它應(yīng)該越來越了解公司流程、吸收上下文,并建立自己的專業(yè)知識結(jié)構(gòu)。但LLM沒有真實的成長,它們的記憶完全依賴你提供的上下文窗口(context window)。
換句話說:
- 它們不會自己變聰明;
- 你必須“顯式編程”它的工作記憶;
- 很多人對這點理解不足,被“AI 能自學(xué)”的幻覺誤導(dǎo)。
我建議大家看兩部電影:《記憶碎片》(Memento)和《初戀50次》(50 First Dates)。
兩部片子里的主角都患有記憶缺陷——每天早上醒來都失去前一天的記憶。
你想想,在這種狀態(tài)下去工作、去建立關(guān)系,真的太難了。
6.LLM 是“有缺陷的靈魂”:幻覺、近事遺忘、安全性
LLM 擁有百科全書式的知識和記憶力,遠(yuǎn)遠(yuǎn)超過任何單個人類。
當(dāng)然,它們也有很多認(rèn)知缺陷:
- 它們常常幻覺(hallucinate),會“編造”內(nèi)容;
- 它們?nèi)狈φ嬲淖晕艺J(rèn)知模型;
- 雖然這些問題已經(jīng)有所改善,但還遠(yuǎn)未解決;
- 它們展現(xiàn)的是“鋸齒狀智能”——某些方面超人類,某些方面蠢到爆。
比如,模型可能堅稱:9.11 > 9.9,或者“strawberry”里有兩個 r,這些就是經(jīng)典的例子。
所以它們?nèi)匀挥泻芏唷翱印保憧赡芤徊恍⌒木筒冗M(jìn)去。
另一個非常獨特的問題是——近事記憶缺失(anterograde amnesia)。
你可以把 LLM 想象成一個剛?cè)肼毜男峦拢弘S著時間推移,它應(yīng)該越來越了解公司流程、吸收上下文,并建立自己的專業(yè)知識結(jié)構(gòu)。但LLM沒有真實的成長,它們的記憶完全依賴你提供的上下文窗口(context window)。
換句話說:
- 它們不會自己變聰明;
- 你必須“顯式編程”它的工作記憶;
- 很多人對這點理解不足,被“AI 能自學(xué)”的幻覺誤導(dǎo)。
我建議大家看兩部電影:《記憶碎片》(Memento)和《初戀50次》(50 First Dates)。兩部片子里的主角都患有記憶缺陷——每天早上醒來都失去前一天的記憶。你想想,在這種狀態(tài)下去工作、去建立關(guān)系,真的太難了。
圖片
還有一個值得注意的問題是安全性。
LLM 非常容易被欺騙,比如 prompt injection 攻擊;也有可能泄露數(shù)據(jù)。
我們面對的是一種擁有超能力但又有嚴(yán)重缺陷的數(shù)字生命體。
我們要思考的是:
- 如何編程這些 LLM?
- 如何繞過它們的缺陷?
- 如何發(fā)揮它們的“超人力”?
7.部分自治軟件:下一代 LLM 應(yīng)用的基本形態(tài)
我們該如何使用這些模型?又有哪些令人興奮的機會?
第一個我感到特別興奮的方向是:部分自治應(yīng)用(Partial Autonomy Apps)。
為什么你要復(fù)制粘貼代碼到 ChatGPT,再復(fù)制粘貼回來,而不是直接在一個“懂代碼”的 IDE 中完成?
因此比起ChatGPT,我更推薦你使用Cursor。
Cursor 是一款早期的 LLM 應(yīng)用典范,它具備一系列通用特征,值得所有 LLM App 借鑒:
- 一方面,它保留了傳統(tǒng) IDE 界面,允許用戶手動操作;
- 另一方面,它也集成了 LLM,可以處理更大規(guī)模的修改、生成任務(wù);
- 用戶可以按需調(diào)用 LLM 處理不同粒度的任務(wù)。
還一個關(guān)鍵特性是我稱之為“自治滑塊(Autonomy Slider)”:你始終掌控著自治滑塊,根據(jù)任務(wù)復(fù)雜度來決定給 LLM 多大的權(quán)力。
還是以 Cursor 為例:
- 你可以選擇自動補全(最小自治);
- 也可以選中一段代碼按 Command+K,讓它只修改這一段;
- 或者按 Command+L,修改整個文件;
- 甚至按 Command+I,讓它對整個 repo“放飛自我”,自由重構(gòu)(最大自治)。
總結(jié)來說,LLM 應(yīng)用的關(guān)鍵特征是:
- 人類可以完整手動操作:傳統(tǒng)輸入仍可用;
- LLM 做上下文管理與調(diào)用編排:后臺 orchestrate 多模型;
- 有 GUI 可審查生成內(nèi)容:例如高亮 diff、快捷接受/拒絕;
- 自治程度可調(diào):從部分生成,到一整頁改寫,用戶自主選擇。
8.我們和LLM進(jìn)入?yún)f(xié)作階段
我們和 LLM 之間的關(guān)系,已經(jīng)變成了協(xié)作。
- AI 負(fù)責(zé)生成(generation);
- 人類負(fù)責(zé)驗證(verification)。
我們的目標(biāo)應(yīng)該是:讓生成-驗證這個閉環(huán)盡可能快地運行起來,這樣我們才能真正提效。
要加快這個循環(huán),我認(rèn)為有兩個關(guān)鍵點:
(1)加快驗證流程
- GUI 是實現(xiàn)這一點的重要工具。
- 閱讀純文本很費勁,而看圖形是高效的。圖像是一條“通向大腦的高速公路”。
- 所以,從系統(tǒng)審查效率來說,圖形化呈現(xiàn)非常重要。
(2)我們必須給 AI 套上韁繩(on a leash)
現(xiàn)在很多人對 AI Agent 的能力過于樂觀。
但問題在于:
“我不想一次性收到一個 1000 行代碼 diff。”
即便這些代碼一瞬間生成,我作為人類審查者依舊是整個流程的瓶頸。
所以我的個人習(xí)慣是:
- 絕不一次生成太大 diff;
- 始終采取“逐塊小修改”的方式;
- 每一步都快速驗證,然后再往下推進(jìn)。
圖片
我相信我們很多人都在逐步摸索出適合自己的方法論。
9.軟件真的很難,不要去做炫技的“全自治 Agent Demo”
我想順便分享一個故事:
我第一次坐上自動駕駛汽車是在 2013 年。
我當(dāng)時的感覺是:天啊,自動駕駛已經(jīng)實現(xiàn)了,它真的能跑了。
結(jié)果現(xiàn)在都 12 年過去了,我們還在努力攻克自動駕駛的問題。
Waymo 的車現(xiàn)在看起來“無駕駛員”,但其實仍然有很多遠(yuǎn)程操作、很多人類介入。
我想說的是:軟件真的很難。
它的難度和自動駕駛幾乎是一個等級。
所以當(dāng)我看到有人說“2025 是智能體(agents)元年”,我會感到警惕。
我想說的是:這是“Agent 的十年”,不是某一年的事情。
我還特別喜歡用《鋼鐵俠》作為比喻。
我一直都喜歡這個角色,它以很多方式非常貼切地反映了技術(shù)的演進(jìn)。
你看,鋼鐵俠戰(zhàn)衣既是一種增強工具(augmentation),也具備自主智能體(agent)的特征:
- 有時候托尼·斯塔克親自駕駛它;
- 有時候它能獨立飛行、自動尋找目標(biāo),還能“找回主人”;
- 這就是“自治滑塊”的不同模式。
現(xiàn)在這個階段,我認(rèn)為:
- 與其說我們在構(gòu)建“Iron Man 機器人”;
- 不如說我們更像是在打造“Iron Man 戰(zhàn)衣”。
我們真正要做的,不是去做炫技的“全自治 Agent Demo”,而是做那些具有部分自治、真正實用的產(chǎn)品。
這些產(chǎn)品:
- 擁有定制化的 GUI 和交互體驗;
- 能讓生成-驗證的閉環(huán)極快運轉(zhuǎn);
- 又不失控、可監(jiān)督;
- 同時也保留了未來可以逐步自動化的可能性。
你應(yīng)該思考:你的產(chǎn)品中是否已經(jīng)有“自治滑塊”?你能不能逐步推動它向更高自治程度演進(jìn)?
在我看來,這類“增強人 + 可調(diào)節(jié) Agent”的混合產(chǎn)品,才是當(dāng)前最具潛力的方向。
10.“Vibe Coding”走紅:我們應(yīng)該“走向中間”,與 LLM 會合
不知道你們有沒有聽說過“Vibe Coding”?
我發(fā)的這條推文,就是在講這個概念——后來它變成了一個爆火 meme:
“英語不是編程語言,但它現(xiàn)在就是了。”
這條推文當(dāng)時我以為不會有人在意,就像很多“靈感一閃”的碎碎念那樣。
結(jié)果,它意外走紅,大家瘋狂轉(zhuǎn)發(fā)。
因為它剛好說出了很多人心里的感受:我們都感覺到事情變了,卻一時找不到一個詞來定義。
現(xiàn)在甚至有了對應(yīng)的 Wikipedia 頁面(笑),這算是我為時代貢獻(xiàn)的一個新術(shù)語吧。
我也試著搞了點「vibe coding」,因為它真的很有趣,其中包括一個叫 MenuGem應(yīng)用,拍菜單自動生成圖片展示,大家現(xiàn)在就能去試:menugem.app。
vibe coding的感受是:
- 編碼本身(vibe coding)很簡單;
- 反而最麻煩的,是接入登錄、支付、部署等 DevOps 環(huán)節(jié);
- 比如谷歌登錄,網(wǎng)頁寫了一大堆“點擊這→跳到那→點確認(rèn)”,都是給人操作的,而不是設(shè)計給 Agent 調(diào)用的。
所以: “我們以前只為人類構(gòu)建 GUI,現(xiàn)在要為 LLM 構(gòu)建 API 生態(tài)。”
我的觀點是:
- 對于絕大多數(shù)產(chǎn)品來說,我們應(yīng)該“走向中間”,與 LLM 會合;
- 與其等 LLM 完美,不如我們主動調(diào)整格式、協(xié)議、接口。
最后總結(jié)
總結(jié)一下:
現(xiàn)在是進(jìn)入這個行業(yè)的黃金時刻。
我們要重寫大量代碼,而這部分會由專業(yè)人士、也會由“vibe coder”來完成。
LLM 像是公用設(shè)施(utilities),像是 AI 晶圓廠(fabs),但更像是操作系統(tǒng)。
而這一切,才剛剛開始——這還是“操作系統(tǒng)的 1960 年代”。
這些模型本質(zhì)上就像數(shù)字人格,有缺陷,但極強大,我們要學(xué)會與它們共處。
為此,我們需要重塑軟件基礎(chǔ)設(shè)施。
未來十年,我們會不斷把“自治滑塊”從左往右推進(jìn)。
這個過程會非常有趣,我也等不及要跟大家一起去創(chuàng)造它了。