给 agent 无脑堆上下文的做法,可能真该停了

小岛AI 2026 / 07 / 25

77 分,和 12 分。

同一个模型,同一套题库,同一个评测框架。区别只有一个,任务需要多绕几道弯。

这是美团 LongCat 团队刚放出来的 MineExplorer 基准里,Claude-Opus-4.6 的成绩单。1 跳任务 77 分,2 跳、3 跳一路往下滑,到 4 跳只剩 12 分。它的整体成功率是 41 分,已经是 18 个被测模型里的第一名。

我知道这两天不少地方在写 41 这个数字,标题基本都是「最强模型也考砸了」。坦率讲,41 我没什么感觉。任何一个新基准刚出来分数都不会好看,这是设计出来的,不然它就没资格叫新基准。

真正让我盯着看了很久的是那条从 77 掉到 12 的曲线,还有藏在后面的两个消融实验。

因为那两个实验,把我们这些做 agent 的人最常用的两个止血办法,一起否掉了。

同一个模型,任务多绕几道弯,成绩就是这么掉下来的

先说这套题怎么考的,不然后面的数字没法读。

MineExplorer 不是让模型看一张 Minecraft 截图做选择题。它给的是一个实时运行的 3D 沙盒,每个任务实例跑 1800 个环境步,每步 0.1 秒,加起来是一段 3 分钟的连续交互。模型每动一下,世界就变一下。天会黑,怪会靠近,资源会被消耗掉。它得根据最新的画面不断改策略。

3 分钟听着不长,但在评测这行里已经算长程了。以前那些具身智能基准,大部分把交互压缩成几步就结束,模型有没有持续行动的能力,根本测不出来。这就像你考驾照只考了一次点火,然后发证。

MineExplorer 的整套范式,从造题、搭场景到里程碑判分都在一条链上

然后是 hop 这个词,全文的重点都在这。

hop 是跳数,代表你要完成最终目标,中间得先跨过几道没有写在指令里的坎。

举个这套题里的典型结构。任务说去把某个东西采回来。可你手上没工具,工具要合成,合成要材料,材料在另一个地方,而且天快黑了你得先解决光源。这四层依赖里,指令只说了最上面那一句。

论文里把这个结构写成了一个四元组,任务 τ = (q, s₀, Gτ, Mτ)。q 是自然语言指令,s₀ 是初始状态,Gτ 是子任务之间的依赖图,Mτ 是规则化的里程碑检查器。关键的那句话是,指令 q 并不会枚举依赖图里的所有节点,智能体必须自己从环境里把隐藏的前置任务推出来。

好家伙。这一句我看到的时候是真坐直了。

因为这就是我们平时干活的样子。

这行里有个词叫 harness,你可以理解成给大模型套的那层外骨骼。模型是发动机,harness 是底盘、变速箱和方向盘,工具链、评测、调度、上下文管理这些让模型真正能干活的东西都在这一层。我平时的工作有很大一块就在这儿。

而在这一层里,每天花掉时间最多的活是什么呢,一大半是在把隐藏的前置条件挖出来,翻译成显式的指令。

你写过 agent 的系统提示词就懂。那一大坨「执行 X 之前先检查有没有 Y」「如果 Z 不存在先创建」「这个目录下的配置要先读一遍」。写这些的时候你不会觉得自己在干什么高级活,甚至有点烦躁,感觉像在给一个记性不太好的实习生贴便利贴。

MineExplorer 干的事,就是把这些便利贴全撕了。

然后成绩从 77 掉到 12。

这个落差告诉我一件挺不舒服的事。我们现在跑得还行的那些 agent,有多少能力是模型自己的,有多少其实是我们提前把依赖图铺好了。

这个比例我自己也搞不清楚。但看到 12 这个数字之后,我对手上那套流程的信心,是往下调了一点的。

还有个设计我觉得必须单独提一句,不然容易把这个基准看轻了。

以前的 Minecraft 评测有个老毛病,测着测着变成了考模型背没背过 Minecraft 的百科。会不会做工作台、红石怎么接、下界怎么去。这种题模型答得好,只能说明训练语料里游戏攻略够多,跟能不能在动态世界里活下去关系不大。

