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

Agent系列(六):记忆管理——让 Agent 记住重要的事

记忆,让 Agent 从"工具"变成"助手"一个没有记忆的 Agent,每次对话都是从零开始。你告诉它你叫李雷、你是 Python 工程师、你喜欢动手实践——下次对话,它完全不记得。这不是 Bug,是架构缺失。LLM 本身没有持久记忆,每次调用都是无状态的。要让 Agent 记住事情,需要在架构层显式地存储、管理和读取记忆。这就是记忆管理模块要解决的问题。本篇从四个维度拆解 Agent 记忆:记忆类型的分类模型、上下文管理的三种策略、LangGraph 提供的两种记忆机制(checkpointer 和 store)、以及超长对话的自动压缩方案。四种记忆类型:从认知科学到工程实现借鉴认知科学对人类记忆的分类,Agent 的记忆也可以分为四层,每一层在 LangGraph 中都有对应的实现方式:┌──────────────────────────────────────────────────────────┐ │ 记忆层级 │ ├──────────────────────┬───────────────────────────────────┤ │ 感觉记忆 (Sensory) │ 当前 Turn 的 in-flight 消息 │ │ │ 生命周期:单次 LLM 调用 │ ├──────────────────────┼───────────────────────────────────┤ │ 工作记忆 (Working) │ 对话历史 MessageHistory(有限 K 轮)│ │ │ 实现:messages 列表注入 Prompt │ ├──────────────────────┼───────────────────────────────────┤ │ 情景记忆 (Episodic) │ 向量化/摘要化的历史片段 │ │ │ 实现:摘要压缩 + VectorStore 检索 │ ├──────────────────────┼───────────────────────────────────┤ │ 语义记忆 (Semantic) │ 长期存储的用户偏好、事实 │ │ │ 实现:LangGraph store (KV Store) │ └──────────────────────┴───────────────────────────────────┘感觉记忆:当前 Turn 的消息最短暂的记忆。一次 LLM 调用的输入和输出,用完即弃:q="Python 中 len([1, 2, 3]) 等于多少"answer=llm.invoke([HumanMessage(q)])# answer.content → "len([1, 2, 3]) 的结果等于 3。"# 这次 invoke 结束后,这个 answer 就消失了不需要任何机制来"管理"感觉记忆——它是 LLM 调用本身。工作记忆:有限的对话历史把之前几轮对话消息拼接进 Prompt,是最直接的记忆实现。效果立竿见影:history=[HumanMessage("我叫李雷,是一名 Python 工程师"),AIMessage("你好,李雷!很高兴认识你。"),HumanMessage("我最近在学习 LangGraph"),AIMessage("LangGraph 很强大,特别适合构建有状态的 Agent。"),]test_q="我之前告诉你我叫什么名字?"实测对比:有历史 → "是的,你之前告诉我你的名字是李雷,并且你是一名 Python 工程师..." 无历史 → "抱歉,我无法回忆起您之前告诉我的名字,因为作为一个 AI,我没有 持久的记忆功能来存储个人数据..."差距非常直观。工作记忆的限制是 Token 成本随对话长度线性增长,需要结合截断或摘要来管理。情景记忆:摘要化的历史片段当对话历史很长时,把全部历史直接塞进 Prompt 代价太高。情景记忆的做法是先压缩,再存储:long_history=history*4# 16 条消息summary=llm.invoke([SystemMessage("将以下对话压缩为 60 字以内的摘要,保留关键信息"),HumanMessage(str([m.contentforminlong_history])),])# → "李雷,Python工程师,积极学习LangGraph,赞其强大,适合构建有状态Agent。"16 条消息压缩成 28 个字,下一轮用摘要代替原始历史,Token 消耗大幅下降。语义记忆:跨会话的用户事实最持久的记忆层。不随对话结束而消失,专门存储关于用户的长期事实(姓名、职业、偏好等):# 把用户信息存入 KV Store,下一次会话直接读取user_profile={"name":"李雷","role":"Python 工程师","interests":["LangGraph","Agent 开发"],"level":"中级",}# 基于这些信息,Agent 能给出个性化的回答# "下一步学习方向
http://www.rkmt.cn/news/1407447.html

相关文章:

  • ASIP架构设计:为深度神经网络定制高效能边缘计算处理器
  • 周二随笔
  • 先进封装GEO优化公司哪家好?2026年半导体封测企业AI获客实战指南 - GEO优化
  • 2026虫草品牌节日礼盒推荐 送礼首选
  • 关于反馈的学习
  • 基于区块链的人机协作数字孪生系统云边协同数据管理研究
  • 2026年 玻璃钢花箱/花盆/花钵厂家推荐榜:IP雕塑与户外家具创意定制实力派深度解析 - 品牌企业推荐师(官方)
  • 埃用仪器|NECPS 2026青岛技术研讨会圆满收官
  • 终极免费QQ音乐格式转换工具QMCDecode:三步解锁加密音频,实现跨设备播放自由
  • 保姆级教程:在Ubuntu 22.04上从零编译WRF4.3和WPS(附依赖库避坑指南)
  • 6G太赫兹MIMO天线设计 + 回归机器学习(ETR)性能预测 —— 附CST/ADS联合仿真与RLC建模
  • 脑启社区上新!三大类脑开发工具同步开源上线
  • 台州路桥汽车音响老店2026亲测 - 资讯纵览
  • 【2024微信生态AI写作白皮书】:基于217篇实测数据,验证ChatGPT提效4.8倍的真实路径
  • 智能体系统设计中的复杂性陷阱与抗脆弱架构实践
  • PostgreSQL逻辑复制全解析:从原理到跨区域实战
  • MyOS第三天——进入32位模式并导入C语言
  • ComfyUI跨系统移植实战:从Windows到Ubuntu 26.04的深度兼容性破解
  • Agent 框架最全解析与实战攻略:LangChain / LangGraph、AutoGen、CrewAI... 到底怎么选?
  • 免费解锁AMD Ryzen隐藏性能:终极硬件调试工具完全指南
  • 天龙八部单机版GM工具终极指南:免费开源的游戏数据管理神器
  • 免费获取macOS风格鼠标指针的终极指南:让你的Windows和Linux桌面焕然一新
  • 2026年三亚汽车贴膜合规资质横向深度测评:4家官方授权门店实测对比 - GrowthUME
  • OpenAI 兼容客户端通用教程:API 地址、密钥与模型名
  • 人机协同进化:从指令执行到互补共创的三种模式与实战
  • 不止甘特图!6个项目管理核心工具,搞定进度、分工与风险管控
  • ChatGPT的替代威胁有多强?供应商议价力、买方议价力、新进入者、替代品、同业竞争——五维压力值全测算,附可落地的防御策略
  • 树莓派部署YOLO+量化LLM:本地化多模态AI流水线实践
  • Windows风扇控制终极指南:用FanControl实现完美静音与散热平衡
  • DataAgent实战指南:从架构设计到工程实现,小白也能轻松掌握大模型落地(收藏版)