ContextPilot:让Agent学会自主管理上下文,Token暴降三分之二且性能更强

ContextPilot: Teaching Agents for Proactive Context Management via Fine-grained RL

ContextPilot:让Agent学会自主管理上下文,Token暴降三分之二且性能更强 论文图示

在处理长程、多轮的复杂智能体(Agent)任务时,大语言模型常常陷入一种两难困境:如果将每一次工具交互、网页浏览和中间思考都完整保留在提示词中,上下文长度会以惊人的速度膨胀。这不仅带来高昂的推理成本和延迟,更会导致严重的“迷失在中间”(Lost in the Middle)现象,使模型在庞杂冗余的信息堆里失去推理焦点;可如果依靠预设规则强行对上下文进行截断或滚动压缩,又极易把后续推理所必需的关键证据一并切掉。

ArXiv URL:https://arxiv.org/abs/2608.28476v1

最近,来自上海人工智能实验室、腾讯与清华大学的研究团队提出了 ContextPilot。不同于传统被动等待窗口超限的启发式规则,该框架主张让智能体掌握自身工作记忆的主导权,根据推理进程主动决定何时压缩、何时抽取长期记忆、何时翻查历史。为了让模型真正学会这种精细操作,研究团队不仅系统性扩充了包含全局规划、图结构记忆与柔性折叠在内的上下文管理工具集,更针对上下文编辑决策的异质性,提出了一套结合信息熵与长度波动的细粒度强化学习算法。

实验表明,ContextPilot 在多项长文本问答与深度搜索任务中全面超越现有方案。更引人注目的是其资源效率表现:在长达十多轮的复杂网络搜索中,常规基准模型的上下文体积会线性激增至 30K Tokens 甚至爆表,而 ContextPilot 能将工作上下文始终平稳收敛在 8K 至 10K Tokens 之间,在节省超过三分之二上下文空间的同时,实现了任务成功率的反超。

从被动修剪到主动调控:智能体上下文瓶颈究竟在哪?

在以 ReAct 为代表的主流智能体范式中,系统的交互逻辑通常是累加式的:环境返回的每一次观察、工具吐出的每一段长网页,都会原封不动地追加到上下文序列末尾。早期的上下文管理多属于“被动式”(Passive Context Management),即当 Token 总量触碰安全阈值时,由外部系统触发硬截断,或者调用辅助模型做一段摘要。这种方式将模型置于完全被动的接收地位,割裂了上下文修剪与当前推理目标的内在联系。

随后兴起的“主动上下文管理”(Proactive Context Management)尝试打破这一僵局,允许模型通过调用特定工具自行管理历史信息。然而,已有尝试大多停留在玩具级的设计阶段,暴露出三个致命短板:

其一是工具能力极其有限。多数现有系统仅提供基础的关键词检索、内容删除和线性文本摘要。但在复杂长程任务中,智能体需要的远不止“扔掉”或“简单浓缩”,而是跨越分散片段构建长期实体关系网络、维护结构化的事件片段,以及在实施大规模上下文清理前做出全局规划。

其二是强化学习探索效率极其低下。常规强化学习通常对整条交互轨迹进行全局重采样。然而,上下文管理动作与普通的问答动作存在本质不同:一次上下文重构或删除往往会永久性改变后续所有步骤的状态空间。研究人员在前期实验中发现,在某些敏感的上下文编辑节点后,分支出去的不同子轨迹在任务成功率上的方差极大,而在某些普通步骤后方差却很小。如果对所有动作一视同仁地平铺采样预算,将造成巨大的算力浪费,关键决策点无法得到充分探索。

其三是信用分配(Credit Assignment)严重粗糙。传统 RL 通常将整个任务终局的稀疏奖励(Sparse Reward)机械地分摊给轨迹中的每一个中间动作。这就导致了一个严重的不匹配现象:模型可能做出了一次极其高明、精炼的上下文清洗,但因最后一步推理失误导致任务失败,该清洗行为便被施以惩罚;反之,模型如果靠无序重复检索或低效冗余堆叠碰巧答对了问题,糟糕的上下文管理习惯反而会被强化。

ContextPilot 的全套工具箱:柔性卸载与图结构记忆

为了让智能体拥有更精细的操作颗粒度,ContextPilot 首先对上下文管理工具箱进行了系统性升级。区别于过去非黑即白的“保留”或“硬删除”,框架引入了包含柔性卸载、结构化图记忆与前置规划在内的多元操作体系。

在长期记忆维度,系统设计了 memorize 工具。智能体在阅读冗长网页或材料时,可以自主提取包含实体、时间戳及事件演进的结构化单元,并在相关记忆项之间建立关联边,沉淀为知识图谱形式的长期记忆。当后续需要回溯背景时,智能体只需调用 readMemory,就能顺着图结构一并拉取目标实体及其邻近节点,避免在庞杂原文中盲目翻找。

