当前位置: 首页 > news >正文

AI Agent 的记忆系统:短期记忆 vs 长期记忆,一文讲透

AI Agent 的记忆系统:短期记忆 vs 长期记忆,一文讲透

一、为什么 Agent 需要"记忆"?

你有没有遇到过这种情况:和 AI 聊了半天,它突然"失忆"了,前面说过的事完全不记得;或者每次打开新对话,都要重新自我介绍一遍。

这背后的根本原因是:大模型本身是"无状态"的——它不会自动记住任何东西。每次调用,它只能看到你这一次传给它的内容,过完即忘。

但一个真正好用的 AI Agent,必须能"记事":

  • 记住你这轮对话前面说了什么(不然没法多轮交流)
  • 记住你是谁、喜欢什么(不然每次都像初次见面)
  • 记住之前做过的任务、学到的经验(不然永远在重复犯错)

给 Agent 加上"记忆系统",就是让它从"金鱼记忆"变成"靠谱助理"的关键。而记忆主要分两类:短期记忆和长期记忆。

二、短期记忆(Short-term Memory)

2.1 它是什么

短期记忆 =当前这轮对话/任务的上下文。它对应的就是模型的「上下文窗口」里那些对话历史

打个比方:短期记忆就像你和人聊天时脑子里的当前话题——这次聊天结束、或者话题切换太久,它就淡忘了。

你:我叫小明,在做一个电商项目 AI:好的小明,关于电商项目有什么可以帮你? 你:帮我设计数据库 ← AI 还记得你叫小明、在做电商 你:(新开一个对话)你好 ← AI 不记得小明了,短期记忆没了

2.2 怎么实现

最直接的方式:把历史对话拼接到每次请求里

# 短期记忆 = 维护一个 messages 列表messages=[{"role":"user","content":"我叫小明"},{"role":"assistant","content":"你好小明"},{"role":"user","content":"我刚才说我叫什么?"},# 它能答对]

2.3 核心挑战:上下文窗口装不下

对话越长,历史越多,迟早会超出上下文窗口,而且 Token 成本飙升。常见应对:

策略做法
滑动窗口只保留最近 N 轮对话,旧的丢掉
摘要压缩把早期对话总结成一段话,替代原文
混合近期保留原文 + 远期保留摘要

三、长期记忆(Long-term Memory)

3.1 它是什么

长期记忆 =跨对话、跨会话持久保存的信息。关掉重开、过了一周,它依然记得。

打比方:长期记忆就像你写在笔记本里的东西——不依赖当前在不在聊,需要时翻出来看。

它通常存储:

  • 用户画像:你的名字、偏好、习惯(“小明喜欢用 Python、讨厌过度设计”)
  • 历史事实:之前发生过的关键事件、做过的决定
  • 经验知识:从过往任务中学到的方法、踩过的坑

3.2 怎么实现

长期记忆不能塞在上下文里(太多了),而是存到外部,需要时再检索回来。最主流的方式就是向量数据库 + 检索——这其实就是 RAG 的思路用在了"记忆"上:

存入:把记忆("小明喜欢 Python")转成向量,存进向量库 ↓ 读取:新对话时,根据当前话题检索相关记忆,拼进上下文 ↓ 模型:"我记得你喜欢 Python,那这个方案就用 Python 写"
# 长期记忆的极简示意# 1. 存:把重要信息写入向量库memory_db.add("用户小明:偏好 Python,反感过度设计",user_id="xiaoming")# 2. 取:新会话开始时,检索该用户的相关记忆memories=memory_db.search(query=当前问题,user_id="xiaoming",top_k=3)# 3. 把检索到的记忆拼进 system promptsystem_prompt=f"关于该用户你已知:{memories}\n请基于这些信息回答。"

3.3 进阶:记忆的"读 / 写 / 更新"

成熟的长期记忆系统不只是"存",还要管理:

  • 写入时机:哪些信息值得记?(不是所有对话都要存)
  • 更新/纠正:“小明换成 Go 了”——旧记忆要能更新
  • 遗忘机制:过时、无用的记忆要清理,否则越积越乱

四、短期 vs 长期:一张表看清

维度短期记忆长期记忆
范围当前对话/任务跨对话、永久
存在哪上下文窗口(对话历史)外部存储(向量库/数据库)
生命周期对话结束就没了持久保存
典型内容刚才聊的内容用户画像、历史经验
主要挑战窗口装不下 → 压缩/裁剪何时写、怎么检索、如何更新
类比脑子里的当前话题写在笔记本上的东西

五、一个完整 Agent 的记忆是怎么协作的

真实的 Agent 通常两种记忆一起用

