返回 FEED
PAPER2026-05-15

腾讯开源 Agent Memory:四层渐进式记忆系统

腾讯花了 6 个月解决一个问题:Agent 在长 session 中丢失上下文。最终成果是开源的 TencentDB Agent Memory——一个完全本地的 Agent 长期记忆系统,零外部 API 依赖。

核心数据

接入 OpenClaw 后的实测效果:

记忆能力BenchmarkOpenClaw 成功率接入插件后相对提升OpenClaw Token接入插件后 Token相对降低
短期WideSearch33%50%+51.52%221.31M85.64M−61.38%
短期SWE-bench58.4%64.2%+9.93%3474.1M2375.4M−33.09%
短期AA-LCR44.0%47.5%+7.95%112.0M77.3M−30.98%
长期PersonaMem48%76%+59%

结果在连续长程 session 中测量,非孤立轮次。例如 SWE-bench 每 session 连续跑 50 个任务,模拟真实长程 Agent 的上下文累积压力。

核心理念

记忆不是关于在 AI 中囤积一切——而是关于让人类不必重复自己。

实践中,我们不断向 Agent 重复解释同样的 SOP、项目背景、工具约定和输出格式。这些信息不应该需要重复,也不应该被不加区分地 dump 进上下文。

TencentDB Agent Memory 帮助 Agent 学习你的工作流、保留任务上下文、复用过往经验。团队拒绝暴力历史累积和不可逆的有损摘要,而是将记忆设计为分层系统:符号化记忆处理任务内信息过载,记忆分层处理跨 session 经验。

核心技术:拒绝扁平存储,拥抱分层与符号化

架构建立在两根支柱上:记忆分层符号化记忆。共同确保 Agent 不只是"记得更多",而是"推理得更好"。

1. 记忆分层:渐进式披露 + 异构存储

传统记忆系统将数据撕成碎片,dump 进扁平向量库。召回退化为在断连碎片间的盲目搜索,没有宏观指导。

无论长期知识、短期任务还是未来技能能力,记忆永远不该是扁平的——其形成和召回都必须是分层的。TencentDB Agent Memory 采用分层作为统一架构范式:

短期上下文分层

  • 底层:归档原始工具输出(refs/*.md
  • 中层:提取步骤级摘要(jsonl
  • 顶层:将状态浓缩为轻量级 Mermaid 画布
  • Agent 只需关注上下文中的顶层结构,出错时通过 node_id 钻取到下层

长期个性化分层

  • 用语义金字塔替代扁平日志:
    • L0 Conversation(原始对话)
    • L1 Atom(原子事实)
    • L2 Scenario(场景块)
    • L3 Persona(用户画像)
  • Persona 层携带日常偏好;系统仅在细节重要时才钻取到 Atom

技能生成分层

  • 分层也适用于动作。中层从底层执行轨迹(Conversation)推导常见解决模式(Scenario),顶层提炼可复用技能或标准 SOP(Persona)

异构存储与渐进披露

  • 双层存储策略支撑架构。底层(事实、日志、轨迹)持久化在数据库中,支持健壮的全文检索;顶层(画像、场景、画布)存储为人类可读的 Markdown 文件,信息密度高、可白盒检查
  • 下层保留证据;上层保留结构

全可追溯与无损恢复

  • 压缩常牺牲可追溯性。TencentDB Agent Memory 通过维护从高层抽象到 ground-truth 证据的确定性路径,避免不可逆压缩
  • 无论是卸载的错误日志还是提炼的用户偏好,系统保证完整的钻取路径:"顶层符号(Persona / canvas)→ 中层索引(Scenario / jsonl)→ 底层原始文本(L0 Conversation / refs)"

2. 符号化记忆:最小符号中的最大语义(Mermaid Canvas)

长任务中最大的 token 消耗者是冗长的中间日志(搜索结果、代码、错误轨迹)。为此,团队结合上下文卸载符号化记忆

  • Mermaid 符号图:不用冗长散文或扁平 JSON,用高密度的 Mermaid 语法编码任务状态转换——精确到 LLM 能解析,简洁到人类能阅读
  • 历史卸载:完整工具日志卸载到外部文件;上下文中只保留轻量级 Mermaid 任务图
  • node_id 追踪:Agent 在符号图上推理;要验证细节时,grep node_id 瞬间检索完整原始文本——降低 token 成本同时保留完全可追溯性
Verbose Logs (hundreds of thousands of tokens)
    → 1. Offload full text → External FS (refs/*.md)
    → 2. Extract relations → Mermaid Canvas (with node_id)
        → 3. Light injection → Agent Context (a few hundred tokens)
            ← 4. Recall via node_id ← External FS

快速接入

OpenClaw

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

默认使用本地 SQLite + sqlite-vec 后端,零配置启用。

Hermes

提供 hermes-plugin,安装后自动启用记忆能力。

关键洞察

  1. 分层是记忆的正确抽象。大多数系统卡在 L0,把原始对话往向量库一扔就完事。TencentDB 的四层金字塔(Conversation → Atom → Scenario → Persona)让召回有结构、有层次。

  2. 符号化是压缩的正确方式。不是有损摘要,而是用 Mermaid 等高密度格式保留语义结构,通过 node_id 保持无损钻取能力。

  3. 记忆系统的目标是让人少重复。不是存得多,是存得对、 recall 得准、用得顺。