type
Post
status
Published
date
May 8, 2026
slug
13-agent-memory
summary
单纯依赖向量数据库做 Agent Memory 存在精确调用缺失和时间状态盲区两大致命缺陷。本文拆解 ChatGPT 的四层分层记忆架构(环境数据、结构化档案卡、近期摘要、滑动窗口),并提炼生产级系统三件套:Ledger 只追加账本、Views 加工视图、Policy 管控策略,同时引入双时态和不可删概念,帮助开发者构建真正可追溯、可控制的 Agent 记忆系统。
tags
工具
AI
category
技术分享
icon
password
Tweet Link
Staus
In progress
类型
平台
很多人聊 Agent Memory,第一反应是:
- 把历史对话全塞进向量数据库
- 用户一问问题就做一次向量检索
- 把检索结果拼进 prompt 喂给大模型
这套在 Demo 里能跑,但一旦进入真实业务,很容易出现“啰嗦、不可控、逻辑混乱、还难排错”。这篇文章按视频的思路,把「生产级 Agent Memory」的关键坑点、行业标杆分层方案,以及真正工程化的三件套与两个高阶约束,一次讲清楚。
1. 只靠向量数据库做记忆:两个致命缺陷
缺陷一:模糊匹配 vs 精确调用的冲突
业务里很多关键信息,需要的是确定性,而不是“差不多”。
举个视频里的例子:做一个“买车 Agent”。聊了半天车型、贷款方案,业务下一步只想确认一个字段:
- 用户最终预算是多少?
如果你用向量检索,系统会从历史里捞出一堆“包含预算关键词”的长篇对话,大模型还得再读一遍、再猜一遍。
但生产级系统更应该是:
- 有一个结构化字段
user_budget
- 需要时直接查字段,一次命中、100%确定
这类确定性,才是真正能上线的“工程可靠性”。
缺陷二:时间状态的系统性困境(时间盲区)
还是买车例子:
- 昨天用户说预算 5 万
- 今天发奖金,预算变成 8 万
纯向量库像一个大纸箱:你把两张纸条都扔进去,下一次要取预算时,系统可能把两条都捞出来。
大模型往往分不清:
- 哪个是最新真相?
- 哪个已经过期?
正确做法是:状态覆写。
- 预算是“动态状态”
- 新数据进来就覆盖旧数据
- 系统永远只保留“当前唯一真相”
这在工程上常被称为:Single Source of Truth(单一事实来源)。
2. 行业标杆怎么做:ChatGPT 的“极其克制”的四层记忆
视频强调:你会发现一个反直觉点——在这套稳定高效的记忆系统里,向量数据库甚至不一定出场。
核心方法两个字:分层。
Layer 1:环境/上下文数据(不算长期记忆)
这层是当前环境信息:设备类型、位置、时区等。
特点:
- 当下需要
- 用完即丢
- 不进入长期记忆
类比:出门前看天气预报——只用来决定“带不带伞”,不需要背下来。
Layer 2:用户结构化档案卡(结构化状态)
这层专门解决“精确读取 + 状态更新”的需求。
形式通常是:表格/JSON。
例子:
- 职业
- 喜好(比如“是否喜欢香菜”)
- 预算(
user_budget)
原则:
- 必须可覆写
- 必须精确读取
- 绝不允许模棱两可
Layer 3:近期对话摘要(轻量主题清单)
面对大量闲聊,系统不存“每一句废话”,而是后台把近期聊过的内容压缩成一份轻量摘要。
类比:电视剧每集开头的“前情提要”。
它的目标是:
- 让 Agent 能把话接上
- 不需要翻全部原始对话
Layer 4:对话滑动窗口(短期上下文)
也就是 LLM 直接看到的最近几轮对话。
超过 token 上限怎么办?
- 最老的内容直接丢弃
3. 走向“主动思考”的 Agentic Memory:先把观念扭过来
视频里讲了三个关键命题(可以当作写代码前的三条原则)。
命题 1:Memory 的价值不在“存多少”,而在“能否转化为决策证据”
把 Memory 当“外接硬盘”是常见误区:
- 不是为了让大模型“背下公司十年文件”
- 而是要能在具体任务里,从历史中提取出对当前决策最有用的证据
核心在于:
- 历史数据 → 当前决策
这条通道是否顺畅。
命题 2:生产级系统三件套:Ledger / Views / Policy
要让系统能排错、能控制、能长期运行,视频给出一套非常工程化的骨架:
#### 2.1 Ledger(账本 / 只追加不可修改)
像银行流水:
- 只能追加
- 绝不能改
目的:
- 出了 bug / 幻觉,能像“飞行记录仪”一样回溯排错
#### 2.2 Views(派生视图 / 给大模型看的加工结果)
账本原始数据通常“太碎、太多”,模型直接看会看不懂/看不过来。
所以要做 Views:
- 把底层数据加工成模型友好的结构
- 比如:知识图谱、时间线用户小传、结构化摘要
#### 2.3 Policy(控制策略 / 系统的大脑)
最关键的一层:决定系统什么时候该做什么。
- 什么时候查资料
- 什么时候写入记忆
- 什么时候遗忘无用信息
没有 Policy,系统很快会变成“数据垃圾场”。
命题 3:给 Agent 建立“显式的慢思考回路”
LLM 天然更像 System 1(直觉系统):
- 你问,它就顺着生成
- 快,但容易瞎猜
真正的 Agentic Memory 要做的是:
- 遇到复杂问题先停一下
- 触发 System 2(慢思考)
- 主动去“读记忆/找证据”,再决定怎么回答
可以把它理解成:给大模型装了一个“外置机械臂”,让它能主动操作记忆工具,而不是只会生成文本。
4. 两个真实业务里特别要命的高阶概念
4.1 时间约束:双时态(Two temporalities)
很多系统里你不能简单覆写/删除旧事实。
例子:
- 张三曾是 A 公司总监
- 半年后跳槽到 B 公司
你不能直接把“A公司”删掉,因为用户可能会问:
- “张三去年在哪家公司?”
解决方法:双时态:每条记忆带两个时间戳。
- 现实生效时间:这条事实在现实世界何时成立
- 写入时间:这条记录何时被系统写入
查询时通过“时间切片”的硬约束,明确告诉模型:
- 这是张三现在的状态
- 这是张三过去的状态
避免时间线混乱导致的幻觉。
4.2 程序性记忆:不仅记住“是什么”,更要记住“怎么做”
传统 RAG 主要是陈述性事实:
- 北京是首都
- 某流程怎么走
但更高级的记忆系统,要沉淀的是“成功的做事路径”。
视频里的例子:Agent 修一个 bug,折腾三四轮终于修好。
普通记忆:
- 下次遇到同样 bug 还会重走痛苦流程
程序性记忆的目标:
- 把真正成功的交互轨迹“漏斗压缩”
- 过滤掉中间无用废话
- 固化成可执行的 skill(像“一键指令/标准操作流程”)
业务意义:
- Agent 越用越聪明
- 把经验沉淀成流程资产
5. 一句话总结
生产级 Agent Memory 不是“买个向量库 + 拼几句 prompt”就能搞定。
它更像一套系统工程:
- 明确业务属性(结构化、可覆写、可控)
- 模糊对话上下文(摘要、滑窗、必要时再检索)
- Ledger / Views / Policy 三件套保证可追溯与可治理
- 双时态解决时间线
- 程序性记忆把成功路径固化成技能
参考资料:B站《13分钟手把手,带你构建生产级Agent Memory的系统架构!》(BV1n49UBBEwN)
- 作者:可夫小子
- 链接:https://koffuxu.com/article/13-agent-memory
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章



