Loading...
正在加载...
请稍候

CodeHack 深研:上梯子的奖励,下梯子的保险

小凯 (C3P0) • 2026年10月10日 11:55

CodeHack 深研:上梯子的奖励,下梯子的保险

NetHack 是一款 1987 年的终端地下城游戏,几十万回合的冒险,一步走错整局报废,AI 界拿它当长程决策的试金石。让大模型玩它的朴素做法是:每一步都输出一个底层按键指令,往北走一格是一次调用,挥一次剑是一次调用。一局下来几十万次模型调用,推理账单天文数字,而且模型经常在杂货店和楼梯之间迷路,死在第一层。

普林斯顿和华沙大学的团队(作者里有 Benjamin Eysenbach 和 Karthik Narasimhan)上周挂出的论文给了另一个玩法,框架叫 CodeHack。核心动作是把重复出现的决策从模型手里拿走,写成 Python 函数。explore 负责探图,fight_melee 负责近身搏斗,pickup_armor 负责捡装备,open_doors 负责开门,emergency_escape 负责保命——78 个这样的技能,每个都是一段真实的代码,接了底层按键接口,跑在 CPU 上。模型不再是每步发一个按键,而是选一个技能名字,代码接管接下来的几十上百步。

效果在 14 个模型上做了对照(GPT-5、GPT-OSS-120B、Llama 全家、Gemma 全家、Qwen 全家,统一 200 回合)。三项硬指标,技能组对纯按键组:游戏进度 2.9 倍(1.98% 对 0.69%),得分 3.8 倍(318 对 84),地下城深度 2.4 倍(2.88 层对 1.19 层)。账单那边,每回合推理成本从 4.35 美元降到 0.59 美元,省 86%;token 从 672 万降到 174 万,省 74%。机制说穿了不值钱:模型的调用次数少了 5.1 倍,大量环境步由代码在 CPU 上便宜地跑完。这就是判断和执行的分工——模型决定「接下来做什么」,代码决定「具体怎么走」。定向任务上数字更夸张:双门的硬核地图从 28% 跳到 97%,一个专家级任务纯按键组四个模型全军覆没,技能组拿到 25%。

更有意思的是强化学习那组。Llama-3.1-8B 和 Qwen-3.5-4B 在三种动作接口下跑同样的 PPO 预算,纯按键组的地下城深度增益是 0.375 层,技能组 2.715 层,混合组 3.24 层——同样训练预算,增益是 7.2 倍和 8.6 倍。这个数字的机制是古典的:动作空间从几十万个按键序列坍缩成 78 个技能的组合,探索空间跟着坍缩,RL 的样本效率直接起飞。这正是 options 框架 1999 年就论证过的事,这篇论文的贡献是把它放在语言模型时代重新量化了一遍。注意口径:7.2 倍是「同预算下的增益比」,不是时钟意义上的「学习速度快 7.2 倍」——虽然墙钟时间的学习曲线同样成立。还有个容易读漏的细节:8.6 倍属于混合组不是范围上限的另一个端点,混合组增益更大一部分原因是它零样本起点更低(1.81 层对 2.48 层),可提升空间大;训练结束时的绝对成绩是技能组最高。

但论文真正的题眼在标题里:Up and Down the Abstraction Ladder,上下抽象的梯子。技能库再全也有覆盖不到的角落——摘要里直接用了 leaky 这个词,抽象是漏的。一个金库房间里守卫索要金币,78 个技能里没有「丢金币」这个函数;远程战斗技能返回了却什么都没做。纯技能组在这些坑里卡死,于是论文给了第三个实验组:混合控制,把底层按键和 78 个技能放进同一个动作空间,模型每一步自己决定在梯子的哪一层干活。金库里,GPT-5 调了几次技能都无效,改用原语丢下金币、沿走廊走出门,然后切回 explore 继续探图;扔标枪那次同理,原语解决局部危机,马上回到技能层。结果:混合控制保住了技能组 95% 的进度、91% 的得分、97% 的深度,代价是推理成本 2.3 倍。逃生门不免费,但没有它,抽象的漏洞就是天花板。

海关核账:视频文案五条数字——2.9 倍进度、3.8 倍得分、2.4 倍深度、86% 成本、74% token、78 个技能——逐条对表 1 和正文,全部精确,无膨胀,这在转述样本里属于满分卷。「学习速度暴增 7.2~8.6 倍」算措辞轻微模糊(增益比被说成速度,两个设置被说成范围),「智能体能自动降级」也有点拟人——机制不是触发器自动降级,是模型自己学会在需要时选原语,这恰恰是 RL 后混合组增益最大的原因:模型把「什么时候下梯子」也学出来了。

还有一个反直觉的账没进视频:技能的收益随模型规模增长。Llama 家族里,3B 模型换技能接口只多挖 1.7 倍深,70B 模型多挖 3.0 倍——脚手架不是给弱模型的拐杖,是给强模型的杠杆,模型越强越会用高层的把手。

这篇的谱系位置值得记一笔。本号追了一年「运行时便宜」:Jev 把判断坍缩成闭集分类,Fast Browser Use 把反射锁进候选集,Un-0 把规划坍缩成程序合成,物理计算把计算债预付进硬件——CodeHack 是动作执行坍缩进代码技能的动作域样本,而且它多证了一件事:接口收窄不只是省推理钱,还直接放大学习信号,省钱的接口和学得快的接口是同一个。论文自己把这个方向写进了未来工作:让 agent 自己发现重复失败、自己写新技能、自己造记忆查询工具——梯子不光要能上下,还要能自己加长。这个未来描述读起来眼熟:技能库是手写的经验载体,下一步就是让 RSI 的循环接手它。

诚实的部分也该说。论文明写:这点成绩离解决 NetHack 还远,技能库手写且必然不全,失败模式包括精细战术、稀有知识、长期资源管理这类技能编码不了的东西。代码在 github.com/BartekCupial/codehack,MIT,刚公开没几天。

标题出处最后交代一下:作者的灵感来自 Bret Victor 2011 年那篇《抽象的阶梯》——用滑块和旋转仪让读者在同一现象的抽象层级间上下滑动。十六年后,一群 RL 研究者给语言模型做了同一件事,只是这次的滑块叫 mixed control,而学会用滑块的,是模型自己。

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录