AI Agent 跑短任务很顺,一跑长任务就露馅:让它写一份跨三周的周报,它把第一周的结论忘了;让它做一次涉及十几个文件的整理,最后回复里关键约束全丢了。这些问题都有一个共同名字——上下文没管好。
上下文管理,是 Agent 工程里最容易被忽视、但决定上限的一环。今天 OpenAI 开源 Codex Harness 时公布了一组数据:只做「保留推理 + 上下文压缩」两项调整,同一个模型的得分从 13.3% 涨到 38.3%,输出 token 还少了六倍。同一个大脑,换个上下文管理方式,效果差三倍。这篇把 Agent 上下文管理的完整解法讲清楚。
先搞明白:Agent 的上下文到底丢在哪
上下文丢失通常发生在三个地方。一是「窗口撑爆」,模型一次能看的 token 有限,内容超了,老信息被最早挤出去;二是「中间遗忘」,研究早就发现模型对长文本中间部分记忆最差,开头结尾记得牢,中间内容最容易丢;三是「任务间漂移」,一个长任务拆成多轮执行,上一轮的结论没有传给下一轮。
这三个问题的本质是同一个:上下文是稀缺资源,你不主动管,模型就用最原始的方式处理——丢弃。所以解法也不是「加大窗口」这么简单,而是主动设计上下文的生命周期。
解法一:摘要压缩,让旧内容「瘦身」而不是「消失」
摘要压缩(Context Compaction)的思路,是把已经聊过的内容定期压成一段摘要,继续留在上下文里,但占用的空间小得多。比如前十轮对话,压成三句话的进度摘要,关键结论、待办事项、已确认的约束都保留,细节删掉。
做法上有一个关键点:压缩不是「一次性全压」,而是分层压。近几轮对话保留原文,稍早的压成段落摘要,再早的只保留「结论 + 证据链接」。这样近期细节不丢,远期信息也在,只是粒度变粗。这和 AI Agent 证据包怎么留 的思路一致——结论要留下,证据要能追溯,只是存储粒度不同。
解法二:滑动窗口 + 关键信息固化,双保险
滑动窗口是另一条路:只保留最近 N 轮对话,更早的直接移出。好处是简单、省 token,坏处是早期的重要信息可能被一刀切掉。
所以更稳的做法是「滑动窗口 + 关键信息固化」:窗口照样滑,但凡是用户明确强调的约束、任务目标、已拍板的决策,单独固化到一块「永不移出」的区域。这个区域很小,但永远在上下文里。固化规则要明确——用户说「记住这条」、涉及金额和合规、是任务验收标准,这些都属于必须固化的信息,做法可以参考 需求变更影响评审 里「先固化再变更」的逻辑。
解法三:记忆分层,把「短期」和「长期」分开管
上下文窗口本质上是「短期记忆」,再大也有限。真正让 Agent 跨会话、跨任务不忘事的,是长期记忆——存在 Agent 之外的存储里,需要时再取回来。
分层记忆一般分三层:工作记忆(当前任务内的上下文)、情景记忆(这个用户、这个项目的过往交互)、语义记忆(知识库、常识、业务规则)。工作记忆用窗口管理,情景记忆和语义记忆用外部存储 + 检索。这三层怎么搭配,AI Agent 记忆系统怎么进化 那篇讲得很透,这里不重复,只说一句:长期记忆的价值,在于让 Agent 不用每次都「从零开始认识你」。
解法四:外部检索,别让所有东西都挤在窗口里
很多上下文问题,根源是「什么都想塞进窗口」。正确做法是:窗口里只放「当前任务真正需要的」,其它东西放在外部知识库里,需要时检索进来。
这就是 RAG 干的事。检索的质量直接决定 Agent 拿到的是「有用的上下文」还是「噪音上下文」——切得太碎、召回不准、排序不对,Agent 就会拿错上下文答题。想系统优化这块,直接看 知识库检索怎么做才准确 那篇的切片、召回、排序、改写四环节清单。
解法五:跨任务传递,把上一轮的结论交给下一轮
长任务拆成多轮执行时,最常犯的错是每一轮都「失忆重来」。解决办法是显式传递:上一轮结束时,输出一份结构化交接——已完成、未完成、当前假设、下一步。下一轮开始时,先读这份交接再动手。
这个机制和 质量门禁 是绝配:交接时顺手做一次自检,确认关键约束都在、结论有依据,再放行进入下一轮。别让 Agent 带着残缺的上下文往下跑,跑得越远错得越离谱。
适合人群与落地建议
上下文管理值得投入的,是所有「让 Agent 跑长任务」的团队:长文档写作、跨周项目跟进、多步骤业务流程、长时间运行的客服会话。如果你的 Agent 只是单轮问答,窗口天然够用,可以先不动。
落地顺序建议从便宜的开始:先做「关键信息固化」,把必须保留的约束钉住,投入最小收益最大;再上「摘要压缩」,解决窗口不够用的高频问题;最后才做记忆分层和外部检索。别一上来就上重装备,先解决 80% 的问题。
总结
AI Agent 上下文管理,核心五招:摘要压缩让旧内容瘦身、滑动窗口加关键信息固化做双保险、记忆分层把短期长期分开管、外部检索别什么都往窗口塞、跨任务显式传递别让每轮失忆。记住一句话——上下文不是越大越好,是「该留的留得住、该取的取得回」。管好上下文,Agent 才能从「聊两句」进化成「能干活」。
0 条评论