李飞飞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)、隐式场(implicit fields)、CAD 格式等等。但是,创建丰富的大规模空间,特别是针对数字孪生,一直十分困难并受制于硬件。传统的 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。