作者 | 大模型機動組
郵箱 | damoxingjidongzu@pingwest.com
在舊金山Moscone中心舉行的首屆YC AI創業學校上,OpenAI創始科學家、特斯拉前AI總監Andrej Karpathy發表了最新演講。
以下是Andrej Karpathy的演講全文。
1
軟件的三次“重生”革命,3.0正吞噬舊代碼
我很高興今天能在這里與大家討論人工智能時代的軟件。我了解到你們中很多人是本科生、碩士生、博士生等,即將進入行業。我認為現在進入行業是一個非常獨特且有趣的時刻。從根本上說,原因在于軟件正在再次變革。
我說“再次”是因為我之前做過這個演講,但問題是軟件一直在變化。因此我有很多素材可以講新內容,我認為它正發生根本性的改變。粗略地說,軟件在基礎層面上已有70年沒有太大變化。而在過去幾年里,它大約發生了兩次相當快速的變革。因此,現在有大量的工作要做,有大量的軟件需要編寫和重寫。
那么,我們來看看軟件的領域。如果我們把它想象成軟件的地圖,這里有一個很酷的工具叫“GitHub地圖”。這就像是所有已編寫軟件的集合。它們是指示計算機在數字空間執行任務的指令。放大這里,你會看到各種不同的代碼庫,所有這些都是已編寫的代碼。
幾年前,我觀察到軟件正在發生變化,出現了一種新的軟件類型。我當時稱之為軟件2.0。其理念是:軟件1.0是你為計算機編寫的代碼;軟件2.0本質上是神經網絡,特別是神經網絡的權重。你不是直接編寫這些代碼,而是通過調整數據集,然后運行優化器來創建神經網絡的參數。當時,神經網絡更多被看作是一種不同的分類器,比如決策樹之類。所以我認為這種框架描述更為貼切。
現在,我們在軟件2.0領域有了類似GitHub的替代品。我認為Hugging Face基本上就是軟件2.0的GitHub,還有Model Atlas。如果你好奇,可以可視化那里編寫的所有代碼。順便說一句,那個巨大的圓圈,中間的點,是圖像生成器Stable Diffusion的參數。因此,每當有人在Stable Diffusion模型上調整LoRA時,你本質上是在這個空間創建了一個Git提交,并創建了一種新的圖像生成器。所以,軟件1.0是編程計算機的代碼;軟件2.0是編程神經網絡的權重。
這是AlexNet圖像識別神經網絡的一個例子。
到目前為止,我們熟悉的神經網絡都像是功能固定的計算機,比如圖像分類之類。我認為改變在于,神經網絡通過大語言模型(LLM)變得可編程,這是一個根本性的變化。我認為這很獨特。這是一種新型計算機,因此值得賦予它一個新的名稱:軟件3.0。本質上,你的提示詞現在就是編程LLM的程序。值得注意的是,這些提示是用英語寫的。所以這是一種非常有趣的編程語言。
1
用英語編程“人類靈魂”,提示詞成了新代碼
或許可以這樣總結區別:以情感分類為例,你可以寫一些Python代碼來做情感分類,或者訓練一個神經網絡,或者提示一個大語言模型。這里有一個簡短的提示,你可以想象通過改變它,以稍微不同的方式編程計算機。所以,我們有軟件1.0、軟件2.0,我認為我們現在看到很多GitHub代碼不僅僅是代碼,還夾雜著大量英語。
因此,我認為這是一種日益增長的新型代碼類別。這不僅是一種新的編程范式,而且令人驚訝的是,它是用我們的母語英語編寫的。幾年前,這讓我感到震驚,我在推特上發了這個想法,引起了很多人的關注。我目前置頂的推文就是:令人矚目的是,我們現在在用英語編程計算機。
現在,當我在特斯拉時,我們正在開發自動駕駛系統,試圖讓汽車能夠駕駛。我當時展示了一張幻燈片,想象一下汽車的輸入在底部,它們經過一個軟件棧來產生轉向和加速信號。我觀察到當時自動駕駛系統中有大量C++代碼,這是軟件1.0的代碼。然后還有一些用于圖像識別的神經網絡。我觀察到,隨著時間的推移,隨著我們改進自動駕駛系統,神經網絡的能力和規模都在增長。此外,所有的C++代碼被刪除,很多最初用1.0編寫的能力和功能都遷移到了2.0。例如,跨不同攝像頭圖像和跨時間的信息拼接工作,現在都由神經網絡完成。
我們能夠刪除大量代碼,貫穿整個自動駕駛軟件棧。當時我覺得這非常了不起。我認為我們現在又看到了同樣的情況,一種新型軟件正在“吞噬”整個軟件棧。
我們有三種完全不同的編程范式。我認為如果你要進入這個行業,熟練掌握這三種范式是個好主意,因為它們各有優缺點。你可能想用1.0、2.0或3.0來編程某些功能,或者訓練神經網絡,或者直接提示LLM。這應該是顯式代碼嗎?等等。我們都必須做出這些決定,并可能在這些范式之間流暢地切換。所以現在我想深入探討的是,在第一部分,談談LLM,如何思考這種新范式及其生態系統,它是什么樣子。比如這臺新計算機是什么樣子?生態系統又是什么樣子?
1
我們正處在LLM的‘大型機時代’——云端分時系統,個人計算革命還未到來。
很多年前,吳恩達的一句話讓我印象深刻,我想他接下來會發言,他當時說“AI是新的電力”。
我確實認為這捕捉到了一些非常有趣的東西,因為現在的LLM確實具有公用事業的特質。像OpenAI、Gemini、Anthropic等LLM實驗室投入資本開支來訓練LLM,這類似于建設電網;然后有運營開支通過API向我們所有人提供智能服務。這是通過計量訪問實現的,我們按百萬token之類的方式付費。我們對這個API有很多類似公用事業的需求:低延遲、高可用性、一致的質量等等。
在電力系統中,你會有一個轉換開關,可以在電網、太陽能、電池或發電機等電源之間切換。對于LLM,我們有像OpenRouter這樣的工具,可以輕松地在不同類型的現有LLM之間切換。因為LLM是軟件,它們不爭奪物理空間。所以擁有6個電力提供商也沒問題,你可以在它們之間切換,因為它們不是以這種直接方式競爭。我覺得非常有趣的是,就在前幾天我們看到很多LLM宕機,人們被困住無法工作。當最先進的LLM宕機時,就像是世界范圍內發生了智能“停電”。這就像電網電壓不穩定時,整個星球都變得“更笨”了。
我們對這些模型的依賴已經非常顯著,而且我認為將繼續增長。但LLM不僅具有公用事業屬性,也可以說它們具有一些晶圓廠的特性,原因在于構建LLM所需的資本開支確實相當巨大。這不僅僅是建造某個發電站那么簡單,對吧?你需要投入巨額資金,而且我認為相關技術的“科技樹”正在快速發展。所以我們處在一個擁有深度“科技樹”的世界,研發的秘密正集中在LLM實驗室內部。
但我認為這個類比有點模糊,因為如我所言,這是軟件,而軟件的可防御性較低,因為它非常容易修改。所以這只是個值得思考的有趣事情。
1
技術擴散逆向革命,煮雞蛋比導彈更早用上AI
你可以做很多類比,比如4納米工藝節點。也許它類似一個具有特定最大FLOPS的集群。你可以想想:當你使用Nvidia GPU,只做軟件而不做硬件時,這有點像無晶圓廠模式。但如果你像谷歌那樣,自己構建硬件并在TPU上訓練,那就有點像英特爾模式,擁有自己的晶圓廠。所以我認為這里有一些說得通的類比。
但實際上,我認為最貼切的類比或許是,在我看來,LLM與操作系統有著非常強的類比性。因為它不僅僅是電力或水。它不是像水龍頭流出的商品。它們現在是日益復雜的軟件生態系統。因此它們不只是像電力那樣的簡單商品。有趣的是,生態系統正在以非常相似的方式形成。你有幾個閉源提供商,如Windows或Mac OS,然后你有開源的替代品,如Linux;對于LLM,我認為LLaMA也是類似。我們有幾家競爭的閉源提供商,然后LLaMA生態系統目前可能是最接近Linux成長路徑的東西。再次強調,現在還為時過早,因為這些還只是簡單的LLM,但我們開始看到它們將變得更加復雜。
這不僅僅是關于LLM本身,還涉及到所有使用的工具、多模態以及這一切如何運作。所以當我之前意識到這一點時,我試著把它畫出來。在我看來,LLM就像一個新的操作系統。LLM是一種新型計算機,有點類似于CPU。上下文窗口有點像內存,然后LLM利用所有這些能力來協調內存和計算以解決問題。從這個角度看,它確實非常像一個操作系統。
再舉幾個類比。例如,如果你想下載一個應用,比如我去VS Code官網下載,你可以下載VS Code并在Windows、Linux或Mac上運行。同樣地,你可以拿一個LLM應用,比如Cursor,然后在GPT、Claude或Gemini上運行它。選擇哪個模型只是一個下拉菜單。所以這方面也很相似。
另一個讓我印象深刻的類比是,我們正處于類似1960年代的時代,對于這種新型計算機來說,LLM的計算仍然非常昂貴。這迫使LLM集中在云端。我們都只是通過網絡與其交互的瘦客戶端。我們沒有人能完全利用這些計算機。因此,采用分時共享是合理的,當他們在云端運行計算機時,我們都只是批次處理中的一個維度。
這非常符合那個時代計算機的樣子。操作系統在云端。所有東西都是流式傳輸的,并且有批處理。個人計算革命尚未發生,因為這從經濟上講不通。但我認為有些人正在嘗試。事實證明,例如Mac Minis非常適合運行某些LLM,因為如果你在做批量推理,這完全是內存密集型的。這實際上是可行的。
我認為這些可能是個人計算的一些早期跡象,但這還沒有真正發生。還不清楚它會是什么樣子。也許在座的各位中有人會發明它,或者定義它的工作原理和應該是什么樣子。
1
LLM認知缺陷,能過目不忘卻患短期失憶癥
我想再提一個類比:每當我直接在文本中與ChatGPT或某個LLM對話時,我感覺就像通過終端與操作系統交談一樣,因為它就是文本,是直接訪問操作系統的途徑。我認為目前還沒有真正發明出一種通用的圖形用戶界面(GUI)。例如,ChatGPT是否應該有一個不同于文字氣泡的GUI?當然,我們稍后要討論的一些應用程序確實有GUI,但目前還沒有一種能通用所有任務的GUI。這說得通嗎?
LLM在某些獨特方面與操作系統和早期計算有所不同。我寫過這一點讓我感到這次非常不同的特性:LLM顛覆了技術擴散的方向。例如,電力、密碼學、計算、飛行、互聯網、GPS等許多變革性技術最初并不存在時,通常政府和公司是首批用戶,因為技術新穎且昂貴,之后才擴散到消費者。但我覺得LLM的情況是顛倒的。
早期的計算機可能主要用于彈道學和軍事用途,但LLM卻關乎“如何煮雞蛋”之類的事情。這確實是我的主要用途。這讓我感到非常著迷:我們擁有一種神奇的新型計算機,它在幫我煮雞蛋,而不是幫助政府做導彈計算之類的瘋狂事。事實上,企業和政府在我們所有人之后才采用這些技術。這完全是顛倒的。這或許啟示了我們如何使用這項技術,以及哪些會是首批應用。
總結一下到目前為止:使用“LLM實驗室”和“LLM”是準確的描述,但LLM是復雜的操作系統。它們在計算領域相當于1960年代的水平,我們正在重走計算之路。它們目前通過分時共享提供,像公用事業一樣分發。前所未有的是,它們并非掌握在少數政府和企業手中,而是在我們所有人手中,因為我們都有電腦,而這一切都只是軟件。ChatGPT仿佛一夜之間就傳給了數十億人的電腦。這太瘋狂了。這讓我覺得不可思議,而現在正是我們進入行業并編程這些計算機的時機,這簡直瘋狂。我認為這非常了不起。
在編程LLM之前,我們需要花時間思考它們是什么。我特別喜歡討論它們的“心理學”。我喜歡將LLM視為人類靈魂。它們是對人的隨機模擬,而模擬器碰巧是一個自回歸Transformer模型。Transformer是一種神經網絡,它在tokens級別上工作,逐塊處理,每個詞塊的計算量幾乎相等。這個模擬器本質上涉及一些權重,我們將其擬合到互聯網上的所有文本等數據上。最終就得到了這樣一種模擬器。
因為它在人類數據上訓練,它產生了這種類人的涌現心理學特性。首先你會注意到,LLM擁有百科全書式的知識和記憶,它們能記住的東西遠多于任何個人,因為它們閱讀了太多內容。
這讓我想起電影《雨人》,我真心推薦大家觀看。這是一部精彩的電影,我非常喜歡。達斯汀·霍夫曼飾演一位患有自閉癥的學者癥候群患者,擁有近乎完美的記憶力,他能像讀電話簿一樣記住所有姓名和電話號碼。我覺得LLM非常相似。它們能非常容易地記住SHA哈希值和各種東西。因此它們在某些方面確實擁有超能力,但它們也存在一系列認知缺陷:它們經常產生幻覺、編造內容,并且缺乏足夠好的自我認知內部模型(至少不夠充分)。這方面已有改進,但尚未完美。
它們表現出不均衡的智能:在某些問題解決領域表現出超人能力,卻會犯下人類基本不會犯的錯誤。比如堅持認為9.11大于9.9,或者“strawberry”中有兩個‘R’。這些都是著名的例子,但本質上存在一些你可能踩到的“坑”。我認為這也很獨特。它們還患有順行性遺忘癥。
我想指出的是,如果你的組織來了一個新同事,隨著時間的推移,他會了解你的組織,理解并獲取大量組織背景信息。他回家睡覺,鞏固知識,并逐漸發展出專業知識。但LLM天生不具備這種能力。我認為這在LLM研發中尚未真正解決。因此,上下文窗口實際上就像工作記憶。你必須直接“編程”這個工作記憶,因為它們不會默認地“變聰明”。我想很多人被類比誤導了。
在大眾文化中,我推薦大家看這兩部電影:《記憶碎片》和《第51州》。在這兩部電影中,主角的“權重”是固定的,他們的“上下文窗口”每天早晨都會被清空。當這種情況發生時,去工作或建立關系就非常成問題。而LLM一直處于這種狀態。
我想再指出一點與使用LLM相關的安全限制。例如,LLM相當輕信,它們容易受到提示注入風險的影響,可能會泄露你的數據等。還有很多其他安全相關的考量。總之,簡而言之,你必須...
1
別造機器人,造戰衣!讓人類決定AI該飛多高。
同時,要思考這個擁有超能力卻又有一堆認知缺陷和問題的東西,而它們又極其有用。那么我們該如何為它們編程?如何繞過它們的缺陷并享受它們的超能力?所以我現在想談談機遇。我們如何使用這些模型?有哪些最大的機遇?
以下是我認為本次演講有趣的一些內容,并非詳盡列表。
我比較興奮的第一件事是我稱之為部分自主應用的東西。例如,以編碼為例。你當然可以直接去ChatGPT,開始到處復制粘貼代碼、復制粘貼錯誤報告等等,獲取代碼并到處粘貼。但你為什么要那樣做?為什么要直接去操作系統?為此專門開發一個應用更有意義。我想你們很多人用Cursor,我也在用,Cursor就是你需要的那種工具。
你不想直接去ChatGPT,而我認為Cursor是一個很好的早期LLM應用范例,它具備一些我認為對所有LLM應用都有用的特性。特別是,你會注意到它有一個傳統界面,允許像以前一樣手動完成所有工作。但除此之外,它現在集成了LLM,允許我們處理更大的任務塊。我認為LLM應用共享的一些有用特性值得指出:第一,LLM基本上做了大量的上下文管理。第二,它們協調對LLM的多次調用。以Cursor為例,其底層有為所有文件服務的嵌入模型,以及實際為代碼應用差異的聊天模型。這一切都為你協調好了。
我認為還有一個非常重要但可能未被充分認識的點是特定于應用的GUI及其重要性,因為你不想僅通過文本直接與操作系統交談。文本很難閱讀、解析和理解,而且你也不希望在文本中直接執行某些操作。所以,直接看到紅綠標識的代碼變更差異,并且可以交互式地查看新增內容要好得多。只需按Command+Y接受或Command+N拒絕要容易得多。我不應該用文本輸入吧?因此,GUI允許人類審計這些易出錯系統的工作,并加快速度。稍后我會再回到這一點。
我想指出的最后一個特性是我稱之為自主程度滑塊的東西。例如,在Cursor中,你可以只做頂部補全,你基本掌控一切;你可以選擇一段代碼塊并按Command+K僅修改該塊;你可以按Command-L修改整個文件;或者你可以按Command-I,讓它在整個代碼中自由發揮。這就是那種完全自主的代理模式。因此,你掌控著這個自主程度滑塊。根據手頭任務的復雜性,你可以調整愿意為該任務放棄多少自主權。再展示一個相當成功的LLM應用Perplexity的例子,它也具備與我在Cursor中指出的非常相似的功能。
它打包了大量信息,協調多個LLM,并有一個GUI讓你審計其部分工作。例如,它會引用來源,你可以查看它們,并且它也有一個自主程度滑塊:你可以進行快速搜索,進行研究,或者進行深度研究并在10分鐘后回來查看結果。這只是你賦予工具的不同程度的自主權。
所以我的問題是,我感覺很多軟件將變得部分自主。我正在思考這會是什么樣子,對于你們中維護產品和服務的人來說,你們將如何使自己的產品和服務部分自主?
LLM能看到人類能看到的一切嗎?LLM能以人類的所有方式行動嗎?人類能否監督并保持在這種活動的循環中?因為再次強調,這些系統還不完美且容易出錯,那么在PS中的差異會是什么樣子呢?
此外,當前很多傳統軟件,其所有的開關等東西都是為人類設計的。這一切都必須改變,變得對LLM可訪問。所以我想強調一點,對于許多這類LLM應用,我認為這一點未得到足夠重視:我們現在像是在與AI合作。通常它們負責生成,而我們人類負責驗證。
讓這個循環盡可能快地運行符合我們的利益,這樣我們能完成大量工作。我認為有兩種主要方式可以做到這一點:第一,你可以大大加快驗證速度。我認為GUI對此極其重要,因為GUI利用了我們頭腦中的計算機視覺“GPU”,閱讀文本很費力且無趣,但看圖很有趣,視覺信息就像是通往大腦的高速公路。因此我認為GUI在審計系統和視覺呈現方面非常有用。
第二點,我認為是我們必須約束AI。我認為很多人對AI代理過于熱衷。對我來說,收到一個對我的倉庫進行1000行代碼的變更差異沒什么用,因為我仍然是瓶頸,對吧?即使那1000行代碼瞬間生成,我也必須確保它沒有引入bug,做的是正確的事情,沒有安全問題等等。因此,是的,基本上我們有必要讓這兩個流程運行得非常非常快。而且我們必須設法約束AI,因為它變得過于反應過度。有點像這樣。
這就是我進行AI輔助編碼時的感受。如果我只是在小步前進,一切都很好,但如果我真的想完成工作,讓一個過度反應的代理做所有這些事就不太好了。這張幻燈片不太好,抱歉。但我想我和你們很多人一樣,正在嘗試在我的編碼工作流中開發一些利用這些代理的方法,進行AI輔助編碼和自己的工作。
我總是害怕收到太大的差異。我總是采用小的增量塊。我想確保一切都好。我想讓這個循環轉得非常非常快。我會專注于具體事物的小塊工作。因此我想你們很多人可能正在開發類似的使用LLM的方式。我也看到一些博客文章試圖制定使用LLM的最佳實踐。
1
生成-驗證循環:如何讓AI和人類“飆車”不翻車?
這是我最近讀到的一篇,我覺得很不錯。它討論了一些技巧。其中一些涉及如何約束AI。例如,如果你在提示,如果你的提示很大,AI可能不會完全按你希望的去做,這樣驗證就會失敗。你會要求別的東西。如果驗證失敗,你就得開始循環。所以,花點時間讓你的提示更具體更有意義,這會提高驗證成功的概率,讓你繼續前進。因此我認為我們很多人最終都會找到這類技術。
我認為在我自己的工作中也是如此。我目前感興趣的是,既然我們擁有了AI和所有LLM,教育會變成什么樣子。
我認為我大量思考都集中在如何約束AI上。我不認為直接去ChatGPT說“嘿,教我物理”就能奏效。我覺得這行不通,因為AI會迷失方向。所以對我來說,這實際上是兩個獨立的應用:一個是供教師創建課程的應用,另一個是獲取課程并提供給學生的應用。在這兩種情況下,我們現在都有一個可審計的中間產物——課程。
我們可以確保它是好的、一致的。AI被約束在特定的教學大綱和項目進度內。所以這是一種約束AI的方法,我認為成功概率要高得多,AI也不會迷失方向。
我想再提一個類比:我對部分自主并不陌生,我在特斯拉工作了五年左右,研究的就是這個。特斯拉的自動駕駛也是一個部分自主產品,并具有許多類似特性,例如:儀表盤上就有自動駕駛的GUI,它向我展示神經網絡看到的內容。我們還有自主程度滑塊,在我任職期間,我們為用戶完成了越來越多自主任務。我想簡要講述一個故事:我第一次駕駛自動駕駛車輛是在2013年。
當時我有個朋友在Waymo工作,他邀請我在帕洛阿爾托(Palo Alto)附近試駕。我用當時的Google Glass拍了這張照片,你們很多人太年輕了可能都不知道那是什么。但沒錯,這在當時風靡一時。我們坐進車里,在帕洛阿爾托周圍開了大約30分鐘,走了高速公路、街道等。那次駕駛完美無缺,零干預。那是2013年,距今已有11年。這讓我印象深刻,因為當時經歷了那次完美的駕駛演示后,我覺得自動駕駛即將到來,因為它已經能工作了。
這很不可思議,但11年后的今天,我們仍在研究自動駕駛。我們仍在研究駕駛代理。即使到現在,我們還沒有真正解決這個問題。你可能看到Waymo在路上跑,看起來是無人駕駛,但仍然有大量的遠程操作,很多駕駛環節仍然有人參與。所以我們甚至還沒有宣布成功,但我認為它最終肯定會成功,只是花了很長時間。因此,我認為軟件確實很棘手,就像駕駛也很棘手一樣。所以當我看到“2025年是智能體之年”這樣的說法時,我感到非常擔憂。
我有點覺得,這將是一個“智能體的十年”,而且會持續相當長一段時間。我們需要人類在循環中。我們需要謹慎行事。這是軟件,我們得認真對待。
我經常思考的另一個類比是鋼鐵俠戰衣。我一直很喜歡鋼鐵俠,我認為它在很多方面正確地描繪了技術及其發展。我喜歡鋼鐵俠戰衣的地方在于,它既是增強設備,也是一個agent。在部分電影中,鋼鐵俠戰衣具有高度自主性,可以飛來飛去尋找Tony。這就是自主程度滑塊的體現:我們可以構建增強設備,也可以構建代理。我們兩者都想要一些。但在現階段,我認為在處理有價值的LLM時,更應該是構建鋼鐵俠的戰衣,而不是鋼鐵俠機器人。
1
氛圍編程狂歡,讓編程變成‘說人話’,全世界都是程序員
與其說是構建炫目的自主代理演示,不如說是構建部分自主產品。這些產品擁有定制的GUI和UI、UX,我們這樣做的目的是讓人類的生成-驗證循環變得非常非常快,同時我們也未忽視這項工作原則上可以實現自動化的事實。你的產品中應該有一個自主程度滑塊,你應該思考如何滑動這個滑塊,讓你的產品逐漸變得更加自主。我認為這類產品中存在大量機遇。
我想提一下,稍微切換一下話題,談談另一個我認為非常獨特的維度。不僅存在一種允許自主性和軟件的新型編程語言,而且如我所言,它是用英語編程的,這是一種自然界面。突然間,每個人都成了程序員,因為每個人都會說英語這樣的自然語言。這讓我感到極其樂觀和非常有趣,也是完全前所未有的。過去,你需要花5到10年學習才能做某事(在軟件領域)。現在情況不同了。我不知道是否有人聽說過氛圍編程(vibe oding)。
這條推文某種程度上引入了這個概念,但我聽說它現在成了一個大型網絡迷因。有趣的故事是:我在推特上活躍了大約15年,至今仍不清楚哪條推文會爆紅,哪條會無人問津。我以為這條推文會是后者。不知這是否只是一時之念,但它成了全網迷因,我也說不清原因,但猜想它觸動了大家心弦,為人們感受到卻難以言表的東西命了名。現在甚至有了維基百科頁面等等。這瘋狂嗎?
是的,這現在就像是一項重大貢獻。Hugging Face的Tom Wolf分享了這個我超愛的美好視頻。這些孩子在進行氛圍編程。我覺得這視頻充滿正能量,太喜歡了。看到這樣的視頻,你怎么會對未來感到悲觀?未來是美好的。實際上,我認為這終將成為軟件開發的入門途徑。我對這代人的未來并不悲觀。是的,我太愛這個視頻了。
因為太有趣,我也嘗試了氛圍編程。當你想要構建某個超定制化的、看似不存在的東西,又想在周六之類的時間隨性發揮時,氛圍編程太棒了。我構建了這個iOS應用,其實不會Swift編程,但很震驚自己能做出一個超級基礎的應用,它確實簡單。但我喜歡它只需一天就能完成,當天就能在手機上運行。這太神奇了,我無需花五天學習Swift就能入門。
我還通過氛圍編程(vibe coded)構建了名為MenuGen的應用,你可以在menugen.do試用。我有個痛點:在餐廳看菜單時,很多菜品不認識,需要圖片參考,但不存在這樣的服務。于是我想:我要氛圍編程。操作流程是:訪問menugen.do,拍攝菜單照片,MenuGen生成圖片,注冊即贈5美元額度。
因此,這是我生活中的主要成本中心。目前這是個負收入應用,我在MenuGen上虧了很多錢。但MenuGen的奇妙之處在于:氛圍編程部分其實很簡單。真正的難點是落地實現:添加身份驗證、支付功能、和域名配置、Vercel部署等。這些都不屬于氛圍編程,而是我在瀏覽器里手動點擊操作。這是極度枯燥的苦差,又花了一周。有趣的是,我幾小時就在筆記本上做出MenuGen demo,但實現真實部署卻花了一周。
原因就是:這實在太煩人了。
1
為智能體重構世界,AI成了互聯網的“新人類”
例如,為網頁添加Google登錄功能——我知道這很簡單——但有大量類似Clerk庫的集成指南。太瘋狂了!它指示我:訪問這個URL,點擊下拉菜單,選擇這個,跳轉到那個頁面,再點擊那個... 就像在教我怎么操作。計算機在指揮我該做什么,那你來做啊!為什么是我做?搞什么鬼?我必須跟著指令做,太荒謬了。
因此,我演講的最后部分聚焦于:我們能直接為智能體構建嗎?我不想做這些工作,智能體能代勞嗎?謝謝?
好的,簡而言之:數字信息的新消費和操作者出現了。過去只有人類通過圖形界面或計算機通過接口(APIs)操作,現在有了全新事物。智能體是計算機,卻像人類靈魂。互聯網存在人類靈魂,它們需要與軟件基礎設施交互——我們能為其構建嗎?例如,你可以在域名放置robots.txt文件,指導網絡爬蟲在網站的行為規范。
同樣,你可以創建llm.txt或lens.txt文件,用簡單Markdown告訴LLMs該域名的主題。相比解析網頁HTML(極易出錯且困難),這對LLM更易讀。直接與LLM溝通是值得的。
大量文檔是為人類編寫的,包含列表、粗體和圖片等元素,但LLM無法直接理解。我看到Vercel、Stripe等服務商正將文檔專門適配LLMs(Markdown格式),Markdown對LLMs極其友好。例如YouTube上制作精美動畫的3Blue1Brown。
是的,我愛這個庫。他開發了Manim,我也想自己做一個。面對冗長的Manim文檔,我直接復制給LLM,描述需求后,它直接編寫出我想要的動畫。太神奇了!讓文檔對LLMs可讀將釋放巨大潛力,應大力推廣。
我還想強調:你不能止步于此。僅轉為Markdown格式不夠(這很簡單),還需修改內容。比如文檔中的"點擊"指令對LLM無效,Vercel正將所有"點擊"替換為curl命令,讓LLM代理可執行。這很有趣。當然還有Anthropic的模型卡片協議——直接與作為數字信息操作者的智能體溝通的協議。我對此非常看好。我也喜歡各種輔助工具,它們以LLM友好格式攝取數據。
例如訪問nanoGPT的GitHub倉庫時,無法直接詢問LLM(這是人類界面)。但將網址改為GitIngested,它會將所有文件合并為文本并生成目錄結構。這可直接粘貼到LLM。更強大的如Devon:不僅能處理原始文件,還會分析GitHub倉庫并生成專屬文檔頁,對LLM輸入極有幫助。這類通過修改網址讓LLM可訪問的工具非常實用,應大量涌現。還需說明:未來LLMs定能直接瀏覽界面(甚至現在已能操作點擊)。但主動優化信息訪問仍很有價值,因為直接操作成本高且困難。大量軟件(非活躍倉庫/基礎設施)不會被適配,我們需要工具支持。其他軟件則應在中間點相向而行。總之,現在入行太棒了。
我們需要重寫海量代碼,專業人士將編寫海量代碼。LLMs像公用事業,也像晶圓廠,但尤其像操作系統——不過處于類似1960年代的早期階段。它們是需學習協作的有缺陷的"人類靈魂",為此需調整基礎設施。構建LLM應用時,我描述了高效使用LLMs的方法和工具,如何快速迭代創建部分自主產品。當然還需為智能體編寫大量代碼。總之,如鋼鐵俠戰衣的比喻:未來十年滑塊將右移,我充滿期待,迫不及待與各位共建未來。謝謝!
從驚艷demo到規模產品,技術落地需要耐心。但此刻的我們,正站在比1960年代計算機革命更洶涌的潮頭——當英語成為新編程語言,當LLM成為新操作系統,每個敢于用語言重塑數字世界的人,都是新范式的創世者。
點個愛心,再走 吧
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.