AI圈紛紛傳閱,Andrej Karpathy 的最新演講全文來(lái)了
在首屆 YC AI 創(chuàng)業(yè)學(xué)校上,OpenAI 創(chuàng)始科學(xué)家 Andrej Karpathy 發(fā)表最新演講,深入探討人工智能時(shí)代軟件的三次變革、大語(yǔ)言模型(LLM)的新范式,以及如何重新定義編程與交互,為從業(yè)者和愛(ài)好者帶來(lái)重要啟發(fā)。
在舊金山Moscone中心舉行的首屆YC AI創(chuàng)業(yè)學(xué)校上,OpenAI創(chuàng)始科學(xué)家、特斯拉前AI總監(jiān)Andrej Karpathy發(fā)表了最新演講。
以下是Andrej Karpathy的演講全文。
01 軟件的三次“重生”革命,3.0正吞噬舊代碼
我很高興今天能在這里與大家討論人工智能時(shí)代的軟件。我了解到你們中很多人是本科生、碩士生、博士生等,即將進(jìn)入行業(yè)。我認(rèn)為現(xiàn)在進(jìn)入行業(yè)是一個(gè)非常獨(dú)特且有趣的時(shí)刻。從根本上說(shuō),原因在于軟件正在再次變革。
我說(shuō)“再次”是因?yàn)槲抑白鲞^(guò)這個(gè)演講,但問(wèn)題是軟件一直在變化。因此我有很多素材可以講新內(nèi)容,我認(rèn)為它正發(fā)生根本性的改變。粗略地說(shuō),軟件在基礎(chǔ)層面上已有70年沒(méi)有太大變化。
而在過(guò)去幾年里,它大約發(fā)生了兩次相當(dāng)快速的變革。因此,現(xiàn)在有大量的工作要做,有大量的軟件需要編寫(xiě)和重寫(xiě)。
那么,我們來(lái)看看軟件的領(lǐng)域。如果我們把它想象成軟件的地圖,這里有一個(gè)很酷的工具叫“GitHub地圖”。
這就像是所有已編寫(xiě)軟件的集合。它們是指示計(jì)算機(jī)在數(shù)字空間執(zhí)行任務(wù)的指令。放大這里,你會(huì)看到各種不同的代碼庫(kù),所有這些都是已編寫(xiě)的代碼。
幾年前,我觀察到軟件正在發(fā)生變化,出現(xiàn)了一種新的軟件類(lèi)型。我當(dāng)時(shí)稱(chēng)之為軟件2.0。其理念是:軟件1.0是你為計(jì)算機(jī)編寫(xiě)的代碼;軟件2.0本質(zhì)上是神經(jīng)網(wǎng)絡(luò),特別是神經(jīng)網(wǎng)絡(luò)的權(quán)重。
你不是直接編寫(xiě)這些代碼,而是通過(guò)調(diào)整數(shù)據(jù)集,然后運(yùn)行優(yōu)化器來(lái)創(chuàng)建神經(jīng)網(wǎng)絡(luò)的參數(shù)。當(dāng)時(shí),神經(jīng)網(wǎng)絡(luò)更多被看作是一種不同的分類(lèi)器,比如決策樹(shù)之類(lèi)。所以我認(rèn)為這種框架描述更為貼切。
現(xiàn)在,我們?cè)谲浖?.0領(lǐng)域有了類(lèi)似GitHub的替代品。我認(rèn)為Hugging Face基本上就是軟件2.0的GitHub,還有Model Atlas。如果你好奇,可以可視化那里編寫(xiě)的所有代碼。順便說(shuō)一句,那個(gè)巨大的圓圈,中間的點(diǎn),是圖像生成器Stable Diffusion的參數(shù)。
因此,每當(dāng)有人在Stable Diffusion模型上調(diào)整LoRA時(shí),你本質(zhì)上是在這個(gè)空間創(chuàng)建了一個(gè)Git提交,并創(chuàng)建了一種新的圖像生成器。所以,軟件1.0是編程計(jì)算機(jī)的代碼;軟件2.0是編程神經(jīng)網(wǎng)絡(luò)的權(quán)重。
這是AlexNet圖像識(shí)別神經(jīng)網(wǎng)絡(luò)的一個(gè)例子。
到目前為止,我們熟悉的神經(jīng)網(wǎng)絡(luò)都像是功能固定的計(jì)算機(jī),比如圖像分類(lèi)之類(lèi)。我認(rèn)為改變?cè)谟?,神?jīng)網(wǎng)絡(luò)通過(guò)大語(yǔ)言模型(LLM)變得可編程,這是一個(gè)根本性的變化。我認(rèn)為這很獨(dú)特。
這是一種新型計(jì)算機(jī),因此值得賦予它一個(gè)新的名稱(chēng):軟件3.0。本質(zhì)上,你的提示詞現(xiàn)在就是編程LLM的程序。值得注意的是,這些提示是用英語(yǔ)寫(xiě)的。所以這是一種非常有趣的編程語(yǔ)言。
02 用英語(yǔ)編程“人類(lèi)靈魂”,提示詞成了新代碼
或許可以這樣總結(jié)區(qū)別:以情感分類(lèi)為例,你可以寫(xiě)一些Python代碼來(lái)做情感分類(lèi),或者訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò),或者提示一個(gè)大語(yǔ)言模型。這里有一個(gè)簡(jiǎn)短的提示,你可以想象通過(guò)改變它,以稍微不同的方式編程計(jì)算機(jī)。
所以,我們有軟件1.0、軟件2.0,我認(rèn)為我們現(xiàn)在看到很多GitHub代碼不僅僅是代碼,還夾雜著大量英語(yǔ)。
因此,我認(rèn)為這是一種日益增長(zhǎng)的新型代碼類(lèi)別。這不僅是一種新的編程范式,而且令人驚訝的是,它是用我們的母語(yǔ)英語(yǔ)編寫(xiě)的。
幾年前,這讓我感到震驚,我在推特上發(fā)了這個(gè)想法,引起了很多人的關(guān)注。我目前置頂?shù)耐莆木褪牵毫钊瞬毮康氖牵覀儸F(xiàn)在在用英語(yǔ)編程計(jì)算機(jī)。
現(xiàn)在,當(dāng)我在特斯拉時(shí),我們正在開(kāi)發(fā)自動(dòng)駕駛系統(tǒng),試圖讓汽車(chē)能夠駕駛。我當(dāng)時(shí)展示了一張幻燈片,想象一下汽車(chē)的輸入在底部,它們經(jīng)過(guò)一個(gè)軟件棧來(lái)產(chǎn)生轉(zhuǎn)向和加速信號(hào)。我觀察到當(dāng)時(shí)自動(dòng)駕駛系統(tǒng)中有大量C++代碼,這是軟件1.0的代碼。
然后還有一些用于圖像識(shí)別的神經(jīng)網(wǎng)絡(luò)。我觀察到,隨著時(shí)間的推移,隨著我們改進(jìn)自動(dòng)駕駛系統(tǒng),神經(jīng)網(wǎng)絡(luò)的能力和規(guī)模都在增長(zhǎng)。
此外,所有的C++代碼被刪除,很多最初用1.0編寫(xiě)的能力和功能都遷移到了2.0。例如,跨不同攝像頭圖像和跨時(shí)間的信息拼接工作,現(xiàn)在都由神經(jīng)網(wǎng)絡(luò)完成。
我們能夠刪除大量代碼,貫穿整個(gè)自動(dòng)駕駛軟件棧。當(dāng)時(shí)我覺(jué)得這非常了不起。我認(rèn)為我們現(xiàn)在又看到了同樣的情況,一種新型軟件正在“吞噬”整個(gè)軟件棧。
我們有三種完全不同的編程范式。我認(rèn)為如果你要進(jìn)入這個(gè)行業(yè),熟練掌握這三種范式是個(gè)好主意,因?yàn)樗鼈兏饔袃?yōu)缺點(diǎn)。你可能想用1.0、2.0或3.0來(lái)編程某些功能,或者訓(xùn)練神經(jīng)網(wǎng)絡(luò),或者直接提示LLM。這應(yīng)該是顯式代碼嗎?等等。
我們都必須做出這些決定,并可能在這些范式之間流暢地切換。所以現(xiàn)在我想深入探討的是,在第一部分,談?wù)凩LM,如何思考這種新范式及其生態(tài)系統(tǒng),它是什么樣子。比如這臺(tái)新計(jì)算機(jī)是什么樣子?生態(tài)系統(tǒng)又是什么樣子?
03 我們正處在LLM的‘大型機(jī)時(shí)代’——云端分時(shí)系統(tǒng),個(gè)人計(jì)算革命還未到來(lái)。
很多年前,吳恩達(dá)的一句話讓我印象深刻,我想他接下來(lái)會(huì)發(fā)言,他當(dāng)時(shí)說(shuō)“AI是新的電力”。
我確實(shí)認(rèn)為這捕捉到了一些非常有趣的東西,因?yàn)楝F(xiàn)在的LLM確實(shí)具有公用事業(yè)的特質(zhì)。像OpenAI、Gemini、Anthropic等LLM實(shí)驗(yàn)室投入資本開(kāi)支來(lái)訓(xùn)練LLM,這類(lèi)似于建設(shè)電網(wǎng);然后有運(yùn)營(yíng)開(kāi)支通過(guò)API向我們所有人提供智能服務(wù)。
這是通過(guò)計(jì)量訪問(wèn)實(shí)現(xiàn)的,我們按百萬(wàn)token之類(lèi)的方式付費(fèi)。我們對(duì)這個(gè)API有很多類(lèi)似公用事業(yè)的需求:低延遲、高可用性、一致的質(zhì)量等等。
在電力系統(tǒng)中,你會(huì)有一個(gè)轉(zhuǎn)換開(kāi)關(guān),可以在電網(wǎng)、太陽(yáng)能、電池或發(fā)電機(jī)等電源之間切換。對(duì)于LLM,我們有像OpenRouter這樣的工具,可以輕松地在不同類(lèi)型的現(xiàn)有LLM之間切換。因?yàn)長(zhǎng)LM是軟件,它們不爭(zhēng)奪物理空間。所以擁有6個(gè)電力提供商也沒(méi)問(wèn)題,你可以在它們之間切換,因?yàn)樗鼈儾皇且赃@種直接方式競(jìng)爭(zhēng)。
我覺(jué)得非常有趣的是,就在前幾天我們看到很多LLM宕機(jī),人們被困住無(wú)法工作。當(dāng)最先進(jìn)的LLM宕機(jī)時(shí),就像是世界范圍內(nèi)發(fā)生了智能“停電”。這就像電網(wǎng)電壓不穩(wěn)定時(shí),整個(gè)星球都變得“更笨”了。
我們對(duì)這些模型的依賴(lài)已經(jīng)非常顯著,而且我認(rèn)為將繼續(xù)增長(zhǎng)。但LLM不僅具有公用事業(yè)屬性,也可以說(shuō)它們具有一些晶圓廠的特性,原因在于構(gòu)建LLM所需的資本開(kāi)支確實(shí)相當(dāng)巨大。
這不僅僅是建造某個(gè)發(fā)電站那么簡(jiǎn)單,對(duì)吧?你需要投入巨額資金,而且我認(rèn)為相關(guān)技術(shù)的“科技樹(shù)”正在快速發(fā)展。所以我們處在一個(gè)擁有深度“科技樹(shù)”的世界,研發(fā)的秘密正集中在LLM實(shí)驗(yàn)室內(nèi)部。
但我認(rèn)為這個(gè)類(lèi)比有點(diǎn)模糊,因?yàn)槿缥宜?,這是軟件,而軟件的可防御性較低,因?yàn)樗浅H菀仔薷?。所以這只是個(gè)值得思考的有趣事情。
04 技術(shù)擴(kuò)散逆向革命,煮雞蛋比導(dǎo)彈更早用上AI
你可以做很多類(lèi)比,比如4納米工藝節(jié)點(diǎn)。也許它類(lèi)似一個(gè)具有特定最大FLOPS的集群。你可以想想:當(dāng)你使用Nvidia GPU,只做軟件而不做硬件時(shí),這有點(diǎn)像無(wú)晶圓廠模式。但如果你像谷歌那樣,自己構(gòu)建硬件并在TPU上訓(xùn)練,那就有點(diǎn)像英特爾模式,擁有自己的晶圓廠。所以我認(rèn)為這里有一些說(shuō)得通的類(lèi)比。
但實(shí)際上,我認(rèn)為最貼切的類(lèi)比或許是,在我看來(lái),LLM與操作系統(tǒng)有著非常強(qiáng)的類(lèi)比性。因?yàn)樗粌H僅是電力或水。它不是像水龍頭流出的商品。它們現(xiàn)在是日益復(fù)雜的軟件生態(tài)系統(tǒng)。因此它們不只是像電力那樣的簡(jiǎn)單商品。有趣的是,生態(tài)系統(tǒng)正在以非常相似的方式形成。
你有幾個(gè)閉源提供商,如Windows或Mac OS,然后你有開(kāi)源的替代品,如Linux;對(duì)于LLM,我認(rèn)為L(zhǎng)LaMA也是類(lèi)似。我們有幾家競(jìng)爭(zhēng)的閉源提供商,然后LLaMA生態(tài)系統(tǒng)目前可能是最接近Linux成長(zhǎng)路徑的東西。再次強(qiáng)調(diào),現(xiàn)在還為時(shí)過(guò)早,因?yàn)檫@些還只是簡(jiǎn)單的LLM,但我們開(kāi)始看到它們將變得更加復(fù)雜。
這不僅僅是關(guān)于LLM本身,還涉及到所有使用的工具、多模態(tài)以及這一切如何運(yùn)作。所以當(dāng)我之前意識(shí)到這一點(diǎn)時(shí),我試著把它畫(huà)出來(lái)。在我看來(lái),LLM就像一個(gè)新的操作系統(tǒng)。LLM是一種新型計(jì)算機(jī),有點(diǎn)類(lèi)似于CPU。
上下文窗口有點(diǎn)像內(nèi)存,然后LLM利用所有這些能力來(lái)協(xié)調(diào)內(nèi)存和計(jì)算以解決問(wèn)題。從這個(gè)角度看,它確實(shí)非常像一個(gè)操作系統(tǒng)。
再舉幾個(gè)類(lèi)比。例如,如果你想下載一個(gè)應(yīng)用,比如我去VS Code官網(wǎng)下載,你可以下載VS Code并在Windows、Linux或Mac上運(yùn)行。
同樣地,你可以拿一個(gè)LLM應(yīng)用,比如Cursor,然后在GPT、Claude或Gemini上運(yùn)行它。選擇哪個(gè)模型只是一個(gè)下拉菜單。所以這方面也很相似。
另一個(gè)讓我印象深刻的類(lèi)比是,我們正處于類(lèi)似1960年代的時(shí)代,對(duì)于這種新型計(jì)算機(jī)來(lái)說(shuō),LLM的計(jì)算仍然非常昂貴。
這迫使LLM集中在云端。我們都只是通過(guò)網(wǎng)絡(luò)與其交互的瘦客戶(hù)端。我們沒(méi)有人能完全利用這些計(jì)算機(jī)。因此,采用分時(shí)共享是合理的,當(dāng)他們?cè)谠贫诉\(yùn)行計(jì)算機(jī)時(shí),我們都只是批次處理中的一個(gè)維度。
這非常符合那個(gè)時(shí)代計(jì)算機(jī)的樣子。操作系統(tǒng)在云端。所有東西都是流式傳輸?shù)?,并且有批處理。個(gè)人計(jì)算革命尚未發(fā)生,因?yàn)檫@從經(jīng)濟(jì)上講不通。
但我認(rèn)為有些人正在嘗試。事實(shí)證明,例如Mac Minis非常適合運(yùn)行某些LLM,因?yàn)槿绻阍谧雠客评?,這完全是內(nèi)存密集型的。這實(shí)際上是可行的。
我認(rèn)為這些可能是個(gè)人計(jì)算的一些早期跡象,但這還沒(méi)有真正發(fā)生。還不清楚它會(huì)是什么樣子。也許在座的各位中有人會(huì)發(fā)明它,或者定義它的工作原理和應(yīng)該是什么樣子。
05 LLM認(rèn)知缺陷,能過(guò)目不忘卻患短期失憶癥
我想再提一個(gè)類(lèi)比:每當(dāng)我直接在文本中與ChatGPT或某個(gè)LLM對(duì)話時(shí),我感覺(jué)就像通過(guò)終端與操作系統(tǒng)交談一樣,因?yàn)樗褪俏谋?,是直接訪問(wèn)操作系統(tǒng)的途徑。我認(rèn)為目前還沒(méi)有真正發(fā)明出一種通用的圖形用戶(hù)界面(GUI)。
例如,ChatGPT是否應(yīng)該有一個(gè)不同于文字氣泡的GUI?當(dāng)然,我們稍后要討論的一些應(yīng)用程序確實(shí)有GUI,但目前還沒(méi)有一種能通用所有任務(wù)的GUI。這說(shuō)得通嗎?
LLM在某些獨(dú)特方面與操作系統(tǒng)和早期計(jì)算有所不同。我寫(xiě)過(guò)這一點(diǎn)讓我感到這次非常不同的特性:LLM顛覆了技術(shù)擴(kuò)散的方向。
例如,電力、密碼學(xué)、計(jì)算、飛行、互聯(lián)網(wǎng)、GPS等許多變革性技術(shù)最初并不存在時(shí),通常政府和公司是首批用戶(hù),因?yàn)榧夹g(shù)新穎且昂貴,之后才擴(kuò)散到消費(fèi)者。但我覺(jué)得LLM的情況是顛倒的。
早期的計(jì)算機(jī)可能主要用于彈道學(xué)和軍事用途,但LLM卻關(guān)乎“如何煮雞蛋”之類(lèi)的事情。這確實(shí)是我的主要用途。
這讓我感到非常著迷:我們擁有一種神奇的新型計(jì)算機(jī),它在幫我煮雞蛋,而不是幫助政府做導(dǎo)彈計(jì)算之類(lèi)的瘋狂事。事實(shí)上,企業(yè)和政府在我們所有人之后才采用這些技術(shù)。這完全是顛倒的。這或許啟示了我們?nèi)绾问褂眠@項(xiàng)技術(shù),以及哪些會(huì)是首批應(yīng)用。
總結(jié)一下到目前為止:使用“LLM實(shí)驗(yàn)室”和“LLM”是準(zhǔn)確的描述,但LLM是復(fù)雜的操作系統(tǒng)。它們?cè)谟?jì)算領(lǐng)域相當(dāng)于1960年代的水平,我們正在重走計(jì)算之路。它們目前通過(guò)分時(shí)共享提供,像公用事業(yè)一樣分發(fā)。
前所未有的是,它們并非掌握在少數(shù)政府和企業(yè)手中,而是在我們所有人手中,因?yàn)槲覀兌加须娔X,而這一切都只是軟件。ChatGPT仿佛一夜之間就傳給了數(shù)十億人的電腦。這太瘋狂了。這讓我覺(jué)得不可思議,而現(xiàn)在正是我們進(jìn)入行業(yè)并編程這些計(jì)算機(jī)的時(shí)機(jī),這簡(jiǎn)直瘋狂。我認(rèn)為這非常了不起。
在編程LLM之前,我們需要花時(shí)間思考它們是什么。我特別喜歡討論它們的“心理學(xué)”。我喜歡將LLM視為人類(lèi)靈魂。
它們是對(duì)人的隨機(jī)模擬,而模擬器碰巧是一個(gè)自回歸 Transformer模型。Transformer是一種神經(jīng)網(wǎng)絡(luò),它在tokens級(jí)別上工作,逐塊處理,每個(gè)詞塊的計(jì)算量幾乎相等。這個(gè)模擬器本質(zhì)上涉及一些權(quán)重,我們將其擬合到互聯(lián)網(wǎng)上的所有文本等數(shù)據(jù)上。最終就得到了這樣一種模擬器。
因?yàn)樗谌祟?lèi)數(shù)據(jù)上訓(xùn)練,它產(chǎn)生了這種類(lèi)人的涌現(xiàn)心理學(xué)特性。首先你會(huì)注意到,LLM擁有百科全書(shū)式的知識(shí)和記憶,它們能記住的東西遠(yuǎn)多于任何個(gè)人,因?yàn)樗鼈冮喿x了太多內(nèi)容。
這讓我想起電影《雨人》,我真心推薦大家觀看。這是一部精彩的電影,我非常喜歡。達(dá)斯汀·霍夫曼飾演一位患有自閉癥的學(xué)者癥候群患者,擁有近乎完美的記憶力,他能像讀電話簿一樣記住所有姓名和電話號(hào)碼。
我覺(jué)得LLM非常相似。它們能非常容易地記住SHA哈希值和各種東西。因此它們?cè)谀承┓矫娲_實(shí)擁有超能力,但它們也存在一系列認(rèn)知缺陷:它們經(jīng)常產(chǎn)生幻覺(jué)、編造內(nèi)容,并且缺乏足夠好的自我認(rèn)知內(nèi)部模型(至少不夠充分)。這方面已有改進(jìn),但尚未完美。
它們表現(xiàn)出不均衡的智能:在某些問(wèn)題解決領(lǐng)域表現(xiàn)出超人能力,卻會(huì)犯下人類(lèi)基本不會(huì)犯的錯(cuò)誤。比如堅(jiān)持認(rèn)為9.11大于9.9,或者“strawberry”中有兩個(gè)‘R’。這些都是著名的例子,但本質(zhì)上存在一些你可能踩到的“坑”。我認(rèn)為這也很獨(dú)特。它們還患有順行性遺忘癥。
我想指出的是,如果你的組織來(lái)了一個(gè)新同事,隨著時(shí)間的推移,他會(huì)了解你的組織,理解并獲取大量組織背景信息。他回家睡覺(jué),鞏固知識(shí),并逐漸發(fā)展出專(zhuān)業(yè)知識(shí)。但LLM天生不具備這種能力。我認(rèn)為這在LLM研發(fā)中尚未真正解決。
因此,上下文窗口實(shí)際上就像工作記憶。你必須直接“編程”這個(gè)工作記憶,因?yàn)樗鼈儾粫?huì)默認(rèn)地“變聰明”。我想很多人被類(lèi)比誤導(dǎo)了。
在大眾文化中,我推薦大家看這兩部電影:《記憶碎片》和 《第51州》。在這兩部電影中,主角的“權(quán)重”是固定的,他們的“上下文窗口”每天早晨都會(huì)被清空。當(dāng)這種情況發(fā)生時(shí),去工作或建立關(guān)系就非常成問(wèn)題。而LLM一直處于這種狀態(tài)。
我想再指出一點(diǎn)與使用LLM相關(guān)的安全限制。例如,LLM相當(dāng)輕信,它們?nèi)菀资艿教崾咀⑷腼L(fēng)險(xiǎn)的影響,可能會(huì)泄露你的數(shù)據(jù)等。還有很多其他安全相關(guān)的考量??傊?,簡(jiǎn)而言之,你必須…
05 別造機(jī)器人,造戰(zhàn)衣!讓人類(lèi)決定AI該飛多高。
同時(shí),要思考這個(gè)擁有超能力卻又有一堆認(rèn)知缺陷和問(wèn)題的東西,而它們又極其有用。那么我們?cè)撊绾螢樗鼈兙幊??如何繞過(guò)它們的缺陷并享受它們的超能力?所以我現(xiàn)在想談?wù)剻C(jī)遇。我們?nèi)绾问褂眠@些模型?有哪些最大的機(jī)遇?
以下是我認(rèn)為本次演講有趣的一些內(nèi)容,并非詳盡列表。
我比較興奮的第一件事是我稱(chēng)之為部分自主應(yīng)用的東西。例如,以編碼為例。你當(dāng)然可以直接去ChatGPT,開(kāi)始到處復(fù)制粘貼代碼、復(fù)制粘貼錯(cuò)誤報(bào)告等等,獲取代碼并到處粘貼。但你為什么要那樣做?為什么要直接去操作系統(tǒng)?為此專(zhuān)門(mén)開(kāi)發(fā)一個(gè)應(yīng)用更有意義。我想你們很多人用Cursor,我也在用,Cursor就是你需要的那種工具。
你不想直接去ChatGPT,而我認(rèn)為Cursor是一個(gè)很好的早期LLM應(yīng)用范例,它具備一些我認(rèn)為對(duì)所有LLM應(yīng)用都有用的特性。特別是,你會(huì)注意到它有一個(gè)傳統(tǒng)界面,允許像以前一樣手動(dòng)完成所有工作。但除此之外,它現(xiàn)在集成了LLM,允許我們處理更大的任務(wù)塊。我認(rèn)為L(zhǎng)LM應(yīng)用共享的一些有用特性值得指出:
第一,LLM基本上做了大量的上下文管理。
第二,它們協(xié)調(diào)對(duì)LLM的多次調(diào)用。以Cursor為例,其底層有為所有文件服務(wù)的嵌入模型,以及實(shí)際為代碼應(yīng)用差異的聊天模型。這一切都為你協(xié)調(diào)好了。
我認(rèn)為還有一個(gè)非常重要但可能未被充分認(rèn)識(shí)的點(diǎn)是特定于應(yīng)用的GUI及其重要性,因?yàn)槟悴幌雰H通過(guò)文本直接與操作系統(tǒng)交談。
文本很難閱讀、解析和理解,而且你也不希望在文本中直接執(zhí)行某些操作。所以,直接看到紅綠標(biāo)識(shí)的代碼變更差異,并且可以交互式地查看新增內(nèi)容要好得多。
只需按Command+Y接受或Command+N拒絕要容易得多。我不應(yīng)該用文本輸入吧?因此,GUI允許人類(lèi)審計(jì)這些易出錯(cuò)系統(tǒng)的工作,并加快速度。稍后我會(huì)再回到這一點(diǎn)。
我想指出的最后一個(gè)特性是我稱(chēng)之為自主程度滑塊的東西。例如,在Cursor中,你可以只做頂部補(bǔ)全,你基本掌控一切;你可以選擇一段代碼塊并按Command+K僅修改該塊;你可以按Command-L修改整個(gè)文件;或者你可以按Command-I,讓它在整個(gè)代碼中自由發(fā)揮。這就是那種完全自主的代理模式。因此,你掌控著這個(gè)自主程度滑塊。
根據(jù)手頭任務(wù)的復(fù)雜性,你可以調(diào)整愿意為該任務(wù)放棄多少自主權(quán)。再展示一個(gè)相當(dāng)成功的LLM應(yīng)用Perplexity的例子,它也具備與我在Cursor中指出的非常相似的功能。
它打包了大量信息,協(xié)調(diào)多個(gè)LLM,并有一個(gè)GUI讓你審計(jì)其部分工作。例如,它會(huì)引用來(lái)源,你可以查看它們,并且它也有一個(gè)自主程度滑塊:你可以進(jìn)行快速搜索,進(jìn)行研究,或者進(jìn)行深度研究并在10分鐘后回來(lái)查看結(jié)果。這只是你賦予工具的不同程度的自主權(quán)。
所以我的問(wèn)題是,我感覺(jué)很多軟件將變得部分自主。我正在思考這會(huì)是什么樣子,對(duì)于你們中維護(hù)產(chǎn)品和服務(wù)的人來(lái)說(shuō),你們將如何使自己的產(chǎn)品和服務(wù)部分自主?
LLM能看到人類(lèi)能看到的一切嗎?LLM能以人類(lèi)的所有方式行動(dòng)嗎?人類(lèi)能否監(jiān)督并保持在這種活動(dòng)的循環(huán)中?因?yàn)樵俅螐?qiáng)調(diào),這些系統(tǒng)還不完美且容易出錯(cuò),那么在PS中的差異會(huì)是什么樣子呢?
此外,當(dāng)前很多傳統(tǒng)軟件,其所有的開(kāi)關(guān)等東西都是為人類(lèi)設(shè)計(jì)的。這一切都必須改變,變得對(duì)LLM可訪問(wèn)。所以我想強(qiáng)調(diào)一點(diǎn),對(duì)于許多這類(lèi)LLM應(yīng)用,我認(rèn)為這一點(diǎn)未得到足夠重視:我們現(xiàn)在像是在與AI合作。通常它們負(fù)責(zé)生成,而我們?nèi)祟?lèi)負(fù)責(zé)驗(yàn)證。
讓這個(gè)循環(huán)盡可能快地運(yùn)行符合我們的利益,這樣我們能完成大量工作。我認(rèn)為有兩種主要方式可以做到這一點(diǎn):第一,你可以大大加快驗(yàn)證速度。我認(rèn)為GUI對(duì)此極其重要,因?yàn)镚UI利用了我們頭腦中的計(jì)算機(jī)視覺(jué)“GPU”,閱讀文本很費(fèi)力且無(wú)趣,但看圖很有趣,視覺(jué)信息就像是通往大腦的高速公路。因此我認(rèn)為GUI在審計(jì)系統(tǒng)和視覺(jué)呈現(xiàn)方面非常有用。
第二點(diǎn),我認(rèn)為是我們必須約束AI。我認(rèn)為很多人對(duì)AI代理過(guò)于熱衷。對(duì)我來(lái)說(shuō),收到一個(gè)對(duì)我的倉(cāng)庫(kù)進(jìn)行1000行代碼的變更差異沒(méi)什么用,因?yàn)槲胰匀皇瞧款i,對(duì)吧?即使那1000行代碼瞬間生成,我也必須確保它沒(méi)有引入bug,做的是正確的事情,沒(méi)有安全問(wèn)題等等。因此,是的,基本上我們有必要讓這兩個(gè)流程運(yùn)行得非常非常快。而且我們必須設(shè)法約束AI,因?yàn)樗兊眠^(guò)于反應(yīng)過(guò)度。有點(diǎn)像這樣。
這就是我進(jìn)行AI輔助編碼時(shí)的感受。如果我只是在小步前進(jìn),一切都很好,但如果我真的想完成工作,讓一個(gè)過(guò)度反應(yīng)的代理做所有這些事就不太好了。這張幻燈片不太好,抱歉。但我想我和你們很多人一樣,正在嘗試在我的編碼工作流中開(kāi)發(fā)一些利用這些代理的方法,進(jìn)行AI輔助編碼和自己的工作。
我總是害怕收到太大的差異。我總是采用小的增量塊。我想確保一切都好。我想讓這個(gè)循環(huán)轉(zhuǎn)得非常非???。我會(huì)專(zhuān)注于具體事物的小塊工作。因此我想你們很多人可能正在開(kāi)發(fā)類(lèi)似的使用LLM的方式。我也看到一些博客文章試圖制定使用LLM的最佳實(shí)踐。
06 生成-驗(yàn)證循環(huán):如何讓AI和人類(lèi)“飆車(chē)”不翻車(chē)?
這是我最近讀到的一篇,我覺(jué)得很不錯(cuò)。它討論了一些技巧。其中一些涉及如何約束AI。例如,如果你在提示,如果你的提示很大,AI可能不會(huì)完全按你希望的去做,這樣驗(yàn)證就會(huì)失敗。你會(huì)要求別的東西。如果驗(yàn)證失敗,你就得開(kāi)始循環(huán)。所以,花點(diǎn)時(shí)間讓你的提示更具體更有意義,這會(huì)提高驗(yàn)證成功的概率,讓你繼續(xù)前進(jìn)。因此我認(rèn)為我們很多人最終都會(huì)找到這類(lèi)技術(shù)。
我認(rèn)為在我自己的工作中也是如此。我目前感興趣的是,既然我們擁有了AI和所有LLM,教育會(huì)變成什么樣子。
我認(rèn)為我大量思考都集中在如何約束AI上。我不認(rèn)為直接去ChatGPT說(shuō)“嘿,教我物理”就能奏效。我覺(jué)得這行不通,因?yàn)锳I會(huì)迷失方向。所以對(duì)我來(lái)說(shuō),這實(shí)際上是兩個(gè)獨(dú)立的應(yīng)用:一個(gè)是供教師創(chuàng)建課程的應(yīng)用,另一個(gè)是獲取課程并提供給學(xué)生的應(yīng)用。在這兩種情況下,我們現(xiàn)在都有一個(gè)可審計(jì)的中間產(chǎn)物——課程。
我們可以確保它是好的、一致的。AI被約束在特定的教學(xué)大綱和項(xiàng)目進(jìn)度內(nèi)。所以這是一種約束AI的方法,我認(rèn)為成功概率要高得多,AI也不會(huì)迷失方向。
我想再提一個(gè)類(lèi)比:我對(duì)部分自主并不陌生,我在特斯拉工作了五年左右,研究的就是這個(gè)。特斯拉的自動(dòng)駕駛也是一個(gè)部分自主產(chǎn)品,并具有許多類(lèi)似特性,例如:儀表盤(pán)上就有自動(dòng)駕駛的GUI,它向我展示神經(jīng)網(wǎng)絡(luò)看到的內(nèi)容。
我們還有自主程度滑塊,在我任職期間,我們?yōu)橛脩?hù)完成了越來(lái)越多自主任務(wù)。我想簡(jiǎn)要講述一個(gè)故事:我第一次駕駛自動(dòng)駕駛 車(chē)輛是在2013年。
當(dāng)時(shí)我有個(gè)朋友在Waymo工作,他邀請(qǐng)我在帕洛阿爾托(Palo Alto)附近試駕。我用當(dāng)時(shí)的Google Glass拍了這張照片,你們很多人太年輕了可能都不知道那是什么。但沒(méi)錯(cuò),這在當(dāng)時(shí)風(fēng)靡一時(shí)。我們坐進(jìn)車(chē)?yán)铮谂谅灏柾兄車(chē)_(kāi)了大約30分鐘,走了高速公路、街道等。
那次駕駛完美無(wú)缺,零干預(yù)。那是2013年,距今已有11年。這讓我印象深刻,因?yàn)楫?dāng)時(shí)經(jīng)歷了那次完美的駕駛演示后,我覺(jué)得自動(dòng)駕駛即將到來(lái),因?yàn)樗呀?jīng)能工作了。
這很不可思議,但11年后的今天,我們?nèi)栽谘芯孔詣?dòng)駕駛。我們?nèi)栽谘芯狂{駛代理。即使到現(xiàn)在,我們還沒(méi)有真正解決這個(gè)問(wèn)題。你可能看到Waymo在路上跑,看起來(lái)是無(wú)人駕駛,但仍然有大量的遠(yuǎn)程操作,很多駕駛環(huán)節(jié)仍然有人參與。所以我們甚至還沒(méi)有宣布成功,但我認(rèn)為它最終肯定會(huì)成功,只是花了很長(zhǎng)時(shí)間。
因此,我認(rèn)為軟件確實(shí)很棘手,就像駕駛也很棘手一樣。所以當(dāng)我看到“2025年是智能體之年”這樣的說(shuō)法時(shí),我感到非常擔(dān)憂。
我有點(diǎn)覺(jué)得,這將是一個(gè)“智能體的十年”,而且會(huì)持續(xù)相當(dāng)長(zhǎng)一段時(shí)間。我們需要人類(lèi)在循環(huán)中。我們需要謹(jǐn)慎行事。這是軟件,我們得認(rèn)真對(duì)待。
我經(jīng)常思考的另一個(gè)類(lèi)比是鋼鐵俠戰(zhàn)衣。我一直很喜歡鋼鐵俠,我認(rèn)為它在很多方面正確地描繪了技術(shù)及其發(fā)展。我喜歡鋼鐵俠戰(zhàn)衣的地方在于,它既是增強(qiáng)設(shè)備,也是一個(gè)agent。在部分電影中,鋼鐵俠戰(zhàn)衣具有高度自主性,可以飛來(lái)飛去尋找Tony。這就是自主程度滑塊的體現(xiàn):我們可以構(gòu)建增強(qiáng)設(shè)備,也可以構(gòu)建代理。我們兩者都想要一些。但在現(xiàn)階段,我認(rèn)為在處理有價(jià)值的LLM時(shí),更應(yīng)該是構(gòu)建鋼鐵俠的戰(zhàn)衣,而不是鋼鐵俠機(jī)器人。
07 氛圍編程狂歡,讓編程變成‘說(shuō)人話’,全世界都是程序員
與其說(shuō)是構(gòu)建炫目的自主代理演示,不如說(shuō)是構(gòu)建部分自主產(chǎn)品。這些產(chǎn)品擁有定制的GUI和UI、UX,我們這樣做的目的是讓人類(lèi)的生成-驗(yàn)證循環(huán)變得非常非常快,同時(shí)我們也未忽視這項(xiàng)工作原則上可以實(shí)現(xiàn)自動(dòng)化的事實(shí)。
你的產(chǎn)品中應(yīng)該有一個(gè)自主程度滑塊,你應(yīng)該思考如何滑動(dòng)這個(gè)滑塊,讓你的產(chǎn)品逐漸變得更加自主。我認(rèn)為這類(lèi)產(chǎn)品中存在大量機(jī)遇。
我想提一下,稍微切換一下話題,談?wù)劻硪粋€(gè)我認(rèn)為非常獨(dú)特的維度。不僅存在一種允許自主性和軟件的新型編程語(yǔ)言,而且如我所言,它是用英語(yǔ)編程的,這是一種自然界面。突然間,每個(gè)人都成了程序員,因?yàn)槊總€(gè)人都會(huì)說(shuō)英語(yǔ)這樣的自然語(yǔ)言。
這讓我感到極其樂(lè)觀和非常有趣,也是完全前所未有的。過(guò)去,你需要花5到10年學(xué)習(xí)才能做某事(在軟件領(lǐng)域)?,F(xiàn)在情況不同了。我不知道是否有人聽(tīng)說(shuō)過(guò)氛圍編程(vibe oding)。
這條推文某種程度上引入了這個(gè)概念,但我聽(tīng)說(shuō)它現(xiàn)在成了一個(gè)大型網(wǎng)絡(luò)迷因。有趣的故事是:我在推特上活躍了大約15年,至今仍不清楚哪條推文會(huì)爆紅,哪條會(huì)無(wú)人問(wèn)津。我以為這條推文會(huì)是后者。
不知這是否只是一時(shí)之念,但它成了全網(wǎng)迷因,我也說(shuō)不清原因,但猜想它觸動(dòng)了大家心弦,為人們感受到卻難以言表的東西命了名。現(xiàn)在甚至有了維基百科頁(yè)面等等。這瘋狂嗎?
是的,這現(xiàn)在就像是一項(xiàng)重大貢獻(xiàn)。Hugging Face的Tom Wolf分享了這個(gè)我超愛(ài)的美好視頻。這些孩子在進(jìn)行氛圍編程。
我覺(jué)得這視頻充滿正能量,太喜歡了??吹竭@樣的視頻,你怎么會(huì)對(duì)未來(lái)感到悲觀?未來(lái)是美好的。實(shí)際上,我認(rèn)為這終將成為軟件開(kāi)發(fā)的入門(mén)途徑。我對(duì)這代人的未來(lái)并不悲觀。是的,我太愛(ài)這個(gè)視頻了。
因?yàn)樘腥?,我也嘗試了氛圍編程。當(dāng)你想要構(gòu)建某個(gè)超定制化的、看似不存在的東西,又想在周六之類(lèi)的時(shí)間隨性發(fā)揮時(shí),氛圍編程太棒了。
我構(gòu)建了這個(gè)iOS應(yīng)用,其實(shí)不會(huì)Swift編程,但很震驚自己能做出一個(gè)超級(jí)基礎(chǔ)的應(yīng)用,它確實(shí)簡(jiǎn)單。但我喜歡它只需一天就能完成,當(dāng)天就能在手機(jī)上運(yùn)行。這太神奇了,我無(wú)需花五天學(xué)習(xí)Swift就能入門(mén)。
我還通過(guò)氛圍編程(vibe coded)構(gòu)建了名為MenuGen的應(yīng)用,你可以在menugen.do試用。我有個(gè)痛點(diǎn):在餐廳看菜單時(shí),很多菜品不認(rèn)識(shí),需要圖片參考,但不存在這樣的服務(wù)。于是我想:我要氛圍編程。操作流程是:訪問(wèn)menugen.do,拍攝菜單照片,MenuGen生成圖片,注冊(cè)即贈(zèng)5美元額度。
因此,這是我生活中的主要成本中心。目前這是個(gè)負(fù)收入應(yīng)用,我在MenuGen上虧了很多錢(qián)。但MenuGen的奇妙之處在于:氛圍編程部分其實(shí)很簡(jiǎn)單。真正的難點(diǎn)是落地實(shí)現(xiàn):添加身份驗(yàn)證、支付功能、和域名配置、Vercel部署等。
這些都不屬于氛圍編程,而是我在瀏覽器里手動(dòng)點(diǎn)擊操作。這是極度枯燥的苦差,又花了一周。有趣的是,我?guī)仔r(shí)就在筆記本上做出MenuGen demo,但實(shí)現(xiàn)真實(shí)部署卻花了一周。
原因就是:這實(shí)在太煩人了。
08 為智能體重構(gòu)世界,AI成了互聯(lián)網(wǎng)的“新人類(lèi)”
例如,為網(wǎng)頁(yè)添加Google登錄功能——我知道這很簡(jiǎn)單——但有大量類(lèi)似Clerk庫(kù)的集成指南。太瘋狂了!它指示我:訪問(wèn)這個(gè)URL,點(diǎn)擊下拉菜單,選擇這個(gè),跳轉(zhuǎn)到那個(gè)頁(yè)面,再點(diǎn)擊那個(gè)… 就像在教我怎么操作。計(jì)算機(jī)在指揮我該做什么,那你來(lái)做啊!為什么是我做?搞什么鬼?我必須跟著指令做,太荒謬了。
因此,我演講的最后部分聚焦于:我們能直接為智能體構(gòu)建嗎?我不想做這些工作,智能體能代勞嗎?謝謝?
好的,簡(jiǎn)而言之:數(shù)字信息的新消費(fèi)和操作者出現(xiàn)了。過(guò)去只有人類(lèi)通過(guò)圖形界面或計(jì)算機(jī)通過(guò)接口(APIs)操作,現(xiàn)在有了全新事物。智能體是計(jì)算機(jī),卻像人類(lèi)靈魂。
互聯(lián)網(wǎng)存在人類(lèi)靈魂,它們需要與軟件基礎(chǔ)設(shè)施交互——我們能為其構(gòu)建嗎?例如,你可以在域名放置robots.txt文件,指導(dǎo)網(wǎng)絡(luò)爬蟲(chóng)在網(wǎng)站的行為規(guī)范。
同樣,你可以創(chuàng)建llm.txt或lens.txt文件,用簡(jiǎn)單Markdown告訴LLMs該域名的主題。相比解析網(wǎng)頁(yè)HTML(極易出錯(cuò)且困難),這對(duì)LLM更易讀。直接與LLM溝通是值得的。
大量文檔是為人類(lèi)編寫(xiě)的,包含列表、粗體和圖片等元素,但LLM無(wú)法直接理解。我看到Vercel、Stripe等服務(wù)商正將文檔專(zhuān)門(mén)適配LLMs(Markdown格式),Markdown對(duì)LLMs極其友好。例如YouTube上制作精美動(dòng)畫(huà)的3Blue1Brown。
是的,我愛(ài)這個(gè)庫(kù)。他開(kāi)發(fā)了Manim,我也想自己做一個(gè)。面對(duì)冗長(zhǎng)的Manim文檔,我直接復(fù)制給LLM,描述需求后,它直接編寫(xiě)出我想要的動(dòng)畫(huà)。太神奇了!讓文檔對(duì)LLMs可讀將釋放巨大潛力,應(yīng)大力推廣。
我還想強(qiáng)調(diào):你不能止步于此。僅轉(zhuǎn)為Markdown格式不夠(這很簡(jiǎn)單),還需修改內(nèi)容。比如文檔中的”點(diǎn)擊”指令對(duì)LLM無(wú)效,Vercel正將所有”點(diǎn)擊”替換為curl命令,讓LLM代理可執(zhí)行。
這很有趣。當(dāng)然還有Anthropic的模型卡片協(xié)議——直接與作為數(shù)字信息操作者的智能體溝通的協(xié)議。我對(duì)此非??春?。我也喜歡各種輔助工具,它們以LLM友好格式攝取數(shù)據(jù)。
例如訪問(wèn)nanoGPT的GitHub倉(cāng)庫(kù)時(shí),無(wú)法直接詢(xún)問(wèn)LLM(這是人類(lèi)界面)。但將網(wǎng)址改為GitIngested,它會(huì)將所有文件合并為文本并生成目錄結(jié)構(gòu)。
這可直接粘貼到LLM。更強(qiáng)大的如Devon:不僅能處理原始文件,還會(huì)分析GitHub倉(cāng)庫(kù)并生成專(zhuān)屬文檔頁(yè),對(duì)LLM輸入極有幫助。這類(lèi)通過(guò)修改網(wǎng)址讓LLM可訪問(wèn)的工具非常實(shí)用,應(yīng)大量涌現(xiàn)。
還需說(shuō)明:未來(lái)LLMs定能直接瀏覽界面(甚至現(xiàn)在已能操作點(diǎn)擊)。但主動(dòng)優(yōu)化信息訪問(wèn)仍很有價(jià)值,因?yàn)橹苯硬僮鞒杀靖咔依щy。大量軟件(非活躍倉(cāng)庫(kù)/基礎(chǔ)設(shè)施)不會(huì)被適配,我們需要工具支持。其他軟件則應(yīng)在中間點(diǎn)相向而行??傊F(xiàn)在入行太棒了。
我們需要重寫(xiě)海量代碼,專(zhuān)業(yè)人士將編寫(xiě)海量代碼。LLMs像公用事業(yè),也像晶圓廠,但尤其像操作系統(tǒng)——不過(guò)處于類(lèi)似1960年代的早期階段。它們是需學(xué)習(xí)協(xié)作的有缺陷的”人類(lèi)靈魂”,為此需調(diào)整基礎(chǔ)設(shè)施。
構(gòu)建LLM應(yīng)用時(shí),我描述了高效使用LLMs的方法和工具,如何快速迭代創(chuàng)建部分自主產(chǎn)品。當(dāng)然還需為智能體編寫(xiě)大量代碼??傊?,如鋼鐵俠戰(zhàn)衣的比喻:未來(lái)十年滑塊將右移,我充滿期待,迫不及待與各位共建未來(lái)。謝謝!
從驚艷demo到規(guī)模產(chǎn)品,技術(shù)落地需要耐心。但此刻的我們,正站在比1960年代計(jì)算機(jī)革命更洶涌的潮頭——當(dāng)英語(yǔ)成為新編程語(yǔ)言,當(dāng)LLM成為新操作系統(tǒng),每個(gè)敢于用語(yǔ)言重塑數(shù)字世界的人,都是新范式的創(chuàng)世者。
本文由人人都是產(chǎn)品經(jīng)理作者【硅星人】,微信公眾號(hào):【硅星人Pro】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于 CC0 協(xié)議。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!