TencentDB-Agent-Memory 深度解析:让多个 Agent 共享项目经验的记忆中枢

从 L0~L3 分层记忆、自动捕捉与异步提炼,到 Skill、Wiki、CodeGraph 和 MCP 接入,系统拆解 TencentDB-Agent-Memory 的工作原理、使用方式与能力边界。

资料范围: 本文依据 2026 年 8 月公开仓库文档整理。由于仓库主线与 feat/server_team 分支的产品形态不同,文中会明确区分。



一、先回答:它到底解决什么问题

很多人第一次使用 Agent 时,最明显的感受是“它很聪明,但记不住”。

今天已经解释过项目架构,明天新开一个会话仍然要从头说明;Builder Agent 刚排查完一个故障,Reviewer Agent 并不知道排查结论;文档被某个 Agent 读过,另一个 Agent 还要重新扫描整个仓库。

问题并不只是聊天记录没有保存,而是以下几类经验没有形成可复用资产:

  • 项目的技术约束和历史决策;
  • 已经验证过的排障流程;
  • 产品文档、设计文档和运维手册;
  • 代码符号、调用关系和修改影响范围;
  • 用户或团队长期稳定的工作偏好。

TencentDB-Agent-Memory 的核心定位,是把这些内容从某个模型、账号或 Agent 的临时上下文中抽离出来,形成可以存储、提炼、检索、授权和复用的外部记忆资产。

它不是简单的聊天记录仓库,也不是只做向量相似度搜索的 RAG,而是一个由以下能力组成的 Agent Memory 系统:

长期 Chat Memory
+ 可复用 Skill
+ 文档 Wiki
+ 代码 CodeGraph
+ Team / Agent / Task / ACL 管理

二、仓库中需要先分清的两条能力线

当前公开资料至少呈现出两种产品形态:

能力线 主要方向 公开接入重点
main 主线 本地长期记忆、分层提炼、短期上下文卸载 OpenClaw 插件、Hermes Gateway、本地 SQLite
feat/server_team 团队级 Memory Hub、资产管理和 Proxy Team、Agent、Task、Claude Code、CodeBuddy、Hermes、OpenClaw

主线 README 重点展示本地记忆插件和 L0~L3 流程;团队版安装文档则展示 Memory Core、Memory Hub、Knowledge Service 和 Proxy 的完整部署方式。因此,写配置或部署教程时必须注明分支、镜像或版本,不能把不同分支的能力直接当作同一个稳定版本。主线 README · 团队版安装文档

三、总体架构:记忆不运行 Agent,而是服务下一轮工作

团队版的典型链路可以抽象为:

Agent 客户端
  ↓
插件 / Adapter / Proxy
  ↓
会话鉴权与身份绑定
  ↓
Memory Core
  ├─ L0 原始会话
  └─ 异步 Pipeline
       ├─ L1 Atom
       ├─ L2 Scenario
       └─ L3 Persona
  ↓
记忆与知识检索
  ├─ Chat Memory
  ├─ Skill
  ├─ Wiki
  └─ CodeGraph
  ↓
上下文注入或工具返回
  ↓
Agent 继续工作

各组件分工如下:

  • Agent 客户端:产生对话、工具调用和任务结果。
  • Adapter / Plugin:适配具体 Agent 框架,捕捉工作事件。
  • Proxy:在请求转发前完成鉴权、会话绑定、记忆检索和上下文注入。
  • Memory Core:负责记忆数据面、检索、鉴权和后台流水线。
  • Memory Hub:提供 Team、Agent、Task、资产和权限管理界面。
  • Knowledge Service:处理 Wiki 和 CodeGraph 等知识资产。

在这里插入图片描述

多个 Agent 通过 Adapter、MCP 或 Proxy 访问统一的外部记忆层。

关键认识是:Memory 系统不负责替代 Agent 的推理循环,它负责让下一轮循环继承上一轮留下的有效成果。官方文档将这个过程概括为:已有信息转化为可复用记忆资产,减少重复工作和上下文成本。项目 README

四、记忆是如何被捕捉的

4.1 自动捕捉依赖接入层

它并不是让模型“自己意识到应该记住”,而是在 Agent 外围增加事件接入:

用户消息
Agent 回复
工具调用
工具结果
任务和会话元数据
      ↓
Adapter / Plugin / Proxy 捕捉
      ↓
保存为 L0 原始记录

