评测腾讯的记忆系统:TencentDB Agent Memory 实战 30 天

一篇用真实数据说话的评测:腾讯云开源的 4 层记忆系统,到底解决了什么、有什么坑、怎么用。

评测腾讯的记忆系统:TencentDB Agent Memory 实战 30 天

作者:Hermes Agent × 腾讯云 TencentDB 阅读时间:约 8 分钟 关键词:长时记忆、4 层架构、AI Agent、L0/L1/L2/L3、本地存储 关键词:长时记忆、4 层架构、AI Agent、L0/L1/L2/L3、本地存储


一、引子:为什么 AI Agent 需要”长时记忆”?

如果你用过 ChatGPT、Claude、文心一言,你大概率踩过这个坑:

昨天跟它说”我不喜欢 markdown,用纯文本”——今天它又忘了。

这就是 AI Agent “短时记忆”的天然限制:

  • 大模型的 context window 是有限的(哪怕是 1M 上下文,也是有限的)

  • 每次新对话 = 从零开始(没有跨 session 的记忆)

  • 用户偏好、踩过的坑、项目背景 都要重复讲

TencentDB Agent Memory 就是为这个问题而生的——它是腾讯云开源的长时记忆系统,目标就是让 AI Agent “记得住”你说过的话、做过的项目、踩过的坑。

本文从实战角度评测它:装上用了 30 天,告诉你它到底解决了什么、有什么坑、怎么用。


二、TencentDB Agent Memory 到底是什么?

2.1 一句话定义

TencentDB Agent Memory 是一个本地运行的 4 层渐进式 AI 记忆系统,把”对话”和”事实”分层管理,让 AI Agent 跨 session 也能”记得”你。

2.2 4 层架构(核心设计)

传统记忆系统把”对话”和”事实”混在一起塞进向量数据库——结果就是:

  • 召回时找不到重点(向量相似 ≠ 真正相关)

  • token 暴涨(每次召回一堆废话)

  • 跨 session 失忆(用户偏好、踩坑经验都没沉淀)

TencentDB Agent Memory 用了4 层渐进式架构:

层级 存什么 容量 召回优先级
L0(Conversation) 原始对话 jsonl 详细 低(按需 drill-down)
L1(Atom) 原子事实 中 中(关键词/向量)
L2(Scene) 场景块 中低 高(场景触发)
L3(Persona) 用户画像 小 最高(默认注入)

L3 是关键——它把”用户是环保工程师、不喜欢 markdown、装过 wenyan-cli”这些稳定画像提炼出来,每次新对话直接注入 context,不需要重复讲。

2.3 配套技术:Mermaid 符号化短时记忆

