← 科研空间 首页
ICLR 2025 · arXiv 2405.15568 · 原版 PDF Faldor · Zhang · Cully · Clune · 代码

OMNI-EPIC:当环境本身成为搜索对象

当任务不再来自预定义的参数空间,而是基础模型现场写出的完整环境代码:开放式学习把“环境”从搜索的容器变成搜索的对象。读这篇论文需要同时记住它的两副面孔——生成侧的 200 任务发散图谱,与学习侧 22 个任务的真实 RL。

先讲一个故事

2019 年,一只两足小机器人站在 POET 的障碍赛道起点。它脚下的每一道沟壑、每一个障碍物,都由工程师写好的参数向量决定:缺口多宽、地形多粗糙、障碍多高。算法能自动调整这些数字,却永远调不出参数表之外的世界——想让它学踢球?工程师得先给"球"和"球门"写好生成代码。

接下来的几年,研究者各显神通:Voyager 让语言模型在 Minecraft 里写技能代码,但世界还是那个 Minecraft;Eureka 让语言模型写奖励函数,但任务是人定的;OMNI 让语言模型判断哪些任务"有趣",但任务还是从固定的环境空间里采样。开放式学习(open-ended learning)的核心矛盾始终没动:环境这个笼子是工程师焊死的,算法只能在笼子里翻跟头。

2024 年 5 月,Imperial College London 与 UBC 的研究者给出了拆笼子的方案。R2D2 机器人(PyBullet 里的双轮小车)从 3 个人工种子任务出发:跨一座彩虹桥、爬一段楼梯、把球踢进球门。之后的一切都不再有人参与——Claude 3 Opus 现场写出下一个任务的完整 Python 环境:平台几何、物体摆放、物理参数、奖励函数、终止条件、成功判定,一段不少。一百次迭代后,它的任务档案里出现了多房间搜救、1v1 机器人足球、动态目标推送、跨越不等宽沟壑的跳跃挑战。

而整个系统最耐人寻味的地方,是它如何对待失败。第 9 号任务(在动态移动的平台上把箱子推到目标点)失败了——失败任务同样进档案。此后的平台类任务悄悄绕开了"在移动平台上推箱子"这个元素;第 12 号任务(障碍地形导航)失败后,第 13 号任务目标不变,障碍物却变少了。课程在无人的地方自己弯向了 agent 的能力边界。这不再是内容生成,而是一个会观察学生、会改考卷的出题人。

阅读基线:arXiv 2405.15568v3(ICLR 2025)TeX 源码全文与全部图表;外部证据检索日 2026-10-23。本文中"论文"指该版本。

故事与技术如何对应

故事元素 论文概念 性质
POET 里焊死的参数笼子 预定义环境参数空间(POET / OMNI / Voyager 等前作的共同限制) 论文 §1–§2 的源事实
"让 Claude 写整个世界" EPIC:环境 = 可执行代码(世界 + reward + termination + success 判定) 源事实(§3.3)
R2D2 的 3 个种子任务 task description seeds:彩虹桥 / 爬楼梯 / 踢球入门(附录 I) 源事实
任务 9 失败后绕开推箱、任务 12 失败后降障碍 失败任务入 archive,作为 task generator 的上下文反馈(§3.2、§5) 源事实(图 3 与短 run 叙述)
"会观察学生、会改考卷的出题人" archive + MoI + learning progress 组成的自动课程闭环 类比(论文机制的形象化)
"拆笼子" 从参数空间到程序空间的任务表示升级;但当前实现仍限于 PyBullet(作者自认非 Darwin Complete) 类比 + 源事实边界(§6)

先给结论

200长 run 迭代任务(simulated learning,t-SNE 图谱持续发散)
16 / 22短 run(真实 RL)学成 / 尝试任务数,另 1 任务被判无趣弃置
63.2% vs 36.8%transfer 续训 vs 从零训练的中位成功率(25 任务 × 5 重复)
p < 0.05cell coverage 与 ANNECS-OMNI 双指标均显著高于两个对照(Mann-Whitney U)
72.7%success detector 与 50 名人类评估者判断的一致率
0去掉 learning progress 提示后学成的任务数(对照主设置 16)

研究动机

论文的出发点是一条清晰的证据链:

前作分别卡在不同环节:

前作 做到的 卡住的
POET / Enhanced POET (2019/2020) 障碍课程自动共生演化 + ANNECS 进展度量 环境 = 预定义参数向量(缺口宽度、粗糙度)
OMNI (2023) FM 作为人类有趣性模型(MoI)选择任务 任务从固定环境空间采样,空间不开放
Voyager (2023) LLM 写技能代码、无限课程 世界锁死在 Minecraft
Eureka (2023) LLM 写奖励函数代码 任务本身固定,无 auto-curriculum
GenSim / EnvGen (2023/2024) FM 生成模拟环境 / 环境课程 不随 agent 表现演化,或目标集合固定
MarioGPT / LevelGen (2023) FM 生成关卡 只造关卡,不训 agent、不调难度

