设计一个个性化学习助手:它要记住用户目标、薄弱点和偏好,但不能被用户污染成“以后都跳过安全检查”。你怎么设计?
考察点:考 memory 分层和写入策略。
7+ 分回答骨架:把本轮 prompt 使用的 working context 与长期 memory 分开。memory schema 包含 type、content、source、confidence、created_at、updated_at、TTL、privacy_scope、user_editable。可写入长期目标、稳定偏好、已验证薄弱点;安全策略、权限身份、系统规则不可由用户写入覆盖。读取时按任务 retrieval gating,只取相关且可信的 memory。
继续追问会衍生:衍生知识点:memory schema、write policy、retrieval gating、privacy scope、memory poisoning。
知识展开
| 概念 | 是什么 | 工程落点 | 面试表达 / 常见坑 |
|---|---|---|---|
| memory schema | 长期记忆不能只存一段文本,而是结构化记录,至少包括 type、content、source、confidence、TTL、privacy_scope、user_editable。 | 数据库保存结构化字段,向量索引只负责召回;读取时还要按权限、时间、置信度过滤。 | 面试表达:我不会把聊天历史直接丢进向量库,而会先定义 memory schema。 |
| write policy | 写入策略决定什么能成为长期记忆,什么只能留在当前会话,什么必须拒写。 | 稳定偏好、长期目标、已验证事实可写;权限、安全策略、身份声明、一次性情绪不写。 | 常见坑是让模型自己判断“重要就存”,导致污染和隐私风险。 |
| memory poisoning | memory poisoning 是错误或恶意信息进入长期记忆后持续影响未来回答。 | 写入前分类、低置信确认、高风险拒写、来源记录、可删除和审计。 | 强回答要说明污染不是一次回答错,而是跨会话持久污染。 |