Agent 循环中不断累积工具返回与中间结果,几十步后就可能撑爆上下文,且长上下文中无关信息会稀释注意力、推高成本。管理策略分层:截断与压缩——对早期对话做摘要替换原文,对超长工具输出(如网页全文)先抽取再注入;分层记忆——重要结论、用户偏好写入外部向量库或结构化状态,需要时检索召回,而不是全部留在上下文;上下文隔离——子任务派给子 Agent,只回传结论,主 Agent 上下文保持精简(Manus、Claude Code 等系统的核心手法);文件系统外化——把中间产物落盘,上下文里只留路径与摘要。
同时要在每步做'上下文预算'意识:工具设计返回精简结果,系统提示避免冗长。
易错点:粗暴滑动窗口截断会丢失关键约束(如用户开头提的要求),摘要必须保留目标与已确认事实;压缩是有损的,关键数据(订单号、代码原文)应原样留存或外化。追问方向:KV cache 前缀复用如何降低长上下文成本?这与 Claude 的 prompt caching 机制有何关系?