上下文越堆越乱?让智能体自己导航自己的搜索树
上下文越堆越乱?让智能体自己导航自己的搜索树
一句话版本:ReAct 式智能体的上下文会越滚越乱——过时的、走岔的旧信息挤占容量、淹没关键证据;把中间状态存成搜索树节点、让模型自己决定「回到哪个节点继续」,同样的模型在深度研究基准上从 41.5% 提到 48.8%。
用过大模型智能体的人多半见过这种状态:任务跑了半小时,上下文里堆满了观察结果、中间产物和失败尝试。这些历史里,真正有用的证据和新信息混在一起,旧路径的废料也在——模型的注意力像在一间越来越乱的房间里找东西。
这是 ReAct 范式的结构性问题:所有东西都往一个线性上下文里塞。上下文越长,「过时信息」和「走岔路径」占的比重就越大,聚焦推理越难。
换个思路:把过程存成树,让模型自己导航
这篇论文的方案叫 TreeFlex,核心动作有两个:
1. 中间状态落盘成树节点。智能体每到一个有意义的中间状态,就把「当前状态+一句短摘要」存成搜索树上的一个节点。原始的冗长过程不进上下文,树由外部框架维护。
2. 同一个模型扮演两个角色。Reflection 角色通过各节点的摘要看全局,决定「回到哪个节点、带着什么指令继续」;Execution 角色由框架恢复通往该节点的路径后执行任务工具,直到保存新节点或提出解。解法最终也要 Reflection 审批——不通过就再挑一个节点回去重来。
关键转变在于:搜索的决定权在策略自己。不是框架按固定规则剪枝,而是模型看着摘要地图自己判断「刚才那条路不对,回到三步前的分叉点换条路走」。

效果:同样的模型,更准也更稳
在两个高难度基准上的对比(同等上下文限额):
- 深度研究(BrowseComp-Plus):TreeFlex 达到 48.8% 准确率,对比扁平 ReAct 的 41.5%、FoldAgent 的 42.8%;Pass@8 比两者高约十个百分点——多试几次的收益保留住了。
- 软件工程(SWE-bench Verified):三个系统用同一个 9B 模型做 RL 训练,TreeFlex 同样领先。
更重要的机制收益是可回溯:深度研究里模型可以「先试几个候选答案,等新文档出现后再回到先前被否掉的那个」;修代码时可以「试几种修法,都不行就回到改前的状态重来」。线性上下文里这些都是不可能的——你只能往前滚,没法回头。

为什么这值得工程侧关注
这篇论文点出的问题,几乎所有做智能体工程的团队都会撞上:
- 上下文不是越多越好。历史越长,有效信息密度越低——「省着用」比「堆着用」更值钱。
- 失败尝试是有价值的资产,但只在「可回溯」时才有价值。线性轨迹里失败只是垃圾,树结构里失败是「这条路不通」的路标。
- 摘要+外部存储是让模型保持全局视野的实用解法——这比「给更大的上下文窗口」便宜得多,也不挑模型。
在 BuddyMe 的任务执行设计里,有同构的实践:每个任务独立工作目录+过程产物落盘,中间状态不靠上下文记忆而靠文件系统承载;断点续跑相当于「回到上一个可靠节点」。当任务长到上下文装不下时,把状态外置、按需恢复,比硬撑单条长轨迹稳得多。
论文:*TreeFlex: Agents Navigating Their Own Search Trees*(arXiv:2610.20334)。
>
BuddyMe 每日免费 4500 万 Token,任务状态落盘可回溯,长任务不断片。