大模型智能体处理长时序任务时,最让人头疼的问题莫过于上下文窗口的“爆炸式增长”。
多轮搜索、代码调试跑下来,失败的尝试、冗余的观测记录、中间推理步骤全都被塞进了上下文。即便硬件已经支持百万级的 Token 窗口,依然会出现峰值过高、逻辑越跑越混乱的情况。更糟的是,传统的“一刀切”压缩方案往往会误删关键的历史信息。
现有压缩方案大多依赖固定规则进行强制总结,压缩的时机与智能体自身的思考节奏完全脱节,遇上复杂的多跳任务根本应付不来。
针对这一痛点,卡内基梅隆大学(CMU)团队携手 Meta,联合提出了 ACM(Agentic Context Management)智能体自主上下文管理框架。思路非常明确:直接借鉴人类的“长短期记忆”机制,为模型装上一套原生的记忆工具。
智能体自己来判断何时该将历史记录无损归档,何时又该按需把细节从记忆库中捞回来,彻底告别被动等待外部规则来剪裁的窘境。

配套的还有一套“双向约束”的师生蒸馏后训练流程,使得中小参数量的模型也能学会这种高级的上下文管理能力。
实测数据显示,经过后训练、基于 Qwen3.5-9B 微调的 ACM 框架,在网页深度检索、开放域多跳问答、代码修复这三个长时序基准测试中,相比经典的 ReAct 方案,检索准确率相对提升了 27%,问答提升了 16%,代码修复提升了 8%。
最亮眼的是,峰值 Token 占用平均降低了约 20%。KV 缓存的压力得到显著缓解,这直接给智能体腾出了更多空间,使其能够多跑几轮工具探索。多次独立运行时,答案的一致性也有了明显提高,表现直逼参数量比它大 40 倍的超大模型。

Agent 记性差?直接给它装上“工作记忆 + 长期档案”
长时序 Agent 通常面临着三个主要困境:一是压缩时机全靠外部预设的死规矩,到了窗口红线就被强制“腰斩”;二是一旦压缩,原始记录就彻底丢失,后续若想“回头看”根本无处找寻;三是多轮下来峰值 Token 居高不下,KV 缓存的压力与探索空间被同步挤占殆尽。
ACM 的应对策略非常直接——它把上下文管理做成了与搜索、读取文档同级别的原生动作,完全交给智能体自己去调用。
设计思路明显受到了人类短时工作记忆与长期档案的启发:当前的上下文窗口里只保留精简版,完整的历史记录则另存一份;等到需要的时候,通过特定指令再精准地把它捞回来。
1. manage_context 负责主动归档
模型无需等待外部规则卡在窗口上限才动手。只要它判断当前的推理状态需要精简了,随时都能发起压缩。
执行时,manage_context 只在当前上下文里生成一份摘要,而原始的对话、搜索记录、文档内容则会同步存进外置的长期记忆区,并绑定上专属编号,绝不会被粗暴删掉。
冗余信息被提前清掉,峰值 Token 自然就降了下来,这也为后续多跑几轮探索腾出了资源。
2. query_memory 补上回溯通路
当后续推理过程需要早期细节时,只需输入记忆编号和查询指令,系统就能把完整的原始记录加载回来,提取必要的信息补进当前的上下文中。这就意味着,即便提前进行了压缩,也不必担心弄丢关键证据,推理断链的风险大大降低。
这两套工具被直接嵌入了智能体的标准动作集,相当于为中小模型专门开辟了一个管理上下文的入口。不再把压缩功能隔绝在推理流程之外,也为后续的训练管线提供了一个可学习的载体,让 9B 这种轻量级模型也有机会真正学会自己管理记忆。
小模型不会管记忆?师生双向“纠偏”直接教会它
光给工具还不够。中小模型本身其实不太具备“判断”的能力,不知道何时该压缩、何时不该乱动,结果往往是要么上下文一路膨胀,要么随意归档把关键线索弄丢了。

