为什么智能体需要"记忆"分层
对话里的上下文是**短期记忆**:容量有限、会话结束就没了。
而智能体常常需要跨会话记住事实(用户偏好、项目约定)或跨任务共享知识(团队规范)。
把这三层混在一起,会出现"该忘的没忘、该记的没记"。
三层记忆
**一、短期(会话内)**
当前对话 + 工具调用结果。管理手段:滚动摘要、关键事实锚点表、按需检索历史(见"多轮对话"那篇)。
**二、长期(跨会话)**
存**结构化事实**而不是原始对话("偏好简洁回答" ✔ 而不是整段聊天记录 ✗);
每条事实带**来源**(哪次对话、什么时间)与**置信度**;
必须支持**查看与删除**(用户要能纠正错误记忆,也要能撤回同意);
写入要**有门槛**:只在用户明确陈述或反复出现时写入,避免把一次口误记成偏好。
**三、共享(跨任务/团队)**
组织级的知识(术语、规范、流程)。这类内容应像文档一样**版本化**,改动可追溯;
不要让某个会话的临时结论悄悄变成全团队的事实。
写入与读取的纪律
**写入**:显式(用户说"记住…")优先;隐式写入要有较高阈值 + 可撤销;
**读取**:按当前任务**检索**相关记忆,而不是把所有记忆塞进上下文(否则噪声淹没信号);
**冲突**:新旧矛盾时以**时间更近且来源更明确**的为准,并把冲突记录下来供人复核;
**过期**:给可能变化的事实(岗位、价格、偏好)设有效期,过期后需重新确认。
常见错误
把长期记忆当"日志"存(越存越多,检索越差);
记忆不可见也不可删(用户无法纠正,合规上也说不过去);
把共享记忆写成会话临时产物(污染团队知识);
只记结论不记来源(出问题无法追溯)。
落地顺序
1. 先做短期记忆的摘要 + 锚点表(收益最大);
2. 再做长期记忆的**显式写入**(用户说记住才记)与查看/删除;
3. 最后做共享记忆,并强制走版本化流程。