我在5月初的时候,分享过一篇文章聊聊 Agent 的记忆系统,到底应该记什么?,
里面有分析到腾讯的一个开源项目TencentDB Agent Memory,那时还刚开源不久,GitHub还只有2.6k Star。

前两天,我重新打开这个项目,发现已经爆涨到19.8k Star了,
相较于之前的对于单用户的Agent记忆,
现在新增了Skill、Wiki、CodeGraph 和 Team Memory这些功能,开始支持一个团队的Agent的共享记忆、继承经验。
我前几天在写Codebuddy NPC的时候,就有聊到一个问题,现在AI Coding时代,单打独斗能力很强,但团队协作起来会很麻烦,
其中,很关键的一点,就是多Agent协同问题。

大多数人在多个Agent协同时,都是放进同一个大项目里,让Agent自己读代码、读文档、搜历史文件,
没问题,很简单,我也经常这么做,但项目越大,问题越明显。
比如,同一个背景会被不同Agent反复读取和总结,Token在无限消耗;

还有虽然很多大模型已经支持1M的上下文了,但在超过256k之后,很多模型的能力还是会衰减,所以与当前角色无关的资料进得太多,真正关键的约束很容易被忽略;新旧需求混在一起,模型页不一定能有效分析哪个更有用。
把所有信息一股脑塞给每个Agent,很容易会造成很大的上下文污染。
所以,在OPC+多Agent协作的时代,一套有效的Agent记忆系统真的重要。
TencentDB Agent Memory的Team Memory可以拆成两层。
一层是记忆内容层,负责把不同信息整理成 Chat Memory、Skill、Wiki和 CodeGraph;
另一层是记忆控制层,负责 Team、Agent、权限、版本、绑定和使用记录。

Chat Memory 依然采用L0到L3的分层记忆,分别对应原始记录、原子记忆、场景记忆和长期画像。
已经跑通的操作流程,可以被整理成 Skill,写清楚适用场景、触发边界、执行步骤和验证规则。
项目里的文档可以组织成 Wiki,让 Agent 搜索具体内容,沿着页面之间的链接继续查找。
代码则更适合交给 CodeGraph,可以保留文件、代码符号、调用关系和影响路径,帮助Agent理解代码结构,以及一次修改可能影响哪些地方。

接下来我们来看一下如何使用。
第一步是环境安装,

你需要在 .env 文件里填好LLM API Key。两组模型参数,一组服务于记忆、Wiki 等内容的抽取和整理,一组用于代理Agent发出的模型请求。

如果嫌手动安装麻烦,就直接告诉你的claude code、codex、openclaw等一系列的agent工具,帮你安装,需要api key的时候,询问你。
AI时代,一切交给AI就好了,有问题截图给它修

第二步,在Memory Hub里创建Team,比如我创建一个之前公众号排版网站项目的Team,

然后向团队里添加成员和Agent,
我一共添加了三个 Agent。一个负责阅读资料和梳理需求,一个负责修改代码和交付页面,还有一个负责检查代码与内容。
Agent 的角色定位、规则和权限都可以自定义,不设置也能使用,但我更建议把分工写清楚。后面给不同 Agent 分配记忆时,角色越明确,哪些信息该给谁就越容易判断。

如果接入的不是一个从零开始的新项目,还可以提前把已有资料导入进来,
代码项目可以直接绑定已有的Git仓库,用来构建CodeGraph,

本地已有的 Markdown 等文档,也可以上传后构建 Wiki,

这里注意,wiki的创建需要一段时间,主要看内容多少和关联关系,如下,你可以根据wiki轻松定位到项目的核心内容,

第三步,就是使用你的Agent工具,同步记录chat memory,这里以claude code举例,
这里需要配置Agent Memory提供的url和key,前面已经说过,在部署的时候,已经对你agent调用所需的llm进行了proxy

比如,我这里配的k3模型,模型选择看你自己前面配的什么模型

启动claude code后,会让先确认是否关联团队资产、关联Agent、Task这些,


选择完毕后,会自动加载本次对话需要的上下文信息,也就是会把之前的部分上下文带下来

我们拿增加渲染主题为例,

实际使用方式和普通 Claude Code 没什么区别,Agent 能力依然取决于你接入的模型,Team Memory只负责的是把相关背景和经验交给它,
任务完成后,里多了一套紫色像素风的公众号排版主题,如下

但神奇的一幕出现了,
打开管理后台,在SKill技能中,新增了一个“Adding a New Theme to a WeChat Article Typesetting Engine”,也就是为微信公众号文章排版引擎新增主题,

也就是说,记忆系统自动把刚才的开发任务归档成了一条可以复用的Skill,以后再增加新的排版主题,就可以直接参考这套流程,不用重新摸索一遍。
自动构建的skill还挺全面,基本上就是开发的流程,里面涉及工作流程、输入输出、决策规则、验收标准、常见问题等。

agent工作一段时间之后,会在chat memory里,积累下一些东西,
比如,你的技术风格偏好,


这些偏好,在进行功能开发时,Agent 会主动参考
比如,加载其他项目,之前workbuddy蓝皮书,我想把所有数据保存到数据库里,加载agent之后,它会推荐使用SQLite,

我让其使用其他数据库时,

它会判断,之前偏好时SQLite,询问是否进行数据库的修改,依然建议沿用之前的技术,

面对记忆跟现实需求存在冲突的时候,会进行check让人自动选择。
团队积累下来的Chat Memory 和 Skill,不会默认对所有人开放,需要共享的资产,要由用户主动开启分享或分配给相应Agent。

否则,这些记忆和经验仍然属于个人或指定 Agent,不会直接灌给团队里的所有成员,
这也是我觉得项目做得比较好的地方,Team Memory 让有用的经验在团队里流动,同时尽量降低记忆串线、上下文污染和权限越界。

最后,
TencentDB Agent Memory已经把Agent Memory从记住我说过什么,推进到了让一支Agent团队积累经验。
单个Agent 的记忆,解决的是连续性问题,Team Memory 解决的,是组织学习问题。
只有当成功方法可以被提炼,失败路径可以被保留,知识可以按角色流动,过期内容又能被收回,
多个Agent才算真正组成了一支队伍。
模型决定一个Agent这一轮能走多远,
记忆系统决定这支队伍走过的路、犯过的错,会不会再走一遍。
(整理编辑:Kai)
京公网安备11010502056287号