为此,ACM 引入了一套“双向约束师生蒸馏”的策略。
学生模型(Qwen3.5-9B)会先分别跑完两种轨迹:一种是不给它记忆工具,只保留基础的搜索交互;另一种则是完整开放 manage_context 和 query_memory,还原它自己在没人指导时的真实探索状态。
紧接着,一个更强的教师模型出场,对着标准答案对这两组轨迹进行双向标注。正向示范如何寻找适合插入压缩的节点(比如模型陷入重复检索、上下文压力明显升高时);反向操作则揪出那些错误触发了压缩的步骤,把无效的归档动作替换成继续检索、阅读文档或直接输出答案这类更高效的操作。
标注工作完成后,团队采用在线策略蒸馏进行微调,把教师模型给出的软 Token 分布当作监督信号,让深度学习模型同步学习这两种决策逻辑。
训练样本还会经过层层过滤,只挑选真实推理失败的高难度轨迹。值得一提的是,教师标注绝不允许泄露标准答案,只能根据轨迹本身的交互特征做判断。最后,再混合原始学生轨迹与标注样本,进行自蒸馏重采样,以此稳住整体效果。
工程落地的关键细节
团队在工程实现上同样下足了功夫,确保逻辑能够丝滑落地:
-
系统提示词分两套
ACM 明确界定了短时记忆与长时记忆的不同机制,将 manage_context 和 query_memory 的用法、适用场景写得一清二楚,同时也补上了搜索和阅读文档工具的说明。
-
工具接口标准化
manage_context 没有任何入参,一次调用即可归档当前历史,并返回带 summary_id 的摘要,原始对话会同步存入磁盘。
query_memory 则需传入 summary_id 和查询指令,加载对应的原始记录后,利用检索模型提取匹配的信息。
任务侧则配套了搜索、读全文,或代码编辑、执行、提交补丁等基础工具。
-
压缩如何进行
触发归档时,系统会把“原始问题 + 待归档对话”一同送给摘要模型,强制输出一套固定的 <memory> 结构:一边是已验证事实、候选答案、排除假设与未解决问题,另一边则是精简的推理链与下一步行动计划。
总长度被严格控制在 4096 Token 以内,关键的文档 ID、实体、数字必须做到滴水不漏地保留。
-
回溯如何执行
加载指定 summary_id 的完整原始对话,按照查询意图精准抽出三类内容:相关的发现、无效的死胡同,以及尚待验证的方向。如果实在没匹配到,就直接返回空值。
-
训练数据如何生产
学生模型首先生成两类并行轨迹(不开记忆工具 vs 全开)。教师模型使用双提示词做双向标注:正向在无工具轨迹里插入合理的压缩动作,反向则修正带工具轨迹里的无效压缩。
过滤掉可能泄露答案以及过短的无意义样本后,利用教师输出的 Top-20 Token 分布做软监督,在线蒸馏微调学生。
全流程跑 3 个 epoch,相关的数据与权重同步开源。
-
推理阶段如何运行
每一轮都由 Agent 自己拿主意:是调度具体的业务工具、记忆工具,还是直接生成最终答案。运行过程中,它会实时审视 Token 用量,觉得该压缩了,就自主发起归档;后续若需要细节,再调取 query_memory 把原始信息回捞出来。整个过程全程无需外部规则介入。
准确率从 0.570 跃升至 0.727
最终的成效相当可观。
在准确率表现上,BrowseComp-Plus 基准测试下,ACM 后训练模型相对原生 ReAct 提升了 27%(从 0.570 直接拉到 0.727),表现已极其逼近参数量大它 40 倍的 397B 超大模型;在 DeepSearchQA 上,相对提升约 16%;在代码修复任务 SWE-Bench Verified 中,也有约 8% 的收益。消融实验也进一步证实,单靠 ACM 训练数据本身就能稳住三大任务的基本盘,若再叠加强模型蒸馏,效果自然达到最佳。

Token 占用的压力也随之大幅回落。ACM后训练模型在三个基准上的平均峰值 Token 分别只有 54K、41K 和 50K,比 ReSum、ACON 这类启发式压缩方案低出一截,最多能砍掉 20% 的峰值占用,KV 缓存压力明显缓解。
探索空间也随之改善。训练后的 Agent 平均工具调用次数显著增加,在 BrowseComp-Plus 上甚至达到了 46.2 次。主动压缩腾出了宝贵的上下文空间,促使检索和读文档的次数反而变得更多了。

观察上下文增长曲线就非常直观了。上图中,ReAct 的线几乎是一路直线向上猛冲,很快就捅破 128K 窗口被迫提前终止;ACM 则呈现出典型的锯齿状——压力一上来就主动压缩,长度迅速回落,能长期维持在较低占用水平。
在一个多跳问答案例中,完整轨迹有 222K Token,ACM 经历了多次压缩后,硬是把工作上下文稳稳压在了 100K 以内,最终顺利跑完;基线 ReAct 在跑到第 47 轮时就已经溢出,四次独立运行全部以失败告终。
工具行为观察也透露出一些有意思的信息。超大模型 GPT-5.5 甚至几乎不怎么调用记忆工具,这暗示着即便是强如前沿模型,也天生缺乏这种自主管理的意识。

而从上图中不难发现,ACM 后训练模型则是调用 manage_context 和 query_memory 最勤快的选手。压缩并没有带来牺牲检索的副作用,反而解锁了更多的搜索与文档阅读动作。
整体来看,这套方案真正做到了精度更高、峰值更低、探索空间更大。长时序任务终于不用再被上下文死死绑住手脚了。
在技术文档的完善与社区交流中,这类将“记忆权”交还给模型自身的设计思路,正在为愈加复杂的自主智能体落地铺平道路。