文档大纲

从腾讯TencentDB Agent Memory看AI Agent记忆系统:我们如何借鉴并优化

痛点引入

你有没有遇到过这种情况:

你让AI专家agent去处理一个复杂任务,它满口答应,开始干活。结果第二天你问它进展如何,它一脸茫然:"什么任务?"

这就是我常说的AI Agent的"失忆症"。

更准确地说,它不是真的"失忆",而是记忆系统设计缺陷导致的"信息丢失"。

2026年5月,深度研究了这个问题,部署了两套开源记忆系统,翻了大量论文和GitHub仓库,最终摸索出一套适合自己的轻量化方案。

今天把这段时间的思考和实践分享出来,供同样在探索AI Agent记忆系统的朋友参考。


AI Agent记忆系统分层架构

我们的技术架构

先介绍一下当前知识管理+记忆管理的架构。

使用Obsidian + GBrain + 三层轻量记忆系统构建了AI Agent的协作架构:

  • Obsidian作为知识沉淀库,所有重要的决策、经验、方法论都以双链笔记的形式持久化存储
  • GBrain作为知识检索层,让AI在需要时能快速召回历史积累
  • 三层轻量记忆作为事件追踪层,确保每个任务的进度、状态、阻塞点都有记录可查

这个架构的核心理念是:知识归知识,事件归事件。GBrain负责"学过什么",轻量记忆负责"做过什么"。

第一部分:GBrain在我们的架构中扮演什么角色

先介绍第一个主角:GBrain。

GBrain(GitHub 17.2K Stars)是YC CEO Garry Tan维护的一套个人知识大脑操作系统。它的定位很有意思——不是简单地做知识存储,而是试图让AI拥有"连贯的思考能力"。

GBrain包含43个技能(Skills),覆盖:

  • 知识存储与检索
  • 任务规划与追踪
  • 自我反思与改进
  • 跨会话记忆传递

GBrain在我们的架构中,解决的是"学过什么"的问题:

  • 当AI需要调用某个方法论时,GBrain能快速检索到历史沉淀
  • 当需要参考之前的经验时,GBrain能召回相关知识卡片
  • 当团队成员积累了新的经验,GBrain能确保这些知识不被遗忘

部署完GBrain后,知识层面的问题确实得到了很好的解决。

第二部分:三层轻量记忆系统——解决事件丢失问题

然而,仅仅有GBrain还不够。

如果问AI"昨天那个客户的方案改到第几版了",GBrain无法回答,因为它只负责知识,不负责事件。

这就是三层轻量记忆系统存在的意义:解决"做过什么、进展到哪一步"的问题。

第一层:会话原文记录

所有会话的原始JSONL日志完整保留,不做任何压缩。

这是最底层的原始数据,包含完整的上下文信息。任何时候需要恢复历史会话,都可以从这里找回。

第二层:每日摘要

每天的会话结束后,自动生成MEMORY.md格式的摘要,包含:

  • 今日完成:核心产出是什么
  • 明日计划:下一步行动是什么
  • 待决策项:需要人拍板的事情

这一层是对原文的结构化提炼,但仍然保留关键细节,不是压缩。

第三层:结构化沉淀

将重要决策、经验、方法论从MEMORY.md提取到Obsidian双链笔记中。

这是知识的最终归宿,与GBrain形成联动——GBrain负责检索,Obsidian负责沉淀。

三层之间的关系

层级 内容 定位
第一层 会话原文JSONL 完整保留,不压缩
第二层 MEMORY.md每日摘要 结构化提炼,保留关键细节
第三层 Obsidian双链笔记 知识结构化沉淀

重要原则:不压缩原文

这里要特别说明一点:与某些记忆系统采用"压缩"策略不同,坚持不压缩原文的原则。

压缩虽然能节省token,但会导致严重失忆——关键细节在压缩过程中被丢弃,需要召回时发现信息已经不完整。

三层结构的设计,正是为了在"保留完整性"和"快速检索"之间找到平衡。

第三部分:腾讯TencentDB Agent Memory的创新与启示

在研究过程中,腾讯开源的TencentDB-Agent-Memory(3.3K Stars)进入了视野。

腾讯的这套系统在架构设计上有一个核心洞察:AI Agent的记忆需要分层处理,不同层级的信息应该用不同的方式压缩和检索。

腾讯的四个创新

创新1:Mermaid符号压缩

