掌握AI Agent记忆系统:从入门到高级,收藏这份学习指南
本文详细介绍了AI Agent记忆系统的构建方法从解决单次对话内、跨会话之间以及多用户场景下的记忆问题出发分别介绍了LangChain.js经典Memory、LangGraph.js新一代记忆管理和Zep平台等方案。文章还提供了避坑指南帮助开发者更好地理解和应用Agent记忆系统。对于想要学习大模型和AI Agent开发的程序员来说这是一份非常有价值的学习资料。你跟它说我在北京下一句问这里天气怎么样它根本不知道这里是哪里。上篇文末我们用一个chatHistory数组临时解决了这个问题但那个方案极其粗糙——数组会无限增长、进程一重启就全丢了、多个用户之间还会串数据。真正的 AI 产品记忆系统至少要解决三个问题「单次对话内」Agent 能记住上下文短期记忆「跨会话之间」Agent 能记住用户偏好和历史信息长期记忆「多用户场景」每个用户的记忆互相隔离今天这篇我们就从原理到代码把 Agent 的记忆系统彻底搞清楚。Agent 记忆系统全景先搞懂Agent 记忆有几种在讲具体方案之前先用一个人类的类比来理解 Agent 的记忆体系。「短期记忆Short-term Memory」就像你跟朋友面对面聊天你记得刚才他说了什么。对 Agent 来说就是当前这轮对话的上下文——聊天记录、工具调用结果、中间推理过程。一旦对话结束或进程重启这些信息就没了。「长期记忆Long-term Memory」就像你记得某个朋友不吃辣、“上次推荐过一本书给他”。对 Agent 来说就是跨多次对话积累下来的用户偏好、历史事实、业务知识。这些信息需要持久化存储下次对话还能调出来。用一张表格总结维度短期记忆长期记忆「作用域」单次对话/线程内跨会话、跨线程「生命周期」对话结束即丢失除非持久化长期保存「典型内容」聊天记录、工具调用结果用户偏好、历史事实、业务知识「类比」聊天时的短暂记忆大脑里的长期知识库「实现方式」消息列表 / CheckpointerKV Store / 向量库 / 知识图谱搞清楚分类后接下来我们看具体的技术方案。从最简单的到最强大的一步步来。方案一LangChain.js 经典 Memory入门级LangChain.js 早期提供了四种 Memory 抽象虽然官方已标记为 legacy 并推荐迁移到 LangGraph但理解它们背后的思路能帮你在任何框架里做出正确的记忆决策。「BufferMemory」最直接把完整聊天记录原封不动塞进每次请求。优点是信息无损缺点是对话越长 Token 越贵聊到 50 轮可能已经吃掉半个上下文窗口。「BufferWindowMemory」只保留最近 K 轮旧的直接丢弃。Token 可控但代价是第 1 轮说的重要事情第 K1 轮就彻底忘了。「ConversationSummaryMemory」不存原文而是让 LLM 每轮把对话压缩成一段摘要。不管聊多久摘要长度都可控——但每轮都要多调一次 LLM延迟和成本会上升细节也可能丢失。「ConversationSummaryBufferMemory」前两者的结合——「近期对话保留原文更早的压缩成摘要」。Token 用量可控近期上下文也不失真是这四种里最适合生产的。四种方案的核心权衡一张图说清楚四种经典 Memory 方案对比这些经典 Memory 类已被标记为 legacy但「全量 vs 窗口 vs 摘要 vs 混合」这四种思路在任何记忆框架里都通用值得理解。方案二LangGraph.js 新一代记忆管理推荐LangGraph.js 把记忆分成两层来管「Checkpointer 管短期Store 管长期」。短期记忆Checkpointer thread_id每次 Agent 执行完一步Checkpointer 都会自动把当前状态包括聊天记录存下来。只要带上同一个thread_id下次对话就能从上次继续——Agent 不会失忆。const checkpointer newMemorySaver(); // 开发用生产换 PostgresSaver const agent createReactAgent({ llm, tools, checkpointer }); const config { configurable: { thread_id: user-001-session-1 } }; await agent.invoke({ messages: [{ role: human, content: 我在北京 }] }, config); // 同一个 thread_id下轮对话 Agent 记得你在北京 await agent.invoke({ messages: [{ role: human, content: 这里天气怎么样 }] }, config);thread_id就是会话的身份证——相同 ID 共享历史不同 ID 完全隔离天然支持多用户。长期记忆Store 命名空间短期记忆只在同一个线程内有效一旦开新会话就又不认识你了。长期记忆靠Store解决数据按命名空间存放任何线程、任何时候都能读到const store newInMemoryStore(); // 开发用生产换数据库实现 // 存把用户偏好写入长期记忆 await store.put([users, user-001], preferences, { favoriteFramework: React }); // 取新会话里也能读到 const item await store.get([users, user-001], preferences);命名空间类似文件夹路径——[users, user-001]是某用户的私有空间[org, shared]是组织共享的知识库。把读取/写入偏好做成工具交给 Agent它就能自己决定什么时候记、什么时候查。「核心公式」Checkpointer单次对话不失忆 Store跨对话记住你 完整的记忆体系。方案三用 Zep 给 Agent 加上超级记忆前面两种方案存什么、取什么都要自己写逻辑。如果你想要一个更智能的记忆层——对话进去知识图谱自动出来——可以看看 「Zep」。Zep 是什么Zep 是一个专门做 AI Agent 记忆的平台核心是「时序知识图谱Temporal Knowledge Graph」。你把对话扔进去它自动干三件事「提取事实」从对话里识别用户喜欢 React、项目用 Next.js这些结构化信息「时序追踪」记住事实的时间线——“用户三个月前用 Vue现在改用 React”旧事实自动标记过期「智能检索」Agent 需要上下文时用语义 图算法 时间三重过滤200ms 返回最相关的记忆Zep 时序知识图谱架构为什么不直接把聊天记录全塞给 LLM聊了 200 轮就是几万 Token——一次请求费用高、大量内容是噪声、LLM 在超长上下文里准确率还会下降。Zep 把几万 Token 的原始对话压缩成知识图谱里的几十个节点检索时只返回相关的几百 Token。官方数据「只用不到 2% 的 Token准确率反而更高」。接入方式安装依赖后核心流程三步走npm install getzep/zep-cloud langchain/communityconst zep newZepClient({ apiKey: process.env.ZEP_API_KEY }); // ① 存入对话Zep 自动提取事实、构建图谱 await zep.memory.add(sessionId, { messages: [...] }); // ② 检索记忆——自动生成摘要 事实列表 const memory await zep.memory.get(sessionId); // memory.summary → 对话摘要 // memory.facts → [用户在学 LangChain.js, 技术栈: React Next.js, ...] // ③ 跨会话语义搜索 const results await zep.memory.searchSessions({ userId, text: 用户的技术栈 });和 LangChain.js 集成时用ZepCloudChatMessageHistory替换普通的消息历史再把memory.facts注入 System PromptAgent 就能在每轮对话里自动感知用户的历史背景。「Zep 的核心价值」自动摘要、事实提取、时序感知、跨会话搜索、低延迟——这些在 LangGraph Store 里都需要自己实现Zep 帮你全包了。三种方案怎么选三种记忆方案对比维度经典 MemoryLangGraph 方案Zep「短期记忆」BufferMemory 系列Checkpointer自动内置「长期记忆」需自己实现Store手动读写自动知识图谱「多用户隔离」需自己实现thread_id / namespace内置 user/session「智能程度」低规则驱动中灵活可控高自动提取检索「部署复杂度」低中中高需要 Zep 服务「适用阶段」Demo / 学习生产推荐对记忆质量要求高的产品「我的建议」「学习阶段」先用经典 Memory 理解概念再切 LangGraph「生产项目基础」LangGraph Checkpointer Store灵活度够用「生产项目高阶」LangGraph Zep让 Zep 管长期记忆LangGraph 管工作流「对话密集型产品」如 AI 客服、AI 陪伴直接上 Zep它在这个场景下 ROI 最高避坑指南1. 上下文窗口溢出不管用哪种方案最终都会把记忆塞进 LLM 的 Prompt。一旦超出模型的上下文窗口比如 GPT-4o 是 128K Token就会报错或被截断。「解法」用 SummaryBufferMemory 或 Zep 控制 Token 量如果自己管消息列表发送前用js-tiktoken算一下总 Token 数超过阈值就触发压缩或截断。2. 记忆污染如果 Agent 把错误的信息存进了长期记忆比如 LLM 幻觉生成了错误事实后续对话都会受影响。「解法」长期记忆的写入加人工审核或置信度过滤给记忆加时间戳和来源标记方便追溯和清理定期做记忆垃圾回收3. 多用户数据串了这是最容易犯的错——忘了隔离不同用户的记忆。「解法」LangGraph 里严格用thread_id区分会话、namespace 区分用户Zep 里用userIdsessionId组合。在调用入口加一层参数校验强制要求传user_id杜绝漏传。4. 冷启动问题新用户第一次来Agent 对他一无所知。「解法」在第一轮对话中主动收集关键信息“请问你主要做什么方向的开发”如果有用户画像数据从业务系统导入提前写入长期记忆设置合理的默认记忆“如果不确定用户背景按中级前端开发者回答”5. 记忆检索不准Store 里存了一堆信息但 Agent 检索不到想要的。「解法」给记忆加 metadata标签、分类方便过滤用向量搜索代替精确匹配Zep 的知识图谱在这方面表现最好——它用语义 图结构 时间三重过滤总结Agent 的记忆系统说白了就是解决三个层次的问题「当前对话不失忆」→ 短期记忆Checkpointer / BufferMemory「跨对话还记得你」→ 长期记忆Store / Zep 知识图谱「多用户不串数据」→ 隔离机制thread_id / namespace / userId从简单到复杂技术方案的演进路径是数组手动管理上篇的 chatHistory → 经典 Memory 抽象BufferMemory 系列 → LangGraph Checkpointer Store当前推荐 → Zep 时序知识图谱高阶选择如果你跟着上一篇搭了第一个 Agent现在可以给它加上记忆试试。推荐直接从 LangGraph 方案开始——代码量不比经典 Memory 多多少但能力和灵活度高一个档次。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