用户提问 ↓ ① 从【长期记忆】检索相关信息(用户偏好、历史经验) ↓ ② 加上【短期记忆】(本轮对话历史) ↓ ③ 一起组成上下文 → 喂给模型 → 生成回答 ↓ ④ 判断:本轮有没有值得长期记住的新信息? 有 → 写入【长期记忆】

举个例子——一个编程助手 Agent:

  • 长期记忆:记得你常用 Python、项目用 FastAPI、不喜欢复杂方案
  • 短期记忆:记得这轮你正在调试一个登录接口的报错
  • 协作效果:它给的方案既贴合你的长期偏好(Python + 简洁),又紧扣当前问题(登录报错)

这就是"有记忆"和"没记忆"Agent 的体验鸿沟。

六、几个实践建议

#建议说明
1先做好短期记忆多数应用,把多轮对话 + 摘要压缩做好就够用了
2长期记忆按需引入真的需要"跨会话记住用户"时再上,别过度设计
3不是什么都要记长期记忆只存高价值信息,垃圾进垃圾出
4记忆也要"检索得准"长期记忆本质是 RAG,Embedding 和检索质量决定效果
5注意隐私合规存用户信息要考虑授权、加密、可删除
6善用现成方案有 Mem0、LangChain Memory 等开源库,不用全从零造

七、总结

  • 大模型本身无状态,记忆是外挂上去的能力
  • 短期记忆= 当前对话上下文,存在窗口里,靠压缩/裁剪管理
  • 长期记忆= 跨会话持久信息,存在外部(向量库),靠检索调用,本质是 RAG
  • 好的 Agent 两者结合:长期记忆提供"你是谁",短期记忆提供"我们在聊什么"
  • 实践原则:先把短期做扎实,长期按需引入,只记高价值信息

一句话:记忆系统,是让 AI Agent 从"一次性工具"进化成"懂你的长期助手"的核心。理解了短期与长期记忆的分工,你就掌握了构建实用 Agent 的关键一环。


相关阅读:长期记忆与我之前写的《RAG 知识库实战》《向量数据库选型》《Embedding 指南》《上下文工程》是同一条技术线,建议串起来看。

http://www.zskr.cn/news/1525270.html

相关文章:

  • 鸣潮自动化革命:ok-ww如何用图像识别技术解放你的游戏时间
  • MPC8245信号与时钟系统解析:SDRAM、I2C、UART及调试接口设计实践
  • Vue3 异步数据管理:从满地都是 loading 到优雅的 useRequest,保姆级优化之路
  • Bugku CTF 神秘的文件
  • LiteDB.Studio:嵌入式NoSQL数据库的终极可视化管理方案
  • 爱回收质检透明吗?拆完5道工序我有了判断 - 新闻快传
  • Python量化交易终极指南:Backtrader快速入门与实战教程
  • Ryujinx Switch模拟器终极指南:在PC上畅玩任天堂游戏的完整教程
  • 杭州闲置黄金怎么卖不亏?2026黄金回收完整避坑攻略,正规门店这样选 - 薛定谔的梨花猫
  • AI 驱动的前端设计系统生成:从设计令牌到组件库的自动化实践
  • OCLP-Mod:如何让2008年后的旧款Mac继续运行最新macOS系统?
  • 终极分屏游戏方案:用Nucleus Co-Op免费开启本地多人游戏新时代
  • MPC8260并行I/O端口配置:引脚复用、中断与UTOPIA/TDM实战
  • 重塑链上未来的隐形基石:长期主义下的生态演进
  • 江西省博物馆周边宝藏饭店!两口子家常菜! - 速递信息
  • AI 辅助的云原生容量规划:从负载预测到资源推荐的自适应策略
  • 文档下载神器kill-doc:如何三分钟搞定全网30+平台免费文档下载?
  • 深入解析wxapkg-convertor:5步掌握微信小程序反编译核心技术
  • 2026沈阳门窗公司对比测评:优选沈阳优顿门窗 - 速递信息
  • OpenPLC Editor终极指南:如何免费创建工业自动化程序
  • WaveTools抽卡记录终极指南:如何精准管理你的抽卡数据与保底计算
  • 安能物流40公斤收费标准?安能物流40公斤寄件多少钱?2026最新收费详解 - 快递物流资讯
  • eLabFTW终极指南:5个简单步骤搭建你的开源电子实验记录本
  • 5分钟免费解锁Wand专业版:终极游戏修改体验指南
  • 肇庆四会高性价比酒店判定指南 实测维度拆解 - 奔跑123
  • 2026年值得关注的口碑较好工艺品设计服务排名
  • Boot Camp驱动自动化管理:3步实现跨平台高效部署
  • 终极指南:如何让普通鼠标在macOS上获得专业级体验
  • 2026深圳首饰回收实地实测:本地人亲测、无套路的6家正规回收门店 - 逸程
  • 5分钟掌握Minecraft基岩版终极启动器:Bedrock Launcher完整指南