abc小站

2026-10-14

记性好不如记得对:读 TencentDB Agent Memory 有感

TencentDB Agent Memory:本地 SQLite 加可读可改的 Markdown,四层语义金字塔做 Agent 记忆,附项目自报数据与局限。

人上了年纪,最先察觉的变化往往不是体力,而是记性。不是说什么都记不住,而是记住的东西开始有了层次:昨天谁说了一句什么话,转眼就忘了;可那句话背后的意思,那人是个什么脾气,做事有什么习惯,却记得越来越牢。我一直觉得这不是退化,是一种取舍。脑子就那么大,装不下所有原话,只好把原话熬成汤,留下味道,倒掉渣子。这几天在看一个叫 TencentDB Agent Memory 的开源项目,越看越觉得,做这件事的人大概也琢磨过同样的道理。

先把事实交代清楚。据项目仓库页面,这个项目放在 GitHub 的 TencentCloud/TencentDB-Agent-Memory 下,仓库创建于 2026 年 4 月,10 月 14 日查看时大约有 2.88 万星,本周在 X 上又被人传了一轮。仓库自述把它叫作「面向 AI Agent 的团队级记忆中枢」,要把对话、文档、代码变成四类可以反复使用的记忆资产,分别叫 Chat Memory、Skill、LLM-Wiki 和 Code-Graph,而且可以跨不同的 Agent、不同的框架去治理和共享。名字里虽然带着 TencentDB,它其实是一个独立的开源库,并不是腾讯云上的某种数据库服务,这一点读的人最好先记住,免得一看名字就以为要去开账户买实例。

Agent 的记性,向来是个尴尬的问题。大模型本身没有长期记忆,每次对话都像是初次见面,你得把前因后果再讲一遍。于是大家想了办法,把过去的对话切成碎块,算成向量,存进向量数据库,用的时候按相似度捞几块出来塞回上下文。这办法管用,却总让人觉得哪里不对劲。捞出来的是原话的碎片,模型得自己再拼一遍意思;碎片放在一个人看不懂的索引里,记错了你也不知道错在哪,知道了也不好改,往往只能整个重建。这就好比一个人记事全靠一麻袋剪报,要用时伸手进去摸,摸到什么算什么。

据一篇 10 月 13 日发在 tau-home 上的解读文,TencentDB Agent Memory 的做法是把记忆分成四层,叫作语义金字塔。最底下 L0 是对话原文,往上 L1 是从对话里抽出的原子事实,再往上 L2 是场景和任务流程,最顶上 L3 是人设与偏好。底层存的是发生过什么,顶层存的是这人是谁、喜欢什么。我读到这里的时候不免笑了一下,这不就是我前面说的熬汤么:原话是渣子,偏好是味道,中间两层是火候。

真正让我觉得有意思的,是它存东西的方式。据解读文,整个系统跑在本地的 SQLite 上,用 sqlite-vec 做向量索引,并不依赖云上的向量库;而金字塔上面几层,是用人能直接读的 Markdown 文件存的。这件事看着朴素,其实分量不轻。记忆一旦变成人能读的文字,它就不再是一个黑箱,而是一本可以翻、可以改的笔记。解读文里说,出了错可以直接改文件,不用重建索引。一个 Agent 若是把你的偏好记反了,你打开文件,把那一行改过来,就完了。这种「看得见、改得动」的感觉,比任何检索精度上的提升都更让人安心,句号。

它还有两处小心思。一是短期状态,据解读文是用 Mermaid 图的形式注入上下文,也就是把当前任务做到哪一步、各步之间什么关系,画成一张文字版的流程图交给模型;二是那些又臭又长的工具日志,不再一股脑塞进上下文,而是落盘存起来,需要时按 node_id 回头去查。前一处是给模型一张地图,后一处是让模型别背着整个行李箱走路。我是个记性日渐不济的人,对这种「别什么都背在身上」的设计,天然有好感。

项目方自己报了两个数字:token 消耗降低 61%,在 PersonaMem 这个评测上,准确率从 48% 提到 76%。我顺手算了一下,后一项是提高了 28 个百分点,相对提升大约 58%。但这两个数都是项目自报的,我没有见到第三方复现,也没有亲手去跑,只能如实转述,不敢替它打包票。

接下来要说些泼冷水的话,这也是那篇解读文自己说的。第一,它并没有抛弃向量检索,sqlite-vec 就在那里,只是向量从主角变成了配角之一,所以网上那种「干掉向量数据库行业」的说法,属于夸大,听听就好。第二,L2 和 L3 这两层是靠大模型做摘要生成的,模型摘要若是抽错了一个事实,这个错会顺着金字塔往上传,最后变成一条错误的「偏好」,而偏好恰恰是最常被调用的那一层。好在它是 Markdown,错了能改;坏在你得先发现它错了。第三,如果你希望 Agent 长期记着某个目标,并且每次都主动带上,这件事据解读文需要自己去实现,项目本身并不替你做。

说到底,记忆这件事,人和机器面对的是同一个难题:记得多不难,难的是记得对,以及记错了以后能不能改。人的办法是反省,是在某个夜里忽然意识到自己对某人的印象一直是错的,然后慢慢修正。机器没有夜里,只好把记忆摊开成文件,让人替它反省。我以为这比追求一个更大的向量库要老实得多。一个 Agent 若能像老朋友那样记得你的脾气,又允许你指着它的笔记说「这条不对」,那它就算记性一般,也已经比大多数人强了,不是么?

来源:GitHub:TencentCloud/TencentDB-Agent-Memory;tau-home 解读文(10 月 13 日)。token -61%、PersonaMem 48%→76% 为项目自报;相对提升约 58% 为作者自算;实现细节出自解读文而非仓库自述。