在上下文卸载方面,针对历史信息“当前无用、弃之可惜”的特性,ContextPilot 引入了带有回溯路径的柔性折叠机制。通过 summarizeContextcompressContextfoldHistory 工具,智能体可以将多轮陈旧的交互记录压缩为摘要与特征关键词,并腾出工作窗口。如果后续推理发现这部分背景不可或缺,模型完全可以凭借压缩时留下的关键词索引,调用 searchContext 将特定内容精准解压还原。这种设计在维持上下文紧凑的同时,彻底打消了模型“担心误删关键信息”的顾虑。

为了让基座模型在冷启动阶段掌握这些新工具的协同逻辑,研究人员构建了一个包含生成脚手架的监督微调(SFT)流程。该流程在教师模型生成轨迹时注入环境约束规则,例如强制在检索后先查验块内容,或在上下文接近阈值时优先引导使用折叠工具。当高质量示范轨迹生成完毕后,这层外部脚手架提示被完全剥离,只保留干净的模型自主调用记录,从而保证微调后的模型能够内生性地自主调度工具。

上下文感知采样与快照级信用分配

即便有了完善的工具链,仅靠常规监督微调依然无法让模型在陌生的长程环境中灵活应变。强化学习(RL)是激发智能体自适应能力的关键,但要解决前述的探索低效与奖励混杂问题,就必须对训练算法进行深度重构。

ContextPilot 在训练阶段引入了“上下文感知局部采样”(Context-Aware Partial Rollout)机制。该机制旨在识别出整条轨迹中哪些上下文管理决策最为敏感,从而将更多的采样分支预算倾斜给这些关键节点。为了量化决策的敏感度,算法设计了一个融合上下文规模波动与预测信息熵变化的评估函数:

首先,系统计算特定上下文编辑动作发生前后,工作上下文长度的相对剧烈程度 $\Delta C_{t}^{\mathrm{cm}}$:

\[\Delta C_{t}^{\mathrm{cm}}=\left|\frac{\text{len}(c_{t+1}^{\mathrm{cm}})-\text{len}(c_{t}^{\mathrm{cm}})}{\text{len}(c_{t}^{\mathrm{cm}})}\right|\]

当模型调用强力折叠或深度抽取工具时,上下文尺寸会发生骤降,这一指标随即放大。

其次,系统计算该动作触发后模型输出概率分布的信息熵变化 $\Delta H_{t}^{\mathrm{cm}}$。信息熵的剧烈波动通常表征模型在经过上下文清洗后,对后续预测状态产生了更强的不确定性或认知突变。结合这两个维度,敏感度得分被形式化为加权综合:

\[\mathcal{S}(a_{t}^{\mathrm{cm}})=\alpha\cdot\Delta C_{t}^{\mathrm{cm}}+\beta\cdot\Delta H_{t}^{\mathrm{cm}}\]

在强化学习执行 Rollout 时,系统首先执行少量的整轨采样,并以每一次上下文编辑动作为界,将整条轨迹切分成若干个状态快照(Snapshots)。随后,算法根据敏感度得分 $\mathcal{S}$ 对所有编辑动作进行降序排列,挑选出得分最高的关键节点作为分支母节点,定向衍生出多条局部子轨迹。通过这种局部强化采样,算法将宝贵的探索资源精准投喂给具有转折意义的上下文调整决策。

在信用分配层面,ContextPilot 彻底告别了“一刀切”的终局稀疏奖励分发。由于每个被编辑的快照节点现在都衍生出了多个分支子轨迹,算法可以通过汇聚所有流经该快照的子轨迹结果,计算出该中间动作的蒙特卡洛期望价值:

\[R(S_{i})=\frac{1}{|\mathcal{T}(S_{i})|}\sum_{T\in\mathcal{T}(S_{i})}R(T)\]

式中 $\mathcal{T}(S_{i})$ 代表所有发源于快照 $S_{i}$ 的终止轨迹集合。随后,系统计算出该快照在组内的标准化优势值 $\hat{A}$,并利用 GRPO 目标函数独立优化模型策略。这种将轨迹级优化降维至快照级优化的策略,在数学上有效降低了梯度估计的方差,让模型清晰感知到:某一次上下文折叠或图结构沉淀,对后续五步甚至十步之外的推理胜率究竟提供了多大的正向贡献。

从实验看能力边界:不仅是指标,更是策略的演进

ContextPilot 在两类极具挑战性的长周期信息密集型任务上展开了严苛验证:涵盖 NovelQA、$\infty$Bench、LongMemEval-S 和 BrowseComp+ 的长文本问答任务,以及涵盖 GAIA、BrowseComp、BrowseComp-ZH 和 xBench-DeepSearch 的深度搜索任务。评测选用的底座涵盖了 Qwen3-8B/14B、Gemma4-E4B-it,以及具备搜索专长能力的 WebSailor-7B 和 WebExplorer-8B。