OMNI-EPIC 的回答是在 OMNI 上加 EPIC(Environments Programmed in Code):任务 = 自然语言描述 + 环境代码,代码里连 reward 和 success 判定一起生成。原则上(Python 图灵完备 + 任意模拟器)这能表达任何可计算任务;本文刻意收窄到 PyBullet 一个模拟器,作为通往 Darwin Completeness 的第一步。

数学表示及建模

任务与环境

每个任务是一个二元组 $\tau = (d, e)$:自然语言描述 $d$(人可读)与环境代码 $e$(机器可执行)。$e$ 实现标准 Gymnasium API 的一个子集:

$$ e = \big(\texttt{reset},\ \texttt{step},\ \texttt{get\_task\_rewards},\ \texttt{get\_terminated},\ \texttt{get\_success}\big) $$

其中 get_task_rewards 返回 $[-10, 10]$ 区间内的密集奖励分量字典(供 RL 高效学习),get_success 独立判定任务是否完成(不参与训练)。奖励与成功判定分离是这套设计的要点:前者可被塑形(也因此可被 hack),后者只做事后裁判。

档案与检索

档案 $A = A_{\text{learned}} \cup A_{\text{failed}}$,由 3 个种子任务初始化,无上界增长。用预训练编码器(text-embedding-3-small)把任务嵌入为向量 $\mathbf{z}(\tau)$,以余弦相似度检索:

$$ \text{sim}(\tau_i, \tau_j) = \frac{\langle \mathbf{z}(\tau_i), \mathbf{z}(\tau_j) \rangle}{\|\mathbf{z}(\tau_i)\|\, \|\mathbf{z}(\tau_j)\|} $$

每次生成时随机选一个档案任务作锚点,取与其最相似的 5 个学成任务与 5 个失败任务作为 in-context 例子(用最相似而非最不同的,是把旧任务当 stepping stones)。

多样性度量:cell coverage

把所有方法的任务嵌入做 PCA 降到 2 维,在 $[\min, \max]^2$ 上以级别 $k$(主文 $k = 50$)划均匀网格,数被占据的格子数:

$$ \text{coverage}(A; k) = \left| \left\{ c \in \text{Grid}_k \;:\; \exists\, \tau \in A,\ \phi_{\text{PCA}}(\tau) \in c \right\} \right| $$

进展度量:ANNECS 与 ANNECS-OMNI

ANNECS(Enhanced POET)累积计数"新创造且最终被解决"的环境,要求环境(1)对当前 agent 不太难也不太易、(2)最终被系统解决。本文新增 ANNECS-OMNI,追加第三条:(3)相对已解决任务被 FM 判定为有趣。形式地,在第 $t$ 代:

$$ \text{ANNECS-OMNI}(t) = \sum_{i \le t} \mathbf{1}\!\left[ \text{learnable}_i \wedge \text{solved}_i \wedge \text{interesting}_i \right] $$

其中 interesting 由 FM 给定档案判断近似。这把"有趣"第一次写进了开放式系统的进展指标——代价是指标本身带上了 FM 裁判的主观性(见我的评论)。

算法流程 / 方法

论文图 1:OMNI-EPIC 六组件总览。任务档案(成功+失败)为任务生成器提供上下文,生成器产出自然语言任务描述,环境生成器把它翻译成 PyBullet 环境代码,事后 MoI 查新,DreamerV3 训练(可从最近学成策略续训),success detector 判定成败,失败任务回炉或归档。
论文图 1:OMNI-EPIC 六组件总览。任务档案(成功+失败)为任务生成器提供上下文,生成器产出自然语言任务描述,环境生成器把它翻译成 PyBullet 环境代码,事后 MoI 查新,DreamerV3 训练(可从最近学成策略续训),success detector 判定成败,失败任务回炉或归档。

