AI News HubLIVE
站内改写2 分钟阅读

深度代理的上下文管理

Deep Agents SDK通过卸载、摘要和文件系统抽象来管理长时间运行AI任务的上下文,防止上下文腐败。本文介绍了三种压缩技术:卸载大型工具结果、卸载大型工具输入和摘要,并提供了实践指导和评估方法。

Deep Agents SDK是LangChain推出的开源、功能完备的代理工具包,专为构建能够规划、生成子代理并使用文件系统执行复杂长期任务的AI代理而设计。随着AI代理可处理的任务长度不断增长,有效的上下文管理变得至关重要,以防止上下文腐败并应对LLM有限的内存限制。

上下文压缩是指减少代理工作记忆中信息量,同时保留完成任务所需细节的技术。这可能涉及总结之前的交互、过滤过时信息,或策略性地决定保留和丢弃的内容。Deep Agents实现了一个文件系统抽象,允许代理执行列出、读取、写入文件,以及搜索、模式匹配和文件执行等操作。代理可以根据需要通过文件系统搜索和检索已卸载的内容。

Deep Agents实现了三种主要的压缩技术,在不同频率下触发:

  • 卸载大型工具结果:当工具响应超过20,000个令牌时,将响应卸载到文件系统,并替换为文件路径引用和前10行的预览。代理之后可以根据需要重新读取或搜索内容。
  • 卸载大型工具输入:当会话上下文达到模型可用窗口的85%时,截断早期的工具调用(如文件写入/编辑参数),将其替换为指向磁盘上文件的指针,从而减少活动上下文的大小。
  • 摘要:当卸载不再能腾出足够空间时,进行摘要步骤。LLM生成会话的结构化摘要(包括会话意图、创建的工件和后续步骤),替换工作记忆中的完整对话历史。同时,原始完整消息写入文件系统作为规范记录。

在实践中,可以通过在基准数据集上更积极地触发压缩来增加单个特征的信号。例如,在可用上下文窗口的10-20%处触发摘要可能性能欠佳,但会产生更多摘要事件,从而比较不同配置(如摘要提示的变体)。

Deep Agents SDK维护了一套针对性评估,旨在隔离和验证单个上下文管理机制。这些评估是刻意设计的小型测试,使特定故障模式显而易见且可调试。例如:

  • 摘要是否保留了代理的目标? 一些评估故意在任务中间触发摘要,然后检查代理是否继续工作。
  • 代理能否恢复被摘要掉的信息? 在对话早期嵌入一个“大海捞针”的事实,强制摘要事件,然后要求代理稍后回忆该事实以完成任务。

评估上下文压缩策略时,建议:从现实世界的基准开始,然后对单个特征进行压力测试;测试可恢复性;监控目标漂移。所有Deep Agents工具包的功能都是开源的,欢迎尝试最新版本。