李飛飛World Labs最新判斷:AI寫完代碼,下一步是「寫世界」?

李飛飛World Labs最新判斷:AI寫完代碼,下一步是「寫世界」?

文章圖片


機器之心編輯部
AI 時代 , 我們已經習慣了用「說話」搞定一切:想要一個表格 , 動動嘴皮子 , 大模型分分鐘就給生成出來;想完成個復雜任務 , 交代清楚目標和限制 , 「小龍蝦」自己就干活去了 。
這個時代 , 只要會用語言 , 就能調動越來越復雜的系統 。 大模型之所以迅速滲透各行各業 , 本質上是因為它們踩在了「文本」這個成熟接口之上 。
但當問題換成空間時 , 事情就沒那么簡單了 。 比如你想改一套房子的布局 , 或者給機器人一個新的倉庫環境讓它學會搬貨 , 你不能只靠一句話反復「生成畫面」 。 如果每次移動一面墻、改變一盞燈 , 都要把整個世界從頭渲染一遍 , 那效率和可靠性都會出問題 。 空間世界需要結構 , 需要持久存在的物體和規則 , 就像程序需要代碼 , 而不是每次都臨時算一遍結果 。
這篇來自 World Labs 的博客 , 討論的正是這個問題:當 AI 開始真正參與空間創作和現實世界任務時 , 什么才是它與人類、與其他系統溝通的「通用接口」?作者給出的答案是:3D 。 3D 不只是視覺效果 , 而是一種像代碼一樣的結構化表達 。 它可以被生成、被檢查、被修改、被版本管理 , 也可以接入模擬系統、機器人系統和現有的設計工具鏈 。

