个人助理的记忆系统很容易走向两个极端。
一种是完全不记,每次对话都像第一次见面。另一种是什么都记,最后记忆库变成噪音堆。真正可用的个人助理,需要知道什么值得长期保存,什么应该及时丢掉。
应该记住:稳定偏好
偏好是长期影响输出质量的信息。
例如:
- 喜欢简洁直接的回答。
- 写博客时偏好中文标题和英文 slug。
- 代码修改前要先检查现有风格。
- 高风险操作必须先说明影响。
偏好应该少而稳定。临时情绪、一次性表达和随口说法,不应该马上写入长期记忆。
应该记住:稳定事实
稳定事实是关于用户、项目或环境的长期信息。
例如博客仓库路径、部署方式、常用服务器、默认分支、常用工具链。这些信息能减少重复沟通,提高执行效率。
但事实也需要可更新。如果路径、配置或部署方式变了,旧事实必须能被覆盖。
应该记住:任务状态
任务状态回答“做到哪里了”。
例如一篇文章已经写了总览、下一步要补实战篇;某个部署已经完成构建但还没推送;某个系列已经完成分类但还没补维护手册。
任务状态适合有生命周期,完成后应该归档,不应该无限保留在活跃上下文里。
应该记住:长期知识
长期知识是以后可能反复检索的内容。
例如踩坑记录、配置说明、命令模板、文章素材、概念卡片。QPC 的价值就在于把知识压缩成低摩擦条目:问题、实践、概念或事实。
长期知识不一定要很长,关键是可检索、可重读。
不应该记住:临时上下文
临时上下文只服务当前任务。
例如一次命令输出、一段中间草稿、临时错误信息、某次搜索结果。如果把这些都写入长期记忆,系统会越来越嘈杂。
临时上下文可以进入日志,但不一定进入记忆。
不应该记住:未经确认的推断
Agent 经常会推断用户意图。
这些推断不能直接写成记忆。例如“用户喜欢某种投资风格”“用户总是想自动部署”“用户偏好某个模型”。除非用户明确确认,否则只能作为当前任务假设。
记忆系统最怕把猜测固化成事实。
一个五层划分
可以把个人助理记忆分成五层:
| 层级 | 内容 | 生命周期 |
|---|---|---|
| 当前上下文 | 本轮任务细节 | 任务结束后丢弃 |
| 任务状态 | 待办、进度、阻塞 | 完成后归档 |
| 用户偏好 | 输出风格、风险边界 | 长期但可更新 |
| 稳定事实 | 路径、配置、项目背景 | 长期但需校验 |
| 知识库 | QPC、踩坑、模板 | 长期积累 |
记忆写入规则
每次写入记忆前,先问:
- 这条信息下次还会用到吗?
- 它是事实、偏好,还是临时上下文?
- 它有没有过期风险?
- 它是否来自用户确认?
- 如果写错了,后果大不大?
个人助理不是记得越多越好,而是记得越准越好。