Agent长任务中上下文窗口溢出导致任务中断

Agent长任务中上下文窗口溢出导致任务中断
Agent 长任务中上下文窗口溢出导致任务中断——技术复盘问题现象在 autoglm-browser-agent 执行超长任务搜索浏览交互超过 20 步时偶尔会出现任务执行到后半段突然中断报 token 超限中间步骤的工具返回结果被截断后续决策依赖不完整信息导致行为偏差INTERACT_REQUIRED 续接后task 内容丢失agent 变成盲飞排查过程量化 token 消耗观察一个典型搜索任务的上下文增长曲线发现步骤 10 之后 token 增速明显加快定位膨胀源逐步骤分析发现 80% 以上的上下文被工具调用历史占据其中网页全文抓取结果单次可达 5k-20k token截图 base64单张可达 2k-8k token重复的工具返回元信息step ID、thinking 日志对比测试同一任务分别走 browser-agent 和手动执行手动只需保留关键摘要而 agent 保留了所有原始输出根因Agent 系统缺少分层上下文压缩机制所有工具返回结果无差别地塞入上下文窗口没有滑动窗口/摘要策略旧步骤的冗余信息持续占用空间关键信息用户原始指令和非关键信息中间日志在同等权重下竞争 token一旦 total 超限最先被截断的往往是末尾的最新信息——导致 agent 决策链断裂解决方案分层递进层级策略效果L1 输入精简工具返回只保留结构化关键字段裁掉 thinking 日志和无用元信息减少 30-40% 膨胀L2 中间摘要每 N 步自动生成一次步骤摘要替换原始工具调用历史长任务 token 增长趋近线性L3 窗口阈值上下文达到 80% 上限时触发压缩保留用户指令 最近 5 步 历史摘要防止溢出L4 外部记忆将长文档/网页内容存入外部向量库只注入检索到的相关片段突破窗口硬限制复盘总结核心教训上下文窗口不是无限资源而是 Agent 系统的工作记忆。像人一样agent 需要在执行长任务时主动记笔记中间摘要而不是死记硬背保留所有原始输出。可迁移的实践写 agent prompt 时尽早明确只保留关键信息每步结果压缩为 1-2 行要点的输出规范工具设计上提供两种返回模式full人类调试用和 summaryagent 上下文用在 agent 编排层增加上下文监控达到阈值主动触发压缩而非等报错#Agent #技术复盘 #AI工程 #上下文管理 #Agent架构