第7章 记忆组件

区分短期状态、摘要、实体、知识图和向量检索记忆的写入与读取;并列原书2024与当前v1,用版本合同、执行trace和发布门交付状态schema、写入日志、读取命中、遗忘策略与隐私删除测试

学习目标

  • 解释记忆类型、代理接入、自定义组合与实战的输入schema、执行状态、事件与输出,而不只背API名称
  • 并列原书2024轨道与当前LangChain v1轨道,定位“把所有历史无筛选塞回提示,或把旧Memory类名当成当前持久化方案”的首个分岔
  • 交付状态schema、写入日志、读取命中、遗忘策略与隐私删除测试,说明评估、回退、安全与未测试边界

为什么从这个问题开始

第7章 记忆组件围绕“记忆组件怎样证明保留了任务所需信息,同时控制泄露、污染和上下文预算?”建立贯穿任务:在锁定的2024原书轨道和当前LangChain v1轨道上重放记忆类型、代理接入、自定义组合与实战。先预测依赖、schema、事件、状态、工具/检索调用或评估中的首个变化,再运行原书参考、v1参考、迁移故障与回退;只有守住“第7章 记忆组件的包版本、输入输出schema、执行事件、评估结果与回退路径始终一致”并交付状态schema、写入日志、读取命中、遗忘策略与隐私删除测试,代码运行才构成可发布证据。

原书、伴学材料与当前v1边界

第7章 记忆组件以作者李多多(莫尔索)的开放学习站核对作者身份、实践取向和相关公开伴学材料;站点明确称其为个人学习笔记并宣传纸书,但它不是人民邮电出版社纸书的逐页全文,因此本课程把来源级别记为“作者授权伴学样本”,不虚构完整书稿访问权。

第7章 记忆组件以首版公开书目与完整目录核对《LangChain编程:从入门到实践》、人民邮电出版社、2024年4月、192页、ISBN 9787115639424,以及前言、10章和全部节/小节。正式分母是1个前言、10个章标题和135个节/小节,共146个层级;课程用学习地图、前言、10章和总复习共13页承载。

第7章 记忆组件以LangChain当前官方总览v1迁移指南建立第二条事实轨道:当前v1精简核心命名空间、把大量旧Chain与检索接口移到langchain-classic,并以create_agent、中间件、LangGraph和LangSmith组织主路径。本站不复制纸书或伴学站正文、代码和图片,所有中文解释、双轨迁移、反例、交互、练习与答案均为独立重写。

本页独立事实来源

146个正式坐标中的本页覆盖

第7章 记忆组件

坐标 1/18:第7章 记忆组件。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.1 构建记忆系统

坐标 2/18:7.1 构建记忆系统。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2 记忆组件类型

坐标 3/18:7.2 记忆组件类型。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.1 ConversationBufferMemory

坐标 4/18:7.2.1 ConversationBufferMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.2 ConversationBufferWindowMemory

坐标 5/18:7.2.2 ConversationBufferWindowMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.3 ConversationEntityMemory

坐标 6/18:7.2.3 ConversationEntityMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.4 ConversationKGMemory

坐标 7/18:7.2.4 ConversationKGMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.5 VectorStoreRetrieverMemory

坐标 8/18:7.2.5 VectorStoreRetrieverMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.6 ConversationSummaryMemory

坐标 9/18:7.2.6 ConversationSummaryMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.7 ConversationSummaryBufferMemory

坐标 10/18:7.2.7 ConversationSummaryBufferMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.2.8 VectorStoreRetrieverMemory

坐标 11/18:7.2.8 VectorStoreRetrieverMemory。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.3 记忆组件的应用

坐标 12/18:7.3 记忆组件的应用。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.3.1 将记忆组件接入代理

坐标 13/18:7.3.1 将记忆组件接入代理。 第7章 记忆组件把模型、工具schema、状态、循环、停止原因和权限写成agent合同,并用工具错误与人工介入路径测试恢复。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.3.2 自定义记忆组件

坐标 14/18:7.3.2 自定义记忆组件。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.3.3 不同记忆组件结合

坐标 15/18:7.3.3 不同记忆组件结合。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.4 记忆组件实战

坐标 16/18:7.4 记忆组件实战。 第7章 记忆组件标记状态的写入者、读取时机、保留预算、遗忘和删除策略;旧Memory类与当前LangGraph持久化不能只按名称替换。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.4.1 方案说明

坐标 17/18:7.4.1 方案说明。 第7章 记忆组件把7.4.1 方案说明映射到版本、输入schema、执行状态、输出证据和失败边界,再用单一迁移故障定位首个不兼容点。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

7.4.2 代码实践

坐标 18/18:7.4.2 代码实践。 第7章 记忆组件把7.4.2 代码实践映射到版本、输入schema、执行状态、输出证据和失败边界,再用单一迁移故障定位首个不兼容点。 对第7章 记忆组件的验收必须同时保存依赖锁、输入输出schema、参考trace、单一迁移故障、独立评估和回退结果;仅有导入成功、无异常或最终答案流畅,都不能证明当前v1兼容。

先预测,再操作双轨实验

先预测:在第7章 记忆组件只注入“把所有历史无筛选塞回提示,或把旧Memory类名当成当前持久化方案”时,依赖解析、输入schema、执行事件、工具/检索状态、输出解析或独立评估中的哪一项最先变化?请先写下可观测信号,再切换原书/v1轨道和参考/故障trace。

分步1 / 3

版本合同:比较原书与v1

原书 2024 / 当前 v1 双轨合同