OMNI-EPIC 是一个六组件闭环。每轮迭代:

  1. Task Generator(Claude 3 Opus,$T=0$):以档案中最相似任务的 5 学成 + 5 失败例子为上下文,产出下一任务的自然语言描述。提示词要求任务 learnable(不太难/不太易、PyBullet 可行)且 interesting(novel / useful / creative / surprising),并写死机器人约束:能推不能抓、不做迷宫、设计不得对人有害。
  2. Environment Generator(Claude 3 Opus,$T=0$,5 个 few-shot 代码例子):把描述翻译成 PyBullet 环境代码(五个函数齐全)。编译错误带 traceback 回喂,最多修 5 轮;仍失败则弃置,回到第 1 步。
  3. Post-Generation MoI(GPT-4o,$T=0$,10 个最相似档案任务):模仿人类学术界的"查新"——新任务是否相对于档案 interestingly new?无趣则弃,回到第 1 步。
  4. RL Training(DreamerV3):每个任务训一个 specialist;新任务从嵌入最近的学成策略续训(transfer)。观测 = 本体感受 + $64 \times 64 \times 3$ 图像;R2D2 机器人 6 个离散动作;环境颜色随机化作域随机化。
  5. Success Detector:调用环境代码里的 get_success(由 LLM 随环境一起生成)判断学成与否。学成 → 入档案;未学成 → 交回环境生成器修改(Task Reflection,GPT-4o,1 轮)。
  6. 修改后仍失败 → 以 failed task 身份入档案,回到第 1 步。失败样例从此参与后续任务的上下文检索——系统"知道"自己哪里不行。

环境代码长什么样?以种子任务"彩虹桥"的 few-shot 例子为证(节选):

class Env(R2D2Env):
    def __init__(self):
        super().__init__()
        # 平台与桥段:先定义尺寸,再相对定位
        self.platform_size = [3., 3., 0.5]
        self.platform_start_position = [0., 0., 0.]
        self.platform_end_position = [self.platform_start_position[0] + 30., ...]
        pride_colors = [[1.0,0.0,0.0,1.], ..., [0.7,0.0,1.0,1.]]  # 六色桥段
        for i, color in enumerate(pride_colors):
            segment_id = self.create_box(mass=0., half_extents=[...],
                                         position=[... + i * segment_size, ...],
                                         color=color)
            self._p.changeDynamics(segment_id, lateralFriction=0.8, restitution=0.5)

    def get_task_rewards(self):      # 密集奖励:站立 + 距离缩短
        return {"survival": ..., "distance_delta": ...}
    def get_terminated(self): ...    # 掉桥即终止
    def get_success(self): ...       # 抵达终点平台即成功

提示词细节(系统/用户提示全文、few-shot 代码、种子描述)随 TeX 源码与官方代码仓库公开,复现不存在提示词黑箱。

组件与超参

组件 模型 / 配置 关键参数
Task Generator Claude 3 Opus,$T=0$ 5 学成 + 5 失败例子;迭代上限 5
Environment Generator Claude 3 Opus,$T=0$ 5 个 few-shot 代码例子;编译修复 ≤ 5 轮
Post-Generation MoI GPT-4o,$T=0$ 对比 10 个最相似任务
RL(DreamerV3) 2×10⁶ 步 / replay 10⁶ / batch 16 / γ=0.997 / lr 3×10⁻⁴ 每任务 ≈ 1 小时 × 2 块 RTX 6000 Ada + 32 CPU 核
Success Detector 环境代码内 get_success(LLM 生成) 与 reward 分离,不参与训练
Task Reflection(失败回炉) GPT-4o,$T=0$ 1 轮修改 + 5 个 few-shot 例子
嵌入 OpenAI text-embedding-3-small 检索与 PCA/t-SNE 可视化共用

实验设计

论文用三层实验分工回答三个问题,外加消融与人类评估:

实验 回答的问题 设置
长 run(simulated learning) 生成动力学:任务空间里会发散、会聚簇、会持续创新吗? 200 次迭代,不训练 RL(假设全部任务可学),排除编译失败任务;t-SNE 可视化 + 代数着色 + 父子连线
短 run(真实 RL) 任务真的 learnable 吗?课程真的弯向 agent 能力吗? 5 次重复,每次 3 种子起步、22 个任务量级、每任务 2×10⁶ 步 DreamerV3
定量对照 archive 与 MoI 各自贡献多大? 对照 = w/o archive、Learning Progress Only;cell coverage(长 run × 3)+ ANNECS-OMNI(短 run × 5);Mann-Whitney U 检验;离散化级别 10–40 稳健性
消融 哪些机制是必要的? transfer vs 从零训练(等总步数);均匀采样例子;不给失败例子;提示词去掉 learning progress
人类评估 success detector 可信吗? CloudResearch 50 人,每题 0.25 美元(约 15 美元/时),对比人与 detector 的判定一致率
跨机器人 方法绑死 R2D2 吗? Ant 四足机器人,连续 8 维动作空间,其余设置不变
"simulated learning" 是本文最重要的实验设计选择,也是最需要审稿人盯住的选择。长 run 不训 RL(每任务 1 GPU 小时级的开销使 200 任务不可负担),"学成"是假设的;因此长 run 只证明生成侧的发散与创新,学习侧结论全部依赖短 run。论文正文对此是诚实的,但"explosive creativity"的修辞容易让读者忽略这条分界线。