传统记忆系统直接存储自然语言,导致token消耗巨大。腾讯的做法是用Mermaid符号做结构化压缩——用箭头、节点、状态图来表示事件关系,而不是长篇叙述。

效果:Token节省最高达61.38%。

创新2:四层递进蒸馏

记忆不是一次性写入,而是经过四层处理:

  1. 原始记录层 → 完整保留所有原始信息
  2. 语义压缩层 → 提取核心语义,删除冗余
  3. 结构化层 → 用Mermaid等符号表示关系
  4. 索引层 → 建立检索索引,支持快速召回

创新3:node_id追溯机制

每个事件节点都有唯一ID,支持精确追溯。

好处是:当需要恢复某个任务的上下文时,不需要读取全部历史,只要沿着node_id链条回溯即可。

成功率因此提升了51.52%。

创新4:Hybrid混合检索

结合向量检索和关键词检索,在精确召回和语义理解之间找到平衡。

腾讯系统的测试数据:

指标 提升幅度
Token节省 最高61.38%
任务成功率 提升51.52%
Persona层准确率 48% → 76%

但最终没有直接照搬腾讯系统。

为什么没有照搬腾讯系统

问题1:学习成本高

四层蒸馏+Mermaid符号化+混合检索,整套系统需要2-3周时间深度学习才能上手。

问题2:与GBrain功能重叠

GBrain已经有知识存储和检索的能力。腾讯系统强调的也是记忆的压缩和检索。两者叠加会导致信息冗余。

问题3:压缩策略不符合需求

腾讯的Mermaid压缩虽然能节省token,但压缩会导致失忆。不压缩原文是底线。

借鉴思想,不搬架构。

第四部分:借鉴腾讯思路,我们做了哪些优化

基于腾讯的思路,设计了一套轻量化方案,分两个Phase推进。

腾讯给的三点核心启示

启示1:记忆需要分层,不同层用不同方式处理

腾讯的四层架构验证了分层思想的正确性。落实到自己的系统,就是三层结构:原文→摘要→沉淀。

启示2:事件需要精确追溯,不能只靠语义检索

node_id机制让召回有路径可循,而不是让AI去"猜"。

启示3:分层是为了更好的召回,不是为了省token

分层的目的是让关键信息更容易被定位,而不是一味压缩。腾讯的方法论是正确的,但执行方式需要调整。

Phase 1:基础层(已完成)

① 追溯锚点机制(借鉴node_id)

每个任务分配唯一ID,所有相关讨论都标注这个ID:

任务 #2026-0518-001:天猫618大促方案
状态:🟡进行中
负责人:沈国章
下一步:等设计稿确认

这样无论何时召回,都能快速定位任务上下文。

② 每日memory分层模板

不再是流水账式日志,而是分三层记录:

## 今日完成
- 核心产出是什么

## 明日计划
- 下一步行动是什么

## 待决策项
- 需要人拍板的事情

简单清晰,5分钟写完,不增加负担。

③ 任务状态图

用简单的方式标注每个任务的当前状态:

  • 🟢 正常推进
  • 🟡 需要关注
  • 🔴 遇到阻塞
  • ✅ 已完成

一眼看清全局。

Phase 2:自动化层(规划中)

① brain-ops自动更新

当任务状态变化时,brain-ops技能自动更新MEMORY.md,不需要人工维护。

② signal-detector决策捕获

关键决策发生时,signal-detector自动捕获并写入记忆。

Phase 1上线后的效果:

改进前 改进后
任务进度靠口头同步 随时可查,有记录
跨session信息丢失 原文+摘要双保险
状态不透明 颜色标注一眼可见
记忆碎片化 统一沉淀到MEMORY.md

虽然不像腾讯系统那样有61%的Token节省,但执行成本几乎为零,团队愿意用才是真的有效。

核心感悟

1. AI记忆的本质是"让机器记住该记住的"

不是存储越多越好,而是提取最关键的、在需要时能快速召回的。信息爆炸年代,遗忘比记忆更重要。

2. 工具不是万能的,执行意愿比工具更重要

再好的记忆系统,如果团队不愿意花时间维护,等于零。刻意降低维护成本——宁可少记一点,也要记牢一点。

3. 适合的才是最好的

腾讯的系统是为大规模AI应用设计的,复杂但强大。需要轻量、快速、上手即用。借鉴思路,不抄架构,这才是正确的开源学习姿势。

参考资料


如果你也在探索AI Agent的记忆系统,欢迎交流。记住,有时候少即是多。

阅读量: 338