Voyager 与已有智能体方法相比有什么不同?

更新时间

Voyager 与传统强化学习、模仿学习以及一般 LLM 智能体的核心区别在于:它不直接学习原始动作策略,而是让 LLM 生成可执行的代码技能,并把技能存进一个不断增长的技能库。这个设计让它的行为具有时间延展性、可解释性和可组合性,从而在开放世界中实现无需人工干预的终身学习。适用条件是:任务环境能接受代码作为动作接口(Voyager 的验证场景是 Minecraft),且可以调用 GPT-4 这类黑盒模型——Voyager 通过黑盒查询与 GPT-4 交互,不需要微调模型参数。

传统 RL 与模仿学习的局限

Voyager 论文在引言中把经典方法归为强化学习和模仿学习两类,它们都作用在原始动作层面。这带来三个具体困难:

  • 探索难:在开放世界中,从原始动作出发做系统性探索代价很高。
  • 可解释性弱:策略是隐式的,难以说明智能体为什么这么做。
  • 泛化差:在新环境或新任务上迁移能力有限。

Voyager 的对比实验也印证了这一点:此前的 SOTA 方法在换到新的 Minecraft 世界后,很难从头解决新任务。

Voyager 的三个关键组件

Voyager 由三部分构成,每部分都对应一种能力:

组件 作用 解决的问题
自动课程(automatic curriculum) 最大化探索,自主决定下一步学什么 开放世界中“先做什么”的探索难题
技能库(skill library) 存储和检索可执行代码形式的复杂行为 能力累积与复用
迭代提示机制(iterative prompting) 结合环境反馈、执行错误和自验证来改进程序 代码技能写错后如何自我修正

其中技能库是理解 Voyager 与传统方法差异的关键:技能以代码形式存在,因此天然可读、可组合,并且能随时间不断叠加。

技能库为什么能“累积能力”

传统智能体每次训练或每次任务往往从头开始,能力难以沉淀。Voyager 把学到的行为固化成代码技能,后续任务可以直接检索调用。论文指出,这些技能具有时间延展、可解释、可组合的特点,能让智能体能力快速复合增长,并缓解灾难性遗忘——旧技能不会因为学新技能而被覆盖。

这体现为“上下文终身学习”(in-context lifelong learning):Voyager 不更新模型权重,而是靠不断扩充的提示上下文和技能库来变强。一个贴切的例子是:当 Voyager 已经掌握“采集木材→制作工具→挖掘石头”这类代码技能后,面对需要石制工具的新任务,它可以直接组合已有技能,而不必从原始动作重新试错。

实验表现上的差异

论文给出的量化对比可以直接说明差距:

  • 获得的独特物品数量是此前 SOTA 的 3.3 倍;
  • 移动距离是 2.3 倍;
  • 解锁关键技术树里程碑的速度最高快 15.3 倍;
  • 在新 Minecraft 世界中,Voyager 能利用已学技能库从头解决新任务,而其他方法难以泛化。

怎么判断它是否适合你的场景

如果你关心的是开放世界中的自主探索、行为可解释性,以及能力能否跨任务沉淀和迁移,Voyager 的“代码技能 + 技能库 + 迭代提示”路线比原始动作层面的 RL/模仿学习更匹配。反过来,如果你的环境无法用代码表达动作,或者不能调用外部 LLM 做黑盒查询,这套机制的前提就不成立,需要另找方案。