实验结果

长 run:代码空间里的发散与聚簇

论文图 2:长 run(simulated learning)200 个生成任务的 t-SNE 图谱。节点 = 任务,颜色 = 代数(深→浅),✓ = 学成,ZZZ = 被事后 MoI 判无趣弃置;灰色为种子任务。可见跨 niches 的跳跃与 niche 内的持续变体。
论文图 2:长 run(simulated learning)200 个生成任务的 t-SNE 图谱。节点 = 任务,颜色 = 代数(深→浅),✓ = 学成,ZZZ = 被事后 MoI 判无趣弃置;灰色为种子任务。可见跨 niches 的跳跃与 niche 内的持续变体。

200 个任务在嵌入空间里形成跨 niches 的跳跃与niche 内的变体:右下角是踢球入门家族,向左移动目标、移动障碍逐渐加入;左上区域整体切换为"把物体推进指定容器/区域";右上则是(移动)平台与地形导航。同一 niche 内的变体不只是换皮——任务 90 家族同为"取回物体放回指定位置",但世界(室外场地 / 连通房间 / 坡道连接的两层)、物体数(1 个 vs 多个)、时限(3 分钟 vs 5 分钟)都在变。种子任务(灰色节点)里没有任何动态物体,而生成任务大量出现移动平台、按钮拉杆、移动障碍。

短 run:课程弯向能力边界

论文图 3:短 run(真实 RL)任务网格:16 个学成(绿✓)、6 个失败(红✗)、1 个无趣弃置(ZZZ)。每格含任务环境截图与任务描述开头。
论文图 3:短 run(真实 RL)任务网格:16 个学成(绿✓)、6 个失败(红✗)、1 个无趣弃置(ZZZ)。每格含任务环境截图与任务描述开头。
论文图 4:短 run 任务父子图:生成任务(绿)与种子任务(蓝)的派生关系与学成状态,stepping stones 结构直接可见(任务 4 = 种子1 + 任务1 的组合)。
论文图 4:短 run 任务父子图:生成任务(绿)与种子任务(蓝)的派生关系与学成状态,stepping stones 结构直接可见(任务 4 = 种子1 + 任务1 的组合)。

示例 run:16 个任务学成、6 个失败、1 个被 post-generation MoI 判无趣弃置。三条"课程逻辑"证据:

定量:archive 与 MoI 的独立贡献

论文图 5:长 run(3 次重复)的 cell coverage 对比:OMNI-EPIC 显著高于 w/o archive 与 Learning Progress Only 两个对照(p < 0.05,Mann-Whitney U)。
论文图 5:长 run(3 次重复)的 cell coverage 对比:OMNI-EPIC 显著高于 w/o archive 与 Learning Progress Only 两个对照(p < 0.05,Mann-Whitney U)。
论文图 6:短 run(5 次重复)的 ANNECS-OMNI 对比:OMNI-EPIC 持续上升,显著高于两个对照。
论文图 6:短 run(5 次重复)的 ANNECS-OMNI 对比:OMNI-EPIC 持续上升,显著高于两个对照。

两个指标上 OMNI-EPIC 均显著高于两个对照($p < 0.05$,Mann-Whitney U)。cell coverage 的显著性在离散化级别 10–40 下稳健;ANNECS-OMNI 随迭代持续上升,无停滞迹象。短 run 的 cell coverage 差异不总显著——作者归因于 run 太短,效果需要时间显现。

论文图 7:ANNECS 与 ANNECS-OMNI 双指标对 OMNI-EPIC 无差异——所有学成任务都被判有趣,有趣性过滤发生在训练之前。
论文图 7:ANNECS 与 ANNECS-OMNI 双指标对 OMNI-EPIC 无差异——所有学成任务都被判有趣,有趣性过滤发生在训练之前。
论文图 8:学成比例随代数下降,且 transfer 续训与从零训练的差距持续拉大——任务在变难,transfer 价值在增长。
论文图 8:学成比例随代数下降,且 transfer 续训与从零训练的差距持续拉大——任务在变难,transfer 价值在增长。

左上图:ANNECS 与 ANNECS-OMNI 对 OMNI-EPIC 没有差异——所有学成任务都被判有趣,因为有趣性过滤发生在训练之前而非回顾。右上图:学成比例随代数下降,且 OMNI-EPIC(续训)与同任务从零训练的差距持续拉大——任务在变难,transfer 的价值在增长。

消融:哪些机制是必要的

