读 Claude Code 源码 - memory 机制
内容提要
Claude Code 的内存机制包括会话内存和自动内存。会话内存通过后台代理维护一个 markdown 文件,记录对话摘要并在特定条件下更新。自动内存支持跨会话回忆,提供持久化记忆的索引和检索功能。
关键要点
-
Claude Code 的内存机制分为会话内存和自动内存。
-
会话内存通过后台代理维护一个 markdown 文件,记录对话摘要,并在特定条件下更新。
-
会话内存的更新条件包括新增的 token 数和工具调用次数。
-
自动内存支持跨会话回忆,提供持久化记忆的索引和检索功能。
-
MEMORY.md 文件作为入口索引,负责记录和检索持久化记忆。
延伸解读
会话内存的更新机制
Claude Code 的会话内存通过后台代理定期更新,确保对话摘要的及时性。更新条件包括新增的 token 数和工具调用次数,这样的设计可以避免频繁更新导致的性能问题。用户在使用时应注意这些条件,以便更好地理解何时会生成新的摘要。
自动内存的持久化优势
自动内存功能允许跨会话的记忆回忆,提供了持久化记忆的索引和检索能力。这意味着用户可以在不同的会话中保持上下文的连贯性,提升交互体验。使用时,用户应关注 MEMORY.md 文件的管理,以确保记忆的有效性和可检索性。
延伸问答
Claude Code 的内存机制分为哪两种类型?
Claude Code 的内存机制分为会话内存和自动内存。
会话内存是如何更新的?
会话内存通过后台代理维护一个 markdown 文件,并在特定条件下更新,包括新增的 token 数和工具调用次数。
自动内存的主要功能是什么?
自动内存支持跨会话回忆,提供持久化记忆的索引和检索功能。
MEMORY.md 文件的作用是什么?
MEMORY.md 文件作为入口索引,负责记录和检索持久化记忆。
会话内存的更新条件有哪些?
会话内存的更新条件包括新增的 token 数和工具调用次数。
如何触发会话内存的提取?
提取会话内存需要满足两个阈值:token 数和工具调用次数,或者在没有工具调用的情况下满足 token 阈值。