MineExplorer 的做法是主动把这块剥掉。对每一个原子任务,他们用大模型做裁判去判断,这题主要依赖的是通用世界常识,还是 Minecraft 的专有机制,是后者就直接过滤掉。

所以它测的不是「AI 会不会玩 Minecraft」,是「AI 能不能在一个会变的物理世界里自主探索」。这个区分很要命,因为它把「我背过」和「我想得出来」这两件事拆开了。

绿色是保留下来的通用常识题,红色是被判定为游戏专有知识后过滤掉的

任务的能力覆盖也拆得很细,借的是 ReAct 那套框架,分成感知、推理、行动三个大维度,底下 14 项细粒度能力。感知包含空间、时序、实体、状态、资源,推理包含常识、因果、关系,行动包含移动、跳跃、采集、放置、合成、攻击。

而在几乎所有被测模型上,都出现了同一个排序。

感知分 > 行动分 > 推理分。

以 Claude-Opus-4.6 为例,感知 61.91,推理 54.71。

看得见,动得了,但串不起来。

这个排序其实挺符合我的体感。现在的多模态模型,你给它一张截图问「现在什么情况」,它答得比很多人都清楚,天黑了、有威胁、资源不足,一条不落。可你让它据此排一个五步计划,还得在执行中根据变化重排,它就开始飘。

厉害了的地方在于它是真看懂了。要命的地方也在这儿,看懂和做到之间那条沟,比我们想的宽。

失败归因那部分我看了两遍。Claude-Opus-4.6 的失败案例里,导航失败占了接近 60%。

不是想不出来该干嘛,是想出来了走不到。

这条对做工程的人信息量特别大。它说明相当一部分失败压根不发生在决策层,发生在执行层。模型说「我要去那边的树林」,然后它就是走不过去,卡在一块石头后面来回蹭。

对应到我们平时踩的坑,就是那种规划写得漂漂亮亮、工具一执行就崩的情况。参数拼错、路径不对、状态没同步、超时了没重试。这种毛病你去优化提示词是没用的,得回去修工具层。

所以下次 agent 任务失败,先别急着改 prompt。把 trace 拉出来看一眼,它到底是没想到,还是想到了但手滑了。这两件事的修法完全不一样,混在一起改会越改越乱。

好,到最扎心的部分了。

我们做 agent 的人,任务失败之后有两个条件反射式的动作。第一个是把 max_iterations 调大,第二个是把更多历史塞进上下文。

这两个,论文都做了消融。

先说步数。他们的发现是,能解出来的任务,模型在很早期就解出来了;解不出来的,给到 1800 步上限照样解不出来。中间没有那个「再多给一百步就成了」的甜蜜区。

这条我信。因为它跟失败的 trace 长得一模一样。agent 卡住之后不是在缓慢逼近答案,是在原地打转,后面那些轮次干的事跟前面没区别,只是措辞换了换。你把上限从 50 调到 200,唯一确定的效果是账单变成四倍。

再说记忆,这条更有意思。

他们试了给模型更多的历史画面帧。结果是,帧数加到一定程度之后,性能反而开始往下掉。原因写得很直白,过期的观察会干扰对当前局面的判断。

太离谱了。但仔细想想又完全说得通。

在一个 3 分钟里一直在变的世界里,你 30 秒前看到的那棵树可能已经被你砍了,那只怪可能已经跑了,天可能已经黑了。这些旧画面不是中性的背景资料,它们是过期的世界状态。而模型手里没有一个可靠的机制去判断哪些还有效、哪些该丢。

于是喂得越多,它越容易拿一张作废的快照去做当下的决策。

我一直觉得,长上下文这几年被吹得有点过了。不是说 100 万 token 不好,窗口大当然是好事,我自己也吃这个红利。问题在于我们默认了一件事,信息塞进去总比不塞好,模型自己会挑。

这个消融实验说的恰恰是,在状态会变的任务里,它挑不明白。