在已经接入插件、Gateway 或 Proxy 的情况下,系统可以自动记录会话和工作事件。团队版文档明确描述了这一过程:请求完成 Team、Agent、Task 绑定后,原始对话自动写入 Memory Core,后台再运行 L1→L2→L3 Pipeline。团队版安装文档

因此,“自动捕捉”成立的前提是:客户端已经经过支持的 Adapter、插件或 Proxy。只部署 Memory Core,并不会自动获得所有 Agent 的对话内容。

4.2 自动提炼不是实时同步

原始记录保存后,还要由异步 Pipeline 判断哪些内容值得沉淀。触发条件可以包括:

  • 累积一定数量的对话后触发;
  • 会话空闲一段时间后触发;
  • 新会话启动时进行 warmup;
  • 新增记忆达到阈值后生成 Persona;
  • 复杂任务结束后抽取可复用 Skill。

触发后,LLM 会参与内容判断。例如:

普通闲聊:通常没有稳定复用价值

“不要重构旧认证模块,移动端仍然依赖它”:
可能提炼为项目约束和技术决策

“排查接口 500 的固定步骤”:
可能提炼为可复用 Skill

所以更准确的表述是:

原始会话可以自动捕捉;长期记忆和 Skill 由后台按条件异步提炼,不是每句话都会立即进入长期记忆。

五、L0~L3:为什么要分层保存

TencentDB-Agent-Memory 不是把所有历史压缩成一个摘要,而是保留从抽象结论回到原始证据的路径:

层级 保存内容 典型用途
L0 Conversation 完整原始对话和上下文 核对原话、时间、来源和证据
L1 Atom 事实、偏好、约束、事件、决策 精确回答具体问题
L2 Scenario 按项目或任务组织的知识块 快速恢复工作场景
L3 Core / Persona 长期画像、稳定模式和高层认知 快速进入用户或团队语境

例如,原始对话:

不要重构旧认证模块,移动端仍然在使用它。

可能形成如下记忆链:

L0:完整原话
 ↓
L1:移动端依赖旧认证模块
 ↓
L2:认证改造必须保持移动端兼容
 ↓
L3:团队偏好增量改造和向后兼容

分层的好处是兼顾速度和可追溯性:日常恢复优先使用 L2/L3,遇到具体事实再回到 L1,证据不足时仍可检查 L0。

在这里插入图片描述

分层记忆同时兼顾快速恢复上下文和回溯原始证据。

六、记忆如何检索和注入

一次记忆检索可以抽象为:

当前问题
  ↓
按 Team / User / Agent / 可见性过滤
  ↓
优先检索 L2 / L3
  ↓
必要时回退到 L1 / L0
  ↓
关键词、向量和 RRF 融合
  ↓
受数量、字符预算、超时限制
  ↓
注入 Prompt 或作为工具结果返回

官方技术说明提到 BM25、向量检索和 RRF 融合,也强调结果会受到数量、字符预算和超时限制。这样做是为了避免“记忆越多,Prompt 越臃肿”,否则外部记忆反而会挤占当前任务真正需要的上下文。项目 README

这里有一个重要区别:

普通 RAG:哪些文本与问题相似?

Agent Memory:哪些经验相关?谁可以使用?哪个版本有效?
             应该以什么粒度、多少内容交给哪个 Agent?

在这里插入图片描述

Agent Memory 通过分层检索和权限过滤,把少量相关经验交给当前任务。

七、四类核心资产分别解决什么问题

7.1 Chat Memory:记住事实和决定

适合保存:

  • 用户偏好;
  • 项目背景;
  • 历史技术决策;
  • 已确认的约束;
  • 历史交互经验。

7.2 Skill:复用已经验证的做法

Skill 不只是几行提示词,还可以包含版本、资源文件、触发边界、执行步骤和验证规则。适合沉淀:

  • Bug 排查流程;
  • Code Review 清单;
  • 发布流程;
  • 数据库迁移步骤;
  • 常用工具调用方式。

7.3 Wiki:让文档成为可查询知识

Wiki 适合产品文档、设计文档、接口说明和运维手册。它的重点不只是切分文本,而是形成结构化页面和页面之间的关系。

7.4 CodeGraph:理解修改影响范围

CodeGraph 索引代码文件、符号、调用关系和影响路径。它回答的不只是“这个文件在哪里”,还可以帮助 Agent 判断“修改这里会影响哪些调用方”。

