你的AI助手又忘事了?腾讯4层记忆系统让token暴降61%
每次跟AI聊到第50轮,它就忘了你第一轮说过啥。你反复解释项目背景、输出格式、偏好习惯,感觉自己不是在跟AI协作,是在带一个记忆力只有7秒的金鱼。
这不是你的问题,是当前所有AI Agent的通病。上下文窗口再大,也扛不住长时间任务中的信息轰炸。工具日志、搜索结果、报错堆栈,这些东西塞满了上下文,模型要么丢三落四,要么token账单直接爆炸。
腾讯云最近开源了一个方案,思路很清奇:不是把什么都塞进上下文,而是给AI装了一套4层记忆系统。
核心思路:记忆不是堆砌,是分层
传统做法是把对话历史切片扔进向量数据库,用的时候检索出来拼到上下文里。问题是这些碎片之间没有结构,召回基本靠运气。
TencentDB Agent Memory 的设计哲学是:记忆应该有层次,有主次,有压缩比。
短期记忆:符号化压缩
长任务中最吃token的是那些冗长的工具输出。搜索返回的网页内容、代码执行结果、错误堆栈,动辄几万token。
这个系统的做法是:把完整日志卸载到外部文件,在上下文中只保留一个轻量级的Mermaid符号图。这个符号图用节点和边描述任务状态转换,几百个token就能表达原本几万token的信息。
当模型需要验证某个细节时,通过node_id回溯到原始文件,精确检索,而不是把所有东西都堆在上下文里。
效果:token消耗降低61.38%,任务通过率提升51.52%。
长期记忆:金字塔结构
跨会话的记忆也不是扁平存储。系统构建了4层语义金字塔:
• L0 对话层:原始对话记录
• L1 原子层:从对话中提取的原子事实
• L2 场景层:将原子事实聚合为场景块
• L3 画像层:提炼出用户画像和偏好
日常使用时,系统只加载L3画像层,token开销极小。需要细节时,逐层下钻到L1原子层。这比"把所有历史对话向量化然后盲搜"要精准得多。
实测PersonaMem基准测试中,准确率从48%提升到76%。
技术亮点拆解
零外部API依赖
整个系统默认用本地SQLite + sqlite-vec做后端,不需要调用任何外部服务。所有记忆数据留在本地,隐私安全有保障。
完全可追溯
压缩不等于丢失。从顶层画像到底层原始日志,系统维护了确定性的追溯路径。任何一个提炼出的用户偏好,都能追溯到它来自哪次对话的哪句话。
双存储策略
底层数据(事实、日志、执行轨迹)存在数据库中,支持全文检索。顶层数据(画像、场景、符号画布)存为Markdown文件,人可以直接阅读和审查。底层保证据,顶层保结构。
支持主流Agent框架
目前支持OpenClaw和Hermes两个框架,一行命令安装插件即可启用。
最简上手
如果你在用OpenClaw,安装只需要一行:
openclaw plugins install @tencentdb-agent-memory/memory-tencentdb
openclaw gateway restart
启用后,系统自动处理对话捕获、记忆提取、场景聚合、画像生成和召回。不需要手动管理任何东西。
如果你想用Docker跑一个带记忆的Hermes Agent:
cd docker/opensource
docker build -f Dockerfile.hermes -t hermes-memory .
docker run -d \
--name hermes-memory \
--restart unless-stopped \
-p 8420:8420 \
-e MODEL_API_KEY="your-api-key" \
-v hermes_data:/opt/data \
hermes-memory
默认使用腾讯云DeepSeek-V3.2,也可以换成任何OpenAI兼容的endpoint。
老司机辣评
优点:
• 架构设计扎实,分层记忆比扁平向量存储合理得多
• 符号化短期记忆是个聪明的思路,Mermaid图既省token又可读
• 零外部依赖,数据全在本地,企业场景友好
• 实测数据亮眼,不是PPT工程
局限性:
• 记忆提取和分层本身需要调用LLM,有额外的推理开销
• 目前只支持OpenClaw和Hermes两个框架,覆盖面有限
• 长期记忆的L3画像层质量依赖底层LLM的提取能力
• 对于超大规模多用户场景,本地SQLite可能不够用,需要评估性能瓶颈
适用场景:
• 长时间运行的个人Agent,需要跨会话记住用户偏好
• 工具调用密集的自动化任务,token成本是痛点
• 对数据隐私有要求的企业部署
项目地址:https://github.com/TencentCloud/TencentDB-Agent-Memory
夜雨聆风