前端进阶之旅前端进阶之旅
  • 基础篇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 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库AI Agent 短期记忆和长期记忆区别
AIAI Agent记忆与状态

AI Agent 中短期记忆与长期记忆的划分依据是什么,各自该存什么内容?

主要按状态的使用范围和生命周期划分,而不是简单按有没有数据库或保存了多少小时划分。

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

把执行状态、跨会话知识和当前上下文分开

  1. 短期状态当前任务需要恢复与继续执行的消息和步骤
  2. 长期知识经过筛选、跨会话有价值且允许复用的信息
  3. 当前上下文本次模型调用实际可见的状态与检索片段

划分方式随应用架构变化,应把线程范围、用户范围和保留期限写清楚。

核心回答

先记住这个答案

短期记忆通常服务于当前会话或任务线程,包含消息、工具结果、计划进度和待确认操作等执行状态;长期记忆用于跨会话复用相对稳定的事实、偏好或经验。短期状态也可以通过检查点持久化,所以“写进数据库就是长期记忆”并不成立。长期保存的数据也不应全部塞入提示词,应按权限、相关性和时效性选择,再送入模型当前上下文。

  • 会话或线程状态也可以持久化保存
  • 长期记忆关注跨任务复用及后续维护
  • 存储、检索和上下文装配是不同步骤

短期记忆并不是进程里的临时变量

假设一个 Agent 正在整理采购清单,已经查到部分商品但仍等待用户确认预算。当前清单、查询结果和待确认事项属于这次任务的工作状态。如果服务进程重启后还需要继续,应用可以把这些状态做检查点保存;它们依然是线程范围的短期记忆,不会因此自动成为全局知识。

同样,长期记忆也不是必须永不删除的历史归档。用户的默认收货地区、语言偏好或已确认的项目约束可以跨会话使用,但都应有来源、更新和失效机制。用“短期等于内存、长期等于向量库”的划分会混淆逻辑范围与实际存储设施。

用户跨会话回访时如何装配信息

假设用户今天询问某份采购任务的进度,应用应先定位其有权访问的线程状态,恢复已完成步骤与尚未确认的动作。若还需要默认币种等偏好,再从用户范围的长期记忆中读取。两个来源可能进入同一次模型调用,但读取入口、授权条件和更新方式不必相同。

装配上下文时还应筛选内容。上次查询得到的一大段网页原文可能已经过期,没有必要每次完整送入;可以保留引用、摘要或重新获取的条件。长期记忆检索也要检查用户边界和事实有效期,不能因为相似度较高就把别人的信息或陈旧偏好放进当前任务。

什么时候把一次对话内容转为长期事实

用户明确表达持续偏好,例如以后优先使用某种语言,可能值得提取为长期记忆;一次临时指令,例如这次出差寄到酒店,则不能直接覆盖默认地址。写入前要区分原话、模型推断和任务临时条件,并根据业务必要性决定是否保存。

设计验证用例时应覆盖新线程不应继承旧任务的待执行操作、同一用户应能读取允许复用的偏好,以及删除或修改长期事实后不应继续检索旧值。对于并发线程,还应规定冲突处理与版本检查,避免稍后结束的旧任务重新写回已经被用户纠正的信息。

回答前,多想一步

容易答错的地方

把所有聊天记录都当作高质量长期记忆
原始对话包含临时要求、工具噪声和已过期结论,不经筛选直接检索会放大错误。长期记忆需要明确用途、事实抽取与纠正方式,而不是仅增加一个更大的历史表。
以为模型上下文窗口等同于记忆系统
上下文窗口只是某次调用能接收的信息范围。应用还需负责保存、索引、授权、筛选和删除;把状态持久化与本次是否送入模型是两个独立步骤。
试着用自己的话回答

面试官还会怎么问?

会话摘要应该放短期还是长期?

取决于用途。为缩短当前线程上下文而生成的摘要通常仍属于该线程状态;若从中提取跨会话偏好,则应另行检查来源与保存依据,再写入长期记忆。

短期记忆一定要保存完整工具输出吗?

不一定。需要考虑恢复执行的必要信息、输出大小和时效性,可以保存结构化结果、外部引用与重取条件。省略内容时必须确保后续步骤不会误以为已经掌握了被丢弃的细节。

长期记忆能完全替代业务数据库吗?

不能。订单状态、账户权限等权威业务数据应从相应系统读取,记忆可以保存辅助上下文或检索线索。不能用模型总结出来的旧事实替代必须实时核验的业务记录。

从一道题,走向一组知识

把知识连起来

记忆与状态

用户说「我搬家了」时,Agent 长期记忆中的旧地址事实应该如何更新而不是简单追加?

长期事实会变化,继续看用户纠正信息后如何保留来源、版本与有效范围。

任务规划

AI Agent 做任务分解时如何确定子任务的粒度?

短期状态需要保存哪些步骤,取决于任务拆分与可恢复执行的边界。

参考资料

  • LangChain Memory overview

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

本题目录
  1. 先记住这个答案
  2. 短期记忆并不是进程里的临时变量
  3. 用户跨会话回访时如何装配信息
  4. 什么时候把一次对话内容转为长期事实
  5. 容易答错的地方
  6. 面试官还会怎么问
  7. 把知识连起来
读懂,再试着讲出来

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

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