八、跨工具、多 Agent 协作:最有代表性的使用场景

可以把一项研发任务拆给不同工具和角色:

Cursor:实现前端页面
Claude Code:完成后端改动
Codex:运行测试并修复问题
CodeBuddy:进行代码审查

它们不需要共享各自的本地聊天记录,而是访问同一个外部 Memory Hub:

Cursor ─┐
Claude Code ─┤
Codex ───────┼──> 统一 MCP / Proxy ──> Memory Hub
CodeBuddy ───┘

例如,Builder Agent 完成接口改造后保存:

修改了哪些文件
接口行为发生了什么变化
运行过哪些测试
还存在什么风险

Reviewer Agent 下一次启动时可以检索这些结果,再结合 CodeGraph 查看调用关系,而不是重新猜测 Builder 做过什么。

8.1 共享的关键不是工具名称,而是稳定身份

不同工具必须映射到统一的业务身份:

user_id
project_id
repository_id
team_id
agent_role
task_id
conversation_id

不应该把下面这些东西直接作为记忆主键:

  • API Key;
  • 模型名称;
  • 工具名称;
  • 本地配置目录;
  • 某次进程生成的临时 ID。

否则同一个项目可能在 Cursor、Claude Code、Codex 和 CodeBuddy 中形成四套互不相认的记忆。

8.2 当前接入成熟度需要实事求是

官方资料明确展示了 OpenClaw、Hermes、Claude Code、CodeBuddy 和 SDK 的接入方式;团队版通用文档也说明,其他平台可以通过 OpenAI/Anthropic 协议连接 Proxy,并携带用户、Team、Agent、Task、Conversation 等标识。通用接入文档

但这不等于 Cursor 和 Codex 已经拥有同等成熟的官方适配器。对 Cursor、Codex 或企业内部 Agent,更稳妥的方式是开发 MCP Adapter,或在公司网关层统一转换请求。

在这里插入图片描述

不同 Agent 工具可以通过统一的 MCP 或 Proxy 共享项目经验。

九、企业封装 Memory MCP 有什么价值

企业可以对外提供统一的工具接口:

memory_search
memory_get
memory_save
memory_checkpoint
memory_get_project_context

典型流程如下:

任务开始:读取项目上下文
关键决策:保存事实、约束和决策
代码完成:保存变更摘要
测试完成:保存测试结果和失败原因
任务结束:保存 checkpoint

此时,企业 MCP 负责:

  • 员工身份和项目身份映射;
  • 统一权限校验;
  • 多工具适配;
  • 审计和脱敏;
  • 记忆读写编排;
  • 对底层 Memory Core 的封装。

TencentDB-Agent-Memory 可以作为底层分层记忆、Skill、Wiki、CodeGraph 和检索能力的实现参考或存储引擎。

但要注意:MCP 本身只是工具协议。如果 Agent 不调用 memory_save,系统不会自动知道哪些信息应进入长期记忆。要实现真正的自动捕捉,还需要 Agent Hook、Proxy 或企业工作流层进行事件拦截和自动编排。

在这里插入图片描述

企业 MCP 不只是记忆查询接口,还负责身份、权限、审计和写入编排。

十、怎么部署和验证

以团队版文档提供的完整部署方式为例,流程大致是:

git clone https://github.com/TencentCloud/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory/deploy/global-images
cp .env.example .env
# 配置 Memory/HUB 使用的 LLM 参数和 Proxy 上游参数
./verify.sh       # 可选:预检配置和 LLM 通路
./start-all.sh

本地部署通常包含以下端口:

端口 服务 用途
8420 Memory Core 记忆读写、鉴权和 Pipeline
8125 Panel UI Team、Agent、Task 和资产管理
8424 Knowledge Wiki / CodeGraph
8096 Proxy Agent 请求转发和上下文注入

启动后不要只看容器是否运行,还要验证记忆闭环:

  1. 在面板创建至少一个 Team 和 Agent。
  2. 让 Agent 执行一段具有明确结论的任务,而不是只进行闲聊。
  3. 检查 Memory Core 的健康状态和 Pipeline worker 计数。
  4. 在面板中检查 L0 原始对话、L2 场景、L3 Profile 或 Skill。
  5. 新开一个会话,确认 Agent 能检索到之前保存的项目事实。

团队版文档建议通过 /health 观察 tasksConsumed 和 tasksCompleted 是否增长;如果没有生成 L1/L2,需要检查 Pipeline 是否运行、promptMode 是否匹配,以及对话是否包含可沉淀内容。团队版安装文档

