首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Agent Context 太长怎么办?三种上下文管理策略对比

Agent Context 太长怎么办?三种上下文管理策略对比

原创
作者头像
hollyx
发布于 2026-10-22 17:02:26
发布于 2026-10-22 17:02:26
190
举报

当 Agent 对话轮次增多,上下文窗口逐渐被历史消息填满——Token 成本飙升、响应变慢、甚至撞上模型上下文上限。这是 Agent 开发者 2026 年最常遇到的性能瓶颈。

根因不在于模型能力,而在于 Context 管理策略。本文对比三种主流策略,帮你判断哪种适合你的场景。

策略一:滑动窗口截断

最简单的做法:只保留最近 N 轮对话,更早的直接丢弃。

维度

说明

原理

固定窗口大小,超出则砍掉最旧消息

优点

实现零成本,Token 消耗可预测

缺点

早期关键约束被丢弃,Agent "失忆"

适用

短任务、单轮交互为主的场景

问题在于:对话里最重要的信息往往不在最后几轮。用户在第 2 轮说的"不要用 OAuth"约束,到第 20 轮时已经被截断了——Agent 可能恰好给你写了一套 OAuth 流程。

策略二:摘要压缩

定期把旧对话摘要化,用摘要替换原文。

维度

说明

原理

每隔 N 轮触发一次摘要,用摘要替换原始消息

优点

保留更多信息比截断,Token 有所节约

缺点

摘要过程本身消耗 Token;关键细节可能在压缩中丢失

适用

中等对话深度、对细节保留有一定要求的场景

摘要的核心风险是"有损压缩"。一个具体的报错信息、一个版本号、一个环境变量——这些在摘要时最容易被泛化掉,但恰恰是 Agent 执行任务最需要的精确信息。

策略三:分层记忆 + 按需召回

更彻底的方案:不对对话做"一揽子"压缩或截断,而是把记忆分层存储,按任务需要精准召回。

以 TencentDB Agent Memory 为例,对话先存为 L0 原始记录,异步管道逐层提炼:

层级

存储内容

召回时用途

L0 对话

带完整上下文的原始对话

回溯确切措辞、时间戳和来源

L1 原子

从对话中提取的事实、偏好、约束、事件

精确召回可操作信息

L2 场景

围绕项目或场景组织的知识块

快速恢复工作上下文

L3 画像

长期用户画像、稳定模式

让 Agent 快速进入用户上下文

检索时:

  • L2/L3 提供轻量上下文引导
  • 需要具体事实时,通过 BM25 + 向量检索 + RRF 回退到 L1/L0
  • 结果受条目数、字符预算、超时三重约束——记忆补充上下文而非撑爆上下文

关键区别:截断和摘要是"处理对话",分层记忆是"管理信息"——不同重要程度的信息进入不同层级,召回时只取相关切片。

三种策略对比

策略

Token 控制

信息保留

实现复杂度

适合场景

滑动窗口截断

强(硬上限)

差(直接丢弃)

极低

短任务

摘要压缩

中(有损节约)

中(细节可能丢失)

中

中等深度

分层记忆 + 按需召回

强(预算约束)

强(分层保留)

中高

长期协作、多 Agent

PersonaMem 基准测试中,TencentDB Agent Memory 启用后 Agent 用户信息理解准确率从 48% 提升到 76%——压缩上下文的同时不牺牲理解质量。

还能做什么:结构化索引

除了对话分层,TencentDB Agent Memory 还提供两种结构化索引资产,消除重复粘贴:

  • Wiki:文档自动处理为结构化页面 + 链接图,Agent 按需检索而非全文载入
  • CodeGraph:代码符号、调用关系、影响路径索引,改代码前直接查询影响范围

集成方式

Proxy 代理,零代码侵入——Agent 的 base URL 指向 Proxy 即可。支持 DeepSeek Harness、Claude Code、Codex、CodeBuddy、WorkBuddy、Hermes、OpenClaw。

代码语言:bash
复制
git clone https://github.com/TencentCloud/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory/deploy/global-images
./start-all.sh

MIT 协议。仓库地址:https://github.com/TencentCloud/TencentDB-Agent-Memory

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 策略一:滑动窗口截断
  • 策略二:摘要压缩
  • 策略三:分层记忆 + 按需召回
  • 三种策略对比
  • 还能做什么:结构化索引
  • 集成方式
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档