论文最后那句结论我抄一下,瓶颈不在资源,而在模型没法把已有的信息和当前世界状态对齐。

对齐这两个字用得很准。不是记不住,是记住了但不知道哪条还算数。

这里我得停一下,替反对意见说句话。

肯定有人要说,Minecraft 又不是真实世界,一个游戏里的分数能说明什么。这个质疑我觉得非常合理,甚至我第一反应也是这个。真实的机器人要面对的传感器噪声、执行误差、光照变化,沙盒里一个都没有,某种意义上 Minecraft 是个温室。

但正因为它是温室,12 分才更值得担心。

如果一个模型在没有传感器噪声、动作指令百分百执行到位、世界规则简单到只有方块的环境里,四层依赖的任务只能做对 12%,那把它扔进真实的仓库、厨房、生产线,你觉得会发生什么。

温室里考不及格,不代表野外一定不行,但至少不该拿野外的期待去做 PPT。

那这事儿对做工程的人到底有什么可拿走的。我边看边记了几条,不敢说都对,你可以当成待验证的假设。

一,上下文该做的不是累加,是维护。旧的观察不能只管往后堆,得有失效和覆盖的机制。同一个实体的状态,新的应该盖掉旧的,而不是并排躺在窗口里让模型自己判断先后。这块很多 agent 框架现在做得相当粗糙,就是一个 append-only 的消息列表,读到最后模型看到的是一部编年史,不是一张当前地图。

二,把重试预算花在换策略上,而不是花在多试几次上。既然实验说了原地打转不会自己好,那检测到「连续 N 轮状态没有变化」的时候,正确动作是打断并强制换路径,不是继续加步数。这个看门狗不难写,但我见过的实现里做了的不多。

三,别把导航类的执行失败当成模型不够聪明。60% 这个数字提醒得够直接了,执行层的可靠性可能比规划层的智商更值得投入。把工具做健壮一点,大概率比换一个更贵的模型划算。

四,如果你在做评测,MineExplorer 的造题流程本身比那些分数更值钱。

这条我想多说两句。他们造这 813 道人工验证过的题,用的是一个多智能体协作流程,五个各有分工的 agent 在一个群聊里协作,由一个 orchestrator 控制发言顺序,先出初稿,再由专家和验证器找问题、修订。人工评估的结果是,这套流程把有效率拉高了大约 30 个百分点,质量分提升约 0.5,在最难的 4 跳任务上优势最明显。

五个 agent 各管一段,任务选择器那条职责写得最直白,故意把前置步骤藏起来

有点子牛逼。长程任务评测集最难的地方就是造题,人工写一道 4 跳任务,既要保证依赖图自洽,又要在沙盒里真的能跑通,成本高到离谱。他们把这套合成流程和训练环境一起开源了,评测、造题、训练用的是同一套基础设施。

想自己跑一遍的,论文在 arXiv,代码在 GitHub,数据集在 HuggingFace

回到开头那两个数字。

77 和 12 之间隔着的不是三倍难度,是一个我们一直没正面回答的问题,模型到底能不能自己发现那些没人告诉它的前提。

现在的答案是,还不太能。

而过去两年我们之所以觉得 agent 挺能干,很大程度上是因为有一大群人在幕后不停地把这些前提翻译成显式指令,塞进提示词和工具描述里。这活儿又琐碎又不体面,不会出现在任何一场发布会的 slide 上。

说真的,我不觉得这是坏消息。

把瓶颈定位清楚,比笼统地喊「模型还不够强」有用得多。1800 步不管用、加记忆反而更差,这两条否定结论的价值,比再刷高五个点的排行榜大。

万青有句词,是谁来自山川湖海,却囿于昼夜厨房与爱。现在的多模态模型有点这个意思,它看得见山川湖海,能把每一帧画面描述得清清楚楚,可真让它在这片山川湖海里走上三分钟,它连怎么绕过一块石头都还没想明白。

看见世界,和在世界里活下去,是两码事。

这条沟填上之前,你我手里那些便利贴,还得接着贴。