先说答案:智能体的长期记忆和 RAG 都往上下文里补充信息,但来源和用法不同——长期记忆攒的是这个用户、这个任务的历史交互过程,RAG 查的是外部资料库里的现成内容。一个管「跟你打过什么交道」,一个管「世界上的公开知识」。
类比医生看病历与查文献:病历是这位患者的历史,文献是全行业的积累,两者都要看,但存放和调用的方式完全不同。失效之处在于,有些信息两边都能放,边界模糊时容易重复存储、互相打架,需要约定谁是权威来源。
写入时机完全不同
长期记忆在交互过程中持续写入:用户的偏好、纠正过的错误、约定好的格式,聊到就记,Kimi、秘塔AI搜索等产品里的记忆功能走的就是这条路。RAG 的写入是一次性的库建设:先把文档切块、建索引,之后查询时按相似度取回,资料库更新是独立动作,与单次对话无关。
内容的组织方式差异
长期记忆常按用户或项目分桶,条目短,强调「关于这个人我们知道什么」;RAG 按文档结构切块,块内保持语义完整,强调「哪段资料能回答这个问题」。两者取回后都要控制篇幅——上下文不是越大越好,塞太多反而稀释重点,多智能体场景里记忆的共享与隔离还牵动架构,见单 Agent 和多 Agent 差在哪?
常见的搭配用法
实际产品几乎都两个一起用:先查长期记忆获取个性化上下文,再走 RAG 补充事实资料,最后由模型整合作答。顺序上通常记忆优先,因为它决定了回答的口径和偏好。记忆内容本身也可以沉淀成文档进 RAG 库,让个人经验升级为团队资料。
边界怎么划
三个判断:信息是否与特定用户绑定?绑定就走记忆;是否需要随源文档更新?需要就走 RAG,库更新即生效;是否要求可追溯出处?RAG 能给出来源引用,记忆条目通常给不出。划清权威来源,避免同一事实两处存储,是维护成本最低的做法。
两条通道的分工,看这几个维度就清楚。
| 对比项 | 长期记忆 | RAG |
|---|---|---|
| 存的是什么 | 这个用户、这个任务的历史交互过程 | 外部资料库里的现成内容 |
| 写入时机 | 交互过程中持续写入,聊到就记 | 一次性的库建设,先切块建索引,更新是独立动作 |
| 组织方式 | 按用户或项目分桶,条目短 | 按文档结构切块,块内保持语义完整 |
| 取回逻辑 | 强调「关于这个人我们知道什么」 | 查询时按相似度取回,强调「哪段资料能回答这个问题」 |
| 出处追溯 | 条目通常给不出来源引用 | 能给出来源引用 |
记忆与 RAG 对照表
- 记忆存交互过程,RAG 存外部资料
- 记忆随对话写入,RAG 靠建库导入
- 个性化问题先查记忆,事实问题靠 RAG
- 同一事实只留一个权威来源
一句话记住:记忆管熟悉,RAG 管广博,各管一段配合用。
资料的存取与执行环境也有交集:文档库的读取属于只读操作,直连即可,见沙箱执行和直连执行有什么区别?;定时同步资料库的安排见事件驱动和定时驱动有什么区别?;落地载体选平台还是自建,见Agent 平台和自建框架差在哪?。两条信息通道各司其职,回答才既贴心又有据。
记忆条目的写法也有讲究:存「事实加时间」比存「结论」更耐用——用户的团队名下个月可能变,但「十月时他提到团队是某名字」这种带时间戳的记录,过期了也容易识别和更新,裸结论没有时间维度,错了我都不知道它是何时对的。RAG 的切块粒度也要按问题形态调:问答类的问题窄,块要小而准;综述类的问题宽,块要大而全,甚至要做二次汇总,切块没有标准答案,跑一批真实问题看取回质量再调。定期用真实提问回归测试两条通道的取回质量,是维护它们的最省心方式。
关于长期记忆和RAG的三个常问问题
- 记忆会越攒越乱吗?:会,要定期整理,过时的条目更新或删除,冲突时以最新纠正为准。
- RAG 找不到答案怎么办?:让智能体明说没查到并说明检索范围,别硬编,同时把该问题记入库建设的清单。
- 记忆能迁移到别的智能体吗?:导出成结构化文件即可迁移,格式统一比工具本身更重要。