圍繞這個核心類比 , 文章進一步展開:神經圖形學像編程語言 , 負責表達空間結構;模擬引擎像芯片 , 負責執行規則與物理;而世界模型則開始承擔「寫空間代碼」的角色 。 理解這一點 , 其實是在理解一個更大的變化——當空間本身變成可編程的媒介 , 人類和機器協作的方式 , 也會被重新定義 。
以下是博客的具體內容 。
3D —— 空間「代碼」
我們可以通過將 3D 表示與代碼進行比較 , 來理解它在空間領域中的作用 。 代碼是一種持久的抽象 , 旨在指定由處理器執行的底層邏輯 。 幾十年來 , 它驅動了現代世界的很大一部分 。 如今 , AI 模型在推理和生成代碼方面變得極其熟練;隨后 , 這些代碼在遠早于 LLM 出現的硬件上執行 。 作為接口 , 代碼和 3D 在我們使用它們的原因和方式上有著重要的結構相似性 。
人與機器之間
代碼是人機之間極其強大的接口 。 當 AI 系統生成代碼時 , 人類可以對其進行檢查、修改、調試 , 并將其集成到更大的系統中 。 這促成了復合工作流:程序員和 AI 編程智能體可以共同迭代完善解決方案 。 3D 表示也可以發揮類似的作用 。 當世界模型生成一個 3D 場景、物體或環境時 , 人類可以在熟悉的工具中打開它 , 編輯幾何體、調整約束、重新運行模擬并糾正錯誤 。 在這里 , 同樣可以構建復合工作流和流水線:設計師和工程師可以與生成式世界模型進行協作 。機器與機器之間
代碼還可以作為機器到機器的接口 。 AI 生成的程序可以插入編譯器、運行時環境、API 以及現有的軟件基礎設施中 。 由于代碼遵循既定的抽象 , 它可以與現有工具互操作 。 同樣 , 3D 輸出也能與渲染引擎、模擬系統、物理求解器、機器人軟件棧和 CAD 工具集成 。 當世界模型生成結構化的 3D 表示而非像素時 , 它就可以參與到現有的流水線中 , 并與編輯軟件和模擬引擎對接 。在這兩種情況下 , 關鍵屬性都是將狀態外化為其他系統可以使用的結構化構件 。
試想在「代碼」領域的一種替代方案 。 與其讓 LLM 編寫程序 , 我們不如讓它成為程序本身 。 例如 , 我們可以提示 LLM:「對以下一百萬個數字的列表進行排序 。 」該模型有能力嘗試完全在其 token 流中模擬這種行為 , 方法是攝取列表并嘗試以排序后的順序重新輸出 。
但我們很少這樣使用 LLM , 除非是作為一種「小把戲」 , 而且我們也不指望它們能在這種任務上完美成功 。 為什么?因為代碼執行提供了原始推理所不具備的保證 , 比如可重復執行性、人類可讀性和模塊化可組合性 。 代碼可以獨立于模型的短暫上下文窗口進行存儲、版本控制、測試和運行 。 它將推理、表示和執行分離開來:你思考算法 , 將程序寫成文本 , 然后再運行它 。
空間系統中也有一個直接的對應關系 。 讓 LLM 「成為程序」的等效做法 , 就是拋棄結構化的世界表示和模擬引擎 , 轉而純粹依賴狀態與觀測混雜的黑盒系統 , 例如逐幀查詢用于動作條件像素或狀態生成的模型 。 此類模型可能在其核心任務上表現優異 , 并可用于各種應用 , 但它們缺乏可操作的結構:它們的輸出無法被檢查、編輯、輕松共享(例如 , 像多人系統這樣的共享體驗 , 或機器人之間的共享意圖和狀態) , 也無法集成到現有的模擬和控制系統中 。
神經圖形學 —— 空間「編程語言」
如果說 3D 是代碼在空間領域的類比 , 那么什么扮演著編程語言的角色:精確、具有表現力且足夠通用以模擬世界?
幾十年來 , 出現了各種各樣的 3D 表示:網格(meshes)、體素(voxels)、點云(point clouds)、隱式?。 ╥mplicit fields)、CAD 格式等等 。 但是 , 創建豐富的大規??臻g , 特別是針對數字孿生 , 一直十分困難并受制于硬件 。 傳統的 3D 引擎是圍繞嚴格的內存和計算限制構建的 , 需要簡化的幾何體 , 且通常需要手工制作資產 。 為了最大限度地減少內存使用和帶寬 , 流水線的設計初衷是資產的重用和壓縮 。 數據驅動的方法過于昂貴 , 并與驅動這些系統設計的基本假設相沖突 。
針對機器學習優化的軟硬件的爆炸式增長打破了這些限制 。 現代 GPU 最初是為了渲染三角形而創建的 , 事實證明它對支持神經網絡的大規模矩陣乘法運算異常有用 。 新一代的 GPU 被顯式設計為適應 AI 工作負載 , 擁有龐大的內存芯片來容納模型和數據集 。 與此同時 , 這些 GPUs 依然能夠異常出色地渲染圖形和運行模擬 。
具體而言 , 這一硬件趨勢使得 NeRF 和 Gaussian splatting 等新的消耗大量內存和計算資源的技術大放異彩 。 我們現在可以生成、存儲和渲染能夠裝入內存的世界級規模的表示 , 并在需要時動態重新計算它們 。 曾經依賴靜態資產的流水線可以變得(部分或完全)生成式 。 這催生了保真度更高的環境、更大的多樣性以及新的應用領域 。 例如 , 數字孿生可以從簡化且需手動更新的模型 , 轉變為其物理對應物不斷更新的高精度鏡像 , 從而支持監控、控制和安全關鍵型工作流 。
在這個新穎的架構棧中 , 神經圖形學發揮著類似編程語言的作用 。 它提供了一種表現力豐富的媒介 , 用于描述和生成空間結構 , 就像高級語言描述計算結構一樣 。
模擬引擎 —— 空間「芯片」
當世界模型隨著時間運行以實現交互、持久性和動態變化時 , 它才變得真正有用 。 如果 3D 是代碼 , 那么模擬引擎就是運行它的芯片 。
交互性不僅是一個單一功能 。 它是模擬引擎幾十年來一直在解決的一系列系統問題:狀態管理、物理機制、碰撞檢測、光照、同步、確定性和回放 。
至少 , 長時間跨度的交互體驗需要持久性 。 世界必須擁有一種能在單次渲染傳遞之后依然存活的身份 。 動作會留下痕跡 , 物體會保持狀態 , 而一個會話也可以被恢復 。 這涉及三個核心組件:
狀態管理(存在什么) 更新規則(動作和物理/規則如何改變它) 觀測(當前狀態如何被渲染為像素或傳感器輸出)原則上 , 大型擴散或生成模型可以將這一切折疊成一個端到端的映射:(歷史 + 動作)→ 下一幀 。 在這里 , 「狀態」僅存在于短暫的神經激活之中 。 這是一個引人注目的研究方向 , 已有多個模型和項目在探索這種「完全像素化」方法究竟能走多遠 。
但折疊這個架構棧會引入一個根本性的權衡 。 當內存、動態和渲染都糾纏在一個單一網絡內部時 , 創造和消費之間的界限就模糊了 。 運行時的物理交互(踢球)和非物理編輯(拆除墻壁)變成了同一類型的輸入 。 使用我們上面的類比 , 編輯代碼變得與執行代碼無法區分 。 雖然這作為訓練大規模模型的目標很方便 , 但這種混為一談削弱了有關物理一致性、可回放性和確定性的保證 。
另一種替代方案是因式分解或混合運行時:學習到的世界模型生成和解釋結構 , 但在 3D 接口和表示的媒介作用下 , 有針對性地使用類似于現有引擎組件的外部工具 。 鑒于基于 LLM 的編程的發展軌跡 , 這些模型很可能能夠比現成的庫和引擎構建出更適合其用例的定制邏輯 。 但我們預測 , 在用于感知、生成和推理的組件與那些「規則至關重要」的組件之間 , 依然會存在明顯的區分 。
在因式分解的系統中 , 3D 成為人機之間一個強大的接口 , 暴露出可控、可重復且可互操作的輸入和輸出 。
3D 是人機接口
鑒于我們將 3D 比作代碼 , 讓我們探討一下為什么 3D 是人機之間交互的一門強大媒介 , 能夠描述物理和虛擬世界并與之互動 。
對于機器: 許多軟件系統已經在空間維度上運行:模擬器、機器人軟件棧、游戲引擎、CAD 工具和 GIS 系統都通過幾何體、變換、材質、軌跡和約束來進行交互 。 如果世界模型以相同的結構化語言生成輸出 , 它就可以直接接入現有的流水線 。
同樣重要的是 , 機器越來越需要相互交流空間意圖 。 規劃智能體可能會標記目標區域 , 安全監視器可能會標記禁區 , 感知模塊可能會標注不確定的幾何體 , 渲染模塊可能會請求新的視角:這些都是空間概念 。
如果所有的空間推理都糾纏在一個單一的龐大模型中 , 實現這一目標的一種方法可能是共享隱向量 。 但這是一種很強的假設 , 需要共享模型或者至少共享隱空間 。 在異構的模塊化環境中 , 這種假設不成立 。 哪怕是語言 , 對于傳達幾何和約束而言也是一種效率低下的交換格式;而結構化的 3D 則是一種更為自然的通用語 。
導出能力同樣重要 。 當一個世界模型能夠將其「思想」外化為具體的表示(如 splats、網格、視頻)時 , 它們就成了可以被檢查、驗證、進行版本控制、測試和重用的構件 —— 可組合的流水線應運而生 。
對于人: 3D 交互對人類來說也是很自然的 。 我們一生中醒著的時間都在空間中導航:伸手、行走、操縱、對齊……我們的心智模型是圍繞持久的物體和關系構建的:「椅子在桌子下面」 , 「門廊連接著這些房間」 。 當系統暴露出這種顯式的結構時 , 它們便與我們原有的思考方式對齊了 。
這與純粹基于圖像的工作流形成了鮮明的對比 。 在 2D 動畫中 , 每一幀都必須重繪 , 實際上相當于每秒將世界重建幾十次 。 而在 3D 中 , 世界被構建一次 , 隨后只需移動相機、改變光照、讓物體動起來即可 。 單次空間編輯會自動傳播到渲染出的每一幀 。
這種將空間 3D 表示與渲染分離的做法 , 恰恰反映了代碼與執行之間的分離 。 你只需修改一次源代碼然后重新運行 , 而不是從頭重寫每一個輸出 。
邁向未來
如果 3D 扮演著類似于代碼作為人機接口的角色 , 那么發展軌跡就很清晰了:世界變得「可編程」 , 成為一種人與機器都能生成、編輯、組合和分享的媒介 。
這正是我們在 World Labs 努力建設的方向:
Marble 是一個多模態世界模型 , 旨在重建、生成和模擬 3D 世界 。 它可以從文本、圖像、視頻或粗略的 3D 布局中創建持久的、可導航的世界 。 這些世界可以被編輯、擴展、導出(作為 Gaussian splats、網格或視頻) , 并集成到下游工具中 。 Marble 的 3D 調節接口是一個名為 Chisel 的實驗性功能 , 它推進了將 3D 作為粗粒度控制層的理念 。 它允許創作者使用墻壁、平面、體積和導入的資產來勾勒出結構輪廓 , 然后將這些作為輸入提供給我們的模型 , 從而在上面生成豐富詳細的視覺效果 。 將布局和樣式分離 , 讓用戶能夠對構圖和外觀進行顯式的控制 。 RTFM 和 Spark 探索了渲染層 。 RTFM 正在對「學習型渲染(learned rendering)」進行實驗 , 能從簡單的結構化輸入中產生復雜的視覺效果(如反射和陰影) 。 Spark 是一款高性能的 Gaussian splatting 渲染器 , 它集成了 WebGL , 將神經圖形學帶入了實時的 Web 環境中 。這一領域正在快速演變 。 世界模型將越來越多地參與到混合架構棧中:生成結構化的世界(「代碼」) , 通過神經圖形學(「語言」)進行表達 , 并在模擬引擎(「芯片」)內部執行 。 這是一場向可編程、數據驅動的空間系統邁進的范式轉移 , 該系統能夠支持逼真的環境、數字孿生、機器人、培訓、設計以及全新的應用類別 。 其核心前提始終不變:人類、智能體和軟件之間可靠的溝通與協作 , 需要一個精確、緊湊、可檢查且可操縱的接口 。
那個接口 , 就是 3D 。
【李飛飛World Labs最新判斷:AI寫完代碼,下一步是「寫世界」?】原文鏈接:https://www.worldlabs.ai/blog/3d-as-code

    推薦閱讀