
腾讯开源了一个Agent Memory项目,叫TencentDB Agent Memory。
我觉得它值得看,不是因为「AI终于记住你喜欢喝冰美式」这种产品级话术,而是因为它在处理一个更底层的问题:
长程Agent到底怎么管理自己的记忆?
现在很多Agent Memory项目,本质还是把历史对话切片,丢进向量库,再靠相似度召回。
这个思路能跑Demo,但一旦任务变长,就很容易出问题。
因为工具调用日志越来越长,而且搜索结果也会越来越多。
代码报错、文件 diff、命令输出一层叠一层。
最后上下文窗口里塞满了过程垃圾,模型表面上还在工作,实际上已经在信息泥潭里翻滚。
腾讯这个项目的核心设计是:
TencentDB Agent Memory=符号化短期记忆+分层式长期记忆。
短期记忆,解决的是单次长任务里的上下文爆炸。
它会把厚重的工具日志卸载到外部文件,比如refs/*.md。
中间层保留步骤摘要,比如jsonl。
最高层只给Agent留一张轻量级Mermaid任务图。
这张图里有node_id。
Agent平时只看任务结构,不需要把几十万Token的原始日志全塞进上下文。
一旦需要核对细节,再根据node_id下钻回原始文件。
这个很关键,因为它不是简单摘要。
简单摘要最大的问题是,省了Token,也丢了证据。
这里的设计更像「压缩索引」:高层保留结构,底层保留证据,中间靠ID打通。
长期记忆,解决的是跨会话的用户理解。
它把记忆分成L0到L3:
L0 Conversation:原始对话。
L1 Atom:结构化事实。
L2 Scenario:场景块。
L3 Persona:用户画像。
也就是说,它不会把所有历史平铺成一堆向量碎片,而是做成一座语义金字塔。
平时用L3 Persona理解用户的长期偏好和工作方式。
需要具体事实时,再回到L1 Atom甚至L0原始对话。
这比「召回几条最相似历史」更像真正可用的记忆系统。
参数里也能看出它不是随手糊的Demo。
默认存储后端是sqlite,本地用SQLite+sqlite-vec,也可以切到腾讯云向量数据库TCVDB。
召回策略默认是hybrid,支持keyword、embedding和hybrid三种。hybrid用RRF融合,兼顾关键词和语义召回。
默认每次召回maxResults=5,最低分数阈值scoreThreshold=0.3,召回超时timeoutMs=5000毫秒,超时就跳过记忆注入,不阻塞当前对话。
L1记忆提取默认每5轮对话触发一次。
单个session最多提取20条L1记忆。
每新增50条记忆,触发一次Persona生成。
新session还有Warm-up机制,从1轮开始触发,然后按1→2→4→...逐步翻倍到设定阈值。
这其实挺符合真实使用。
刚开始对话时,系统应该更快建立上下文;对话稳定后,再降低提取频率,别每轮都在后面疯狂炼丹。
它的短期记忆压缩默认关闭,需要手动打开offload.enabled=true。
这里有几个值得看的参数:
defaultContextWindow=200000,默认按20万上下文窗口估算。
mildOffloadRatio=0.5,上下文占到50%时触发温和压缩。
aggressiveCompressRatio=0.85,占到85%时触发激进压缩。
mmdMaxTokenRatio=0.2,Mermaid任务图注入上下文的Token预算最多占20%。
maxPairsPerBatch=20,每批最多处理20个tool pair。
forceTriggerThreshold=4,累积4个tool pair后强制触发L1。
l2NullThreshold=4,offload日志里node_id=null数量到4时触发L2。
l2TimeoutSeconds=300,距离上次L2超过300秒也会触发。
这些参数透露出的东西是:
它不是在做「AI记忆」这个概念,而是在做长程Agent运行时的上下文调度。
官方给了一些实际的Benchmark数据。
接入OpenClaw插件后,WideSearch成功率从33%到50%,Token消耗从221.31M降到85.64M。
SWE-bench成功率从58.4%到64.2%,Token消耗从3474.1M降到2375.4M。
AA-LCR成功率从44.0%到47.5%,Token消耗从112.0M降到77.3M。
PersonaMem准确率从48%到76%。
这些数据目前看是项目方自测,最好等更多复现。
但方向本身是对的。
因为长程Agent未来真正难的地方,不只是模型能力。
还有上下文管理、证据保留、任务恢复、历史经验沉淀。
人类工作时也不会把所有聊天记录、搜索页面、命令行输出同时摊在桌上。
正常人会做笔记、列任务图、保留引用、写SOP。
Agent最后也得这样。
我觉得这个项目有意思的地方就在这里:
它把Memory从「记住用户偏好」推进到了「管理任务状态」。
未来Agent的记忆系统,可能不会长得像一个无限大的聊天记录仓库。
它更可能像一套分层文件系统:
上层是画像和任务图。
中层是场景、步骤和索引。
底层是原始证据。
平时压缩,必要时展开。
平时抽象,出问题时追证。
这才是Agent真正开始接近「会真人工作」的地方。
Tencent AI@TencentAI_News
We spent 6 months on one problem: agents losing context in long sessions. Ended up building and open-sourcing an agent memory system. A few things we learned: 🪄compressing stale context mid-session cut token usage by 61% 🪄giving agents a structured task map (mermaid-based) made them way less likely to lose track in 30+ step workflows 🪄persona coherence jumped from 48% to 76% once we added dedicated persona memory repo 👉 github.com/Tencent/Tencen… Agent memory is genuinely hard and we don't have all the answers. Happy to dig into architecture, benchmarks, tradeoffs, whatever. AMA👇 @TencentDBAbxo2 team is here to talk about it.
中文
