论文

CodeHack:代码技能与原始动作共同支持长流程智能体

Up and Down the Abstraction Ladder: Code-Based Skills for Language Agents

模型训练智能体系统强化学习Agent HarnessAgent SkillsAgentic RL

摘要

语言代理在需要长序列低级动作的环境中难以有效行动和学习。基于代码的抽象可以让这些代理调用可重用的技能而不是重复选择单独的操作,从而提高它们的工作效率。代码处理重复出现的本地决策,而语言模型决定使用哪些技能以及如何组合它们。然而,抽象是有漏洞的,超出技能能力的情况可能需要返回到原始操作。在生产力和灵活性之间权衡的推动下,我们系统地研究了基于代码的动作抽象如何影响语言代理的性能、推理成本和学习。我们在 NetHack(一个具有挑战性的长期游戏环境)中使用 CodeHack(我们的带有自然语言描述的基于代码的技能库)来研究这一点。我们使用这个库来将仅限于原语的代理与单独使用语义技能或与原语结合使用的代理进行比较。我们在三种设置中评估这些代理:零样本提示、监督微调和强化学习。通过对 NetHack 的广泛零样本评估,我们发现与原语相比,技能几乎使游戏进度增加了三倍,同时将每集的推理成本降低了 86%。将技能与基元相结合保留了大部分好处,同时保留了返回低级操作的路径。最后,在 RL 中,我们发现基于技能的智能体的学习速度明显快于基于基元的智能体,在相同的训练预算下,地下城级别的平均增益提高了 7.2 倍。这些结果表明,提供的技能库可以提高性能、效率和学习能力,同时保留原语可以在库不足时提供灵活性。我们将 CodeHack 与训练和评估代码一起发布。

CodeHack为原始动作、代码技能和混合智能体提供共享控制与执行层。
图2(图注摘要):CodeHack为原始动作、代码技能和混合智能体提供共享控制与执行层。