← 首页
AI 岗位预备 · 面试追问
记忆丢失
工作流 →
面试追问 · 记忆系统

面试官问完 Agent 记忆,
下一句会问什么?

你的 Agent 聊着聊着就忘了你是谁——面试官会追着你问"记忆存哪、怎么管"。
Agent 记忆 = 把无状态 LLM 变成有状态智能体的分层体系。面试真题:"你的 Agent 有没有记忆?记忆存在哪?"——"存向量库"只是开始,追问在后面
追问现场 · 面试真题
面试真题
"你的 Agent 有没有记忆?记忆存在哪?
用户上周说有两个孩子,这周说有三个——你怎么更新?"
大多数人的第一反应:存在向量数据库里?——面试官连环追:多少条?怎么检索?两个孩子变三个,追加还是更新?
知道怎么"存"和"取"只是入门,"管记忆"(更新/冲突/删除)才是分水岭。面试官原话:"你知道怎么查记忆,但你不知道怎么管记忆。"
先说结论
记忆是双层架构短期(对话上下文窗口·任务结束清空)+ 长期(向量库·跨会话)。关键不在"存哪",在"读→用→写"闭环 + 冲突管理
基础层 · 行业方案
① 短期记忆。就是每次调 LLM 传的 messages 列表——不是"最新一条",是"工作台"(完整历史保任务状态),任务结束清空。代价:步骤一多会撑爆上下文。
② 长期记忆。向量库 + Embedding:写入时转向量、存原文+元数据,召回时按语义距离取 top-k 注入 prompt。粒度三档——太细碎片化(偏好被拆多条只命中部分)、太粗噪声大(两千 token 里百字相关)、合理=一次完整交互或一个知识点。
③ 冲突更新三优先级。时间优先(新覆盖旧)→ 明确声明优先(用户明说的规则覆盖默认推断)→ 事实类优先(客观事实覆盖主观推测)。不物理删除旧记忆,标记失效版本供回溯。
执行层 · 我们的增量
④ 失忆最真实的场景不是技术,是"换通道"。我们有一次换通道后丢了"作者是自己"的上下文:同样的任务,换个执行通道,历史记忆全部失效。这暴露的是:记忆跟会话走、不跟任务走
⑤ 无幂等保护的重复执行会污染记忆。同一天同一任务被完整执行两遍(双触发),各跑各的,没有"今天已做就跳过"的保护。记忆系统没有幂等,写进去的就是脏数据。
真实事故(事后回看):08-24 双触发——六个定时任务同一天被完整执行两遍,每个任务都出现"早 10 分钟 + 准点"两个执行记录;唯一没重复的,是自带"今天已做就跳过"保护的那个。同一天还有一次换通道,丢了"作者是自己"的上下文。
事后补的防御(避免重演)
记忆按"读→用→写"闭环管理(任务前读长期记忆、执行中短期承载、任务后写回);② 冲突按三优先级裁决(时间/声明/事实)+ 软删除(不物理删·供回溯);③ 换通道/多执行者必须显式交接(交接件),不靠"我记得"。核心原则:记忆管理才是 Agent 可用不可用的分水岭
面试官想听什么
你不只会说"存向量库"——你能讲双层架构(短期工作台 + 长期向量库)+ 粒度三档
你能讲"管记忆":冲突更新三优先级(时间/声明/事实)+ 软删除供回溯——正是"两个孩子变三个"的考点
你有真实场景:换通道丢上下文(记忆跟会话走不跟任务走)+ 双触发污染(无幂等)
加分项:你接住面试官那句"你知道怎么查记忆,但你不知道怎么管记忆"——再补"换通道要交接件,不靠我记得"
可复制 · 救急段
面试官问 Agent 记忆怎么设计,别只答"存向量库"——双层架构:短期记忆是每次传的 messages(任务结束清空),长期记忆是向量库(按语义检索)。关键在"管":冲突更新三优先级(时间优先/声明优先/事实优先)+ 软删除不物理删。加分项:换通道/多执行者要显式交接件,不靠"我记得"——记忆管理才是 Agent 可用不可用的分水岭。
素材来源:真实面经/面试现场实采(吴师兄记忆系列·鹅厂淘天真题)· 双触发/换通道为本工作区真实事故(事后回看)· 想进阶?看 渐进索引