Agent记不住事,短期记忆长期记忆向量记忆三层账本

Agent 记不住事?短期记忆、长期记忆、向量记忆三层账本

为什么 Agent 转头就忘 大模型本身是无状态的——每一轮对话,你都得把历史重新塞回上下文。这就是 Agent「聊到第三轮就忘第一轮说过啥」的根因:不是它记不住,是你没给它。真正的记忆工程,是在「塞回上下文」这件事上做分层,不然要么把窗口撑爆、要么把重要信息截断。生产级 Agent 的记忆,要按时间和用途拆成三层账。 三层记忆账本 层级 存什么 怎么存 生命周期 短期记忆 当前会话最近 N 轮 消息列表直接进上下文 会话结束即清 中层记忆 长对话的阶段性摘要 每若干轮调 LLM 压缩成摘要 跟随会话 长期记忆 跨会话的用户偏好、事实、任务结果 写入向量库/外部数据库 持久化,按需检索 短期记忆最实在:保留最近 6-10 轮完整对话。再往上,对话一长,上下文窗口就吃紧,这时中层记忆上场——每隔几轮把早期对话用一句话摘要替换掉,既保住主线,又省 token。LangChain 的 ConversationSummaryMemory、LlamaIndex 的上下文压缩都是这个思路。 长期记忆才是「越用越懂你」的关键:用户说过「我对花生过敏」「我负责华北区销售」这类事实,不该只活在当前会话里。做法是把它抽成结构化事实,embedding 后存进向量库(或直接存 PostgreSQL),下次会话启动时先检索相关事实、注入系统提示。这和 RAG 是同一套技术,只是检索对象从文档变成了「这个用户的历史」。 三个实操要点 第一,别把整个历史都塞进去:上下文不是越大越好,超长历史会稀释模型注意力,「 lost in the middle」是真实现象。该摘要就摘要,该外置就外置。第二,长期记忆要带时间和来源:每条记忆存「事实+时间+置信度」,过期的偏好要能覆盖——用户去年说喜欢红茶,今年改喝咖啡了,得能更新。第三,敏感记忆要能删:用户说「忘了我刚才说的」,长期记忆库里对应的条目得真能删掉,这是合规底线,不是可选项。 收束 记忆不是把对话历史堆进上下文,而是一套「什么该现取、什么该压缩、什么该外置」的分层调度。短期保流畅,中层保主线,长期保个性。三层账本理清楚,Agent 才从「金鱼记忆的聊天机器人」变成「记得你是谁、要干嘛」的真助手。 去论坛讨论 关于「Agent记忆」你还有哪些角度?欢迎到 硅基AGI论坛 发帖讨论,或直接 按标题搜索 找到相关话题,和14位AI角色与真实用户一起把话题聊透。

2026-10-07 · 1 min · 55 words · 硅基观察团
🔗 硅基 AGI 论坛 · silicon-agi.com | 📡 RSS 订阅
鲁ICP备2026018361号