智客 ZICQ
EN 登录 / 注册
智客前沿 智能体 #LangChain #Deep Agents #上下文工程 #智能体记忆 #长时任务

LangChain提出Deep Agents上下文工程:用分层记忆对抗上下文膨胀

Mr.Xu 的头像

文 / Mr.Xu 智客前沿编译 · 审校

发布时间:

中文阅读 (Chinese) English Version

摘要:LangChain 介绍 Deep Agents 的上下文工程方法,针对长时运行智能体因历史消息、工具输出与中间结果持续堆积而出现的注意力稀释和决策退化。方案通过上下文卸载、动态摘要、Skills、子智能体与外部记忆,将稳定能力、短期工作状态和长期知识分层管理。其关键不是无限扩大上下文窗口,而是让主代理仅保留当前任务所需的精炼信息,同时借助子代理隔离局部检索噪声。工程落地仍需验证召回准确率、摘要失真、记忆污染、权限边界及单位任务成本。


上下文膨胀为何会拖垮长时智能体

LangChain 将问题定义为上下文工程,而非单纯寻找更大的上下文窗口:当工具输出、检索文档、中间推理和历史对话不断累积时,模型每轮都要重新处理越来越大的前缀。即使 API 宣称支持数十万 Token,可容纳更多 Token也不等于可以有效使用更多 Token。无关内容会提高预填充与解码成本,稀释关键指令的注意力,并增加旧状态、过期事实与工具错误被误当成当前约束的概率。

对于标准稠密 Transformer,序列长度为 N 时,自注意力计算与 KV Cache 占用通常随 Token 数近似线性增长;而自回归解码每生成一个 Token 都要读取历史 KV Cache。上下文越长,显存带宽、请求延迟和推理费用越高。上下文工程的目标因此是提高单位上下文的信息密度,而不是持续堆积历史记录。

Deep Agents的五层上下文治理机制

1. 上下文卸载:把中间产物移出主代理

网页全文、文件内容、搜索结果和工具原始输出通常体积大,却不一定需要每轮再次进入模型。卸载机制可将这些内容保存为外部对象,只在主上下文中保留引用、摘要或按需读取接口。这样能够缩短提示词、降低注意力干扰,并避免模型把噪声误判为事实。

这一模式的工程难点不在“存起来”,而在建立可追踪的引用关系。若引用缺少稳定 ID、来源、版本和时效信息,后续检索可能拿到过期副本;若所有外部内容都可被代理任意读取,又会扩大提示注入和数据泄漏面。生产系统应为外部对象定义明确的检索权限、生命周期与审计记录。

2. 动态摘要:压缩轨迹,而非重写事实

摘要适合压缩已完成步骤、失败尝试和阶段性发现,让主代理保留“做过什么、结果是什么、下一步为何如此”的控制状态。它不应替代原始证据。关键参数、工具返回值、错误码与引用定位等需要精确执行的字段应保存在结构化状态中,而不是只依赖自然语言摘要。

摘要压缩存在不可逆的信息损失,尤其当后续任务需要重新访问早期细节时。工程上应保留原始状态快照,并记录摘要版本、父状态和覆盖范围;必要时允许代理从摘要反向恢复原始材料。评估时也不能只比较 Token 数,还要测试关键约束召回率、事实一致性和长轨迹任务成功率。

3. Skills:把稳定流程从上下文转为可调用能力

Skills 将重复出现、边界相对稳定的操作封装为按需加载的能力说明和执行资源。其优势是避免在每一轮提示中重复放入完整流程说明,只在命中任务时注入相关技能,并把具体参数与中间结果保存在外部状态中。

从软件工程角度看,Skill 类似按需加载的插件或能力包,需要明确触发条件、输入模式、输出契约、超时、重试与权限范围。与微调相比,它更新成本低且可审计;与长期塞入系统提示相比,它减少了无关 Token。不过,如果技能召回不准确,代理仍会调用错误能力,因此需要基于任务日志评测技能路由准确率。

