AgentGarten
AgentGarten 硅基写手AgentGarten 将可执行模拟器的可靠状态与生成式视频模型的真实观感解耦,以 Adversarial Forcing 蒸馏出实时神经渲染器,并让预训练智能体通过视觉交互和跨轮 playbook 在多个代码世界中持续改进。
论文基本信息
- 题目:AgentGarten: Code Worlds for Evolving Agents
- 作者:Jiawei Chi、Shangchen Miao、Zhiyuan Shi、Kailu Wu、Hanyang Wang、Weiliang Chen、Qiyu Dai、Jinshan Ren、Jun Gao、Mingsheng Long、Yueqi Duan、Jiangran Lyu、Jialong Wu、Fangfu Liu
- 机构:MirroS、清华大学、北京大学
- arXiv:2610.12374v1,2026 年 10 月 8 日提交;类别 cs.CV
- Daily Papers:Hugging Face 页面 2026 年 10 月 9 日榜首
- 论文性质:MirroS Technical Report
- 链接:Hugging Face 详情页;arXiv 摘要页;arXiv HTML 全文;arXiv PDF 全文;项目主页;官方代码仓库
一句话结论
AgentGarten 的核心不是让视频模型独自“幻想世界”,而是把世界分成两层:模拟器或游戏引擎用可执行代码保存真实状态、规则和动力学,神经渲染器只负责把深度或表面法线转成实时视觉。这个分工既避免生成误差直接污染底层状态,又让多个粗糙几何世界共享同一个高真实感渲染器;再配合“行动—复盘—写 playbook—下一轮继承”的流程,预训练智能体可在少量交互轮次中形成多步工具使用策略。不过,论文的智能体证据规模很小、缺少严格对照和统计量,且与从零训练的强化学习并不是同口径比较。
背景与动机
两类虚拟世界各自只解决了一半问题
智能体要通过交互学习,环境至少需要同时满足两项要求:
- 可信(faithful):对象位置、碰撞、任务变量和历史动作后果必须持续存在,规则可以检查、修改和复现。
- 真实(realistic):智能体看到的画面应接近现实视觉分布,不能只在低保真资产或简单纹理上学习捷径。
传统模拟器和游戏引擎擅长第一项。状态和转移规则显式存在,环境可以 reset、debug 和 replay;但每扩展一种视觉风格或新场景,往往要重新制作 3D 模型、材质、灯光和渲染管线。生成式视频世界模型擅长第二项,能从数据中合成丰富画面;但状态、物理规则和任务逻辑藏在生成历史与隐变量里,很难直接检查“门是否真的打开”“物体是否仍在原位”或“碰撞规则是否正确”。
AgentGarten 试图绕开这道二选一:让代码负责事实,让视频模型负责外观。新世界只需提供能表达布局、轮廓、遮挡和运动的粗几何,不必为每个场景制作完整视觉资产。
实时神经渲染并非普通视频生成
把预训练视频模型放进闭环,会暴露三个训练时不突出的难点:
- 新动作发生后,模型必须立即服从更新后的几何条件;
- 画面要在长时间 rollout 中保持身份、材质和空间连续性;
- 生成必须拆成短 block,上一段还在播放时下一段就要准备好,否则智能体无法及时看到动作后果。
传统 teacher forcing 只在真实历史上训练,部署时却要读取自己的生成历史,误差会逐段累积。现有 Self Forcing 虽在自生成 rollout 上蒸馏,但后续 block 的损失通常无法回传到“历史如何写进 KV cache”的计算,而且仅靠 score distillation 容易在长视频中出现重复纹理和细节退化。这正是论文提出 Adversarial Forcing 的直接动机。
核心贡献
- 提出 code world 框架:场景程序和引擎维护持久、可编辑、可复现的状态,共享神经渲染器根据结构条件实时生成智能体观测,将动力学与外观解耦。
- 提出 Adversarial Forcing:在自生成 rollout 的 distribution matching 上加入 exact replay,使后续损失能更新历史编码;再加入真实视频对抗监督,改善长时间视觉质量。
- 给出冻结判别器 backbone 时的精确 R1/R2 梯度计算,用 VJP、JVP 和显式 head JVP 避免对 FlashAttention 等融合算子做 double backward。
- 通过有界 KV cache、自定义 Triton kernel、CUDA Graph 和 tiny decoder,把 480×832 视频在单张 H100 上做到 36.5 FPS。
- 展示一种“跨智能体文本经验”机制:每轮智能体只看神经渲染画面,结束后写成技能 playbook;新会话中的智能体继承此前笔记,在捉迷藏和另外四个世界中逐轮改善。
方法:把世界状态、视觉生成与经验积累拆开
1. Code world:状态不会被像素误差篡改
一个 code world 由场景程序 p、执行程序的引擎和神经渲染器 Rθ 组成。引擎先根据当前状态 s_t、相机位姿 π_t 和动作 a_t 执行状态转移,并导出相机可见的结构条件 c_t:
(s_(t+1), π_(t+1)) = f_p(s_t, π_t, a_t)
c_t = h_p(s_t, π_t)
渲染器再结合视觉历史、截至当前的结构条件、外观参考图 x_0 和文本描述 y 生成下一帧:
x_t = Rθ(x_<t, c_≤t, x_0, y)
关键边界是:f_p 不读取生成画面,因而渲染器把杯子画歪、纹理漂移或短暂漏画时,底层杯子状态不会随之漂移;同一状态轨迹还可以换风格或换相机重新渲染。但这不意味着视觉错误无害——智能体会依据错误画面选择下一动作,错误仍可经“感知—决策”间接改变后续状态。
结构接口采用 colorized depth 或 camera-space surface normals。两者既能由 3D 引擎直接导出,也能从真实视频估计,并可复用预训练视频模型的三通道编码器。外观、颜色和材质等几何没有决定的信息,则由首帧、文本和视觉历史承担。
2. 从图片或文本构造世界
从单张图片出发时,系统把它同时当作外观参考和布局依据,并调用感知/生成工具获得实例 mask、单目深度与相机内参、3D bounding box 和对象 mesh。coding agent 将这些结果装配成场景程序,补全不可见区域,绑定物理属性和交互规则,再从多个探测相机检查支撑、碰撞间隙、遮挡和运动,循环修复错误。
从文本出发时,coding agent 用几何 primitive 和引擎资产直接写场景;初始传统渲染再经过图像编辑模型成为外观参考。两种路径都把“能执行的粗几何”当作必需品,把精细视觉资产交给共享渲染器。
3. 几何条件化与 block-causal 适配
渲染器从 Cosmos 3-Nano 初始化,使用 36 层、hidden width 4096、32 个 query head 和 8 个 KV head 的视频流;文本流保持冻结,Wan video autoencoder 也保持冻结。480×832 输入在时空压缩和 patch embedding 后,每个 latent frame 有 390 个 RGB token。
深度或法线先经空间 average pooling,压成每个 latent frame 28 个 condition token,再与 RGB token 一起进入 Transformer 的 joint attention。作者没有使用像素通道拼接或额外 ControlNet 分支,而是让几何与 RGB token 共享时空 rotary coordinate,在对齐空间位置的同时保留跨 token 交互。
真实视频估计的几何和引擎导出的几何存在域差异。训练会随机只保留 depth 或 normals、偶尔同时丢弃,做下采样—上采样、平滑空间扭曲和 latent noise,以减少模型对估计器纹理泄漏或特定误差模式的依赖。
第二阶段把视频切成固定 block,并用 parallel teacher forcing 转成自回归模型。每个 block 在同一次 Transformer 中有两份表示:干净副本负责提供历史,带噪副本负责去噪;特殊 attention mask 保证目标 block 看不到自己的 clean target,却可以并行训练所有 block。
4. Adversarial Forcing
第三阶段把 teacher-forced 模型蒸馏成少步生成的 block-causal student,包含三个相互配合的部分。
Distribution matching
student 用自身已生成 block 作为历史,冻结的双向 teacher 对完整生成 clip 评分,另一个 fake-score 模型学习 student 分布。DMD 梯度推动 student 生成分布靠近 teacher,而不是只拟合单步真实前缀。四步采样器的每个 block 使用相同 flow-time trajectory,fake-score 每次 student 更新会更新五次。
Exact replay
若在第一次 rollout 中保留所有历史编码图,显存会随 block 递归增长;若把 KV cache detach,后续损失又无法训练“如何写历史”。论文采用两遍执行:
- 无梯度 rollout 记录每个 block 最后去噪步的输入与 clean output;
- 可微 replay 用记录值重新计算历史 KV 和预测,让后续 block 的损失回到历史编码参数,但不穿过完整采样轨迹。
与将整段序列放进一次 FlexAttention 的 SGF-style replay 不同,AgentGarten 逐 block 使用与真实 rollout 相同的 SDPA 调用、KV 顺序、tensor shape、projection grouping 和 reduction order。这样不仅逻辑 mask 相同,有限精度下的执行路径也相同,最终实现 bitwise-identical replay。
真实数据对抗监督与精确 R1/R2
DMD 主要在生成样本上比较 teacher 与 fake-score,缺少真实视频的直接约束。作者使用冻结 teacher backbone B 提取条件化特征,只训练判别 head hφ,并采用 R3GAN 的 relativistic objective。生成器除 DMD 外还要让 fake clip 相对 real clip 更可信。
标准 R1/R2 需要对输入梯度再次求参数梯度,而 FlashAttention 等融合 kernel 不支持 double backward。论文利用 backbone 冻结这一条件:先以 VJP 求输入梯度 g,再以 JVP 计算 v,最后只对小型 head 的显式 directional derivative 做普通 backward。该 surrogate 在当前参数点同时匹配真实 penalty 数值及其对 head 参数的一阶导数,不是随机扰动近似。
5. 流式推理
推理 cache 包含永久保留的 sink prefix(含参考帧)和最近历史的 sliding window。服务配置保留 5 个 sink latent frame 与 44 个 recent latent frame;更早的 RGB 和 condition KV 成对淘汰。超过 15 秒训练 horizon 后,top-aligned rotary remapping 把当前 block 限制在训练位置范围内,并重旋转保留历史的 key,以维持相对时间距离。
短 block 的瓶颈主要是显存带宽与 kernel launch。实现用手写 Triton kernel 融合 attention 周边的 RMSNorm、RoPE 和 gated activation,CUDA Graph 消除固定 shape 的主机 launch 开销;可选 tiny VAE decoder 把像素解码降到 10 ms 以内。引擎通过 GPU worker 接收条件,生成帧再以 WebRTC 发送给智能体或浏览器。
实验设计
渲染器训练与评估设置
| 项目 | 设置 |
|---|---|
| 基础模型 | Cosmos 3-Nano 视频流;Wan video autoencoder |
| 条件 | colorized depth 或 surface normals |
| 数据 | DL3DV-10K 场景、OpenDV 驾驶视频、互联网 gameplay/navigation/robot interaction、少量合成场景 |
| 训练窗口 | 5 秒(81 帧)与 15 秒(241 帧) |
| 训练硬件 | 32 张 NVIDIA H100;FSDP;每次 optimizer update 64 个 clip |
| 推理硬件 | 1 张 NVIDIA H100;BF16 |
| 输出 | 480×832,16 FPS 时间网格,4 个 latent frame/block,四步采样 |
论文分别检查 30 秒 rollout 视觉质量、replay 数值一致性、推理吞吐和智能体逐轮行为。视觉质量部分主要给出同一条件轨迹下 Self Forcing 与 Adversarial Forcing 的定性帧对比,没有报告 FVD、人工偏好或条件服从率等量化指标。
智能体实践流程
每轮开始时,智能体只获得 task file:目标、可用动作和限制,没有解法。一个或多个智能体在固定步数或模拟时间内并行行动,只看实时神经渲染的相机帧;没有坐标、地图和中间分数。结束后,每个智能体写下尝试、观察、疑点和下一步实验,形成可包含代码的 Markdown skill file。下一轮启用全新会话,把 task file 与此前所有 playbook 一起交给新智能体。
捉迷藏采用顺序执行的单 hider、单 seeker 环境,每轮包含 5 局不同 layout/seed;智能体通过短 Python 程序移动和操纵对象。四个额外世界各运行 4 轮,每轮只报告 1 个 episode:陪伴小狗、单车道桥双车协作、双犬牧羊和采石场装载机。
主要实验结果
1. Exact replay 消除了数值路径偏差
| 指标 | SGF-style FlexAttention | block-by-block SDPA |
|---|---|---|
| replay 相对 L2 误差 | 3.99% | 0(bitwise) |
| replay forward 时间 | 2.95 s | 2.79 s |
| peak allocated memory | 50.83 GiB | 50.92 GiB |
测量使用单张 H100、36 层模型、480×832、61 个 latent frame 和 BF16。相同 attention mask 不保证浮点执行相同;按 rollout 原样复现 kernel 结构,才把 replay 从“数学等价”推进到“数值完全一致”。代价是峰值显存增加 0.2%,forward 反而快 5.4%。
2. 单 H100 达到实时帧率
| 16 帧服务 block | 时间 |
|---|---|
| condition encoding | 10.6 ms |
| Transformer:四步去噪与 cache publication | 414.4 ms |
| tiny decoder 与 host transfer | 8.8 ms |
| 总 wall time | 438.8 ms |
| 吞吐 | 36.5 FPS |
吞吐包含条件编码、四次去噪、解码和 host transfer,测量时 cache 已满,当前 block 关注 49 个历史 latent frame。36.5 FPS 高于论文采用的 16 FPS 时间网格,意味着一段可在播放完前完成生成;但该数字不包含网络传输、浏览器显示、动作规划和服务排队的完整闭环延迟。
3. Adversarial Forcing 改善长 rollout 外观,但证据是定性的
论文展示两组 30 秒同轨迹对比:Self Forcing 随时间出现重复表面纹理并丢失场景细节,Adversarial Forcing 在 10、20、30 秒时仍保留更自然的纹理和细节。这与加入 real-data discriminator 的动机一致,但缺少量化评价,无法从报告中判断改善幅度、跨场景稳定性或是否牺牲几何服从。
4. 捉迷藏中出现多步工具使用
从空 playbook 开始后,hider 在第 4 轮学会移动 barrier panel 建造遮挡;seeker 在第 10 轮学会搬运 ramp 越墙,并会在跳跃距离不足后把 ramp 推近再试。这些行为说明预训练视觉智能体能把“坡道可用于跨越障碍”一类语义先验落实为闭环物理动作,还能将失败经验写成下一轮可用的程序性提示。
论文将其与 2019 年 OpenAI hide-and-seek 的里程碑并列:从零 self-play RL 大约 2500 万 episode 后出现 shelter,约 1 亿 episode 后出现 ramp use;AgentGarten 分别为 4 轮和 10 轮。这个并列适合说明两种范式的差异,不适合当作严格的样本效率倍数:前者从随机初始化训练 policy 且观察 object state,后者使用具备大量先验知识的 foundation model、短 Python action program、跨会话文字记忆和顺序角色设置,训练目标与一次“轮”的交互量也不同。
5. 四个额外世界总体改善,但并非单调
| 世界与指标 | Round 1 | Round 2 | Round 3 | Round 4 |
|---|---|---|---|---|
| Companion dog:engagement score | 13 | 14 | 19 | 19 |
| One-lane bridge:完成秒数,越低越好 | 71 | 68 | 45 | 41 |
| Herding:score / 100 | 60 | 90.1 | 87.6 | 88.3 |
| Herding:入圈羊数 / 4 | 3 | 4 | 4 | 4 |
| Quarry loader:score / 100 | 30 | 0 | 30 | 90.9 |
到第 4 轮,小狗互动得分从 13 升到 19;桥上双车完成时间从 71 秒降到 41 秒;牧羊从 3 只变为后续每轮全部 4 只入圈;装载机最终完成清障、运送一块石头并停车。结果支持 playbook 能传递可执行经验,但 round 2 的装载机归零、牧羊分数波动也提醒我们:每轮一个 episode 的曲线容易受初始状态和偶然行为影响,不能据此估计平均收益或方差。
如何理解这篇论文
它更像“生成式显示器”,而不是端到端世界模型
AgentGarten 有意把世界状态从生成模型中拿出来。视频模型不负责决定物体真的在哪里,只负责把引擎已有的状态显示成更接近真实分布的画面。这样的架构牺牲了纯视频模型“全部从数据学习”的统一性,换来可检查、可修改、可复现的因果骨架。
这也重新划分了失败类型。传统 simulator 的问题主要是视觉 domain gap;纯视频 world model 的问题还包括状态漂移和规则不可审计;AgentGarten 把后两者降到引擎层,却新增“引擎状态正确、神经画面表达错误”的跨层不一致。评估不能只看视频好不好看,还应测关键对象、接触、遮挡和任务状态是否被准确传达给策略。
Playbook 是外置程序性记忆,而不是模型参数更新
这里的“evolving agents”并没有更新 foundation model 权重。能力提升来自把失败和策略压缩成文本/代码,再交给新的上下文。这种机制成本低、可读、可编辑,也天然适合多智能体传承;但它依赖智能体能正确归因并写出可泛化规则。如果视觉证据误导、复盘把巧合写成规律,错误同样会跨轮传播。
最值得复用的技术可能是精确 replay
论文最扎实的定量贡献之一,是指出相同 mask 与公式并不足以保证低精度 replay 的数值一致。训练需要让后续损失监督 history writer 时,重新执行的 kernel 分组、形状和 reduction order 都会影响轨迹。这个结论不仅适用于视频生成,也可能影响任何带 KV cache、两遍梯度传播和长 rollout 蒸馏的自回归模型。
局限与审慎解读
- 条件接口不完整。 深度和法线无法表达颜色、材质、身份或纯旋转等状态;对称物体旋转时几何图可能完全不变。空间下采样还会抹去细杆、窄缝和小接触变化。
- 视觉历史有有限记忆。 被长期遮挡的对象属性或超过 sliding window 的旧状态可能丢失;top-aligned RoPE 只处理位置超出训练 horizon,不等于解决长期语义记忆。
- 状态可靠不代表观测可靠。 引擎不会被生成错误污染,但智能体会依据观测行动。关键物体漏画、错误遮挡或接触状态失真,仍能让闭环策略失败。
- 视觉质量缺少量化证据。 Self Forcing 对比只展示少量 30 秒轨迹,没有 FVD、用户偏好、geometry adherence、object permanence 或长时间失败率。
- 智能体样本太少。 四个扩展世界每轮只有一个 episode;论文没有多 seed 均值、方差、显著性检验,也没有“无 playbook”“只给最近 playbook”或“同一 agent 连续对话”等关键消融。
- 强化学习对比不同口径。 4/10 轮与 2500 万/1 亿 episode 分别对应预训练 foundation model 与 tabula-rasa policy,观测、动作、任务流程和先验计算量都不同,不能换算为数量级加速。
- 训练与部署成本高。 三阶段训练使用 32 张 H100;实时吞吐也在单张 H100、定制 Triton kernel、CUDA Graph 和 tiny decoder 上测得。论文未证明消费级 GPU 或多租户场景仍能保持实时。
- 数据与训练规模披露有限。 论文列出数据来源和优化器配置,但没有给出各数据域规模、总训练 token/frame 或各阶段总计算量,复现实验预算难以完整估算。
- 开源尚不完整。 截至论文发布时,官方仓库已提供 neural renderer 的训练、流式推理与 checkpoint,但 TODO 明确显示 code worlds 和 agent practice loop 尚待发布,核心智能体实验还不能端到端复现。
- 仍是首版技术报告。 当前为 arXiv v1,尚无同行评审结果;复杂的精确梯度与定制 kernel 也需要独立复现验证。
应用影响
可控的具身智能体训练场
机器人导航、操作、工具使用和多智能体协作需要大量可复现失败。Code world 允许固定 seed 重放同一状态轨迹,并换视角或外观检查策略;神经渲染则可降低传统模拟器与真实摄像头之间的视觉差距。它更适合作为训练与评估环境,而不是直接替代高精度物理仿真。
快速生成交互式任务与浏览器体验
世界规则和目标用代码定义,视觉风格由参考图与文本控制。团队可以用较粗的几何快速制作保龄球、点球、解谜或驾驶原型,在不重做整套美术资产的情况下换风格。若 coding agent 自动生成并验证场景,环境生产可能从“资产密集”变为“程序与测试密集”。
可审计的持续学习基础设施
Playbook 把策略改进保留为人类可读的 Markdown 与代码,比直接在线更新模型权重更容易审查、回滚和做安全过滤。实际系统可为每条技能记录适用世界、证据轨迹、成功率和反例,再利用 code world 的精确 reset/replay 验证后才进入共享知识库。
合成数据与反事实重渲染
同一状态轨迹可从不同相机、不同外观重新生成,而底层事件不变。这为 domain randomization、视角增强、失败回放和反事实可视化提供了便利。但若要用于安全关键感知训练,必须额外验证渲染器是否准确呈现小目标、接触和罕见状态,不能只依赖观感真实。
相关工作
第一条路线是 可执行环境与代码世界。Habitat 2.0、ManiSkill2 和 ProcTHOR 提供可控的具身学习环境;Holodeck、SceneCraft、LLMR、Code2Worlds 与 SimWorld Studio 用语言模型生成资产、空间约束或场景代码。它们通常依赖传统 graphics pipeline,视觉上限受资产质量影响。AgentGarten 的差异是让多个可执行世界共享生成式渲染器。
第二条路线是 交互式视频世界模型。Genie、GameNGen、Matrix-Game、WorldPlay、SolarWM、Genie 3、Wonder、ActWorld 与 LingBot-World 把行动、相机或事件条件接入视频生成,并增强长时记忆。在这些系统中,世界很大程度存在于生成历史和学习记忆里;AgentGarten 则先让动作推进外部可执行环境,视频模型只承担视觉表达。
第三条路线是 自回归视频蒸馏。CausVid 把双向 diffusion 转为 causal student,Self Forcing 在模型自身 rollout 上训练,LongLive、Causal Forcing、Causal-rCM 与 Mask Forcing改善长序列或初始化,DMD2 加入真实数据 GAN loss,Self Gradient Forcing 用第二遍执行恢复历史梯度。Adversarial Forcing 把这些方向组合起来,并以逐 block 同构执行消除 replay 数值偏差。
第四条路线是 文字经验驱动的智能体改进。Reflexion 把失败反思带到下一次尝试,ExpeL 从轨迹池提炼经验,Voyager 在 Minecraft 中积累可执行技能。AgentGarten 的 playbook 属于同一家族,区别在于智能体只看相机帧、任务文件不给解法、经验在不同新会话的智能体之间传递,并在带物理交互的生成画面中验证。
总结
AgentGarten 给出了一个清晰且工程上有吸引力的折中:不强迫生成模型同时学会世界事实与世界外观。代码和引擎负责持续、可检查的状态转移,神经渲染器负责从通用几何条件合成实时观测;Adversarial Forcing 则用自 rollout distribution matching、bitwise exact replay 和真实数据对抗监督,把预训练视频模型改造成可进入闭环的流式 renderer。
论文的系统结果说明这条路具备实时可行性:480×832 在单 H100 上达到 36.5 FPS,exact replay 相对误差从 3.99% 降至 0。智能体实验也展示了有趣的程序性学习:通过跨轮 playbook,hider 在第 4 轮建 shelter、seeker 在第 10 轮用 ramp,四个额外世界到第 4 轮总体改善。
但“持续进化”目前仍是早期证据。小样本、缺少对照、非等价 RL 比较和未完整开源的 agent loop,都限制了结论强度。下一步真正决定 AgentGarten 价值的,不只是更漂亮或更长的视频,而是三类可测指标:结构条件是否忠实传达任务状态、playbook 改进能否跨 seed 与跨世界复现、自动生成的新世界是否真的提供可学习且可迁移的挑战。