
很多人第一次接触 Agent 记忆时,会问一个合理的问题:"这不就是 RAG 吗?"
表面上看确实像:都是存信息、检索信息、把结果放进上下文。但一旦深入使用,差异就显现了。本文从 Context 管理的角度,说清楚两者的本质区别。
RAG 的核心流程:文档分块 → 向量化 → 用户提问时检索相关块 → 拼入提示词。
它回答一个问题:"能找到什么信息?"
找到之后,信息以原文块的形式进入上下文。RAG 不关心:
换句话说,RAG 是"检索增强生成",不是"记忆管理"。
Agent 记忆系统不止要回答"能找到什么",还要回答三个 RAG 不处理的问题:
问题 | 说明 | RAG | Agent 记忆 |
|---|---|---|---|
什么值得记 | 不是所有对话都有价值,需要自动判断 | 不处理 | L0→L1 自动提炼 |
谁能用 | 记忆需要所有权、版本、可见性管控 | 不处理 | private/team/restricted |
怎么取 | 不能全量塞入上下文,需要分层按需召回 | 块检索 | L0-L3 分层 + BM25/向量/RRF + 预算约束 |
把文档切块、向量化、按问题检索。信息来源是静态文档,检索结果是原文块。
适用场景:知识库问答、文档搜索。
局限:无法处理动态生成的对话信息,没有所有权概念,结果无版本管理。
把对话摘要存储,按语义相似度检索。信息来源是对话,检索结果是摘要。
适用场景:单 Agent 跨会话保留上下文。
局限:记忆类型单一(只有对话摘要),不支持可执行工作流,无团队级共享和权限管控。
记忆不是一个列表,而是一个资产库,包含四种不同类型:
资产 | RAG 对等 | 增量能力 |
|---|---|---|
Chat Memory | 文档块检索 | 结构化事实/偏好/约束,分层存储 |
Skill | 无 | 可执行工作流(版本/触发/步骤/验证) |
Wiki | 文档全文载入 | 结构化页面 + 链接图 |
CodeGraph | 代码文本匹配 | 符号/调用关系/影响路径图 |
这意味着什么?Agent 不仅能"找到信息",还能:
场景:Agent 需要知道用户的代码风格偏好
方案 | 做法 | 问题 |
|---|---|---|
RAG | 在文档库里搜索"代码风格" | 找到的是规范文档,不是用户实际偏好 |
对话摘要 | 检索历史对话摘要 | 摘要里可能没有这个细节 |
结构化记忆 | L1 原子层存了 | 精确召回,一个事实而非一段摘要 |
场景:新 Agent 加入团队,需要快速了解项目
方案 | 做法 | 问题 |
|---|---|---|
RAG | 检索项目文档块 | 得到零散块,缺乏整体结构 |
对话摘要 | 检索历史对话 | 信息过粗 |
结构化记忆 | L2 场景块提供项目概览 + CodeGraph 提供代码地图 + Skill 装配已有工作流 | 冷启动一步到位 |
TencentDB Agent Memory 通过 Proxy 代理集成,Agent 的 base URL 指向 Proxy 即可,无需插件、Hook 或 MCP Server。
支持:DeepSeek Harness · Claude Code · Codex · CodeBuddy · WorkBuddy · Hermes · OpenClaw
MIT 协议。PersonaMem 基准:48% → 76%(+59%)。
git clone https://github.com/TencentCloud/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory/deploy/global-images
./start-all.sh原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。