代码造世界,扩散绘现实:AgentGarten 给智能体一处 30fps 的实时试炼场,让它边玩边进化
引言:当"智能体"不再是被喂出来的,而是长出来的
想象一个 AI,它真的能住在一个世界里:它推开一块挡板,通道就封死了;它搬来一段坡道,于是高墙从此有了翻过去的可能。每一次行动都会改变世界,而改变后的世界,又成为它下一次决策的起点。再想象这个世界不是手工做的游戏 demo,而是"由代码构建、由扩散模型实时绘出来"的——这正是 MirroS 团队最新发布的 AgentGarten,一处专门给智能体"边玩边进化"的实时试炼场。
2026年10月8日,MirroS(联合清华、北大等高校)把 AgentGarten 开源了:项目主页、技术报告、GitHub 上的完整代码、详尽博客全部公开。它的核心思想说起来简单,概念上却很锋利:“代码造世界,扩散绘现实。” 规则与动态住在可执行代码里,视觉反馈由共享的神经网络渲染器生成,两者以超过 30 fps 的吞吐接成实时闭环,让智能体在一个"你每走一步、都能看见后果"的世界里持续交互。
而最震撼的结果,是学习效率的差距:在经典的捉迷藏实验中,躲藏者第4轮就学会搬动挡板搭建掩体,搜寻者第10轮便掌握借坡道翻墙;而常规强化学习的对照组,需要数百万轮。 AgentGarten 能"4轮赢过数百万轮",不是因为更用力地训练一个策略,而是因为它造了一个世界,让智能体在那个世界里"长"起来。
这篇文章我想分四层拆开 AgentGarten:第一层是"代码世界+共享神经渲染器"的架构本质;第二层是让实时交互成为可能的两个工程巧思(几何条件渲染 + 对抗性强制);第三层是让经验"传代"的 playbook 循环;最后落到它对智能体训练基础设施的意义。
一、“代码造世界,扩散绘现实”:一个架构拆分,解决了一道两难
在 AgentGarten 之前,想要一个"既忠实又真实"的环境,是个痛苦的两难。我们先把这道题摊开。
一边是传统模拟器(Box2D、MuJoCo、各类游戏引擎),它们持有显式的状态与规则:每个物体的位置、速度、碰撞都由代码确定性计算,你可以完全掌握"状态是什么、规则如何演化"。但要让它们"视觉上丰富",代价很高——每一个新环境都要专门的资产、着色器、光照,视觉真实感很难做。
另一边是视频世界模型,它们能轻松产出丰富逼真的图像,但把任务相关的状态与转移规则隐含地藏在"生成的视频历史"里,既不可验证也不可控制。你没法对一段视频模型说"这扇门现在确实关上了",还保证它一定照办。
AgentGarten 的答案,是一场干脆的职责拆分:
┌────────────────────────────────────────────────────────────────┐
│ AgentGarten: 拆开"规则"与"视觉" │
├────────────────────────────────────────────────────────────────┤
│ ┌───────────────────┐ 导出结构化条件 ┌──────────────────┐│
│ │ 场景程序 │ ─── depth/表面法线 ─▶ │ 共享神经网络 ││
│ │ (模拟器/游戏引擎) │ ◀──── 动作 ────── │ 渲染器 ││
│ │ · 持久化世界状态 │ │ (扩散渲染) ││
│ │ · 代码定义交互规则│ │ ││
│ └───────────────────┘ └───────┬──────────┘│
│ ▲ │ │
│ │ 动作 ┌──────────────┐ 视觉观察 ▲ │ │
│ └────────── ────────────┘ │
│ 智能体(感知 → 决策 → 行动) │
│ 一句话:代码管后果,渲染给视角 │
└────────────────────────────────────────────────────────────────┘
具体地,场景程序在模拟器/游戏引擎里运行,维护持久化的世界状态,并执行显式的交互规则。每次动作之后,引擎通过统一接口导出一条结构化条件(比如相机视角的深度图或表面法线);共享的神经网络渲染器拿到这个条件后,再结合外观参考、文本与视觉历史,合成出下一帧观察。智能体看到这帧观察,做出下一个决策,循环往复。
这个架构,把一个难题拆成两个好解的题:必须精确的地方(状态、规则、碰撞)交给代码;必须逼真的地方(视觉)交给神经渲染器。 因为所有环境都通过同一接口导出几何,它们能共享同一个渲染器——于是你可以完全用代码编写新世界,而无需为每个场景做专属视觉资产。世界的数量与难度,就能随着智能体一起扩展。
二、让"实时交互"成立:两个工程巧思
但"拆开规则与视觉"只是概念,真正的工程量在让神经网络渲染器快得足够、稳得足够,能在 30fps 以上跑一个交互闭环。 AgentGarten 靠两记关键动作完成。
第一记:把预训练视频模型适配到几何条件下。 AgentGarten 不是从零训一个渲染器,而是拿一个视频世界模型,用引擎导出的几何结构去条件它。渲染器以细粒度、短块的方式产出新一帧观察(让智能体能立刻收到反馈),同时保持跨长续跑的可视一致性(世界不该一帧一个样)。这就是"扩散绘现实"那一半。
第二记:对抗性强制(Adversarial Forcing),让历史预填充通过"精确重放"变得可微。 这里藏着一个微妙的问题:神经渲染器必须把"之前发生了什么"编码进"此刻怎么渲染"。但如果我们只是重放历史,那么后一层的预测损失就无法回流去改进"早期观察如何被编码"。AgentGarten 的对抗性强制通过精确重放让历史预填充可微——于是后层的梯度能回流,去更新"先验观察被编码的方式"。它再补上一路真实数据的对抗式监督,把渲染质量往"贴近真实视觉分布"上推。所谓"对抗性",正是指这第二名"监督者"。整个过程可用下面的图概览:
┌────────────────────────────────────────────────────────────────┐
│ 对抗性强制:让渲染器保持"诚实" │
├────────────────────────────────────────────────────────────────┤
│ 后段预测损失 │
│ │ │
│ ▼ 通过「精确重放」可微 │
│ 历史预填充 ──────▶ 更新「早期观察如何被编码」 │
│ │ │
│ ▼ │
│ 神经渲染器 ──── 对抗式判别器(真实数据)──▶ 推向真实视觉分布 │
│ │ │
│ ▼ │
│ 交给智能体的下一帧观察 │
└────────────────────────────────────────────────────────────────┘
为什么这对智能体重要?因为智能体在一个世界里学习,需要这个世界既"忠实"(同样的动作→同样的后果)、又"真实"(观察遵循现实视觉统计)。 如果渲染器漂移或闪烁,智能体学到的是伪相关,而不是稳定规则。对抗性强制,正是让这个世界"不撒谎"的关键。
三、playbook 循环:经验被继承,而不是被重头发现
拥有一处实时世界,只是"快速进化"的必要条件,另一半是智能体如何跨代复用经验。 传统 RL 往往把一个智能体锁在单个策略里,让它用数百万次试错去摸索。AgentGarten 选了一条不同的路:每一轮结束,智能体复盘自己的尝试、记录发现、标注疑问,把经验蒸馏成一本"实验手册"(playbook);下一代继承这本手册、精炼它、在它的基础上继续。 这在观感上是拉马克式的——但不是写在基因(权重)里,而是一份显式、可读的产物。
在经典的捉迷藏里,涌现的策略非常有意思:
- 躲藏者第4轮就学会拖挡板搭掩体;
- 搜寻者第10轮掌握借坡道翻过墙;
- 一次跳跃失败后,搜寻者主动把坡道推近、调整位置、再次尝试。
这些都不是写死的,而是从"世界 + playbook 机制"里长出来的。而那个耸动的数字是:智能体只学 4 轮,对应的常规 RL 要学数百万轮。
┌────────────────────────────────────────────────────────────────┐
│ playbook 传代循环 │
├────────────────────────────────────────────────────────────────┤
│ 第n轮:智能体在实时试炼场里行动 │
│ │ │
│ ▼ │
│ 复盘(尝试/发现/疑问) │
│ │ │
│ ▼ │
│ 蒸馏经验 ──▶ 写成「实验手册 playbook」 │
│ │ │
│ ▼ │
│ 第n+1轮:下一代继承 + 精炼 playbook │
│ → 知识跨轮复利,而不是重头发现 │
└────────────────────────────────────────────────────────────────┘
我用一段极简模拟,把"4轮 vs 数百万轮"的直觉讲清楚——同一个任务,三种训练范式,你会明白为什么"playbook"能把样本复杂度压下来:
# 为什么"继承"胜过"海量重试"(示意,Python)
rounds_needed = {"常规RL(每次重头探索)": 2_000_000,
"RL + 经验回放": 150_000,
"AgentGarten(playbook传代)": 4}
for regime, r in rounds_needed.items():
print(f"{regime:18s} -> 约 {r:>7,} 轮试错才达标")
# 一个玩具:每一代把上一代知识的30%作为先验,复利而非线性
base = 1000.0
print("知识若不重头再来,而是开卷考试:")
for gen in range(1, 6):
pos = base * (1 + 0.5) ** (gen - 1)
print(f" 第{gen}代 起始知识 ≈ {int(pos)}(复利累积)")
真正的重点不是算术,而是机制:当经验作为"显式产物"被继承,而不是在单个策略内部重头发现,学习效率就会从线性变成复利。 这就是"让智能体进化"的哲学核心。
四、这对智能体训练基础设施意味着什么
AgentGarten 只是一篇论文,但它指向了产业界思考"如何训练智能体"的更广泛转变。有三点值得记住。
第一,“环境"正在从边角料变成头等工程面。 很长一段时间,智能体研究围着模型、奖励、算法转。AgentGarten 提醒我们:智能体能学到什么,被它练习的环境边界所框定。 一个既忠实又真实的世界,本身就是产品——所以"造好训练场"本身就是竞争力。谁能做出更好的"练习场”,谁就更能更快地得到更聪明的智能体。
第二,“感知逼真度"与"状态精确度"不再必须彼此妥协。 经典两难是"真实的世界模拟得糊,精确的模拟看起来灰”。AgentGarten 的拆分——精确交给代码、逼真交给神经渲染——打破了这道两难。对工程师这是一条可复用的模式:别逼一个组件既精确又逼真,把它们分开,再用一个干净的接口连起来。 这个原则能延伸到机器人仿真、自动驾驶仿真、具身训练。
第三,“显式经验传递"是海量 RL 之外的一条务实路。 RL 的百万轮采样成本,是智能体规模训练最大的拦路虎之一。AgentGarten 的 playbook 展示了一条互补路线:让智能体把发现写下来、传给下一代,把知识当成一份复利累积的语料,而不是锁在权重里的秘密。 它不是要取代 RL,而是提示我们,通往"聪明智能体"最快的路,可能是 RL 与"显式、可继承、甚至工程师能翻看与干预"的 playbook 并用。
五、也要清醒:AgentGarten 的边界在哪里
方向当然让人兴奋,但我也想把 AgentGarten 的边界说清楚,免得它被误读成"AGI 已经来了”。至少有三个局限,值得我们冷静看待。
其一,这些世界目前"程序化"成分高、“开放"程度低。 AgentGarten 最擅长的是规则明确、可由代码刻画的场景(物理、几何、博弈)。可现实世界的复杂任务,往往带着大量模糊的语义、社会规则、长尾常识——它们很难被一段场景代码精确建模。“用代码造世界"让你精确,也让你被代码的表达能力框住。 那些无法用代码写清的世界,AgentGarten 暂时还够不着。
其二,渲染的"真实"是视觉层的真实,不一定是物理层的完整真实。 共享神经渲染器保证的是"看起来像真实世界”,但对真实物理的保真,终究依赖底层引擎的建模精度。逼真 ≠ 精确:渲染能骗过眼睛,却不保证把每一处力学细节都算得对。对需要高保真物理的具身训练,这仍是需要持续验证的地方。
其三,“playbook 传代"解决学习效率,但替代不了对安全与泛化的关注。 让经验快速复利是好事,可如果传下去的是"某处世界的捷径”,下一代也可能一起把这套捷径学歪。经验传代带来速度,也带来偏见与错误的复利。 如何让继承的经验保持正确、可校正,是比"学得快"更难的问题。
想清楚这三条边界,你既能相信 AgentGarten 打开了"让智能体边玩边进化"的可能性,又能避免对它寄予超出当下能力的期待。进步是真的,但路还长。
六、想上手尝试?给你四条最实在的建议
如果你被这套"能让智能体边玩边进化"的设计打动,真想在小规模里试一把,这里给你四条不绕弯的建议,帮你少踩坑。
第一,别一上来就追求逼真渲染。 AgentGarten 把神经渲染做进闭环,是为了"视觉保真带来行为泛化”。但对绝大多数你想先验证的猜想——“智能体能不能在规则明确的小世界里学会策略?““对抗性环境能不能逼出更鲁棒的行为?"——一个足够保真的假想世界,可能就够用了。先把机制跑通,再谈逼真。
第二,把"对抗性强制"当成默认开关,而不是锦上添花。 前面说过,监督信息里暗藏的错误捷径,是让模型"学会不做事"的元凶。AgentGarten 的经验是在世界里加了对抗性压力,让智能体没法偷懒。你自己做的时候也一样:如果环境里天然缺少"逼你做得更好"的压力,就主动设计一点。 没有压力的训练,往往只是把错误训练得更熟练。
第三,善用"playbook 传代"来放大效率,但务必给它"重玩"的出口。 让经验在新一代的随机初始化里快速复利,是 AgentGarten 提速的关键。但记住第五条里的警示——继承经验的同时也可能继承偏见。 所以一定要给智能体保留"挣脱上一代经验、重新探索的自由”,让它该有时能放下捷径、换个活法。
第四,从"能在世界浏览里记录看到的每个状态"开始。 那套记忆+playbook 的框架,本质是把"看见的过程"沉淀成了"可传递的策略”。自己做时可以从小处入手:先让智能体学会把观察到的东西系统记下来,再想办法把这些记录变成能指导下一步行动的指令——这两步做好了,你的"迷你世界"也就有了进化的火车头。
这四条都不复杂,但每一条都在把"世界造真"和"让智能体学会"焊在一起。所谓进化试炼场,说到底就是给智能体一片既真实又充满压力的土壤,然后让它自己把根扎下去、把策略磨出来。
结语:当智能体得到一处"能生长"的世界
AgentGarten 表面上,是"给智能体玩的世界”。但它真正的分量在架构与哲学:它证明了**“通过交互经验持续进化的智能体"是可以被工程实现的,而不只是被想象的。** 把精确规则拆进代码、把逼真视觉拆给共享神经渲染器、用对抗性强制让历史可微、再让每一代继承一本 playbook——它把智能体开发,从"训练一个策略直到它背熟”,变成了"养育一支不断从世界里学习的谱系"。
而对每个在折腾智能体的工程师来说,最实际的收获是那个让人安心的结论:教一个智能体做件新事,不需要上亿次试错——你需要一个"动作有可靠、可见后果"的世界,外加一个"把经验带向前"的机制。有了这两样,学习几乎会自然地发生。这正是 AgentGarten 指向的那场安静革命:等智能体得到了一处好世界、又懂得记下所学,“边玩边进化"就不再是一句比喻。