Dreaming in Code for Curriculum Learning in Open-Ended Worlds

📄 arXiv: 2602.08194v1 📥 PDF

作者: Konstantinos Mitsides, Maxence Faldor, Antoine Cully

分类: cs.LG, cs.AI, cs.CL

发布日期: 2026-02-09

备注: 11 pages (main text), 90 pages total. Project page: https://konstantinosmitsides.github.io/dreaming-in-code

🔗 代码/项目: GITHUB | PROJECT_PAGE


💡 一句话要点

DiCode:利用代码生成环境进行课程学习,提升开放世界智能体能力

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 开放式学习 课程学习 代码生成 环境设计 强化学习

📋 核心要点

  1. 现有开放世界学习方法难以在复杂环境中发现持续可学习的经验序列,阻碍了智能体的能力提升。
  2. DiCode框架利用基础模型生成可执行环境代码,通过代码级变体构建中间环境,引导智能体逐步学习。
  3. 在Craftax基准测试中,DiCode使智能体在平均回报上提升了16%,并在传统方法失败的后期战斗任务中取得成功。

📝 摘要(中文)

开放式学习将智能视为与不断扩展的环境空间持续交互中涌现的。虽然最近的研究利用基础模型来程序化地生成多样化的环境,但这些方法通常侧重于发现孤立的行为,而不是编排持续的进步。在复杂的开放式世界中,可能挑战的大量组合空间使得智能体难以发现保持一致可学习的经验序列。为了解决这个问题,我们提出了“代码中做梦”(DiCode)框架,其中基础模型合成可执行的环境代码,以支持学习,从而提高能力。在DiCode中,“做梦”采取了具体化世界的代码级变体的形式。我们在Craftax中实例化DiCode,这是一个具有丰富的机制和长程进展的具有挑战性的开放式基准。经验表明,DiCode使智能体能够获得长程技能,在平均回报方面比最强的基线提高了16%,并在先前方法失败的后期战斗任务中取得了非零的成功。我们的结果表明,代码级环境设计为课程控制提供了一种实用的机制,从而能够构建中间环境,弥合开放式世界中的能力差距。项目页面和源代码可在https://konstantinosmitsides.github.io/dreaming-in-code和https://github.com/konstantinosmitsides/dreaming-in-code获得。

🔬 方法详解

问题定义:论文旨在解决开放式学习环境中,智能体难以发现有效学习路径的问题。现有方法通常侧重于生成多样化的环境,但缺乏对学习过程的有效引导,导致智能体难以在复杂环境中持续提升能力。尤其是在Craftax这类具有长程依赖和复杂机制的环境中,智能体面临巨大的探索空间,难以找到合适的学习序列。

核心思路:DiCode的核心思路是利用基础模型生成可执行的环境代码,通过对环境进行代码级别的修改和变异,创造出难度适中的中间环境,从而构建一个课程学习体系。这种方法允许对环境进行精细控制,引导智能体逐步掌握复杂技能,弥合能力差距。

技术框架:DiCode框架包含以下主要模块:1) 环境代码生成器:利用预训练的基础模型,根据当前智能体的能力和学习目标,生成新的环境代码。2) 环境执行器:执行生成的环境代码,并与智能体进行交互。3) 奖励函数:评估智能体在当前环境中的表现,并提供反馈信号。4) 课程管理器:根据智能体的学习进度和表现,动态调整环境代码生成器的目标,从而实现课程的自动调整。

关键创新:DiCode的关键创新在于将代码生成与课程学习相结合,通过代码级别的环境变异实现对学习过程的精细控制。与传统方法相比,DiCode能够更有效地引导智能体探索复杂环境,并逐步掌握长程技能。此外,DiCode还能够自动生成适应智能体当前能力的中间环境,从而避免了手动设计课程的繁琐和主观性。

关键设计:DiCode的关键设计包括:1) 使用预训练的代码生成模型,例如CodeGen,以提高环境代码生成的质量和效率。2) 设计合适的奖励函数,以引导智能体学习特定的技能。3) 使用强化学习算法,例如PPO,来训练智能体。4) 采用基于进度的课程管理策略,根据智能体的学习进度动态调整环境难度。

📊 实验亮点

DiCode在Craftax基准测试中取得了显著的成果,相较于最强的基线方法,平均回报提升了16%。更重要的是,DiCode在传统方法难以解决的后期战斗任务中取得了非零的成功,表明其能够有效地学习长程技能并解决复杂问题。这些实验结果验证了DiCode框架的有效性和优越性。

🎯 应用场景

DiCode框架可应用于游戏AI、机器人控制、自动驾驶等领域。通过自动生成定制化的训练环境,可以帮助智能体更有效地学习复杂技能,提高其在真实世界中的适应性和鲁棒性。此外,该方法还可以用于教育领域,为学生提供个性化的学习体验。

📄 摘要(原文)

Open-ended learning frames intelligence as emerging from continual interaction with an ever-expanding space of environments. While recent advances have utilized foundation models to programmatically generate diverse environments, these approaches often focus on discovering isolated behaviors rather than orchestrating sustained progression. In complex open-ended worlds, the large combinatorial space of possible challenges makes it difficult for agents to discover sequences of experiences that remain consistently learnable. To address this, we propose Dreaming in Code (DiCode), a framework in which foundation models synthesize executable environment code to scaffold learning toward increasing competence. In DiCode, "dreaming" takes the form of materializing code-level variations of the world. We instantiate DiCode in Craftax, a challenging open-ended benchmark characterized by rich mechanics and long-horizon progression. Empirically, DiCode enables agents to acquire long-horizon skills, achieving a $16\%$ improvement in mean return over the strongest baseline and non-zero success on late-game combat tasks where prior methods fail. Our results suggest that code-level environment design provides a practical mechanism for curriculum control, enabling the construction of intermediate environments that bridge competence gaps in open-ended worlds. Project page and source code are available at https://konstantinosmitsides.github.io/dreaming-in-code and https://github.com/konstantinosmitsides/dreaming-in-code.