消融 改动 结果 结论
Transfer 新任务从最近学成策略续训 vs 随机初始化(等总步数) 中位成功率 63.2%(CI 42.1–69.5)vs 36.8%(CI 31.6–53.7) 学成技能可复用,构成递进课程
均匀采样例子 in-context 例子从"最相似"改为均匀随机 只学成 5 个(主设置 16) stepping-stones 检索是关键
不给失败例子 上下文只给学成任务 只学成 7 个;重复生成已失败的同类任务 系统需要"知道自己哪里不行"
去掉 learning progress 提示词删去难度适配表述 0 个学成 learnable 不是涌现的,是显式机制
论文附录 K 图:Ant 四足机器人(连续 8 维动作空间)上生成的任务与学成情况——方法不绑死 R2D2。
论文附录 K 图:Ant 四足机器人(连续 8 维动作空间)上生成的任务与学成情况——方法不绑死 R2D2。

Ant 机器人(连续 8 维动作)同样完成多个生成任务,方法不绑死特定机器人或动作空间。人类评估(50 人)与 success detector 的一致率 72.7%——自动判定可用但有近三成分歧,主要卡在视觉判断类任务(附录 C 讨论 VLM 方案尚不成熟)。

我的评论

按审稿人立场,围绕真实增量(参数空间 → 程序空间 + 双 MoI + 失败反馈闭环)评估:

站得住的

主要批评

可检验的预测(论文自己的)

One More Thing

生成者-裁判同体。OMNI-EPIC 的结构是"FM 提议、FM 裁决、RL 执行"。同一个基础模型生态既定义什么算有趣(事前 MoI),又复核是否有趣ly new(事后 MoI),还生成成功判定代码。这个模式后来在同组的策略侧工作中反复出现(Foundation Model Self-Play、Darwin Gödel Machine、Automated Capability Discovery),开放式的适应度函数被整体外包给了 FM 的先验。它的风险与它的效率同源:FM 的有趣性先验决定了搜索空间里哪些方向"存在"。

任务 = 可执行代码,档案第一次可重放。自然语言任务清单只是历史;代码档案是任何人都能重放、审计、续训的环境库。开放式系统的 archive 从记录变成了资产——这为后续工作(把它当 benchmark 数据集、当课程数据源)留了一个没被本文用尽的接口。

有界的下一步。两个方向已经由外部证据标出:把 learnable 从提示词形容词变成可执行的验证(训练前廉价探测/证书,对应 DéjàQ、Automated Capability Discovery 一线的"可验证性"),以及把 specialist 换成 generalist(对应 DiCode 在 Craftax 中的持续课程)。两者都不推翻本文——它们都站在"环境=代码"这个接口上。

跨论文洞见 1:表征空间变大,不等于搜索就变好。OMNI-EPIC 把任务从参数向量扩展到可执行环境代码,扩宽了候选空间;但有意义的开放式搜索仍取决于表示、变异和评价如何共同塑造可达的适应度地形。可将LLM 算法搜索的 fitness landscape与epistatic modularity 与 local optima作为分析透镜:它们提示应分别检查候选多样性、有效行为差异及可学性,不能把二维 embedding 覆盖率直接等同于能力进展。这里是跨页综合问题,不是这些页面对 OMNI-EPIC 的实验证明。

跨论文洞见 2:开放式演化的"被改变量"需要说清。OMNI-EPIC 的闭环主要演化环境/任务,策略仍由每任务 specialist 学习;这与evolutionary coding agents所关注的代码/agent 演化轴不同。并读AI Finds a Way可把"新任务持续出现"与"解决者自身能力持续增长"区分开来:前者是本文有证据展示的系统行为;后者不能由任务档案发散或 transfer 续训优势单独推出。

证据边界(open-endedness):本文可操作化的结论是,在 PyBullet 这一模拟器中,LLM 生成的任务代码、成功/失败档案、MoI 与 learning-progress 提示能够形成自动任务生成/筛选闭环;cell coverage、ANNECS-OMNI 和有限真实 RL run 是具体测量。"无限开放"、"像生物演化"、"会观察学生的出题人"属于启发式类比或研究愿景;Python 图灵完备不证明当前系统可生成、可学习任意环境,PCA 网格覆盖也不等同于真实行为空间覆盖。论文明确承认 PyBullet 限制,因此不要把 Darwin Completeness 当作已达成结论。

论文附录 B 图:键盘操控 R2D2 机器人游玩系统生成任务的界面——个性化、难度自适应的娱乐形态。
论文附录 B 图:键盘操控 R2D2 机器人游玩系统生成任务的界面——个性化、难度自适应的娱乐形态。

论文附录 B 的游戏界面:同一个任务生成循环,把 RL agent 换成人类玩家,就是一款难度自适应的无限游戏——本文离日常生活最近的一张脸。成瘾性与奖励审计问题,见下方讨论角色中的社会影响评估。

Other Discussion Roles / 其他讨论角色

