简要回答
短期靠上下文窗口;长期用向量库存对话/事实,按需检索;可加工作记忆存当前任务状态;写入时做重要性打分,检索时混合语义+时间衰减。
标准回答
一、先说记忆不是把聊天记录全塞回 prompt
Agent 记忆系统通常分三层:短期记忆 是当前上下文窗口里的对话和工具结果;工作记忆 是当前任务状态,比如计划、变量、已完成步骤;长期记忆 才是跨会话保存的用户偏好、项目事实或历史经验。这样分层的原因是:不同信息的生命周期、可信度和权限都不一样。
二、重点讲写入和检索两条链路
写入时不能来什么存什么。比较稳的流程是:先抽取候选事实,再做重要性评分、去重、置信度标注和敏感信息过滤,必要时让用户确认。检索时也不是简单 top-K 向量召回,而是结合 语义相关性、时间衰减、来源可信度、用户权限和当前任务意图 决定是否注入 prompt。
三、候选人要主动补风险控制
记忆系统最怕污染:错误事实被长期保存、过期偏好反复影响回答、不同用户信息串库、敏感数据被检索出来。工程上要有版本、过期时间、删除入口、冲突解决和审计日志。MemGPT / Mem0 这类方案的共同点,是把“保存什么、何时检索、何时遗忘”做成可控流程,而不是无限扩上下文。
常见误区
⚠️ 常见踩坑
误区一:把记忆等同于 RAG。RAG 更多是检索外部知识;Agent 记忆还包括用户偏好、任务状态、历史决策和可遗忘机制。
误区二:认为记得越多越好。记忆越多,噪声、隐私风险和检索成本越高;好的记忆系统一定有筛选、过期和纠错。
追问
追问 1:如何避免记忆污染?
可以从写入、存储、检索三处防。写入前做重要性评分、置信度标注和敏感信息过滤;存储时保留来源、时间、版本和过期时间;检索时结合当前任务、权限和时间衰减,不让无关旧记忆进入上下文。遇到冲突记忆时,不要静默覆盖,最好保留版本并按来源可信度或用户确认结果决定采用哪条。
追问 2:MemGPT 的核心思路?
MemGPT 的核心类比是操作系统的虚拟内存:模型的主上下文很小,外部存档很大,所以需要一套“换入换出”机制。模型可以决定把哪些信息写入长期存档,什么时候再检索回来。面试里可以强调它不是单纯扩大 context window,而是把记忆管理变成显式动作,让长期信息在需要时再进入工作上下文。
🔗 相似问题
同一考点的不同问法,换着练更稳
延伸学习
按主题分类的相关资源,便于系统复习