相关新闻

【Linux运维极简教程】12-性能监控与优化

【Linux运维极简教程】12-性能监控与优化

12 - 性能监控与优化 一、性能监控概述 系统性能由四大核心资源决定: CPU → 内存 → 磁盘 IO → 网络性能问题通常是某个资源成为瓶颈,导致整个系统变慢。运维的目标是及时发现瓶颈并优化。 性能排查思路 1. 确认问题:是否真的有性能问…

2026/7/23 6:14:09 阅读更多 →
亚洲EMBA怎么选?2026民企老板择校性价比实测榜单

亚洲EMBA怎么选?2026民企老板择校性价比实测榜单

【客观测评声明】本文为独立财经测评内容,无硬性品牌营销导向,基于2026年亚洲主流EMBA项目公开数据,从民企实业经营视角,客观拆解各项目适配度、优势与短板,为企业创始人、高管提供理性择校参考,规避择校踩…

2026/7/23 9:12:50 阅读更多 →
免费解锁Wand游戏修改器高级功能的完整开源解决方案

免费解锁Wand游戏修改器高级功能的完整开源解决方案

免费解锁Wand游戏修改器高级功能的完整开源解决方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wand(原WeMod)的…

2026/7/23 4:46:41 阅读更多 →

最新新闻

约克IWE Home3.0如何为改善型住宅提供舒适节能的一体化气候解决方案

