Agent 的上下文调度该怎么做

📅 发布时间:2026/10/14 12:46:46
Agent 的上下文调度该怎么做
导语九月底到十月初行业里冒出一批「常驻型智能体」OpenAI 的 Dots9-29关掉窗口还在推进任务Meta 的 Muse 跑在专用虚拟机上Google 在 10-08 端出一个带自己 Gmail、Calendar、Drive 身份的通用 Gemini AgentxAI 的 Grok Bot 更直接——每个 Bot 配一台云电脑。形态一变压力就换了个地方任务型智能体只需要「跟这次任务有关的信息」常驻型智能体必须把一段跨越时间的工作接住。于是上下文管理从「怎么塞得下」变成了一个调度问题——**什么时候压、压什么、怎么压才不把任务压坏。**这一轮我们不聊「窗口多大」聊压缩的调度工程。一、为什么「等满了再压」是个陷阱先说一个几乎每个团队都踩过的坑把压缩阈值设到窗口的 95%心想「能用满就用满」。问题在于上下文压力不是线性的。Transformer 的注意力在整个窗口上跑信号和噪声是竞争关系。当上下文接近满的时候模型已经在「注意力涣散」的状态下工作早期那几步「这个工具已经用过了」的信息被挤到中间模型根本没注意到——你排查半天的 bug其实是上下文组织方式的问题不是模型笨。更有说服力的是一组工程数据一个自进化的研究智能体最早的版本每次生成新方案都把之前所有候选方案的代码和运行结果原封不动塞回提示词。结果论文里明确写了这种「越跑越长」直接导致真实运行崩溃——FML-Bench 上终止了 5 次运行ALE-Bench 上终止了 48 次。后来它学会定期收纳只读根节点 近期候选的压缩摘要外加一个「失败记忆」机制只有当某次运行的出错率超过 15%才把重复出现的错误特征提取出来塞进后续提示词。到运行结束时单次提示词长度中位数压缩了 7 倍到 50 多倍MLE-Bench 约 7 倍、WeatherBench 2 超 40 倍、ALE-Bench 与 FML-Bench 约 50 倍而且成绩反而涨了ALE-Bench 分数从 1536 升到 1790比一个人工打磨两年的生产级版本1511还高。所以第一句话**上下文管理不是「省 token」是「别让噪声把信号淹掉」。**压缩做得早、做得对任务是变快变准等到溢出才处理你只会得到一个截断后的残废任务。二、什么时候压把「一个悬崖」改成「几个台阶」行业现在的共识是渐进降级而不是一次压到底。甜区在 70% 左右——生产实测的建议是上下文总 token 达到窗口 70% 就触发压缩留足缓冲等到 100% 再处理模型已经全速在噪声里跑了。有经验的团队会设 60%~70% 的区间。分档位、按预算逐级降OPENDEV 的 Adaptive Context CompactionACC把压缩做成了五级流水线阶段触发点动作1 警告70% 预算只记录上下文压力不动数据2 观察遮蔽80%老的工具结果换成紧凑引用指针2.5 快速剪枝85%超出近期窗口的老工具输出剪掉3 激进遮蔽90%保留窗口缩到只剩最近输出4 完整压缩99%历史序列化到临时文件中段 LLM 摘要这个设计的关键细节近期工具输出始终保留完整保真度且压缩摘要里带一个Artifact Index记录这次任务碰过的每一个文件和历史的归档路径——于是压缩几乎无损因为原文还在磁盘上、找得回来。同一个思路平台方已经产品化。Anthropic 的服务端压缩有两个形态阈值压缩输入 token 到触发点自动压默认 150K、最低可设 50K和按需压缩由你的代码决定时机返回一个「压缩块」。更轻的一档是context editing上下文编辑不叫模型写摘要而是按规则清除——默认输入到 100K 时清老的工具结果、保留最近 3 次工具调用且默认只清结果、保留工具输入。官方数字很硬单用 context editing任务表现提升29%配上 memory tool 提升39%一次 100 轮的 web search 里 token 用量降了 84%。一个客服案例5 张工单、35 次工具调用不压缩 208,838 token / 37 轮压缩后 86,446 token / 26 轮省 58.6%。注意一个容易被忽略的约束压缩本身是一次真实的模型调用要花钱、要延迟。所以要把压缩放进后台流水线——主流水线照常「感知-决策-执行」压缩流水线在后台为当前上下文生成更精简的新版本两者通过一个共享的、版本化的上下文存储连接。压缩永不阻塞主流程。三、压什么一份「不可删清单」压缩最容易翻车的地方不是压太多而是压错了东西。摘要在结构上至少要守住四段·Objective目标原始任务以及中途发生过的范围变更·State状态已经建了什么、改了什么、决定了什么·Constraints约束这次会话里浮现出来的限制条件·Next steps下一步紧接着要执行的那个动作。少一段都会出问题只写「发生了什么」不写「接下来做什么」的摘要会让任务目标漂移——Agent 醒来以后接着干活但干的是另一件事。另外有两类信息必须强制标记为不可删除① 用户原始目标和关键工具参数路径、ID、文件清单②仍然承重的推理链——这个坑很隐蔽如果在工具调用之间把推理丢掉Agent 每一轮都得把工作假设重新推一遍上下文是短了但它开始反复推导同一个结论。顺带讲一个被压缩天然利用的模型特性lost in the middle——大模型对上下文的注意力两头强、中间弱。所以一个实用的分层写法系统层角色、边界、输出格式放最前基本不变最适合做缓存任务层当前目标、子任务、进度是 Agent 的北极星必须始终可见记忆层从历史提炼的关键结论注意是提炼不是堆砌工作层本步输入、工具返回用完即可压缩或丢弃约束层资源限制、安全规则放靠近末尾。Anthropic 在压缩指南里的建议也很实在从最大召回开始再迭代到精准别反过来——激进的摘要会静默丢掉那些「当时看不出重要、后面才浮现」的微妙约束。四、怎么安全地压压缩是一次有版本的事务第一对快照做别对「当前历史」做。正确姿势先对历史建快照按快照里的消息位置取原文摘要完成后再提交替换。否则新消息一到、或者多个片段索引移动一条本来正确的压缩建议就会作用在错误的位置上。snapshot, version history.snapshot() decision tiersense.compress(snapshot) pending [] for span in decision.executable_spans: summary summarize(span.source) validate(summary, required_evidence) # 不可删清单校验 pending.append((span, summary)) history.commit_if_unchanged(version, pending) # 版本变了就放弃本次压缩第二压缩必须可回滚。压缩失败时保留原上下文、记日志、安全重试摘要在提交前要校验「必留证据」是否还在。第三平台侧有几个没人会告诉你的交接规则。以 Anthropic 的阈值压缩为例响应会以压缩内容块开头后续请求必须把整个 response.content 原样追加不能只追加文本——只追加文本等于把摘要丢了调用前必须检查 stop_reason——如果摘要器撞了 max_tokens、试图调工具或者拒答响应仍是 200 但内容块是空的这时候无条件替换历史等于把整段对话抹掉另外阈值 edit 和顶层按需压缩不能在同一个请求里叠加。第四最终极的一条压缩要可追溯——而压缩本身正在破坏可追溯性。10 月 8 日一项研究爱丁堡大学、得州大学奥斯汀分校等做了个有意思的实验把两个 AI 可交换的字符总数从 2000 压到 150它们自发形成了人类难以解读的压缩表达彼此仍能准确理解而且「语言压缩得更高效的那组任务成功率也更高」。研究者的提醒很关键将来企业里订单、支付、物流、合同的 Agent 分工协作一旦资金转错要翻日志定位原因**如果日志里全是看不懂的压缩表达追责与复盘就会出现新的盲区。**压缩不只是技术决策它还有个合规面压掉的到底是什么得有人能说得清。五、两条独立证据压缩可以被「学」出来·AutoCompactarXiv 2610.021632026-10-01把编码 Agent 的压缩决策——何时压、保留哪些工作状态、怎么从压缩后的状态继续——直接训练进策略里。先用裁判模型审查基础 Agent 的压缩决策、摘要和压缩后的动作把有缺陷的输出替换成修正版再执行用这些轨迹做监督微调再用任务成功奖励做强化学习联合优化。结果SWE-bench Verified 绝对提升9.2%SWE-PolyBench Verified 提升5.0%且256K 窗口从不溢出、16K 窗口溢出时触发兜底压缩。·只留最近 5 组工具调用一项关于工具型 Agent 的实证研究把上下文剪到最近 5 组 tool call/response 加上摘要任务完成率91.6%全上下文只有71%且 token 和运行时低得多。两条放在一起结论就钉死了上下文管理不是「越大越好」的硬件问题是可以被工程化、甚至被训练出来的能力。六、三个高频坑坑一把压缩当成「截断」。滑动窗口只留最近 N 轮实现最简单但长任务跨多轮后会忘掉早期目标纯滚动摘要又会丢工具参数和路径。更稳的组合是结构化提取为主 摘要压缩为辅 滑动窗口兜底每完成一个子任务就把结果写进结构化状态对象这个对象始终完整保留。坑二阈值设太晚或者设太低。太晚95%模型已经在噪声里工作太低窗口还宽裕就压会造成过早压缩把还有用的探索轨迹摘要掉直接引发目标漂移。行业甜区 70% 不是拍脑袋是给「压缩本身要花一次模型调用」留出缓冲。坑三压缩不可追溯、不可回滚。没有版本、没有必留证据校验、没有失败保留原文的分支压缩一上线就是隐患再加上模型自发形成的「私有压缩语言」最终你会得到一个跑得很好但谁也说不清它为什么这么决策的系统。压缩日志要留、摘要要能对账、原文要有归档路径。总结常驻型智能体把上下文管理从「装不下」推到了「调度不好」。四句话收尾·触发别等满70% 就进入渐进降级长度 步数双触发器·保留目标 / 状态 / 约束 / 下一步四段必备用户原始目标和关键参数强制不可删最近 8 轮保持原始保真·执行对快照压缩、校验必留证据、版本没变才提交、失败保留原文压缩放后台流水线永不阻塞主流程·追溯压缩块整体回传、检查 stop_reason、保留归档路径——压掉什么必须有人能说清。一句话窗口再大也会爆能撑住长时程任务的从来不是更大的窗口而是一套知道「什么时候压、压什么、怎么安全地压」的调度。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】