模型支持 200K+ token,并不代表 Agent 应把全部历史塞进一次推理。窗口越长,噪声、旧状态与工具回包越容易争夺有限注意力;生产架构真正要管理的是“哪些信息此刻值得进入模型”。
一、核心变化:从扩窗口转向管理上下文
长上下文的工程重心正在变化。Anthropic 的上下文工程文章把上下文视为边际收益递减的有限资源,并指出长会话会出现信息召回与远距离推理精度下降。Databricks 的公开测试则把长上下文与 RAG 放在同一任务中比较:选择全量输入还是检索输入,不该由窗口上限决定,而应由任务结构、信息密度和延迟预算决定。
这意味着 Agent 不能再把聊天记录当数据库。消息、工具结果、计划、权限和业务事实必须分层保存,只在当前步骤装配最小充分上下文。
二、技术解析:四层上下文架构
第一层是选择层。请求先经过权限与元数据过滤,再做关键词、向量召回和重排。目标不是搜得最多,而是把与当前动作直接相关的证据放进工作集;稳定规则留在系统指令,临时证据按需注入。
第二层是活动上下文层。它只保留当前目标、最近交互、未完成计划和经过筛选的证据。工具返回的日志、网页与表格不得原样长期驻留,应提取结论、来源和错误码后立即移出窗口。
第三层是压缩与外置状态层。当工作集触及预算,系统将已完成步骤压成结构化摘要,把原始记录写入事件存储;摘要必须保留决策、约束、未决问题和来源指针。恢复时读取状态快照,而不是让模型从漫长对话里猜进度。
第四层是隔离执行层。研究、代码分析或文档读取交给子 Agent,主 Agent 只接收可审计的结论和证据索引。这样既减少上下文污染,也能限制敏感数据跨任务扩散。

三、压缩与恢复如何闭环
压缩不是简单删旧消息,而是一次状态迁移。摘要写入后要带版本、来源指针与待办列表;新一轮推理先恢复这些字段,再加载最近消息。若摘要与事件记录冲突,应以可重放的外部状态为准。

四、关键点
- 按 token 预算装配:为系统规则、证据、最近消息和输出分别预留空间,超限时先移除低价值工具回包。
- 把状态放到模型外:任务阶段、审批结果和幂等键进入数据库或事件日志,不能只存在自然语言历史中。
- 同时测位置与长度:Lost in the Middle 说明相关信息所在位置会影响表现;RULER 与 HELMET 更适合检验“有效上下文”,而非只看厂商标称窗口。
- 压缩必须可追溯:摘要保留来源指针,关键决策可回放;否则一次错误摘要会污染后续所有步骤。
LongBench 覆盖 21 个数据集、6 类任务,并同时包含中英文长文本场景。它提示团队:长上下文评估不能只做“藏针”,还要覆盖问答、摘要、少样本学习与代码等真实任务。
五、行业影响
窗口竞争正让位于上下文系统竞争。框架与平台的差异将更多体现在检索策略、状态持久化、压缩质量和回放能力上。对企业而言,可审计的外部状态也比不可解释的超长会话更适合权限治理与故障恢复。
六、结语
200K+ 窗口应被视为容量上限,而不是默认配置。更可靠的路径是:先选择,再压缩,把状态外置,并隔离复杂任务。只有当证据确实不可切分时,才扩大活动上下文;其余场景应让模型看到更少、但更准确的信息。
参考资料
官方文档
开源项目
- NVIDIA RULER 仓库元数据 API [200]
- Princeton HELMET 仓库元数据 API [200]
行业报道
社区讨论
对比基准
- arXiv:Lost in the Middle [200]
- arXiv:LongBench [200]
本文由 AI 生成。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。
