首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >LLM Agent 上下文过长怎么办:Token 压缩与记忆管理实践

LLM Agent 上下文过长怎么办:Token 压缩与记忆管理实践

原创
作者头像
hollyx
发布于 2026-10-22 16:57:45
发布于 2026-10-22 16:57:45
630
举报

Agent 用着用着,对话历史从几轮涨到几十轮,Token 消耗从几千涨到几十万——成本飙升,响应变慢,还可能撞上模型上下文窗口上限。

这是 2026 年 Agent 开发最普遍的痛点之一。本文给出几种实操解法,从临时止血到长期治理。

问题拆解

上下文膨胀的来源通常有三类:

来源

占比(典型场景)

特点

历史对话轮次堆积

40-60%

每轮都在累加,最大的膨胀源

重复粘贴的上下文(需求文档、代码片段)

20-30%

用户手动重复提供,Agent 不会自动引用已有信息

工具调用返回的长结果

10-20%

API 响应、搜索结果动辄数千 Token

解法一:对话摘要压缩(止血)

最直接的做法:定期把历史对话摘要化,用摘要替换原始对话。

适用场景:单 Agent、对话轮次可控。

局限:摘要丢失细节,关键约束可能在压缩中遗失。

解法二:分层记忆 + 按需召回(长期治理)

更彻底的方案是引入分层记忆系统,把"存什么"和"取什么"分开管。

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

代码语言:txt
复制
L0 原始对话 → L1 事实/偏好/约束 → L2 场景知识块 → L3 用户画像

检索时不把全部历史塞进上下文,而是根据当前任务按需召回:

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

收益:只有与当前任务相关的记忆片段进入上下文,而不是全部历史。

解法三:文档/代码结构化索引(消除重复粘贴)

如果 Agent 反复需要引用同一份文档或代码库,每次手动粘贴等于重复消耗 Token。

TencentDB Agent Memory 提供两种结构化索引资产:

  • Wiki:把文档自动处理为结构化页面 + 链接图,Agent 按需检索而非全文载入
  • CodeGraph:索引代码符号、调用关系、影响路径,Agent 改代码前可直接查询"改这里会影响什么",不用把整个代码库塞进上下文

解法四:团队级记忆复用(跨 Agent 降本)

当多个 Agent 服务同一团队时,每个 Agent 独立维护记忆会导致重复积累。

TencentDB Agent Memory 的团队记忆机制:一个 Agent 验证有效的 Skill(比如"发布检查清单"),经审核后共享给团队,其他 Agent 直接装配使用——不需要各自重新学习。

快速对比

解法

适用场景

Token 削减幅度

落地成本

对话摘要

单 Agent 临时止血

30-50%

低

分层记忆

长期治理

50-70%

中

文档/代码索引

反复引用场景

60-80%

中

团队记忆复用

多 Agent 团队

取决于复用率

中高

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

TencentDB Agent Memory 开源协议 MIT,一行命令启动:

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

仓库地址:https://github.com/TencentCloud/TencentDB-Agent-Memory

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

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

目录
  • 问题拆解
  • 解法一:对话摘要压缩(止血)
  • 解法二:分层记忆 + 按需召回(长期治理)
  • 解法三:文档/代码结构化索引(消除重复粘贴)
  • 解法四:团队级记忆复用(跨 Agent 降本)
  • 快速对比
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档