Memory-Augmented 架构详解:让 Agent 记住你是谁
系列文章第 6 篇 · AI Agent 六大主流架构拆解 本篇拆解 Memory-Augmented 架构,把"短期工作记忆 + 跨会话长期记忆 + 记忆控制器"装进 Agent,让它"记住用户、记住经验、记住你自己",示例选择油菜表型采集这一典型"长期、连续、按口径"的任务。
什么是 Memory-Augmented
核心思想一句话:在 Agent 外挂一层可读写的记忆层,让 Agent 不仅能调用工具,还能在多次会话之间累积"事实、偏好、经验" —— 下次对话时,Agent 知道你是谁、关心什么、按什么口径回答。
一个最小运行单元:
Memory-Augmented 关注的是用户相关的事实与偏好 —— 会写、会更新、会随时间衰减、会冲突消解。
记忆的划分
按时效性切分,记忆可分成三类:
- 瞬时记忆(Immediate Memory / Sensory Memory):单次上下文窗口内,对话结束即丢弃,存储内容包括:当前轮完整 Prompt、工具返回结果、最新的用户输入,原始流式上下文。
- 短期记忆(Short‑Term Memory / Working Memory):一次会话周期(用户打开对话到关闭会话),保存会话内上下文,做压缩,规避窗口溢出,会话销毁后丢失。
- 长期记忆(Long‑Term Memory):跨会话持久化存储,永久留存,可检索召回,存储内容包括:用户偏好、历史事实、过往经验、反思总结、知识库片段。
按内容性质切分,记忆可分成四类:
- 陈述性记忆(Declarative Memory):存放可被语言描述的事实、经历与知识,包含情景事件和语义常识。
- 程序性记忆(Procedural Memory):存储从过往经验习得的行动策略、处理流程与做事范式,指导 Agent 如何执行动作。
- 反思记忆(Reflective Memory):对历史执行结果复盘归因,产出错误教训与改进方案的高阶自省记忆。
- 工作记忆(Working Memory):保存当前任务的临时中间状态,用于本轮推理、计划与 Agent 之间的信息流转。
两套划分并不是并列的另一套切片,而是不同维度对同一件事的描述:时效性决定记忆能活多久,内容性质决定记忆装的是哪一类东西。
示例背景:油菜表型采集
油菜表型采集是典型的周期性、强标准、重经验业务:
- 分期采集、错过不可补:从苗期(出苗期、五叶期、苗期生长习性)→ 蕾薹期(抽薹期、薹茎色)→ 花期(初花、盛花、终花期)→ 成熟期(株高、分枝数、角果数、每果粒数),一个生育周期要下地四五趟。花期那趟没记,就只能等下一年。
- 标准重:性状名称、描述符编号、计量单位、取样方法全部按《油菜种质资源描述规范和数据标准》执行——该书规定了描述符及其分级标准、字段类型与小数位、以及数据采集全过程的质量控制方法。换个技术员采集,数据必须能对得上。
- 经验强:同样的"全株有效角果数 342.6 个",放在不同密度、不同年份、不同试点,解读不同;异常值是不是仪器误差、要不要现场重测,靠的是长期经验。
- 跨会话连续:孙老师上周在 A 会话里说「我负责杨凌试验站的油菜表型采集,报告按《油菜种质资源描述规范和数据标准》的描述符编号和单位输出,重点看全株有效角果数和菌核病」——这周在 B 会话里,他直接问「P-2025-0412 这批表型数据怎么样」,Agent 应当接着上次的口径回答,而不是让他再交代一遍。
架构与运行机制

运行机制四阶段:
- ① 记忆召回(Retrieve):新请求到来时,先按 query 的关键词 / 标签 / 语义去检索长期记忆库,把相关条目作为补充上下文注入 system prompt。这一步骤决定了"Agent 有多了解你"。
- ② 推理与行动(Reason & Act):在记忆增强的上下文中跑常规 Agent 循环:思考、调工具、观察、再思考。Agent 拿到工具返回后,会自动把结果"按记忆里那个用户的口径"重新组织,而不是泛泛地回答。
- ③ 编码与写入(Encode/Write):每轮对话结束后,独立运行一个"记忆写入器" Agent,对当轮对话做评估:哪些信息值得长期保留?归到语义 / 情景 / 程序哪一类?打个重要度分(1–5),加几个检索标签,结构化落到 JSON / 向量库。
- 整合与遗忘(Consolidate):周期任务,对记忆库做去重、冲突消解、按时间衰减淘汰过期信息。
关键设计点:
| 阶段 | 定位 | 动作 | 设计价值 |
|---|---|---|---|
| 记忆召回 | 记忆读取,推理前置增强 | 按语义/关键词/标签检索长期记忆库,相关片段注入系统Prompt | 决定 Agent 对用户理解深度,个性化响应的基础 |
| 推理与行动 | 核心任务执行,记忆落地应用 | 思考‑工具调用‑观察循环,结合记忆适配用户口径输出 | 复用原生 Agent 的能力,完成记忆驱动的任务执行 |
| 编码与写入 | 记忆写入,单轮信息沉淀 | 筛选有效信息、记忆分类、重要度打分、打标签,结构化存储 | 沉淀记忆,业务逻辑与记忆处理职责解耦 |
| 整合与遗忘 | 记忆维护,库生命周期管理 | 去重、冲突消解、时间衰减、淘汰低价值过期记忆 | 防止记忆库膨胀,规避旧信息干扰推理 |
基于 LangChain 的代码演示
Memory-Augmented 就是为这种"长期 · 连续 · 按口径"的任务而生。本篇选择油菜表型采集作为示例,定义四个工具:
- 两个业务工具:
query_phenotype_records- 查询表型采集记录query_collection_task- 查询采集任务进度与质控状态
- 两个记忆工具:
search_long_term_memory- 语义检索长期记忆write_long_term_memory- 写入一条结构化记忆
定义业务工具:表型采集记录与采集任务
业务工具
| |
长期记忆存储与检索层
| |
- 基于 JSON 文件存储长期记忆
- ·
Memory类定义了单条长期记忆的结构,包括 ID、内容、类型、标签、重要性、创建时间、更新时间 MemoryStore类负责 JSON 文件的读写,并提供记忆的编码、写入、召回、整合等功能
定义记忆工具:查询记忆与写入记忆
| |
Agent 定义
| |
问答与反思
| |
_extract_tags用于从用户提问中提取标签,用于召回相关记忆run_with_memory主流程:召回记忆 -> 助理作答 -> 反思写入
调用
| |
执行输出:
| |
查看 long_term_memory.json 文件,即可看到所有长期记忆,如下:
| |
优缺点
优点
- 跨会话连续性:用户不必重复交代背景,第二次开口就能接着上次
- 个性化与低成本适配:记住偏好、术语、口径,无需微调即可按用户习惯输出
- 经验可累积:事实、结论、流程沉淀成可检索资产,越用越准
- 上下文瘦身:长期信息外置到记忆库,避免每次全量塞进提示词
缺点
- 检索质量决定上限:召回错了等于注入噪声,比没有记忆更糟
- 记忆污染与冲突:错误信息一旦写入会被反复引用,新旧冲突难自动判定
- 写入时机难把握:什么都记会撑爆记忆库,什么都不记等于没有记忆
- 工程与合规复杂度:存储、去重、过期、权限与删除机制成本与隐私风险并存
小结
Memory-Augmented 解决的是"Agent 记得你"的问题:把"事实 / 偏好 / 流程 / 经验"从对话里抽出来,结构化、可检索、可遗忘,跨会话复用。