World Labs:AI 的下一步是“编写世界”——3D 作为空间世界的代码

World Labs认为,AI的未来在于“写世界”,3D是空间领域的“代码”,是人机协作的关键接口,将推动空间系统向可编程、数据驱动的方向发展。

原文标题:李飞飞World Labs最新判断:AI写完代码,下一步是「写世界」?

原文作者:机器之心

冷月清谈:

World Labs的博客文章探讨了AI在空间创作和现实世界任务中的发展方向,核心观点是:3D将成为AI与人类、与其他系统沟通的“通用接口”。文章将3D类比为代码,神经图形学类比为编程语言,模拟引擎类比为芯片,而世界模型则承担“写空间代码”的角色。文章阐述了3D在人机交互和机器交互中的重要作用,并介绍了World Labs在构建可编程、数据驱动的空间系统方面的努力,例如Marble世界模型、Chisel 3D调节接口、RTFM学习型渲染和Spark Gaussian splatting渲染器。最终目标是实现人类、AI智能体和软件之间更可靠的沟通与协作。

怜星夜思:

1、文章提到3D是空间领域的“代码”,你认为这个比喻恰当吗?除了文中提到的优点,3D作为一种通用接口可能还存在哪些局限性?
2、文章中提到了神经图形学、模拟引擎和世界模型,它们分别扮演着“编程语言”、“芯片”和“写空间代码”的角色。你认为这种类比有助于理解AI在空间领域的应用吗?它们之间是如何协作的?
3、文章提到,3D可以作为人机交互的强大媒介。你认为未来在哪些领域,3D交互会取代传统的2D交互方式?会带来哪些变革?

原文内容

图片
机器之心编辑部

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。


原文链接 https://www.worldlabs.ai/blog/3d-as-code


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

这些项目代表了空间 AI 的几个趋势:一是多模态融合,Marble 能够从文本、图像等多种信息源生成 3D 世界;二是可编辑性,Chisel 允许用户对 3D 世界进行粗粒度的控制;三是高性能渲染,RTFM 和 Spark 致力于提高渲染效率和真实感。我对空间 AI 的未来充满期待,希望它能帮助我们更好地理解和利用空间,比如设计更智能的城市、开发更高效的机器人,甚至创造出全新的虚拟世界。

我觉得把3D比作“代码”挺有意思的,一下子就把抽象的空间概念给具象化了。代码的核心在于结构化和可执行,3D模型恰好也具备这两点。如果非要我换个比喻,我觉得3D更像是“积木”,可以搭建各种复杂的空间结构,而且每一块“积木”都可以单独拆卸、修改和重组,让AI和人都能轻松参与到空间创造中。

文章把3D比作代码,我觉得很到位!程序员写代码,AI 以后可能就是“建模师”了,只不过TA建的模,不仅仅是给人看的,更是给机器人用的。要我说,3D就是AI时代的“新语言”,人和AI用它交流,AI和AI之间也用它交流。不会3D,以后可能真的要变成“数字文盲”了!

同意楼上的观点。我补充一点,我认为神经图形学的标准化也是一个重要的挑战。目前,各种神经图形学模型层出不穷,缺乏统一的标准和接口,导致模型之间的互操作性较差。为了促进神经图形学的发展和应用,我们需要建立一套统一的标准体系,规范模型的输入输出格式、评价指标和性能测试方法。只有这样,才能更好地促进神经图形学技术的交流和合作,加速其发展进程。换句话说,我们需要给“空间编程语言”制定语法规则,这样大家才能更好地沟通。

这个问题很有意思!我觉得“空间可编程”的影响会非常深远。除了数字孪生和机器人,我认为游戏开发、建筑设计、城市规划等行业都会迎来变革。例如,游戏关卡可以由 AI 自动生成和调整,建筑师可以更方便地进行方案设计和可视化,城市规划者可以模拟不同政策对城市空间的影响。甚至,未来的教育 pourraient être delivered in immersive 3D environments, making learning more interactive and engaging. 想象一下,孩子们可以在虚拟的古罗马学习历史,或者在模拟的生物实验室里做实验,绝对比死记硬背课本有趣多了!