上述命令是按官方文档整理的示例,不代表一定可以在你的机器上实际执行。正式部署前请以目标分支的最新安装文档和镜像说明为准。

十一、适合哪些人和任务

适合的人

第一类:长期维护复杂项目的个人开发者。 他们经常重复解释项目背景,或者同时使用多个 Coding Agent。

第二类:小型研发团队。 Builder、Reviewer、Tester 和运维角色需要共享历史决定、排障经验和发布清单。

第三类:企业 AI 平台团队。 他们需要统一接入多个模型和 Agent,同时管理用户、项目、权限、审计和记忆资产。

第四类:Agent 框架与插件开发者。 他们需要实现长期记忆、跨框架 Adapter、MCP 工具和记忆评测。

适合的任务

  • 长周期软件开发;
  • Bug 排查与故障复盘;
  • Code Review;
  • 发布、运维和应急处理;
  • 项目迁移与新成员 onboarding;
  • 企业 SOP 和 Skill 复用;
  • 需要分析代码影响范围的复杂改造。

不适合的场景

  • 一次性、没有后续复用价值的简单问答;
  • 不需要跨会话上下文的短脚本;
  • 不愿维护项目、任务和权限身份的团队;
  • 期望系统自动保存全部聊天内容的人。

十二、常见误区和风险

误区一:同一工作区就代表同一记忆

不代表。工作区只能说明文件路径相同,不能保证 Agent 的账号、线程、会话 ID 和外部 Memory namespace 相同。

误区二:安装 MCP 就会自动记住一切

不代表。MCP 提供的是工具调用能力;自动捕捉还需要 Hook、Proxy 或工作流编排。

误区三:所有记忆都应该共享

不应该。个人偏好、敏感故障信息和内部数据需要按 private、team 或 ACL 进行隔离。官方团队版文档也强调,新生成的 Chat Memory 和 Skill 默认不是无条件公开的。项目 README

误区四:LLM 提炼出的记忆一定正确

不一定。应保留 L0 原始证据,给关键记忆增加来源、版本、状态和人工审核机制。过期决策不能永久作为当前事实注入。

误区五:Cursor、Codex 等工具已经原生支持

目前不能这样表述。公开资料明确展示的接入对象和成熟度并不覆盖所有工具。对未提供官方 Adapter 的工具,需要自行开发 MCP/Proxy 适配层,并验证会话注册、记忆写入和回读三个环节。

安全注意事项

  • 不要把 API Key、Token、密码写入长期记忆;
  • 不要使用真实生产数据直接做无隔离测试;
  • 为远程 Gateway 配置鉴权和来源限制;
  • 先用测试 Team 验证权限,不要直接把全公司记忆绑定给所有 Agent;
  • 记忆错误时优先检查来源、权限、会话 ID 和提炼状态,而不是盲目增加 Prompt 长度。

十三、最终结论

TencentDB-Agent-Memory 的核心价值,不是让一个 Agent 保存更多聊天记录,而是把研发过程中的事实、决策、流程、文档和代码关系转化为可管理、可检索、可授权、可复用的记忆资产。

它的基本闭环是:

事件捕捉
  → L0 原始记录
  → 异步提炼 L1 / L2 / L3
  → 混合检索和权限过滤
  → 按需注入 Agent
  → 继续产生新的经验

它最适合长期项目、多 Agent 协作和企业级 Agent 基础设施,而不是一次性聊天或简单的账号同步工具。

如果要在 Cursor、Claude Code、Codex、CodeBuddy 等工具之间共享项目经验,正确方案是建立独立的 Memory MCP 或 Proxy,统一用户、项目、任务和会话身份,再由底层记忆系统完成保存和检索。

最后必须保持边界意识:它不能替代各 Agent 自身的原生会话系统,也不能仅靠安装一个 MCP 就自动捕捉所有工作过程。真正可用的企业方案,还需要稳定的事件接入、统一身份、权限治理、记忆审核、过期处理和验证闭环。

参考资料

  1. TencentDB-Agent-Memory 主线 README
  2. TencentDB-Agent-Memory 团队版中文安装文档
  3. TencentDB-Agent-Memory GitHub 仓库

感谢阅读,记得点赞、关注、收藏,欢迎各位评论区交流!!!

在这里插入图片描述

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