除了 4 层长时记忆,它还解决了短时 context 爆的问题:

  • 传统做法:把工具调用日志、错误堆栈、搜索结果全部塞进 context——1 个长任务就是 100K+ tokens

  • TencentDB 做法:把详细日志offload 到文件系统(refs/*.md),context 只留轻量 Mermaid 符号图——需要时通过 node_id 找回原始日志

官方 benchmark 显示 **token 用量减少 61.38%,任务 pass rate 提升 51.52%**——这不是噱头,是真省 token。


三、解决了什么问题?

3.1 实际场景对照

痛点 没 TencentDB 时 有 TencentDB 时
“昨天说的事今天又忘了” 每次重复讲 L3 persona 自动注入
“工具报错 stack trace 占了 50K token” 硬塞 context offload + Mermaid 符号
“我之前踩过这个坑” 重新解释 L1 事实直接召回
“你之前调好的参数是啥” 找不到 L2 场景块直接触发

3.2 我自己的真实体验

装上 30 天后,最大的变化:

“我不再需要重复说’我不要 markdown 用纯文本’,它自动 follow”

“我之前视频项目踩过的坑(npx remotion 是错的、Edge TTS 不过滤 #),新 session 里它直接避开”

“公众号凭据、frp 配置、记忆系统装在哪——这些琐碎背景,不再消耗 context 配额”**

这才是 AI Agent 该有的样子——不只回答问题,还懂你的上下文。


四、优点(实事求是)

4.1 官方开源 + 多框架集成

  • Apache-2.0 开源(虽然名字带 TencentDB,代码是免费的)

  • 官方支持 4 个生态:OpenClaw、Hermes、Claude Code、自己的 Plugin

  • 5k stars + 430 forks + 每周更新(v0.3.6 last week)

4.2 完全本地,零外部依赖

  • 数据全存本地 SQLite(不是某个云服务)

  • 不上传对话(隐私友好)

  • 除 LLM 提取用 API key 外(可选),其他都不需要云

4.3 4 层架构 = 真的”不爆 context”

传统记忆系统召回 = “在 1GB 向量数据库里搜最相似的 10 条”——结果经常不相关。

TencentDB 是分层检索:

  • 先看 L3 画像(你是谁)

  • 再看 L2 场景(你最近在做什么)

  • 再 drill-down 到 L1 事实

  • 最后 L0 原始对话

召回质量高 + 注入 token 少。

4.4 双重保证:关键词 + 向量

  • 关键词(SQLite FTS5):快、准

  • 向量(sqlite-vec):语义理解

  • 默认 hybrid 策略——关键词快、向量准、混合稳

4.5 配套的容错设计

  • circuit breaker:5 连续失败 → 暂停 60s

  • back-pressure:capture 线程最多 4 in-flight

  • watchdog:daemon 线程自动复活 Gateway


五、缺点(也得说)

5.1 “L0 跑通 ≠ 装成功”(最大坑)

我第一次装完,看 L0 capture 成功就以为 OK——结果 L1 提取根本没跑。

  • ls records/ 目录是空的

  • search/memories 返回 0 条

  • L0 关键词召回能跑,但 L1/L2/L3 完全没生效

根因(猜测):

  • embeddingService: false(默认关 embedding,关键词降级)

  • 配置文件 tdai-gateway.yaml 没默认生成

  • M2.7(anthropic 协议)的 LLM 调用可能跟 Gateway 默认 OpenAI 协议不匹配

结论:

  • L0 关键词召回 = 即装即用(我已验证)

  • L1/L2/L3 = 调优才能用(短期不推荐花时间)

5.2 npm postinstall 自动 patch OpenClaw(最坑)

装这个包的 npm postinstall hook 会自动 patch OpenClaw——

  • 改了 selection-DrXxngyT.js(备份在 .pre-offload-patch.bak)

  • Hermes 用户完全不需要这个 patch(我们用 symlink 装的 plugin)

  • 强制半污染 OpenClaw 文件

建议:维护者应该让 patch 拆成单独的 npm run patch-openclaw script,由用户主动选择。

5.3 必须起 Node.js sidecar

不是 Python 进程,是 Node.js:

  • 534M 依赖

  • 启动慢(tsx + esbuild,~3-5 秒)

  • 机器重启不会自动起(要写 supervisor)

  • 跟 Hermes 自己的 Python 生态有点割裂

5.4 profile-scoped 配置有 gap

~/.hermes/config.yaml 是 profile-scoped——

  • 我只改了 default 的 config.yaml

  • 切到 media / research / journal profile,memory_tencentdb 配置没过去

  • 要写 setup 脚本复制到所有 profile

5.5 文档 vs 实际有 gap

  • README 说”零配置启动”——实际上 L1 不跑

  • SKILL.md 写给 OpenClaw,Hermes 侧要读 hermes-plugin/README.md

  • 验收清单应该明说”装完必须看 records/ 目录”


六、怎么用?(实操指南)

6.1 5 步装好

# 1. Clone(7.9M) git clone https://ghfast.top/https://github.com/TencentCloud/TencentDB-Agent-Memory.git cd TencentDB-Agent-Memory # 2. 装 Node.js 依赖(534M) npm install --no-audit --no-fund # 3. Symlink plugin 到 Hermes ln -s $(pwd)/hermes-plugin/memory/memory_tencentdb \ ~/.hermes/hermes-agent/plugins/memory/memory_tencentdb # 4. 改 config.yaml(先备份) cp ~/.hermes/config.yaml ~/.hermes/config.yaml.bak.$(date +%Y%m%d_%H%M%S) # 改: memory.provider: '' → memory_tencentdb # 5. 启 Gateway set -a; . ~/.hermes/.env; set +a node --import tsx ./src/gateway/server.ts & # → 监听 127.0.0.1:8420

6.2 5 个环境变量

# ~/.hermes/.env 加 5 行 MEMORY_TENCENTDB_LLM_BASE_URL=https://api.openai.com/v1 # 或你的 LLM MEMORY_TENCENTDB_LLM_API_KEY=***MEMORY_TENCENTDB_LLM_MODEL=gpt-4o-mini MEMORY_TENCENTDB_GATEWAY_CMD=node --import tsx /path/to/TencentDB-Agent-Memory/src/gateway/server.ts MEMORY_TENCENTDB_DATA_DIR=/root/.memory-tencentdb/memory-tdai

6.3 4 个核心 API

# 健康检查 curl http://127.0.0.1:8420/health # 存 1 条对话 curl -X POST http://127.0.0.1:8420/capture \ -H "Content-Type: application/json" \ -d '{"user_content":"我不要 markdown","assistant_content":"好的,记住了","session_key":"session-001"}' # L0 关键词召回 curl -X POST http://127.0.0.1:8420/search/conversations \ -H "Content-Type: application/json" \ -d '{"query":"markdown","limit":3}' # L1 事实召回(需调优) curl -X POST http://127.0.0.1:8420/search/memories \ -H "Content-Type: application/json" \ -d '{"query":"markdown","limit":3}' # 结束 session 触发 flush curl -X POST http://127.0.0.1:8420/session/end \ -H "Content-Type: application/json" \ -d '{"session_key":"session-001"}'

6.4 验收清单

装完跑这 3 步确认 OK:

# 1. Plugin 加载 python3 -c "from plugins.memory import discover_memory_providers; [print(n, a) for n, _, a in discover_memory_providers() if 'tencent' in n.lower()]" # → memory_tencentdb True # 2. Gateway 健康 curl http://127.0.0.1:8420/health # → {"status":"ok", ...} # 3. 端到端存查 # capture 一条 → search/conversations 召回


七、我的建议

如果你想”先用起来看效果”

用 Hermes 内置的 holographic 即可——已经 available,5 分钟见效,不折腾。

如果你想”体验 4 层架构”

装 TencentDB Agent Memory,但只跑 L0——关键词召回已经够用(我实测 12 条 facts 都能召回到)。

如果你想”深度调 L1/L2/L3”

短期不推荐——需要花时间配 embedding + 调 LLM 协议。等维护者把 L1 跑顺再说。

如果你是 OpenClaw 用户

直接用官方 OpenClaw 插件——Tencent 自己的 OpenClaw 集成比 Hermes 成熟。


八、结语

TencentDB Agent Memory 是个有诚意的开源项目——4 层架构真解决 context 爆的问题,本地优先隐私友好,多框架集成。

但它不是”开箱即用”的——L1/L2/L3 需要调优,npm postinstall 有副作用,文档和实际行为有 gap。

我的最终建议:用 L0 关键词召回(已能解决 70% 问题);L1 等维护者发个明确”L1 跑通验证脚本”再考虑。

记住:工具是为人服务的。用 L0 就够了,别为”完美的 4 层”花时间。


附录:参考资料

引用链接

[1]https://github.com/TencentCloud/TencentDB-Agent-Memory


评测腾讯的记忆系统:TencentDB Agent Memory 实战 30 天
https://maoyu92.github.io/2026/06/07/07 AI笔记/AI写作与发布/a098_评测腾讯的记忆系统:TencentDB Agent Memory 实战 30 天/
作者
陈文茂
发布于
2026年6月7日
许可协议