从软件工程的角度来看,这个比喻有一定的合理性。3D提供了一种结构化的数据格式,类似于代码;神经图形学负责将这种数据格式转化为视觉表现,类似于编译器;模拟引擎则负责执行这些指令,类似于CPU。但我认为还可以借鉴建筑行业的概念:3D是蓝图,神经图形学是效果图渲染,模拟引擎是施工过程模拟,这样可能更贴合空间的概念。

这个比喻我觉得一般般吧,3D更像是“蓝图”或者“设计稿”。代码是指令,告诉机器怎么做;3D是描述,告诉机器“长什么样”。当然,现在很多AI也在尝试直接从3D生成代码,也许以后这个界限会越来越模糊。至于局限性,我觉得最大的问题是3D数据对算力要求太高了,跑个稍微复杂点的3D模型,电脑就嗡嗡响。

那肯定是在元宇宙啊!想想以后开会,不用对着2D屏幕,而是直接在虚拟会议室里,大家都是3D形象,多真实!还有在线购物,直接360度看商品细节,比现在的图片、视频强多了。不过,前提是VR/AR设备得更普及、更轻便才行。

这个类比乍一看挺唬人的,仔细想想也确实有点道理。神经图形学负责“翻译”世界模型的想法,让机器“看懂”;模拟引擎负责让这个世界“动起来”,有了物理规则,才能搞事情。相当于神经图形学是编译器,模拟引擎是CPU,世界模型是程序员。

编程语言、芯片、写代码,这不就是程序员的日常吗?(手动滑稽) 神经图形学就像是各种编程语言,C++,Python,各有各的优势,可以用来描述复杂的空间场景。模拟引擎就是电脑的CPU和GPU,负责运行程序,展示效果。世界模型嘛,就是我们这些苦逼程序员,负责用代码(3D)构建虚拟世界。

我觉得“代码”这个比喻挺妙的,抓住了3D数据结构化的本质。它不像图像那样是纯粹的视觉信息,而是包含了空间关系、几何信息等等,方便机器理解和操作。局限性嘛,可能在于3D建模的复杂性和成本,尤其是在高精度、大规模场景下。另外,对于一些抽象的概念或者非物理的世界,3D可能就没那么直观了。

2D交互最大的问题是缺少空间感,很多时候我们只能“脑补”。3D交互可以让我们直接“身临其境”,体验感完全不一样。我觉得未来像远程医疗、教育、展览等等,都会用到3D交互,让体验更真实、更有效。当然,伦理问题也得注意,别搞出啥幺蛾子。

我觉得在需要空间感和沉浸感的领域,3D交互会更有优势。比如游戏、VR/AR、建筑设计、工业仿真等等。3D交互可以提供更直观的操作方式,帮助用户更好地理解和控制虚拟环境。变革方面,我认为会推动人机交互向更自然、更高效的方向发展,甚至可能会改变我们获取信息、学习知识的方式。

这种类比我觉得挺形象的,把抽象的概念具象化了。神经图形学就像编程语言一样,提供了描述空间结构的手段;模拟引擎负责执行这些结构,就像芯片运行代码一样;世界模型则负责创建和维护这个空间,相当于写代码的过程。它们之间的协作关系是:世界模型基于输入生成3D场景,神经图形学负责渲染和优化,模拟引擎负责添加物理规则和交互。

如果从信息表达的角度看,3D确实像是另一种形式的代码。它将空间信息编码成机器可以解析的数据,方便进行计算、模拟和渲染。但是,代码的优势在于其精确性和可控性,而3D数据由于采集、处理等环节的误差,可能存在一定的不确定性。另外,3D数据的存储、传输和处理也需要更高的硬件和软件支持。