Claude Code 记忆2.0

Claude Code记忆是Claude性能中最重要但经常被忽视的部分之一。为什么?因为糟糕的记忆→糟糕的输出(是的,就像现实生活中一样)。

在本文中,我想解释Claude Code中记忆的概念含义,如何为你的项目配置它,以及Anthropic团队最近做了什么改动来改进记忆功能。

1、什么是记忆

Claude Code记忆是一种让Claude跨交互理解你的项目、偏好和工作流程的机制,这样你就不必每次尝试解决特定任务时都重复上下文。

Claude Code记忆 = AI用来做出更好决策的持久上下文

你可以使用以下命令配置项目记忆设置:

/memory

这将显示关于记忆的详细信息:

  • 记忆模式(自动记忆和自动梦境)
  • 记忆类型(用户记忆和项目记忆)

2、自动记忆

自动记忆是Claude在与你的项目协作时为自己留下的笔记。这些笔记帮助Claude更好地完成项目任务。

例如,如果你要求Claude"始终为源代码中的函数添加注释",Claude会记住这一点并将其保存到记忆中。

  • 当自动记忆开启时,Claude自动保存有用的上下文
  • 当关闭时→除非你明确告诉Claude存储,否则不会存储任何内容

当自动记忆开启时,Claude Code会分析对话并存储以下内容:

  • 你的偏好(例如,编码风格、框架)
  • 可重用的指令
  • 你工作方式的模式

结果是,你会感觉Claude随着时间的推移了解你,而你不必重复自己。

3、自动梦境

自动记忆是一个很好的功能,但它有一个重要的缺点:随着时间的推移,它可能会因为许多重复指令而膨胀记忆,特别是当你长时间在一个项目上工作时。膨胀的记忆文件会拖慢Claude Code,可能导致系统偏差。

为了防止这种情况发生,你需要定期审查和"清理"项目记忆。在自动梦境之前,你通常手动完成。但自动梦境改变了我们"清理"记忆的方式。

自动梦境是我称为Claude Code记忆2.0的功能。它是一个更高级的实验性功能,模拟人类记忆行为。

  • 当自动梦境开启时→Claude定期重新组织和完善记忆
  • 当关闭时→记忆保持保存时的状态
自动记忆是Claude对你行为和偏好的适应,而"做梦"是记忆优化。

从技术角度来看,当Claude"做梦"时,它在后台运行一个AI子代理,分析Claude的记忆文件以优化项目上下文。代理去重记忆并合并相似的指令,从而产生更有结构的指令。

要启用自动梦境,你需要输入/memory,选择自动梦境,然后按回车键开启。

完成此操作后,你会在提示输入字段下方看到一个新的状态指示器。

当Claude Code在做梦时,你会在状态行看到 "dreaming"(做梦中)。

关于自动梦境的快速说明

你可以提示Claude实时描述它在做什么梦,该工具会显示其最近梦境的摘要:

/btw what are you dreaming about?
(顺便问一下,你在做什么梦?)

例如,在我的案例中,它正在尝试优化它之前生成的退出页面的设计。

当Claude完成做梦时,它会提供一个快速摘要,说明它在当前项目的.md文件中引入的改进。

自动梦境只更改记忆.md文件(如MEMORY.md)。它不会修改源代码;只更改.md文件中的指令。

4、记忆文件位置

用户记忆是一个全局记忆,Claude在处理所有项目时都会依赖它。

它位于你机器的主目录:

~/.claude/CLAUDE.md

它通常包含:

  • 你的个人偏好
  • 你的工作流程
  • 你的习惯

你可能想添加到用户记忆的指令示例:

When explaining functional design decisions, explain things to me as if I were 7 years old.
(在解释功能性设计决策时,请像对7岁孩子解释一样向我说明。)

项目记忆存储在:

~/CLAUDE.md

CLAUDE.md是Claude在处理你的项目时不断查看的文件。该文件包含项目特定的上下文,例如:

  • 架构决策
  • 文件夹结构
  • 设计系统规则
  • API模式

这组记忆是帮助Claude处理你的项目时引导它的指令集。如果你将自动记忆设置为开启,Claude会在工作时完善CLAUDE.md:它可以根据它认为值得记住的内容追加、完善或更新文件。

结果,CLAUDE.md会与你的项目一起发展。

5、使用Claude Code记忆的最佳方法

尝试像对待代码一样对待记忆:

  • 审查它
  • 重构它
  • 保持整洁

我遵循3步方法:

  1. 以强大的CLAUDE.md开始每个项目。开始时不要依赖自动记忆。相反,我运行/init并手动完善Claude生成的CLAUDE.md
  2. 一旦完成完善CLAUDE.md,就开启自动记忆(我不盲目信任自动记忆)。我尝试定期审查CLAUDE.md以确保它与我的项目相关。
  3. 使用自动梦境作为你的"清理引擎"(最近开始使用此功能来消除临时指令)

原文链接: Claude Code Memory 2.0

汇智网翻译整理,转载请标明出处