LangChain重磅更新:让AI自己决定何时压缩记忆
对于正在构建长时运行或交互式 Agent 的开发者来说,这个功能值得一试。它本身不算大,但它所指向的方向——让模型更主动地管理自己的工作记忆——可能会成为下一代 Agent 框架的标配。
AI Agent 在执行长任务时有一个绕不开的问题:上下文窗口是有限的。
当对话历史、工具调用结果、文件内容不断堆积,模型的注意力会被稀释,关键指令被淹没,决策质量随之下滑——这种现象被称为"上下文腐烂"(context rot)。
LangChain 的 Deep Agents SDK 此前已经实现了自动压缩:当上下文使用量达到模型窗口的 85% 时,系统会自动触发摘要化,将旧消息替换为结构化摘要。
这套机制能用,但不够聪明——它不知道现在是不是压缩的好时机。
最新发布的版本做了一件有意思的事:把"何时压缩"这个决定权交给了模型本身。
为什么固定阈值不够好
压缩上下文这件事,有好时机,也有坏时机。
如果模型正在进行一次复杂的代码重构,中途突然压缩,很可能丢失关键的中间状态,导致后续步骤出错。
但如果一个阶段性任务刚刚完成,用户准备开启新话题,这时候压缩就非常合适——旧的上下文已经没什么用了,清掉反而能让模型更专注。
很多交互式编程工具(比如 Claude Code)提供了 /compact 这样的手动命令,让用户自己决定什么时候清理上下文。但这要求用户理解上下文窗口的概念,并且在合适的时机主动操作——对大多数人来说这个门槛并不低。
Deep Agents 的新方案是:把这个工具暴露给模型,让它自己判断。
哪些时刻适合压缩
LangChain 在系统提示中为模型提供了判断指引,总结下来大致有这几类场景:
• 任务边界:用户明确表示要切换到新任务,或者当前交付物已完成并得到确认
• 信息提取完毕:模型从大量上下文中得出了结论、摘要或关键事实,原始内容已不再需要
• 即将消费大量新内容:准备生成长文档,或者要读入大量新文件
• 进入复杂多步流程前:大型重构、迁移、多文件编辑等任务开始之前,或者计划已制定、即将进入执行阶段
• 旧上下文已被新决策覆盖:新需求推翻了之前的方向,或者存在大量无效的探索路径需要清理
这些场景的共同特点是:历史上下文的边际价值已经很低,而接下来的任务需要更清晰的工作记忆。
压缩时发生了什么
这个工具的实现复用了 Deep Agents 已有的摘要化中间件逻辑:保留最近 10% 的可用上下文作为近期消息,对更早的内容生成结构化摘要。
触发压缩的工具调用本身及其响应,也会被保留在近期上下文中。

值得一提的是,Deep Agents 会把完整的对话历史保存在虚拟文件系统中,即便压缩之后,原始内容依然可以通过文件系统检索找回。这在一定程度上降低了误触发压缩的风险。
如何启用
在 SDK 中,这个功能作为独立中间件提供,需要手动加入到 create_deep_agent 的中间件列表:
from deepagents import create_deep_agent
from deepagents.backends import StateBackend
from deepagents.middleware.summarization import (
create_summarization_tool_middleware,
)
backend = StateBackend
model = "openai:gpt-5.4"
agent = create_deep_agent(
model=model,
middleware=[
create_summarization_tool_middleware(model, backend),
],
)
在 Deep Agents CLI 中,这个功能默认开启。用户也可以继续使用 /compact 命令手动触发。
实测表现:保守但有效
LangChain 在调优时刻意让这个功能偏保守。
他们用三种方式进行了测试:
- 基于自家 LangSmith 追踪记录构建的评估集(注入后续 prompt,判断是否应该触发压缩)
- Terminal-bench-2 基准测试(未观察到任何自主压缩行为)
- 团队内部在 Deep Agents CLI 上的日常编码任务。
结果是:模型触发压缩的频率不高,但每次触发都发生在比较合理的节点,而且确实改善了后续的工作流。
这背后有一个更大的设计哲学:Agent 框架应该尽量"让开",把更多控制权交给底层推理模型本身,而不是靠手工调参来打补丁。这是"苦涩的教训"(bitter lesson)在 Agent 设计上的一次具体实践——与其精心设计触发规则,不如让模型自己学会判断。
对于正在构建长时运行或交互式 Agent 的开发者来说,这个功能值得一试。它本身不算大,但它所指向的方向——让模型更主动地管理自己的工作记忆——可能会成为下一代 Agent 框架的标配。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)