标准答案
- 持久化时保存结构化消息事件、工具调用、工具结果、人工修改和版本,而不是只保存最终拼接文本。这样才能重放和审计。
- 摘要应包含目标、已确认事实、未解决问题、约束和下一步,并标记来源或置信状态;过期状态应可更新,冲突时以权威数据和用户最新确认优先。
- 压缩可按消息数、Token 预算或任务阶段触发。摘要失败时保留原历史或转异步处理,不能为了省 Token 生成一个未经校验的事实摘要。
题目解析
对话状态至少分为三类:用户明确提供的事实、模型推断的候选信息、外部工具返回的业务事实。它们的可信度和更新方式不同,不能混成一段“记忆”。
隐私策略要参与持久化设计。敏感消息可以短期用于当前任务,但不一定进入长期记忆;删除用户数据时还要处理摘要、向量索引、缓存和日志副本。
摘要回归测试应检查数字、否定词、日期、身份、权限和未完成动作。一个把“不能退款”摘要成“可以退款”的错误,比普通措辞变化严重得多。
常见误区
- 只保留摘要,删除原始事件,导致无法解释答案从哪里来。
- 把模型推断写入长期用户记忆,没有用户确认或可信来源。
- 用固定消息条数触发压缩,不考虑每条消息的 Token 和任务重要性。