以下七个角色使用 MIT MAS.S60 课程原始 prompt,从不同责任位置审视同一篇论文。

Scientific Peer Reviewer

The paper has not been published yet and is currently submitted to a top conference where you’ve been assigned as a peer reviewer. Complete a full review of the paper answering all prompts of the official review form of the top venue in this research area (e.g., NeurIPS). This includes recommending whether to accept or reject the paper.

评审意见(模拟 ICLR 形式,事后视角)

Summary. 论文提出 OMNI-EPIC:以 FM 生成"自然语言任务描述 + 可执行环境代码(含 reward/termination/success)",配合成功/失败任务档案、事前事后双 MoI 与 learning-progress 提示,构成可无限循环的自动课程;在 PyBullet + R2D2/Ant 机器人上验证生成多样性、难度适配与两指标显著性。

Strengths. (S1) 表示升级实质:环境代码整体成为生成对象并接入 agent 反馈,超出所有先前 auto-curriculum 工作的表达范围;(S2) 消融链条完整且信息量大——no-LP 消融 0 学成、失败样例消融从 16 掉到 7、uniform 采样掉到 5,机制归因干净;(S3) 提示词、few-shot、种子、超参、代码全公开;(S4) 引入 ANNECS-OMNI 把"有趣"写进进展指标;(S5) 人类评估验证 success detector。

Weaknesses. (W1) 长 run 的 simulated learning 假设全部任务学成,标题性结论(explosive creativity、continuous innovation)只覆盖生成侧;生成-学习耦合动力学仅在 22 任务级观察。(W2) interestingness 无独立人类评估,事前事后均由 FM 裁判,ANNECS=ANNECS-OMNI 表明过滤器从未在学成任务上否决。(W3) specialist + 最近嵌入 transfer,无泛化/组合证据,与"open-ended 能力增长"的终极目标之间有断层。(W4) cell coverage 依赖嵌入→PCA→离散化三层选择,语义新颖 ≠ 能力新颖。(W5) 每任务约 1 GPU 小时 × 2,"endless" 在真实预算下未检验。(W6) 生成奖励函数无审计,回炉机制的选择压力偏向可学性而非意义。

Questions. (Q1) 若长 run 真实训练,成功/失败比改变后任务分布会怎样漂移?(Q2) post-generation MoI 的否决率随代数如何变化(ZZZ 节点比例)?(Q3) 人类对"有趣"的评分与 FM 判定的相关系数是多少——只有 success 的一致率不足以支撑有趣性主张。(Q4) 换掉 text-embedding-3-small,cell coverage 的显著性还在吗?

Rating: 7 — Accept(事后与 ICLR 2025 录取一致)。愿景大而实现小是诚实的;W1/W3 是作者自己承认的边界,审稿人的职责是确保读者不被"explosive creativity"的修辞带过这条线。

Archaeologist

This paper was found buried under ground in the desert. You’re an archeologist who must determine where this paper sits in the context of previous and subsequent work. Find and report on one older paper cited within the current paper that substantially influenced the current paper and one newer paper that cites this current paper.

地层之下(影响本文的旧论文):OMNI(Zhang, Lehman, Stanley & Clune,arXiv 2306.01711,NeurIPS 2023)。OMNI-EPIC 的命名直接承认了这笔债务——"OMNI + EPIC"。OMNI 贡献了核心洞察:基础模型在人类文本上训练,已经内化了人类对"有趣"的判断,可充当 Model of Interestingness(MoI),解决开放式研究"无法量化有趣性"的阿喀琉斯之踵;但其任务仍从固定环境空间采样。OMNI-EPIC 保留 MoI 机制(事前选择 + 本文新增的事后查新),把环境载体换成代码,才有了"任何可模拟任务"的表达力。没有 OMNI,本文的有趣性机制是无源之水;没有 EPIC,OMNI 仍在笼子里。共同的更深层源流是 Clune 的 AI-GA 愿景(arXiv 1905.10985)与 POET 的共生演化(arXiv 1901.01753):本文的档案、stepping stones、ANNECS 度量都能在 POET 系找到化石形态。

地层之上(引用本文的新论文):DiCode / Dreaming in Code(Mitsides, Faldor & Cully,arXiv 2602.08194,ICML 2026)——两位 OMNI-EPIC 作者的后续。DiCode 对本文的定位恰好构成批评性引用:FM 生成环境代码的方法(以 OMNI-EPIC 为代表)"聚焦于发现孤立行为,而非编排持续的能力进展";DiCode 转向 Craftax,用 LLM 合成的环境代码编排朝向晚期游戏内容的长程课程,较最强基线提升 17% mean return。考古结论:本文在谱系上是"环境=代码"接口的确立点,而它的两个自认缺口(无 generalist、无长程能力编排)被直接后续当作了研究问题——化石与活体之间没有断层。

