Agent 的短期记忆与长期记忆应该如何设计?
先用自己的话答,再看参考说法
60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。
别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。
参考内容当前已显示;开始口述后会暂时隐藏。
面试时怎么答
短期记忆与长期记忆要按用途和生命周期解释。短期记忆服务当前任务,可随任务结束清理;长期记忆只保存跨会话仍有价值、用户允许写入的事实。重点讲写入门槛、来源、时间、置信度与删除机制。若被问向量库是不是记忆,回答它只是检索载体,记忆还包括治理与更新策略。
可以这样答:
短期记忆保存当前任务的中间状态、约束和最近观察,生命周期通常与任务一致;长期记忆保存跨会话仍有用且获得授权的稳定事实。长期记忆写入时要记录来源、时间和置信度,读取时按相关性与时效过滤,并支持更正、过期和删除。向量库只是检索实现,不能替代这些写入和治理规则。
核心回答
短期记忆服务于当前线程,保存最近消息、任务状态、工具结果和待办事项;长期记忆跨会话保存稳定信息,可再分为事实偏好、历史事件和可复用规则。设计重点不是“存下所有对话”,而是明确什么时候写、写什么、如何检索、何时过期,以及用户如何查看和删除。
展开说明
常见结构包括:
- 短期状态:跟随 thread_id 持久化,超出窗口后按任务目标摘要,并保留关键结构化字段。
- 语义记忆:用户偏好、实体事实等,可按 namespace 和用户检索。
- 情景记忆:过去任务及结果,用于参考相似案例。
- 程序性记忆:规则、Prompt 或工作步骤,通常需要更严格的版本与审核。
摘要会丢信息,向量检索也可能取回错误记忆,因此关键事实应结构化保存并保留来源。外部文档中的指令不能未经验证写入高权限记忆。
工程实践
记忆必须按租户和用户隔离,敏感字段加密并设置 TTL。写入前做去重、置信度和权限检查;读取后记录命中原因。评估既要看任务成功率,也要看错误记忆率、过期信息率、泄漏率和 token 成本。
常见追问
- 对话摘要如何避免丢失关键约束? 把目标、禁止项、数字、待办和来源按固定 Schema 保存,并在每次更新时做新旧约束差异检查,不要只生成自由文本摘要。
- 长期记忆与 RAG 知识库有什么区别? 长期记忆通常是与用户或任务主体相关、会随交互更新的数据;RAG 知识库多是共享文档事实,治理范围和生命周期不同。
- 用户要求“忘记我”时应删除哪些数据? 要清除原始记录、抽取记忆、向量索引、缓存和可定位备份中的关联项,并让后续生成不再从派生特征恢复该信息。
一句话复习
Agent 记忆是一套有写入、检索、过期和权限策略的数据系统,不是无限增长的聊天记录。
参考资料
- 面经主题:AI 应用岗公开面经中的记忆系统追问
- 技术依据:LangChain Memory 概览、MemGPT
评论与补充
评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。
正在连接站内评论服务…
正在加载评论…
还没有评论,你可以先写下自己的理解或追问。