前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库Agent 语义记忆 情景记忆 程序性记忆
AIAI Agent记忆与状态

Agent 长期记忆中的语义记忆、情景记忆和程序记忆分别存什么,读写方式有何不同?

语义记忆存事实与概念,情景记忆存个人经历事件,程序记忆存操作技能。读写方式差异在于更新逻辑与调用方式。

前端进阶之旅 · 一题精讲更新于 2026.09.05
AI Agent#记忆与状态#Agent 记忆
先看核心答案
理解线索

三类记忆的分工线索

  1. 存什么语义存静态事实,情景存经历,程序存步骤
  2. 更新方式语义覆盖,情景追加,程序迭代
  3. 读取触发语义按需查,情景检索片段,程序调用

区分核心是内容是否需要上下文时间戳,还是可用于跨场景复用。

核心回答

先记住这个答案

语义记忆存储去上下文的客观事实,如用户偏好、属性,通常结构化存储,可增量覆盖。情景记忆存储带时间地点的事件序列,用于回溯和模式识别,更新是追加而非覆盖。程序记忆存储如何执行任务的步骤或策略,通过执错修正或强化学习更新,多由系统固化,不直接让用户改写。

  • 语义记忆存可覆盖事实,用键值或属性管理
  • 情景记忆存事件序列,只追加并附带时间戳
  • 程序记忆存执行策略,靠结果反馈修正

三类记忆的内容形态与更新机制

语义记忆存储用户明确所述或推理得到的普适事实,例如“用户住在北京”“偏好Python”。这类记忆剥离了原始对话的时间、情绪和语境,通常以属性表或图结构保存,写入时需经过抽取和归一化。更新是覆盖旧的冲突值,且要记录置信度和来源。读取时直接按意图或实体检索,不关心当初怎么知道。

情景记忆存储特定时间点的个人经历,例如“3月2日用户抱怨过登录慢”。它保持事件顺序和上下文细节,通常以日志或带时间戳的片段保存,写入是追加新事件,不修改旧事件,因为旧事件是历史事实。读取时用于回忆或归纳,它支撑语义记忆的抽取,但本身更近于时序数据。程序记忆则涉及“如何做”,例如“生成周报先查数据再排版”,它可以是提示模板、工具调用链或策略网络,写入来自人工设定或从成功轨迹中学习,更新通常基于执行反馈,用户直接陈述需经过验证后写入。

三类记忆可能在形式上有重叠,但读写路径根本区别:语义记忆支持随机插入和覆盖,系统关心保持一致性;情景记忆只追加,系统需要防止无限增长并设计遗忘;程序记忆则多编译为固定流程或参数,不是每一轮对话都介入。实际操作中,常把语义和情景放在向量库里,但语义查询用相似度,情景还要引入时间衰减和顺序过滤。程序记忆通常在Agent代码或配置里,不跟用户文本一起存储。

旅行规划Agent的记忆读写场景

假设一个旅行规划Agent服务同一用户多次。第一次对话用户说“我喜欢安静的海岛”,Agent将其写入语义记忆,标签为preference,值是“安静海岛”,并保留来源消息ID。之后用户分享“去年在巴厘岛浮潜时被水母蜇了”,Agent把这段完整情节存入情景记忆,事件类型为incident,含地点、时间、感受。同时,Agent在程序记忆中内置“制定行程前先检查医疗风险”的步骤。后来用户提出“再推荐海岛”,Agent从语义记忆取偏好,从情景记忆检索“被蜇”事件并在推荐中排除有水母区域,再按程序记忆的顺序执行查询与过滤,返回安全选项。

处理中,语义记忆的更新发生在用户明确表示不喜欢潜水或多次类似事件归纳出该偏好时,需覆盖旧偏好或加排斥标签;情景记忆则总是追加新事件,即使事件与旧矛盾也不删旧,因为那是实际经历。程序记忆若发现规则导致用户不满,则通过人工调整或强化学习修改流程。整个决策链条依赖三类记忆的分离读取,不能把经历当事实写入,否则“怕水母”会错误覆盖“喜欢海岛”而过度保守。

分类混淆时的失效条件与代价

若把情景记忆当语义记忆使用,比如将一次吐槽“这酒店太吵”直接存成“用户讨厌闹市区”,会丢失环境与时间限定。几天后用户在市中心订酒店时,该记忆错误触发排斥,实际那次吵闹可能只是隔音差。情景记忆应当保留原始条件,通常需要多次同类事件可归纳或用户明确表态时才升级为语义事实,否则更新过于激进。

程序记忆如果不区分语义而作为用户偏好直接写入,例如用户说“我习惯先看价格”被存成事实,但用户在不同场景可能有不同决策策略,程序记忆依赖稳定执行流程,不能接收每次临时说法。需要由评审机制或离线验证来更新。另外,当三类记忆没有独立溯源,一次改写就会污染历史,使得复盘错误决策时无法判断当时基于什么。因此必须在每条记忆上记录类型、时间戳和来源引用,哪怕存储结构统一,也要在元数据上区分。

回答前,多想一步

容易答错的地方

三类记忆只是不同向量集合
错误认为都放向量库用相似度检索即可。其实语义记忆需要强一致性和覆盖,情景记忆依赖时序和顺序,程序记忆则多不是文本检索,而是模型参数或显式规则。三类读写模式与存储需求差异大,混在一个向量库处理会带来更新冲突与检索噪声。
情景记忆可以压缩成事实
把用户经历直接归纳成偏好,例如一次失败订单就存“用户讨厌物流慢”,这丢失了事件中可解释的上下文。情景记忆必须保留原始细节,以便后续跨事件归纳或纠正单一事件的误导。事实抽取应基于多次一致性或明确表态,而非单次事件。
试着用自己的话回答

面试官还会怎么问?

程序记忆如何从用户交互中更新?

程序记忆通常不作为用户陈述直接写入,而是通过评估Agent行为效果来调整。例如在ReAct中,某步骤成功率低则修改提示或工具选择,或用强化学习迭代策略。更新需要离线审计或延迟反馈,不能随对话即时覆盖,否则会遗忘已验证流程。

情景记忆如何防止无限膨胀?

情景记忆是追加式但需要生命周期管理,可设时间衰减或重要性评分,定期聚合旧事件为语义总结。但聚合时保留原始事件ID作为证据,避免丢失可追溯性。具体阈值需根据任务对历史细节的需求确定。

三类记忆应该分开存储吗?

物理存储可以统一在键值库或图数据库,但schema必须区分类型。语义记忆用实体-属性结构易更新,情景记忆用日志+时间戳,程序记忆存版本化策略。分开存储简化隔离和权限控制,若合库需靠类型字段强制区分读写路径。

从一道题,走向一组知识

把知识连起来

记忆与状态

如何从 Agent 对话中可靠地抽取结构化事实写入长期记忆?

同属「记忆与状态」专题,接着看 Agent 事实抽取 结构化 长期记忆 写入 在具体场景中的处理方式。

记忆与状态

Agent 检索长期记忆时,向量相似度、关键词和时间衰减应如何组合排序?

同属「记忆与状态」专题,接着看 Agent 记忆检索 排序 相似度 时间衰减 在具体场景中的处理方式。

参考资料

  • LangGraph overview - Docs by LangChain

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 三类记忆的内容形态与更新机制
  3. 旅行规划Agent的记忆读写场景
  4. 分类混淆时的失效条件与代价
  5. 容易答错的地方
  6. 面试官还会怎么问
  7. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