Academic Researcher

You’re a researcher who is working on a new project in this area. Propose an imaginary follow-up project not just based on the current but only possible due to the existence and success of the current paper.

提议项目:EPIC-Generalist(G-EPIC)——把任务档案变成一个通用 agent。OMNI-EPIC 留下的最贵资产不是算法,而是它证明了可以廉价量产"带可执行环境与成功判定的任务档案"。但论文止步于每任务一个 specialist(附录 J 明说缺算力训 generalist)。G-EPIC 只在 OMNI-EPIC 成功后才可能:用 OMNI-EPIC 循环跑数周,产出数千个(描述, 代码, 成功判定)三元组;然后训一个条件化策略(以任务描述为条件,或以环境代码的嵌入为条件),训练时按 learning progress 优先采样任务——即把 OMNI-EPIC 的任务生成器直接当作 generalist 的课程引擎。评价端补上论文缺的那块拼图:held-out 任务的零样本成功率、以及任务间能力的组合性(在两个学成任务的并集任务上零样本表现)。风险与论文同源:成本。但正因为本文证明了"档案会自己长大",这笔预算从"造数据集"变成了"跑一个循环"。

次选(更便宜):Verifier-EPIC——把 learnable 从提示词形容词变成训练前的可执行证书:新任务先跑 K 步零样本/少量微调探测,测 return 斜率,只有斜率落在"可学带"内的任务才进入 RL 训练。这直接回应 no-LP=0 的发现:难度适配目前靠语言提示,而探测是数字。它站在 OMNI-EPIC 的接口上(环境代码可执行、成功判定可执行),只是把第三件事也变成代码。

Industry Practitioner

You work at a company or organization developing an application or product of your choice (that has not already been suggested in a prior session). Bring a convincing pitch for why you should be paid to implement the method in the paper, and discuss at least one positive and negative impact of this application.

提案:自适应关卡引擎(Physics-Puzzle Studio)。我所在的独立游戏工作室做物理解谜游戏,最大的成本是关卡设计:好关卡产量低、玩家消耗快、难度曲线靠设计师手调。OMNI-EPIC 论文的附录 B 已经展示了雏形——键盘操控 R2D2 机器人玩系统生成的任务,难度随玩家水平自适应(不过太难/太易)。_pitch_:把 OMNI-EPIC 的任务生成器 + 事后 MoI + 玩家表现档案(替代 RL agent 档案)做成关卡管线:玩家失败两次的关卡自动降参重生成(论文任务 12→13 的机制),玩家连胜则从"学成档案"出发组合出更难的变体(任务 4 的机制)。对物理解谜品类,PyBullet 级的刚体物理已够用;关卡即代码意味着关卡可以带"成功判定"自动验收,QA 成本同步下降。正面影响:小团队能以近零边际成本供给个性化内容;负面影响:论文式的"engagement 最大化"管线若直接接留存指标,就是工业化成瘾设计——必须把在线时长降级为诊断指标(论文作者自己把 agent 在线时长排除在 reward 外的同款逻辑),并保留人类编辑对"有趣"的抽检权,防止 FM 的有趣性先验把游戏收敛成单一刺激模式。

第二个更接近论文原意的应用:机器人公司的 sim 预训练数据工厂——按自家机器人的能力档案量产任务与课程(Ant 机器人附录已证明可换动作空间),把"仿真数据集采购"变成"循环运行"。

Hacker

You’re a hacker who needs a demo of this paper ASAP. Implement a small part or simplified version of the paper on a small dataset or toy problem. Prepare to share the core code of the algorithm to the class and demo your implementation. Do not simply download and run an existing implementation – though you are welcome to use (and give credit to) an existing implementation for “backbone” code.

周末 demo:mini-EPIC(2D 网格世界版)。官方仓库(maxencefaldor/omni-epic)当 backbone:直接复用它的提示词(task_generator_system / environment_generator_system / model_of_interestingness_system——论文附录 G 全文公开),只把执行面换掉。三个替换:

# 1) 环境协议:PyBullet+R2D2Env → 纯 Python 网格世界(LLM 一次能写对)
class Env:                       # 仍实现五函数 API
    def reset(self) -> obs ...
    def step(self, a) -> (obs, rewards, done)
    def get_task_rewards(self) -> dict   # 密集、[-10,10]
    def get_terminated(self) -> bool
    def get_success(self) -> bool

# 2) RL:DreamerV3+2GPU → tabular Q-learning / 小 PPO(CPU 即可)
# 3) 档案:JSON 文件;嵌入:text-embedding-3-small(检索最相似 5 学成+5 失败)

