Skip to content

第 7 章 Research Brief:Working Memory 与 Long-term Memory

任务与读者问题

第 6 章只回答“当前调用应选择哪些资料进入 Context Packet”。第 7 章继续回答:一次任务结束后,哪些状态、决策和经验值得跨任务保留;它们如何带着来源、范围、时效与撤销条件被读取,而不是成为无法追溯的历史堆积?

读者完成本章后,应能将当前任务的工作记忆(Working Memory)、跨任务可维护的长期记忆(Long-term Memory)、当前模型输入、工作流状态和知识库检索分开;并能为一条候选记忆写出写入理由、作用范围、证据、读取触发条件和失效处理。

范围与非范围

范围: 当前任务期间的短期状态与中间结果;跨任务的事实、决策和经验记录;写入门槛;读取范围;来源与时效;冲突、修订、过期与撤销;以及将记忆纳入下一次任务前的当前证据复核。

非范围: 不在本章实现模型上下文选择或 Context Packet(第 6 章);不定义工作流状态机、检查点或幂等恢复(第 10 章);不设计知识库、向量索引或检索质量(第 13 章);不实现长任务压缩(第 19 章);不设计反思产出、权限、隐私、保留期限或审计控制(第 16 与第 41 章)。本章也不把会话历史、供应商的 memory 功能、RAG、缓存或一个目录中的文件自动等同于长期记忆。

已核验来源与可用陈述

ID本章允许使用的陈述证据边界核验状态
REF-006Claude Code 文档说明,每次会话从新的上下文窗口开始;CLAUDE.md 是人写的持久指令,auto memory 是系统根据更正和偏好生成的笔记。两者在会话开始时作为上下文加载,而不是强制配置。只描述 Claude Code 的当前文档语境;不外推为其他 Agent 的加载顺序、持久化方式或安全控制。2026-07-15 重新读取官方文档。
REF-020OpenAI Agents SDK 的 Sessions 文档说明,Session 在多次 agent run 间维护特定会话的消息历史;运行前读取历史并与新输入组合,运行后保存本轮新条目。文档要求不要在同一 run 叠加该 Session 与其列出的服务端延续机制。只适用于该 Python SDK 的当前会话历史机制;不等同于跨任务知识、长期记忆或通用 state machine。动态接口与默认值在正文当天重查。2026-07-15 读取官方 SDK 文档。
REF-021OpenAI Agents SDK 的 sandbox memory 文档将其与 Session 消息历史分开:它把先前 run 的经验提炼为 sandbox 工作区文件;读取采用摘要、索引和按需展开。文档明确该功能仍为 beta,并提醒记忆可能过时,应以当前环境为准。仅描述该 SDK sandbox-agent 的 beta 能力;不把默认目录、生成流程或读写权限写成跨产品设计要求。2026-07-15 读取官方 SDK 文档。
REF-022LangChain 概念文档将短期记忆描述为 thread-scoped 的持续会话状态,将长期记忆描述为跨会话、跨 thread 的数据,并讨论按 namespace 组织与 hot path / background 写入的取舍。这是 LangChain/LangGraph 的概念与实现语境,不是统一术语标准,也不证明任何存储策略一定正确。2026-07-15 读取官方文档。
REF-023MemGPT 论文提出 virtual context management,并用不同记忆层级与控制流中断在有限上下文窗口中提供更长的可用上下文。仅作为分层记忆与有限上下文的研究背景;不使用论文的性能结果,不把其架构、实现或交互方式写成默认方案。2026-07-15 读取 arXiv v2 摘要页。

研究问题与当前结论

研究问题所需证据当前限定结论
短期和长期的边界由什么决定?框架或 SDK 对会话、线程和跨会话数据的直接说明。REF-022 在其框架语境中按 thread 内与跨 thread 的读取范围区分短期和长期。本文进一步采用“任务需要、作用范围与生命周期”来检查边界,不把时间长短作为唯一标准。
会话历史是否就是长期记忆?会话与长期记录的不同来源。REF-020 将 Session 限定为特定会话的消息历史;REF-021 明确其 sandbox memory 与 Session 消息历史不同。因此,正文必须把会话记录、提炼经验和跨任务知识分别命名。
为什么不能把每次任务结果都自动保留?记忆的过时性、写入取舍或更新机制的来源。REF-021 明确提示记忆会过时,应以当前环境为准;REF-022 讨论同步写入与后台写入的延迟、新鲜度和复杂度取舍。正文将把写入候选、证据、范围和失效条件写成显式门槛。
如何避免跨人、跨任务或跨产品泄漏?namespace、scope 或产品作用范围的来源。REF-022 提供 namespace 的框架语境;REF-006、REF-020、REF-021 说明不同产品对会话、仓库或 sandbox 的作用范围各不相同。本文将 scope 当作每条长期记录的必要字段;具体权限与审计留给第 41 章。
分层记忆解决什么,不解决什么?论文或官方资料对有限上下文与层级的描述。REF-023 支持分层管理有限上下文的研究背景。它不证明记忆正确、可靠、安全、低成本,也不替代当前事实核验。