约克IWE Home3.0如何为改善型住宅提供舒适节能的一体化气候解决方案

导语:当您考虑为150平米以上的改善型住宅或别墅配置中央空调系统时,是否常被诸多问题困扰:如何避免冷风直吹带来的“空调病”?如何在享受四季如春舒适的同时,有效控制长期能耗成本?如何选择一套能同时满足制…

2026/7/24 3:06:20 阅读更多 →
UART高级模式解析:9位地址、RS-485与DALI协议在MSPM0上的实现

UART高级模式解析:9位地址、RS-485与DALI协议在MSPM0上的实现

1. 项目概述:从基础UART到高级通信协议的跨越在嵌入式开发领域,通用异步收发传输器(UART)几乎是每个工程师的“老朋友”。它简单、直接,两根线(TX和RX)就能搞定点对点的数据交换。但当你从实验室…

2026/7/24 3:06:20 阅读更多 →
SpringBoot集成机器学习实现智能邮件分类系统

SpringBoot集成机器学习实现智能邮件分类系统

1. 项目概述:基于SpringBoot与机器学习的智能邮件管理系统在数字化办公场景中,邮件系统作为核心通信工具,每天需要处理大量往来邮件。根据第三方统计数据显示,普通企业员工平均每天接收42封工作邮件,其中约28%属于垃圾…

2026/7/24 3:06:20 阅读更多 →
Stable Diffusion进阶:从参数调整到创意驱动的AI艺术创作

Stable Diffusion进阶:从参数调整到创意驱动的AI艺术创作

1. 从工具使用者到创意驱动者的认知跃迁上周调试Stable Diffusion时突然意识到一个现象:当我输入"未来城市"时,AI给出的方案总跳不出赛博朋克的框架,直到看到同事用同样的工具生成了一组基于生物发光植物的生态都市——那一刻我才明…

2026/7/24 3:06:20 阅读更多 →
TI ADS8353/7853 ADC评估套件实战:从硬件配置到FFT性能分析全解析

TI ADS8353/7853 ADC评估套件实战:从硬件配置到FFT性能分析全解析

1. 项目概述与核心价值在嵌入式系统、工业自动化或者高精度测量领域,选型一颗合适的模数转换器(ADC)往往是项目成败的关键一步。数据手册上的参数固然重要,但纸上得来终觉浅,如何在实际电路板上验证这颗ADC的真实性能&…

2026/7/24 3:06:20 阅读更多 →
从零实现高并发C++网络库:架构设计与核心模块详解

从零实现高并发C++网络库:架构设计与核心模块详解

1. 项目概述:为什么我们需要再造一个轮子? “从零实现高并发C网络库”,这个标题听起来就充满了挑战和极客精神。在C社区里,这几乎是一个“成人礼”式的项目。你可能会问,市面上不是已经有了成熟的库吗?比如…

2026/7/24 3:05:20 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