Appearance
80. AI Agent 的记忆机制和 RAG 有什么区别?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔 面试官:记忆机制和 RAG 都用到了向量数据库,它们是一回事吗?
🙋 我:感觉差不多?都是把相关内容检索出来放进上下文?
👔 面试官:表面相似,但目的、数据类型、更新频率、检索策略全都不同。你能说清楚吗?
💡 简要回答
记忆机制和 RAG 都用向量检索,但服务于完全不同的目的:RAG 是知识增强,解决「模型不知道这个领域知识」的问题;记忆机制是个性化和状态持续,解决「Agent 不记得这个用户/任务的历史」的问题。前者是外挂知识库,后者是个人档案。
📝 详细解析
从「解决什么问题」出发
RAG 解决的问题:LLM 的训练数据有截止日期,不知道你公司的内部文档,也不知道最新的行业动态。RAG 在外部建一个知识库,需要时检索相关文档片段注入上下文。
记忆机制解决的问题:Agent 没有跨会话的持续性,不记得你之前说过的偏好、做过的任务、遇到过的问题。记忆机制在外部建一个「用户档案 + 历史记录」,需要时检索相关记忆注入上下文。
四个维度的系统对比
| 维度 | RAG | 记忆机制 |
|---|---|---|
| 核心目的 | 注入领域知识 | 维持个性化和状态持续 |
| 数据来源 | 静态文档(PDF、网页、数据库文档) | 动态生成(对话记录、用户行为) |
| 更新频率 | 低(文档更新时才更新索引) | 高(每次交互后都可能更新) |
| 检索维度 | 语义相似度(与当前问题最相关) | 语义 + 时效性 + 用户相关性 |
| 数据性质 | 客观知识(「Python 的 GIL 是什么」) | 主观历史(「这个用户喜欢简洁代码」) |
| 更新策略 | 批量更新 | 实时增量更新 + 记忆整合 |
类比来理解
把 Agent 类比成一个顾问:
- RAG 是顾问手边的行业资料库——关于行业知识、技术文档、政策法规的参考资料,给所有客户用的,内容是客观事实,更新不频繁。
- 记忆机制 是顾问脑子里的客户笔记——每个客户的偏好、历史问题、沟通风格、上次讨论到哪里,是高度个性化的,每次见面后都会更新。
顾问给你提供服务时,两种都需要:既要查行业资料(RAG),也要记得你是谁(记忆)。
能不能融合使用?
实际上,成熟的 Agent 系统通常两者都有,职责互补:
用户发起请求
↓
记忆机制检索:「这个用户的偏好、任务历史」
↓
RAG 检索:「这个问题涉及的相关领域知识」
↓
两类信息一起注入上下文
↓
模型生成个性化 + 知识准确的回答🎯 面试总结
核心要一刀切清楚:RAG 解决「知道什么」(知识广度),记忆机制解决「记得谁」(状态持续)。两者的数据来源(静态文档 vs 动态行为)、更新频率(低 vs 高)、检索维度(纯语义 vs 语义+时效)都不同。能补充「实际系统里两者配合使用」,是加分项。