第7章 记忆组件

选择正式目录坐标和流水阶段,再切换轨道;接口名称变化不能掩盖输入、状态与输出合同。

第7章 记忆组件 · 阶段 1/4

第7章 记忆组件 · 依赖与输入

输入合同
在锁定的2024原书轨道和当前LangChain v1轨道上重放记忆类型、代理接入、自定义组合与实战
原书接口语义
冻结原书记忆类型、代理接入、自定义组合与实战对应的2024包版本、导入路径与示例输入
输出证据
第7章 记忆组件的依赖锁、输入合同和版本泳道
兼容裁决
第7章 记忆组件没有在同一运行中混用v0、langchain-classic与v1接口

最小可复现与迁移协议

  1. 为第7章 记忆组件分别冻结原书2024与当前v1的Python、包锁、集成包、模型/工具版本、输入schema、随机性和评估集,禁止跨轨拼接。
  2. 在两条轨道运行参考流程,保存状态schema、写入日志、读取命中、遗忘策略与隐私删除测试;若只能看到最终输出,就无法判断差异来自框架、provider还是数据。
  3. 保持模型、数据和评估不变,只注入“把所有历史无筛选塞回提示,或把旧Memory类名当成当前持久化方案”,定位依赖、schema、状态、事件或输出中的首个分岔。
  4. 撤销故障,从同一快照重放;只有trace、评估和回退都恢复,才允许批准迁移或发布。

小结与上架门

第7章 记忆组件的质量不取决于记住多少类名,而取决于能否把记忆类型、代理接入、自定义组合与实战放进版本化证据链:原书轨道解释2024语义,当前轨道依据官方v1文档重建接口,schema和trace揭示行为,单一迁移故障定位不兼容点,独立评估与回退决定能否发布。最终交付状态schema、写入日志、读取命中、遗忘策略与隐私删除测试,并同时报告历史、当前、失败、未知和未测试范围。

练习与答案

练习

问题 1:第7章 记忆组件

为第7章 记忆组件的第7章 记忆组件写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 2:7.1 构建记忆系统

为第7章 记忆组件的7·1 构建记忆系统写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 3:7.2 记忆组件类型

为第7章 记忆组件的7·2 记忆组件类型写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 4:7.2.1 ConversationBufferMemory

为第7章 记忆组件的7·2·1 ConversationBufferMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 5:7.2.2 ConversationBufferWindowMemory

为第7章 记忆组件的7·2·2 ConversationBufferWindowMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 6:7.2.3 ConversationEntityMemory

为第7章 记忆组件的7·2·3 ConversationEntityMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 7:7.2.4 ConversationKGMemory

为第7章 记忆组件的7·2·4 ConversationKGMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 8:7.2.5 VectorStoreRetrieverMemory

为第7章 记忆组件的7·2·5 VectorStoreRetrieverMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 9:7.2.6 ConversationSummaryMemory

为第7章 记忆组件的7·2·6 ConversationSummaryMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 10:7.2.7 ConversationSummaryBufferMemory

为第7章 记忆组件的7·2·7 ConversationSummaryBufferMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 11:7.2.8 VectorStoreRetrieverMemory

为第7章 记忆组件的7·2·8 VectorStoreRetrieverMemory写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 12:7.3 记忆组件的应用

为第7章 记忆组件的7·3 记忆组件的应用写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 13:7.3.1 将记忆组件接入代理

为第7章 记忆组件的7·3·1 将记忆组件接入代理写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 14:7.3.2 自定义记忆组件

为第7章 记忆组件的7·3·2 自定义记忆组件写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 15:7.3.3 不同记忆组件结合

为第7章 记忆组件的7·3·3 不同记忆组件结合写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 16:7.4 记忆组件实战

为第7章 记忆组件的7·4 记忆组件实战写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 17:7.4.1 方案说明

为第7章 记忆组件的7·4·1 方案说明写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 18:7.4.2 代码实践

为第7章 记忆组件的7·4·2 代码实践写一个原书2024输入和一个当前v1输入,指出最小迁移故障、首个可观测分岔、独立评估与回退条件。

问题 19:为什么不能混合两条轨道

解释第7章 记忆组件为什么不能在同一示例中无标记地混用原书v0接口、langchain-classic与当前v1接口。

问题 20:发布证据

第7章 记忆组件除了“代码能运行”还需要哪些证据才能上线?

术语与运行证据

在第7章 记忆组件中,共同约束发布。术语必须落到锁文件、schema、trace、评估和回退;把旧类名替换成新类名而不重跑行为合同,不叫迁移。

名词解释

本章出现的专业名词,用大白话再讲一遍。

版本轨道

第7章 记忆组件把原书2024与当前v1分开的依赖和接口语义。

输入schema

第7章 记忆组件对消息、文档、工具参数或事件负载的类型合同。

执行trace

第7章 记忆组件把模型、检索、工具、状态和错误关联起来的事件树。

迁移故障

第7章 记忆组件只改变一个版本或接口假设以定位不兼容点。

独立评估

第7章 记忆组件不复用演示样本的质量、安全、延迟和成本检查。

回退快照

第7章 记忆组件能够恢复依赖、状态和服务行为的可部署版本。

资料与写作方式声明

本章以李多多(莫尔索)《LangChain编程:从入门到实践》权威目录界定学习范围,并结合正文列出的技术资料独立重写;不宣称复现原书正文,也不沿用原作表述。

原作版权归作者与出版社所有;本站原创教学结构与表述仅供学习交流。

讨论

评论区加载中…