首页 > 教程攻略 > ai资讯 >让 Agent 拥有超强记忆,TencentDB Agent Memory 开源了!

让 Agent 拥有超强记忆,TencentDB Agent Memory 开源了!

来源:互联网 时间:2026-06-11 14:13:10

最近关于 AI Agent 的讨论越来越热,但细聊下来发现,不少用 Agent 做过项目的人都经历过同一种抓狂:花了大半天把项目背景交代得清清楚楚——技术栈是 TypeScript,测试文件放在 __tests__ 目录,代码注释要简短,还有一堆踩坑指南——结果新开一个会话,Agent 立马失忆,一切又得从头再来。

这种重复交代的循环,本质上就是在浪费人机协作积累的经验价值。那些踩过的坑、确认过的偏好、跑通过的流程,本可以沉淀下来,却随着会话结束凭空消失。随着 Agent 在真实项目中用得越来越深,AI 失忆已经成了实实在在的工时消耗。

这也不难理解,为什么过去两年里"Context Engineering"(上下文工程)会被反复讨论。答案其实很清晰:给模型提供什么样的信息、以什么结构组织这些信息,这件事的重要性正在逼近模型能力本身。而 AI 的记忆层,也正从一个可选插件,变成 Agent 架构里绕不过去的基础组件。

就在这个背景下,腾讯云数据库团队开源了一套面向 AI Agent 的分层记忆引擎:

TencentDB Agent Memory

。开源没多久就收获了 4500+ Star。它的核心目标很直接——

不是让 AI 存下所有东西,而是让人不必重复跟 AI 交代所有事情

下面就来拆解一下,这个项目究竟能解决什么问题,背后的技术原理又是什么。

狂塞上下文,对话越来越乱

以前遇到 Agent 失忆,最直接的做法就是把历史对话全部塞进上下文,让 Agent 每次都能看到完整的过去。说实话,对话短的时候这招挺管用,可一旦牵扯到长线复杂任务,三个问题就会立刻暴露:

  1. 跨会话断裂

    ——历史对话不跨会话保留,换了会话就等于没有记忆;
  2. 事实与偏好混淆

    ——"我喜欢用 TypeScript"和"帮我查一下天气",两条信息的方向完全不同,混在一起等于什么都没记住;
  3. 上下文膨胀

    ——任务越长,历史记录越多,Token 消耗成倍增长,模型的注意力也持续衰减。

既然暴力堆历史不行,那就试试长上下文压缩?结果再次被打脸。传统的摘要压缩是有损的,压缩完就没办法还原,出了问题只能让 AI 猜,根因根本找不到。

记忆分层,对话更清晰

TencentDB Agent Memory 给出的解法是:给长期记忆建立层级,给短期记忆引入符号压缩。

长期记忆:四层语义金字塔

之前大多数记忆方案把对话切成片段,扔进向量数据库,所有信息平铺在同一层。比如"你喜欢用 TypeScript"和"你昨天问了天气"这两句话,在向量数据库里地位同等,召回时只能靠相似度碰运气,没有宏观结构引导。

这次换了个思路:

分层蒸馏,而不是平铺堆积

。先让模型提取出有用的事实,再归纳成场景,最终浓缩成用户画像。

这四层从下往上依次是:

  • L0:全量保留原始对话;
  • L1:自动提取原子事实(代码偏好、踩坑记录、工作约定);
  • L2:按场景聚类成记忆块;
  • L3:持续蒸馏出稳定的用户画像。

Agent 会先从 L3 画像获取方向,需要更多细节时逐层往下钻。上层给的是方向,下层留的是证据。还有一个额外的好处:出了问题,可以沿着 L3→L2→L1→L0 这条链路一路追溯,不用在黑箱里猜。

短期记忆:Mermaid 符号画布

Agent 执行长任务时,调用工具产生的中间输出——搜索结果、代码日志、报错信息——叠加起来动辄几万 Token。如果全堆在对话上下文,很快就能撑爆上下文长度。

TencentDB Agent Memory 用 Mermaid 做符号压缩。Mermaid 这种图形化语言,既能让 LLM 精确解析,人也能直接阅读,不像 JSON 那样读起来费劲,也不像纯文本摘要容易丢失结构。

具体做法是:工具调用的详细输出保存到外部文件 refs/*.md,上下文中只保留一张 Mermaid 任务状态图,每个节点有 node_id。需要细节时,可以根据节点 ID 从文件中直接定位读取。这样既能保证原文不丢、结构可查,又能阻止 Token 线性增长。

真正价值,不止于节省 Token

以上这些解法带来的价值远不止于省 Token。值得关注的有三点:

从项目结构上看,所有记忆中间产物都以可读文件存在本地 ~/.openclaw/memory-tdai/,L3 是 persona.md,L2 是 Markdown,L1 是原始事实列表。以前大部分记忆系统出问题只能靠向量分数瞎猜,这里可以直接沿 L3→L0 一路追溯——对生产环境来说,这意味着极强的可维护性。

试想下,当打开 persona.md 文件,就能直接看到 Agent 把你记成了什么样的人。

对于开发者而言,代码本身也是一份非常值得学习的设计文档。分层记忆、符号压缩、异构存储都有清晰完整的架构,想自建类似系统的话,可以直接上手读源码学习研究。

另外,数据默认存放在本地 SQLite,不依赖任何外部 API,对企业用户或数据隐私敏感场景非常友好。

数据测试方面,以连续长任务会话为例,在 SWE-bench 上每个会话连续跑 50 个任务。WideSearch 显示 Token 消耗降低

61.38%

,成功率提升

51.52%

;PersonaMem 长期记忆准确率从

48%

升到

76%

。不仅 Token 消耗大幅降低,长期记忆的准确率也得到了明显提升。

接入很简单,不只限于龙虾

接下来聊下怎么用。项目提供了三种接入方式,都非常简单。

如果用 OpenClaw,可以作为

OpenClaw 插件

安装,只需两行命令,无需配置,开箱即用:

openclaw plugins install @tencentdb-agent-memory/memory-tencentdb
openclaw gateway restart

对于

Hermes Agent

,可以使用 Docker 快速部署,支持任何兼容 OpenAI 接口的模型。

最新开源的 1.0.0-beta.1 版本还提供了

独立服务模式

,可以从嵌入式插件升级为独立可部署的 Memory 服务,并提供完整 HTTP v2 RESTful API,用 TypeScript SDK 或 Python SDK 即可快速开始。

有了这些接入方式,不管用什么 Agent 框架,只要能发 HTTP 请求,都能快速接入,让模型的长期记忆层变成通用基础设施。

写在最后

Agent 失忆不只是使用体验问题,更是在不断浪费每一次人机协作产生的经验价值。近半年模型能力增长已在逐步放缓,下一个真正的差异化将不在模型参数量,而在经验的积累。

当我们和 Agent 协作的时间越长,它就越懂我们的代码风格、踩过的坑、惯用的解决方案。这些完全都属于我们自己的数字资产,不会因为更换或升级模型而消失。

现在腾讯云数据库团队将记忆层这套基础设施开源了,个人开发者也能轻松建立自己的经验壁垒。更重要的是,让人能从重复交代、重复踩坑的消耗里解放出来,把更多精力放在真正的判断和创造力上。

相关下载