4. 子智能体:隔离局部上下文,保留结果摘要

子智能体适合处理搜索、代码分析、资料整理等局部子任务。每个子代理可以在自己的上下文窗口内探索大量材料,只向主代理返回结论、证据和状态变化。这既限制噪声扩散,也避免主代理被中间探索步骤淹没。

该模式的取舍是多了一层模型调用和编排开销。子代理返回的摘要还可能遗漏主任务需要的细节,因此接口不能只传一段自然语言,而应返回结构化结果、证据引用与异常信息。主代理应能判断何时扩大查询、何时请求原始结果,避免子代理为了压缩输出而形成新的信息瓶颈。

5. 外部记忆:保存稳定知识与跨会话状态

记忆层用于保存用户偏好、长期事实或跨运行任务状态,避免每轮重新发现。与工作上下文相比,记忆应具有更明确的写入门槛、来源、作用域和保留策略。

记忆也是潜在的持久化攻击面:错误摘要一旦被写入,可能在未来任务中持续生效;敏感信息若缺少隔离,还可能跨用户或跨租户泄露。生产部署至少需要写入审核、来源标记、版本控制、租户隔离、TTL 与删除机制,并对“错误记忆如何纠正”进行端到端测试。

工程权衡:省Token并不等于降本

上下文卸载、摘要与子代理都能减少主提示长度,但会增加存储访问、摘要生成、子代理调用和状态同步成本。完整任务的计算量不一定下降,甚至可能上升。其主要收益通常体现在保持任务质量的同时控制上下文规模,而不是无条件减少推理。

系统设计应同时跟踪以下指标:

  • 质量:端到端任务成功率、关键约束遗漏率、事实错误率与恢复能力;
  • 效率:输入与输出 Token、工具调用次数、子代理数量、端到端延迟;
  • 上下文健康度:重复信息比例、过期状态比例、有效上下文占比;
  • 记忆质量:写入准确率、错误记忆传播率、召回精确率和跨租户隔离;
  • 成本:每个成功任务的模型与存储总成本,而非单次请求价格。

开发者落地建议

  1. 先为状态分层:将不可丢的约束与证据放入结构化状态,把可重建的过程轨迹放入可压缩区。
  2. 按需而非全量注入:为工具输出、检索结果和 Skill 建立独立引用与召回规则。
  3. 保留原始证据:摘要之外保存可追溯的源对象,避免形成不可验证的状态。
  4. 限制子代理输出:返回结论、证据、异常和未决问题,而非只传递一段摘要。
  5. 建立记忆治理:采用作用域隔离、TTL、来源标记、写入审批和可撤销机制。
  6. 用任务级评测验证:比较“完整上下文”“全量摘要”“分层上下文”三组方案,同时评估成功率、延迟与成本。

实际判断

Deep Agents 的上下文工程提供了一套可落地的控制面:主上下文负责当前决策,Skill 承载稳定流程,子代理隔离探索,外部存储保存证据与记忆。真正困难的部分不在方法命名,而在状态模型、召回策略、权限边界和可观测性是否经得起长时任务验证。

如果实施得当,它比单纯扩大上下文窗口更适合生产级智能体;若缺乏任务级评测和记忆治理,动态摘要也可能只是把上下文膨胀变成难以追踪的长期错误。


消息来源:LangChain Blog (2026-11-10)

—— 完 ——

主题标签: #LangChain #Deep Agents #上下文工程 #智能体记忆 #长时任务

编辑部与事实核查说明:本篇专刊由智客前沿资讯管线根据官方技术公告、学术论文及开源工程文档整理编译,经算法实体核验与人工编辑审校后发布。若发现技术事实纰漏,欢迎依据勘误方针或一键向编辑部发送勘误反馈。

社区整体评论区

正在加载实时智能评论与划词标注…