真实面经题目 · 原创解析
Agent 记忆出现过期或冲突事实时,如何更新、覆盖和回溯?
这题考 Agent 记忆过期和冲突事实的治理,回答要覆盖事实版本、来源置信度、用户确认、覆盖规则、tombstone、审计回溯和 Prompt 侧只使用当前有效记忆。
真实面经题目 · 原创解析
这题考 Agent 记忆过期和冲突事实的治理,回答要覆盖事实版本、来源置信度、用户确认、覆盖规则、tombstone、审计回溯和 Prompt 侧只使用当前有效记忆。
我会把 Agent 记忆当成有生命周期的事实记录,而不是一段永久有效的聊天摘要。每条记忆至少要有主体、属性、值、来源、时间、作用域、置信度、版本和状态。当新信息进入时,先做冲突检测,例如同一用户的公司、职位、偏好或任务目标出现不同值。冲突解决可以按优先级处理:用户明确纠正通常高于模型推断,外部可信工具结果高于普通对话推测,更新近的事实高于旧事实,但如果影响重要决策要向用户确认。存储上不要简单删除旧值,而是写入新版本,把旧事实标为 inactive、superseded 或 tombstoned,保留审计链路;涉及隐私删除时再按合规要求真正清除。Prompt 拼装时只放当前有效、相关、可信的记忆,并标注时间和来源;低置信冲突可以触发澄清。线上还要记录记忆变更日志、恢复入口和 badcase,避免 Agent 因旧记忆反复给出错误答案。
Agent 记忆会过期、被纠正或和新信息冲突。工程上不能把一次对话摘要当成永久真相,而要把记忆建模成带时间、来源、作用域、置信度和状态的事实记录。
冲突通常发生在同一主体的同一属性上,例如工作单位、角色、联系方式、偏好、项目目标或约束条件发生变化。结构化的 subject-predicate-value 记录更容易发现冲突;纯自然语言摘要很难判断旧事实是否需要覆盖。
解决冲突时不能只看时间。用户明确纠正的事实优先级通常高于模型推断;可信工具或业务系统返回高于普通对话;最近事实通常高于旧事实。对会影响决策的冲突,最稳的方式是向用户澄清,而不是让模型猜。
新事实进入后,可以创建新版本,把旧事实标记为 superseded、inactive 或 tombstoned。这样 Prompt 侧不会再使用旧事实,但审计时仍能看到变更链路。只有在用户删除、隐私要求或数据保留策略要求时,才需要进一步做物理删除或匿名化。
Prompt 拼装阶段要过滤过期、低相关、被覆盖和低置信记忆,只放当前任务需要的有效事实,并尽量带来源和时间。发现有效记忆之间仍有冲突时,应优先澄清或降级,而不是把两条互相矛盾的信息都交给模型。
系统要记录谁触发了记忆更新、旧值是什么、新值是什么、依据是什么、何时生效以及是否进入 Prompt。出现错误覆盖时,要能回滚到旧版本或重新确认。线上 badcase 应回流到冲突检测、确认策略和 Prompt 过滤规则。
写入新工作单位作为新版本,把旧工作单位标记为被覆盖或历史事实。后续 Prompt 只使用新工作单位,审计链路保留旧值和更新时间。
不一定。最新信息可能是模型误抽取或用户临时假设。要结合来源、用户确认、工具可信度和影响范围判断,重要冲突需要澄清。
tombstone 表示旧事实不再有效,但保留覆盖记录,便于回溯和防止旧值被重新激活。直接删除通常用于隐私删除或数据保留策略要求。
Prompt 拼装前按状态、版本、时间、作用域和相关性过滤,只选择当前有效记忆;对冲突和低置信记忆触发澄清或降级。
依赖版本链和变更日志找到旧值、覆盖来源和生效时间,回滚状态或向用户重新确认,并把该样本加入冲突检测 badcase。