只靠向量库做 Agent 记忆够吗?为什么还需要分层记忆

只靠向量库做 Agent 记忆够吗?为什么还需要分层记忆
只靠向量库做 Agent 记忆够吗?为什么还需要分层记忆

只靠向量库做 Agent 记忆够吗?为什么还需要分层记忆

现在一说 AI Agent 记忆,很多方案第一步就是上向量数据库。

思路也很简单:把聊天记录切成片,做 embedding,存进库里。下次用户问相关内容时,再按相似度召回。

这个方案有用,但我越来越觉得:只靠向量库不够。

尤其是当 Agent 从普通聊天走向长期工作以后,问题会越来越明显。

一、向量库擅长找相似,不擅长判断重要

向量库解决的是“这段内容和当前问题像不像”。

但长期记忆更关心的是“这段内容重不重要”。

比如用户随口说一句“今天有点困”,和用户明确说“以后发布 WordPress 文章必须设置英文 slug”,两句话都可以被存进去。

但对 Agent 来说,后者显然更重要。

如果没有额外的结构化提取和权重判断,向量库会把大量聊天碎片平铺在一起。时间长了以后,它就像一个堆满便利贴的抽屉,能翻到东西,但不一定翻到最该看的东西。

二、长期记忆不能只是碎片召回

Agent 做任务时,真正需要的往往不是一句原话,而是一个场景。

比如我要让 Agent 继续处理 OpenWrt 插件,它需要知道的不只是一条记忆:

用户喜欢 IPK

它还需要知道:

这个用户做 OpenWrt 插件时,通常希望:
- LuCI 集成
- 中文备注
- 打包成 IPK
- 实机测试
- 避免只给脚本
- 跨主机传输要校验 MD5

这就是场景记忆。

如果只靠向量召回,Agent 可能召回到其中一两条,但很难稳定形成完整工作方式。

三、分层记忆更接近人的记忆方式

人不是靠一堆原文记录工作。

我们通常是这样记东西的:

  • 底层有原始经历
  • 中间有事实和经验
  • 上层有对某个人、某个项目、某类任务的整体印象

TencentDB Agent Memory 这类项目提出的 L0→L1→L2→L3 分层,其实就很接近这个思路。

L0:原始对话和证据
L1:结构化事实
L2:场景块
L3:用户画像 / Persona

这样做的好处是,Agent 平时不用翻所有原始记录,只要读取高层结构。需要验证时,再回到底层原文查证。

四、分层记忆还能减少上下文污染

Agent 长任务里最怕什么?

不是信息不够,而是信息太乱。

工具调用结果、搜索页面、代码 diff、测试日志、报错堆栈,全都塞进上下文以后,模型会越来越难抓住重点。

如果有分层记忆,可以把厚重日志放到底层,把任务进展、关键节点、错误原因、下一步动作提炼到上层。

这就像做项目笔记:

原始日志当然要保留,但开会时没人会把几千行日志全部念一遍。真正有用的是摘要、结论和可追溯链接。

五、向量库仍然有价值,但应该放在合适位置

我不是说向量库没用。

向量检索在长期记忆里依然很重要,尤其适合:

  • 找历史相似问题
  • 找某个项目相关记录
  • 做语义搜索
  • 在大量原始记录里快速定位

但它更适合作为底层检索能力,而不是整个记忆系统本身。

一个更合理的结构应该是:

原始记录保存
↓
结构化事实提取
↓
场景归纳
↓
用户画像
↓
向量 / 关键词 / 规则混合召回

也就是说,向量库是工具,不是大脑。

六、对普通使用者有什么意义?

如果你只是偶尔让 AI 写一段文案,向量记忆够用了。

但如果你希望 Agent 长期帮你做事,比如管理服务器、写博客、开发插件、维护项目、多平台收发消息,那就不能只靠碎片召回。

你需要的是一个会整理经验的系统。

它要知道什么是临时信息,什么是长期偏好;什么是一次性任务,什么是可复用流程;什么应该记住,什么应该忘掉。

总结

向量库是 Agent 记忆的重要组件,但不是完整答案。

长期 Agent 需要的是分层、可回溯、可更新的记忆系统。

从这个角度看,TencentDB Agent Memory 这类分层记忆方案值得关注。它代表的方向不是“存更多”,而是“记得更有结构”。

未来 Agent 真正好不好用,很大程度上就看它能不能把历史经验变成下一次任务的优势。


本文属于 AI Agent 入门与进化系列,更多实战内容可继续关注 AI Agent 实战教程。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注