Deep Agents 新增自主上下文压缩工具

指南LangChain2026年3月11日4 分钟阅读
Deep Agents 新增自主上下文压缩工具
Deep Agents SDK 和 CLI 新增了一个工具,让模型能在合适时机自主压缩上下文窗口。这能减少上下文腐化,避免在复杂任务中途打断工作流。

自主上下文压缩

4 分钟阅读 2026年3月11日

TL;DR:我们为 Deep Agents SDK (Python)和 CLI 新增了一个工具,让模型能在合适时机自主压缩自己的上下文窗口。


为什么要压缩上下文?

上下文压缩是一种减少智能体工作记忆中信息的操作。旧消息会被替换为智能体进度的摘要或浓缩表示,保留与任务相关的部分。这个操作通常是为了适应有限的上下文窗口,减少上下文腐化(Context Rot)

智能体执行框架(Harness)通常通过固定 token 阈值来控制压缩(deepagents 使用模型配置文件,在任何给定模型上下文限制的 85% 时压缩)。这种设计不够理想,因为压缩时机有好有坏:

  • 在复杂重构中途压缩并不理想;
  • 开始新任务或认为先前上下文将失去相关性时压缩更好。

许多交互式编码工具都有 /compact 命令或类似功能,允许用户在合适时机手动触发上下文压缩。在 deepagents 的最新版本中,我们更进一步,向智能体暴露了一个工具,让它能自己触发上下文压缩。这实现了更机会主义的压缩,无需应用程序用户了解有限上下文窗口或发出特定命令。

该工具目前在 Deep Agents CLI 中默认启用,在 deepagents SDK 中需手动启用。

我们普遍看好一个观点:执行框架应尽可能“让路”,利用底层推理模型的改进。这是苦涩的教训的一个实例:我们能否给智能体更多对自己上下文的控制,避免手动调整执行框架?

什么时候该压缩?

有多种情况可能需要进行上下文压缩操作。

在清晰的任务边界:

  • 用户表示将转向新任务,早期上下文可能无关
  • 智能体已完成交付物,用户确认任务完成

从大量上下文中提取结果后:

  • 智能体通过消耗大量上下文获得了事实、结论、摘要或其他结果,如在研究任务中

在消耗大量新上下文之前:

  • 智能体即将生成长篇草稿
  • 智能体即将读取大量新上下文

在进入复杂多步骤过程之前:

  • 智能体即将开始冗长的重构、迁移、多文件编辑或事件响应
  • 智能体已制定计划,即将开始执行步骤

已做出取代先前上下文的新决策:

  • 新需求出现,使先前上下文失效
  • 有许多切线或死胡同可以简化为摘要

枚举所有可能场景不切实际,但我们的观察是:人和 LLM 能识别这些场景,在合适时机压缩,避免上下文窗口接近限制时才进行压缩步骤。你可以在其系统提示中阅读我们为模型提供的关于此工具的指导。

调用工具时会发生什么?

该工具的参数设置与现有的 Deep Agents 摘要中间件相同:我们保留最近的消息(可用上下文的 10%),并总结之前的内容。最近的消息,包括对压缩工具的调用和相关响应,都保留在最近上下文中。

查看示例跟踪

如何使用

该工具作为单独的中间件实现,因此你可以通过将其添加到 create_deep_agent 中的中间件列表来启用:

code
from deepagents import create_deep_agent
from deepagents.backends import StateBackend
from deepagents.middleware.summarization import (
    create_summarization_tool_middleware,
)

backend = StateBackend  # if using default backend

model = "openai:gpt-5.4"
agent = create_deep_agent(
    model=model,
    middleware=[
        create_summarization_tool_middleware(model, backend),
    ],
)

更多细节请参阅 SDK 文档

在 CLI 中,只需在准备好修剪上下文或转向新任务时调用 /compact

我们的使用体验

我们调整了这个功能,使其保持保守。Deep Agents 在其虚拟文件系统中保留所有对话历史,允许在摘要后恢复上下文,但错误的上下文压缩步骤会破坏工作流。我们测试了:

  • 自定义评估套件,使用(我们自己的)LangSmith 跟踪向需要和不需要压缩的线程注入后续提示;
  • Terminal-bench-2,未观察到任何自主压缩实例;
  • 我们在 Deep Agents CLI 中的编码任务。

实践中,智能体对触发压缩持保守态度,但当它们触发时,往往选择明显改善工作流的时刻。

自主上下文压缩是一个小功能,但它指向智能体设计的更广泛方向:给模型更多对自己工作记忆的控制,减少执行框架中僵化的、手动调整的规则。如果你正在构建长期运行或交互式智能体,请在 Deep Agents SDK 或 CLI 中试用,并告诉我们你的反馈以及你希望它接下来处理哪些模式。

加入我们的通讯

来自 LangChain 团队和社区的更新

输入你的邮箱

处理你的申请...

成功!请检查你的收件箱并点击链接确认订阅。

抱歉,出错了。请重试。

本文编译自 Autonomous context compression,版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

pgEdge 推出开源 MCP Server for Postgres,支持 AI 智能体通过模型上下文协议(MCP)而非传统 API 方式访问数据库。服务强调数据源无关性、完整模式自省和 token 优化,适用于 Claude Code、Cursor 等主流 AI 开发工具。

指南The New Stack·4月2日·4 分钟

Google 推出 Flex 和 Priority 两个新的推理层级,帮助开发者平衡成本与可靠性。Flex 是成本优化层级,适合后台任务,价格便宜一半;Priority 是最高保障层级,适合用户交互型应用。两者都通过同步接口调用,简化了架构管理。

指南·4月2日·3 分钟

评论