对比基准不仅囊括了 ReadAgent、ReSum、SUPO 等传统被动截断或推断期压缩方法,还直接对标了当前主动上下文管理的前沿代表 StateLM 与 MemAgent。

在长文本问答场景中,ContextPilot 展现了极强的泛化能力。例如以 Qwen3-8B 为基座时,ContextPilot 在四项长文本基准上均显著拉开与 StateLM 的差距;在需要大量固定语料穿透分析的 BrowseComp+ 上,ContextPilot-8B-RL 取得了令人印象深刻的成绩。而在深度搜索场景下,直接以 WebExplorer-8B 为底座接入强化学习后,ContextPilot 在中文复杂检索 BrowseComp-ZH 和极具难度的 xBench-DeepSearch 上,均稳健超越了仅做通用强化学习的 OpenSeeker 以及各类带硬截断机制的 ReAct 基线。

比指标提升更具启发意义的,是模型在微观行为上的深层进化:

第一,上下文膨胀被真正终结。监测 BrowseComp 任务中单步输入的 Token 用量可以发现,采用传统截断机制的 WebExplorer-8B 在经历十几轮网页跳转和深挖后,单步交互提示词被不可遏制地撑满到近 30K Tokens;而 ContextPilot-8B 凭借其多轮折叠与定向回溯能力,在前几轮探测后主动展开上下文清洗,使得后续每一步输入上下文始终维持在 8K 到 10K Tokens 的平稳区间。这意味着在实际生产落地中,模型在面对极长任务时,推理开销和首字延迟将被大幅压缩。

第二,强化学习从根本上重塑了工具使用策略。追踪模型在 RL 训练全周期的工具调用比例可以清晰观察到一种行为跃迁:在训练初期,模型极度依赖最直觉的“信息检索”类工具,翻找动作占据了整体调用量的一半以上;但随着细粒度强化学习迭代深入,纯检索工具的调用占比稳步收缩,取而代之的是全局规划、长期图结构沉淀和柔性卸载工具占比的持续攀升。这表明,强化学习促使模型逐步摆脱了“走一步看一步”的低级检索反射,演化为“谋定而后动、边查阅边归档”的高阶治理策略。

第三,工具调用熟练度与任务成功率呈现惊人的共振演进。统计显示,在微调刚结束时,虽然模型具备调用复杂记忆和折叠工具的指令格式知识,但在实际执行中极易遭遇环境报错(如参数缺失或调用前置条件不满足),这类高阶工具在初期的失败率远高于普通检索;正是通过针对敏感快照的局部强化学习,模型调用高阶工具的语法和语义失败率急剧下滑,而这一失误曲线的收敛与最终任务评测成功率的抬升完全同频。

在消融实验中,逐项拆解工具集可以发现,规划、柔性卸载和长期记忆三者呈现出明显的正交增益特性。以超大尺寸模型评估时,引入全部工具相比基线获得了超过 17 个百分点的跨越式增长。而在 RL 训练机制的消融中,单纯依据信息熵做局部采样虽然在部分任务上有所改善,但表现并不稳定,甚至在某些场景中因过度敏感带来轻微负效应;只有将“文本长度变化率”与“信息熵变”相融合,才能提供最稳健的分支挑选,配合快照级细粒度信用分配,真正释放策略优化的最大潜能。

走向具备内省能力的自主智能体

ContextPilot 带来的核心启示在于,大模型的有效上下文窗口不应仅靠硬件显存和注意力算法的底层堆砌来被动延伸,更应该被视为一种受认知策略调配的动态资源。长期以来,开发者倾向于将大模型当作一个“被动接收提示词的缓冲区”,期望它在数万甚至数十万 Token 的原始噪声中直接输出正确答案;而 ContextPilot 证明,赋予模型合适的操作支点,并通过细粒度的强化学习让其切身体会每一次上下文修剪对未来全局胜率的直接影响,模型完全能够像人类学者查阅档案一样,一边阅读,一边记笔记,一边把翻阅过的旧材料整洁地归档封存。

当然,该框架仍有可拓展的边界。目前所设计的工具集主要适配长程问答与搜索任务,在面对复杂的代码工程仓库重构或 GUI 视界交互等更繁复的场景时,上下文的拓扑结构可能更为交错,对折叠与解压工具的保真度也会提出更高要求。但毫无疑问,这种将“主动上下文管理”与“细粒度部分采样强化学习”深度融合的技术路径,为构建能够在无限长周期中保持清醒推理的高阶智能体系统,提供了一条兼具理论自洽性与工程实用性的可行范式。