本书工程扩展:Memory Record 与生命周期

以下内容是本书的原创工程模型,不是任一 SDK 的数据结构或默认行为:

  1. 工作记忆: 只服务于当前任务或当前任务阶段的目标、观察、中间结果、待办和未知项。它可以包含会话历史的摘要,但不会因为被看见就自动成为长期记忆。
  2. 长期记忆: 跨任务可能复用的、可定位的事实、决策或经验;每条记录都必须说明“谁可以用、为何保留、何时复核或失效”。
  3. Memory Record: 最小字段为 kindscopesubjectsourceobserved_atwrite_reasonread_triggervalidityrevision_or_revocation。字段名可变,但来源、范围、时间与生命周期不可省略。
  4. 写入门槛: 候选信息先与当前任务的直接证据、作用范围、敏感性和保留理由比较;缺少来源、范围或撤销路径时,不把它写成可复用记忆。
  5. 读取门槛: 记忆只在当前任务、主体和触发条件匹配时作为候选资料进入第 6 章的 Context Packet;冲突、过期或未经证实的条目必须保留为待复核状态。
  6. 生命周期: 写入候选 → 来源与范围检查 → 当前任务可读的工作记忆或跨任务长期记录 → 读取与当前证据对照 → 保留、修订、过期或撤销。任何一步都不自动宣称事实正确或任务完成。

章节边界表

概念本章的最小职责不在本章承担的职责对应章节
工作记忆保存当前任务的可观察状态与中间结果。完整恢复流程、并发与幂等。第 10 章。
长期记忆保存带来源、范围与生命周期的可复用记录。自动授权、隐私保留期和审计。第 41 章。
Context Packet从候选资料中选择本次调用可见的信息。决定哪些信息永久保留。第 6 章。
知识库与检索定位、索引和获取候选资料。判断某条资料是否应成为长期记忆。第 13 章。
Reflection从结果中提炼可改进的经验候选。未经范围与证据检查就写入长期记忆。第 16 章。
Context Compaction压缩长任务中的现有状态。取代长期记忆的来源、作用范围和失效管理。第 19 章。

计划叙述与工件

  1. 用“部署失败后下一位维护者接手”的教学案例比较:原始终端输出、当前任务状态、一次性会话摘要、经核验的项目决策与过期经验。案例不引用真实部署、账户或日志。
  2. 建立分类表,要求读者先写清读取范围、主体、来源、时效、写入理由、读取触发和撤销条件,再决定放入工作记忆、长期记忆、知识库候选或未知项。
  3. 规划 Mermaid 图:观察 → 记忆候选 → 来源/范围/生命周期检查 → 工作记忆或长期记录 → 当前任务读取 → 当前证据复核 → 修订/过期/撤销。图中不把任意写入直接连到“事实”“完成”或“安全”。
  4. 规划纯内存示例 decideMemoryRecord:输入带 scope、source、observedAt、validity 与任务锚点的候选记录,输出 workinglong_term_candidateblockedrefresh_required。它不访问模型、文件、网络、向量库、账户、凭证或真实 Agent memory。
  5. 规划事实核验表,至少检查“Session、自动记忆、工作区记忆、thread-scoped 状态、跨任务记录、检索、压缩和安全控制”是否被错误混称为同一机制。

研究风险与待核验项

  • TODO(verify): 正文写作当天重新访问 REF-006、REF-020、REF-021 和 REF-022;它们的接口、beta 状态、默认读取范围、默认保留、限制和价格可能变化。
  • TODO(verify): 若正文引用任何 SDK 类名、方法、存储后端、行数、token 数、TTL、保留期、成本、模型或权限,必须以写作当天的官方页面逐项核验;本 Brief 不提供这些动态事实。
  • TODO(verify): 若案例写入真实用户偏好、团队经验、生产日志或个人数据,必须在第 41 章的权限、最小化、保留和审计设计完成后再实现;本章的 Memory Record 不构成访问控制或合规方案。
  • 当前没有声明正文、Mermaid 源、示例实现、真实 sandbox、Session、LangGraph store、向量检索、自动记忆写入或长任务压缩已经完成或验证。

Research 完成检查

  • [x] 明确了读者问题、范围、非范围与第 6、10、13、16、19、41 章的边界。
  • [x] 复核了 5 项官方文档或原始论文,并限定每项允许与禁止用途。
  • [x] 将工作记忆、长期记忆、Memory Record、写入/读取门槛与生命周期标为本书工程扩展。
  • [x] 建立了教学案例、计划图示、纯内存示例与事实核验的边界。
  • [x] 未提前写入正文、动态 SDK 字段、保留期、成本、产品性能、真实工具行为或安全结论。

从同一套 Markdown 书稿生成。