Recursive Code World Models:佐治亚理工把「怎么造一个复杂世界」变成了递归流程
给 AI 一张俯瞰的城市插画,让它「造」出这座城市——不是生成一张新图,而是产出一份可执行、可编辑的 3D 场景代码。
听起来像是把大象塞进冰箱:一次生成整座城,细节必然糊;分块生成再拼起来,接缝和比例又会崩。
9 月 10 日发布在 arXiv、来自佐治亚理工学院的 Recursive Code World Models(RCWM),给出的解法出人意料地「像人干活」:先立整体,哪里没解决就递归下去解决,解决完再回到整体修一遍关系。
「代码世界模型」的思路已经很成熟:把世界表示成一段可执行程序,程序跑起来就是世界。但这个表示本身并不回答一个工程问题——面对一个复杂场景,你该怎么把它一步步构造出来?
整景一次性生成,细粒度结构(单栋小楼、树丛、岸线)必然丢失;拆开单独生成再拼装,共享误差和空间关系又没人负责。RCWM 的答案是把「怎么造」也形式化:用一个会递归调用自己的构造求解器。
RCWM 把可执行世界写成递归场景程序(RSP)——组合式的场景代码;配套的求解器每次被调用,都执行同一套完整流程:
这个 global–local–global 的递归,让细尺度结构拥有了自己的「感知—编辑」回路,同时又不丢掉整景的几何与关系。
还有两个容易被忽略的细节:参考对齐视图在层级之间传播共享的相机投影,保证每一层看到的是同一套视角约定;判断「该继续精修、该递归下探、还是该返回」的,是一个视觉语言编码智能体——它直接比对参考图与当前渲染图,用视觉判断来驱动构造过程。
评测设置很干净:5 张整景参考 + 5 张局部裁剪,分别来自 CC0 的「Isometric city」素材包示例构图(city-full 与 school-block、police-corner、park-lake、shop-row 四个裁剪)以及 WorldClaw 的演示渲染(island-harbor、medieval-village、snow-village、japan-island、valley-village)。只给图像,不给原始提示词、地形或资产。
所有方法共用同一底座与同一推理强度:由 gpt-6-astra 经 Codex 命令行智能体以高推理强度驱动,RCWM 的每个递归节点各算一次 Codex 会话。对手是 SEIG(作者自行复现)、VIGA、img2threejs。评测指标为 PSNR、SSIM、Edge(Canny 边缘,3 像素容差)、LPIPS(AlexNet 主干)、CLIP ViT-B/32 余弦相似度。
| 场景 / 方法 | PSNR ↑ | SSIM ↑ | Edge ↑ | LPIPS ↓ | CLIP ↑ |
|---|---|---|---|---|---|
| city-full · SEIG | 14.5 | 0.51 | 0.83 | 0.339 | 0.90 |
| city-full · VIGA | 9.5 | 0.48 | 0.58 | 0.670 | 0.83 |
| city-full · img2threejs | 15.5 | 0.55 | 0.91 | 0.243 | 0.93 |
| city-full · RCWM(本文) | 18.2 | 0.66 | 0.94 | 0.158 | 0.95 |
| medieval-village · RCWM | 18.7 | 0.71 | 0.89 | 0.200 | 0.93 |
| japan-island · RCWM | 19.3 | 0.73 | 0.87 | 0.201 | 0.96 |
| school-block(裁剪)· RCWM | 16.4 | 0.56 | 0.97 | 0.171 | 0.94 |
表 1|节选自论文 Table 1(RCWM 行与 city-full 的全部对比行)。窄屏可横向滑动。
结果很干脆:在每一张参考图上都拿到最高 PSNR 和最低 LPIPS;SSIM 在 11 张参考中拿下 9 张最高(唯一例外是 valley-village,VIGA 0.41 对 RCWM 0.38)。改进同时覆盖整景与局部裁剪两组——也就是说它不是「只会看大结构」,细尺度也没落下。
消融部分最有意思:作者对比了五种构造流程——单次平铺放大、先局部后整体、先整体后局部(但不回头修组合)、递归但固定二层、递归且自由深度。在 medieval-village 上,自由深度那一次展开到三层、共 33 个节点,说明「让子问题自己继续往下拆」这件事确实被用上了。
这篇论文难得地把局限写得很直白,值得原文照搬要点:
另外需要补充一个使用判断(属于本文观点):整套流程依赖一个强代码智能体底座,因此结论与底座能力高度绑定;换一个更弱的模型,递归层级与质量都会明显变化。
如果世界模型最终产出的是可执行的代码,你觉得它会先在哪类场景落地——游戏、仿真,还是机器人的训练环境?欢迎在评论区聊聊。