流程:种子任务 3 个(如"走到出口""把箱子推到开关上""拾钥匙开门"——拾取在网格世界合法,机器人约束提示词同步改)→ 循环 20–30 次:任务生成 → 代码生成(编译错误回喂 ≤5 轮)→ 事后 MoI → 每任务 Q-learning 2000 episode → get_success 判定 → 入档案。产出物:任务图谱(仿论文图 2 的 t-SNE + 父子连线)和消融对照(提示词去掉 learning progress,预期复现"学成数大幅下降")。预期成本:一晚 + 少量 API 费;预期坑:LLM 写的 get_success 偶尔永真/永假(用随机策略跑 3 局先校验),网格世界几何 bug(让 env generator 自己输出 ASCII 预览回喂)。演示亮点:让现场观众提名一个任务,看档案里最近的 stepping stones 是谁。

Private Investigator

You are a detective who needs to run a background check on one of the paper’s authors. Where have they worked? What did they study? What previous projects might have led to working on this one? What motivated them to work on this project? Feel free to contact the authors, but remember to be courteous, polite, and on-topic.

背景调查对象:一作 Maxence Faldor。公开资料(alphaXiv 个人页、项目页、Cully 的 Google Scholar 共著条目)拼出的轨迹:ISAE-SUPAERO 数学/计算机硕士(2016–2020)→ 亚马逊卢森堡数据科学家(2020–2022)→ Imperial College London 计算机博士(2022 起,Adaptive and Intelligent Robotics 实验室,与资深作者 Antoine Cully 合作)→ Sakana AI 研究实习(2025)→ Google DeepMind 研究科学家(2026 年 2 月起,此条来自 alphaXiv 个人页与 Scholar 共著标注,非官方公告)。研究主线一以贯之:质量多样性(QD)与开放式学习——与 Cully 合作的 CAX(JAX 加速的元胞自动机库)同属"复杂性的自动化生成"谱系。为什么是这篇论文:QD 社区长期受困于"手工定义行为描述子",Faldor 在 Imperial 的博士方向给了他 QD 视角,而共同作者 Jenny Zhang(OMNI 一作)与 Jeff Clune(AI-GA 愿景作者、UBC/Vector Institute、Canada CIFAR AI Chair)带来了 MoI 概念与开放式算法的宏大框架——OMNI-EPIC 是 QD 的档案思想、OMNI 的 MoI 思想与"代码即环境"三者的交点,Faldor 的工程履历(亚马逊大规模系统)让"让 LLM 写可执行环境"从愿景落成了可跑的系统。动机证据链(公开面):作者在论文里自述受限于学术算力只能做短 run——这条限制直接塑造了论文的证据形态。(按约束未联系任何作者;本角色不产生对外接触。)

Social Impact Assessor

Identify how this paper self-assesses its (likely positive) impact on the world. Have any additional positive social impacts left out? What are possible negative social impacts that were overlooked or omitted?

论文的自我评估:正面影响自述为——推进自改进 AI 与 AI-Generating Algorithms(引言、结论),以及"人类娱乐与教育资源的新形态"(附录 B 游戏界面:无限供给、难度自适应的挑战)。安全自述有两处:任务生成提示词中写死"设计不得对人有害、须符合人类价值观与伦理";引用 Bengio et al. (2023) 与 Ecoffet et al. (2020) 承认开放式/AI-GA 的安全与存在性风险是前提而非细节。

被遗漏的正面:(1) 任务档案即公共课程数据集——可执行环境 + 成功判定的组合能直接变成社区 benchmark,民主化了原本大厂独有的课程工程;(2) 为资源受限研究提供了"算力换创造力"的路径(长 run 的 simulated learning 本身就是低成本研究范式);(3) 失败归档机制示范了一种可迁移的文化:系统公开记录自己不行的地方。

被忽略的负面:(1) 成瘾性设计的工业化接口——论文用"engaging"作为有趣性判据之一,游戏接口直接接玩家;个性化无限内容 + 难度贴脸,是把论文作者在 RL 侧刻意排除的"在线时长最大化"重新引入人类侧,而论文对此零讨论;(2) 生成代码的安全面——愿景是"生成任意代码、安装任意模拟器",论文只讨论了任务设计伦理,没讨论代码执行沙箱;(3) 算力/碳足迹——每任务 2 GPU 小时 × 无限循环的愿景,成本外部化未被计入"有趣"的定价;(4) 有趣性先验的文化单一性——MoI 蒸馏自特定语料,"人类 notions of interestingness"实际是"该语料人群的 notions",开放式系统若以此为适应度,长期会放大单一文化的新颖性标准;(5) 双重用途:同一循环换成"对人而言可学且上瘾的挑战"就是注意力抽取器的配方,论文的安全提示词(任务设计无害)不覆盖此层。

Reference / Evidence