TencentDB Agent Memory:协议代理、分层记忆与团队资产
TencentDB Agent Memory 把记忆接入放在模型协议代理处,再通过分层认识和团队资产进行共享。本文从一次请求的注入与回写走到权限和 Loadout,区分已有 Beta 实现与采用时需要补齐的治理。
最近修订:2026.09.07
阅读导航 · 第 3 / 3 篇
TencentDB Agent Memory 把记忆接入放在模型协议代理处,再通过分层认识和团队资产进行共享。本文从一次请求的注入与回写走到权限和 Loadout,区分已有 Beta 实现与采用时需要补齐的治理。
版本范围:2026-09-05 核查的
TencentCloud/TencentDB-Agent-Memory提交2ee2239,位于默认的feat/server_team分支。官方标注 Team Memory 为 Beta;本文把现有设计与路线图严格分开,不把规划能力写成稳定承诺。
先看四个平面
| 平面 | 核心职责 | 需要验证的边界 |
|---|---|---|
| 接入面 | Proxy 兼容不同 Agent 的模型协议 | 注入是否改变原始请求,流式与工具调用是否完整 |
| 记忆面 | L0 对话、L1 原子、L2 场景、L3 Persona | 提炼错误能否回到原文并被修正 |
| 知识面 | Wiki、CodeGraph、Skill | 文档和代码变化后资产是否及时更新 |
| 控制面 | Team、Owner、可见性、ACL、Loadout | 哪个身份能读、改、分享和装配什么 |
这四层解释了为什么它不能只与一个记忆算法比较。Memory Core 负责提炼和召回,Memory Knowledge 负责文档与代码,Memory Hub/Panel 负责资产与权限,Proxy 负责不改 Agent 源码的接入路径。系统覆盖面更广,也拥有更大的部署和治理面。
TencentDB Agent Memory 选择把 Memory Proxy 放在 Agent 与模型端点之间。使用者修改 base URL,就可以让 Claude Code、Codex、Hermes 等客户端经过同一条记忆链路,不必分别实现插件、Hook 或 MCP Server。
Proxy 同时承担协议兼容、上下文装配与会话捕获。
为什么选择协议代理
插件模式能使用客户端原生生命周期,但每个平台接口不同,版本升级也容易漂移。Proxy 复用模型协议作为公共边界,让不原生支持 Memory 的 Agent 也能接入,并能统一执行 mem:sync、mem:create-skill 等会话指令。
代价是代理必须透明处理模型参数、流式片段、错误码、取消、重试和工具事件。只要某个字段被错误改写,“记忆接入成功”也可能以客户端能力退化为代价。因此兼容性测试不能只验证普通文本对话。
注入不是简单拼接
Proxy 需要先从可信凭证解析用户、团队、Agent 和 Task,再取得该角色被允许使用的 Chat Memory、Skill、Wiki、CodeGraph 与任务描述。随后按优先级、字符或 Token 预算装配上下文,并保留来源,避免把所有团队资产变成全局 System Prompt。
这里最危险的捷径,是把客户端传来的名称直接当权限身份。模型可见字段适合描述任务,不适合作为授权凭据。真正的 Owner、Team 和 Agent 绑定应来自服务端认证与控制面。
回写必须脱离主响应的成败
会话捕获和记忆提炼通常适合异步执行,避免阻塞模型响应。但异步意味着返回成功时,记忆可能尚未生成;代理崩溃时,也可能出现响应已交付而回写未知。系统需要会话 ID、幂等键、队列状态和重放策略,才能区分“尚未沉淀”与“重复沉淀”。
与 Harness 接入与实战:工具、执行策略与 MCP类似,协议连通只说明数据能流动,不说明业务结果已经确定。对 Proxy,应至少覆盖流式中断、工具调用、多模型切换、重试重复、记忆服务超时和撤权后的重新注入。
TencentDB Agent Memory 的 L0–L3 表示认识被提炼的程度:从原始对话,逐步形成事实、场景和长期画像。它与 OpenViking 的 L0/L1/L2 读取精度不是同一套概念。
高层用于快速进入语境,具体判断仍应能回到低层证据。
四层不是越高越真实
L0 保存完整交互,适合核对原话、时间和来源;L1 把对话拆成可精确召回的事实与约束;L2 围绕项目或场景组织信息;L3 总结长期 Persona 与稳定模式。高层摘要旨在用较少内容覆盖更多背景,但实际成本取决于长度和装配策略;抽象程度越高,越需要核对原始证据。
例如“这次不要重构旧鉴权模块”可以成为 L1 项目约束,多个相关结论形成 L2 场景;只有在跨任务长期稳定时,才可能影响更高层认识。若一次临时妥协被直接提升为 Persona,系统会把偶然偏好变成持续偏见。
写入是一条异步认识管线
对话先被 L0 Recorder 捕获,再由 L1 Extractor、去重逻辑、Scene Extractor 与 Persona Generator 分阶段加工。分层处理让每一步可以使用不同触发条件和存储,但也会产生延迟、重复、层间漂移与部分失败。
因此每条派生记忆至少要保留来源会话、生成时间、生成器版本和作用域。高层内容修改或删除时,还要明确是只改当前画像,还是使下游重新从低层重建。官方路线图把 L1–L3 可编辑列为后续工作,也说明人工校准仍在演进。
读取要高层恢复、低层核验
召回可以先用 L2/L3 快速进入场景,再通过 BM25、向量检索与 RRF 回到 L1/L0 的具体材料,并受条数、字符和超时预算约束。高层不应替代证据,而应成为检索路由。
生产评测至少包含三类反例:临时要求没有污染长期 Persona;过期事实不会因高层摘要继续生效;用户可以从一个错误 L3 追到来源并完成修正。相关方法可参考 Agent 记忆设计:保留历史还是维护当前事实。
官方安装与仓库入口
源码模块与官方说明
建议的资产发布流程。固定提交 2ee2239 提供资产、可见性与装配设计;统一审核闭环是采用要求,不能据此视为已实现的完整审批引擎。
四类资产承担不同用途
Chat Memory 保存事实、偏好、决策和交互;Skill 保存带触发边界、步骤、资源和验证规则的可执行经验;Wiki 组织文档关系;CodeGraph 组织符号、调用与影响路径。它们不该使用完全相同的审核标准。
错误 Chat Memory 可能让回答失真,错误 Skill 可能直接放大执行副作用,过期 Wiki 会误导判断,陈旧 CodeGraph 会制造错误影响分析。控制面需要同时展示内容、来源、Owner、版本、状态、使用情况和绑定关系。
可见性回答谁能看,Loadout 回答谁应该拿
官方设计区分 private、team、restricted 与面向 Agent 的定向装配。Owner 管理自己的资产,Team 角色和 ACL 决定可见范围;Loadout 再把特定资产绑定给 Scout、Builder、Reviewer 等 Agent。
这比单纯的多租户 scope 多一步:一个人有权读取团队 Wiki,不代表每个自动运行的 Agent 都应该默认获得它。最小权限不仅减少泄漏,也减少无关上下文和错误 Skill 被触发的机会。
发布 Skill 应像发布代码
从会话提炼出的 Skill 只有在适用条件、输入输出、失败路径和验证方法被检查后,才有资格从个人候选进入团队资产。更新后需要版本、灰度、回滚和使用反馈;高风险 Skill 还应限制工具权限与运行环境,而不是仅靠“审核通过”四个字。
同样,文档和代码变化后,Wiki ingest 与 CodeGraph sync 必须形成明确的新鲜度信号。团队经验复用的前提,是资产能持续退出,而不是只会不断增加。
这把 Agent 记忆设计:一条记忆跨团队流动之后中的抽象治理问题具体化:Owner、状态、版本、可见性和 Agent 绑定都应成为一等字段,而不是埋在 Prompt 约定中。
Beta 阶段最重要的是保持可逆
官方明确把 Team Memory 标注为 Beta,路线图仍包含记忆编辑、搜索和 Agent 模板等能力。这时最稳妥的采用方式是小范围、可观察、可退出:固定提交或版本;为关键资产保留原始来源;默认私有;共享需要审核;高风险 Skill 在隔离环境验证;非必要记忆服务失败时可降级为不注入记忆,但身份、数据范围和执行权限必须保持原约束;如果关键授权依赖该服务,则应停止操作。
官方资产与权限说明