短期记忆和长期记忆的设计与本质区别是什么?

考查重点:当前工作状态与可复用事实。短期承载当前任务目标与进度,长期保可复用事实和偏好;两者都可持久化,区别是作用范围与更新检索,不是只按存内存还是磁盘

本题目录

参考答案

核心回答

短期记忆和长期记忆的本质区别是服务的任务范围与信息生命周期,而不只是“存多久”或“用不用向量库”。

  • 短期记忆保存当前会话或任务的消息、工具结果、执行进度,保证后续步骤能接上前文。实现上可用会话历史、结构化状态和检查点。
  • 长期记忆保存跨会话仍有用的用户偏好、项目事实或处理经验,需要选择性写入,并支持按范围检索、纠错、过期和删除。

例如,“这份报告用英文”属于当前任务约束;“以后报告默认用中文”适合保存为长期偏好。新任务开始时,系统取回适用的长期信息,与本次要求和当前状态一起构建上下文。两类记忆都可以落数据库;短期状态持久化后仍是短期记忆,长期信息只放在进程内也不能保证重启后保留。

设计时先分清三个对象

对象 保存什么 什么时候使用
完整会话记录 原始消息和工具轨迹 回放、排障、恢复与证据追溯
当前模型上下文 当前步骤需要的指令、证据、近期消息 本轮推理时实际发送给模型
长期记忆记录 筛选后的偏好、事实与可复用经验 后续相关任务按需取回

三者不能直接画等号。数据库保存了一百轮消息,不代表每次都要发送一百轮;一条长期偏好被保存后,也要经过范围、相关性和有效性筛选,才进入本次上下文。

在 LangGraph 中,Checkpointer 按 thread_id 保存图的状态快照,支持同一线程的连续执行;Store 保存跨线程的键值信息,可按业务组织用户或项目命名空间。命名空间帮助组织数据,实际访问权限仍由应用检查。

一次偏好变更怎样处理

假设系统已有长期记录“报告默认中文”,这次用户要求英文:

短期与长期记忆的使用范围:本次英文要求作用于当前任务,中文默认偏好仍保留,相关信息按需取回

图中工作台与档案柜表示信息的使用范围,两类记录都可以持久化。本次特例只改变这份报告的要求;明确提出长期变更时,再更新默认偏好。

  1. 当前任务状态记录英文要求,用于本次报告生成。
  2. 长期中文偏好仍保留,避免把一次特例误写成永久变更。
  3. 用户明确说“以后都用英文”时,再更新长期记录,保留来源与适用范围。
  4. 删除偏好时,同时处理相关索引、派生摘要或缓存,检查后续检索是否还会带回旧值。

订单是否发货、库存是否充足等实时业务状态,应在决策时查业务系统。历史记忆可以帮助识别对象,不能代替当前权威数据。

存储与评测分别怎么选

确定字段读取可用键值或关系查询;需要语义关联时再加向量检索。完整原文、检索索引和当前有效记录可以分别保存,不必把全部内容塞进一个向量库。

短期记忆重点验证会话连续、工具调用与结果配对、检查点恢复;长期记忆重点验证跨会话召回、作用域隔离、纠错和遗忘。两者都要检查内容是否进入正确的模型请求,不能只检查写库成功。

常见追问

会话状态存进数据库,就变成长期记忆了吗?

不会。数据库决定持久性,短期或长期描述使用范围。一个保存数月的故障任务检查点,仍可能只服务那一条任务。

长期记忆是否必须用向量数据库?

不必。语言偏好等确定字段可直接按键读取;相关经验检索可以组合关键词、向量和时间条件。选型取决于访问方式,而不是“长期”这个名称。

对应教程

参考资料

  • 国内:JavaGuide:Agent记忆系统:借鉴短期状态与跨会话信息的划分,解释为什么存储介质和使用范围要分别判断。
  • 国内:WeThinkIn:记忆与上下文工程:参考信息来源、适用范围和更新治理,组织偏好变更、实时状态与删除检查。
  • 国内:Datawhale:记忆与检索:采用临时历史与外部记忆工具的分工,说明保存完整历史不等于本轮全部发送。
  • 国内:zero2Agent:记忆与上下文:参考关键约束外置、原文可回查和按需取回,说明当前英文要求怎样与既有偏好共同使用。
  • 国外:LangGraph:Checkpointers:依据线程检查点的作用,解释会话状态持久化后仍服务同一线程。
  • 国外:LangGraph:Stores:依据跨线程存储、命名空间与持久后端说明,解释长期信息的组织和读取。

相关面经

9 篇

公司未注明

Agent 开发实习生
实习
查看原面经 →
Agent 的短期记忆和长期记忆如何区分?

快手

Agent 开发工程师
秋招一面
查看原面经 →
Agent 的短期记忆和长期记忆分别是什么

经纬恒润

AI 应用开发
一面
查看原面经 →
记忆是怎么实现的?短期记忆和长期记忆分别怎么做

字节跳动

AI 应用工程师
一面
查看原面经 →
Memory 你会怎么设计?

快手

Agent 开发
日常实习一面
查看原面经 →
你的Agent为什么要有长短期记忆?
展开剩余 4 篇面经

字节跳动

Agent 开发
二面
查看原面经 →
短期记忆和长期记忆有什么区别?

滴滴

AI Agent 后端开发
查看原面经 →
讲一下 Agent 里的长短期记忆分别是什么

快手

后端开发
日常实习二面
查看原面经 →
长期记忆和短期记忆在设计上有什么区别?本质上有什么区别?

字节跳动

后端开发(Agent 方向)
实习春招一面
查看原面经 →
什么样的信息应该放在长期记忆,什么样的信息放在短期记忆?

收录题集

5 个来源,共6 份题集

后训练综合问答

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

AI 智能体与大模型应用开发面试题库

didilili · ai-agents-from-zero · 1 条原题

查看题集 →

Agent 面试题

Guide · JavaGuide · 1 条原题

查看题集 →

Agent开发面试题

摸鱼酱mio · 个人整理 · 1 条原题

查看题集 →

Agent记忆与上下文工程

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →
展开剩余 1 份题集

哔哩哔哩高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

相关题目

4 题