让 Claude 记住你的项目:从一次性对话到持续积累的项目经验

让 Claude 记住你的项目:从一次性对话到持续积累的项目经验

_

我每天都在用 Claude 写代码。

用久了以后,我发现一个很现实的问题:

Claude 很聪明,但它有时候真的“健忘”。

尤其是在企业项目中,这个问题会更加明显。

一个真实的项目,往往不是一个简单的 Demo。

里面可能有几十个模块、复杂的业务逻辑、历史遗留代码,以及很多没有写进文档,却已经成为团队共识的“约定”。

有些代码为什么不能动?

某个字段为什么不能直接修改?

一个看起来很奇怪的判断,到底是在解决什么问题?

这些东西,可能连项目文档里都没有。

但对于真正参与这个项目开发的人来说,它们却非常重要。


一个新会话,意味着重新认识项目

假设今天我和 Claude 一起处理一个问题。

我们花了两个小时。

在这个过程中,Claude 不仅帮我修改了代码,我们还逐渐确定了一些东西:

  • 这个项目应该采用什么方式开发

  • 某个模块存在什么特殊规则

  • 哪些代码不能随便修改

  • 某个历史逻辑为什么必须保留

  • 之前遇到过什么问题

  • 最终采用了什么解决方案

两个小时之后,问题解决了。

按理说,这些经验应该已经成为 Claude 对项目理解的一部分。

但第二天,我重新开启一个会话。

很多时候,我又要从头开始解释。

“这个项目是这样的……”

“这个地方之前遇到过一个问题……”

“这里不要这么修改……”

“这个模块有个特殊情况……”

然后 Claude 才重新进入状态。

这其实是 AI 编程过程中一个非常容易被忽略的问题:

我们解决了问题,但 AI 没有真正留下经验。


后来,我开始给 Claude 建 Memory

后来我的思路发生了一点变化。

既然每一次开发都会产生新的经验,那为什么不能把这些经验保存下来?

于是,我开始在一次会话结束之后,让 Claude 整理:

这次对话中,有哪些内容是未来继续开发这个项目时值得长期记住的?

注意,这里有一个非常重要的区别。

不是保存整个聊天记录。

而是提炼真正有价值的内容。

例如:

项目规则

项目使用什么技术栈。

目录结构是什么。

某些模块应该遵循什么开发方式。

业务规则

某个字段为什么这样设计。

某个流程为什么不能改变。

某些特殊逻辑背后的业务原因。

开发约定

哪些代码可以修改。

哪些代码不要轻易动。

新增功能应该放在哪里。

历史经验

之前出现过什么问题。

当时为什么会出现。

最终是怎么解决的。

以后应该避免什么做法。

这些内容,才是真正值得留下来的东西。


聊天记录,不等于 Memory

这是我在实际使用过程中比较深的一点感受。

一次聊天可能持续几个小时。

里面会有大量:

  • 尝试

  • 猜测

  • 错误方案

  • 临时修改

  • 已经被否定的思路

  • 最终没有采用的方案

如果把这些全部保存下来,看起来信息很多。

但实际上,它们未必对下一次开发有帮助。

甚至可能产生干扰。

所以我现在更倾向于把 Memory 理解成:

从聊天记录中提炼出来的“项目知识”。

聊天记录记录的是:

我们聊了什么。

Memory 保存的是:

我们最终确定了什么。

这两者完全不是一回事。


Memory 真正有价值的地方

如果只是把几条信息保存起来,其实意义并没有那么大。

真正有价值的是:

Memory 会随着项目开发不断积累。

今天解决一个问题。

留下一个经验。

明天修改一个模块。

留下一个规则。

后天又发现一个历史坑。

再留下一个注意事项。

时间久了以后,这些东西会逐渐形成一个属于这个项目的“知识层”。

于是,新会话开始的时候,我不需要再从零开始告诉 Claude:

“这个项目以前发生过什么。”

而是可以让它先读取已有的 Memory,再开始工作。

这时候,AI 和项目之间的关系就发生了一点变化。

它不再只是:

打开一个会话 → 完成一个任务 → 会话结束。

而逐渐变成:

不断工作 → 不断积累 → 不断理解 → 继续工作。


这其实很像一个“老同事”

我越来越喜欢用一个简单的比喻来理解这件事情。

刚加入项目的 Claude,就像一个新同事。

你交给它一个任务,它当然可以完成。

但它不知道这个项目的历史。

不知道哪些代码是“雷区”。

也不知道团队为什么会形成现在这些奇怪的约定。

你需要不断给它解释。

而 Memory 做的事情,有点像给这个新同事留下了一份不断更新的“项目经验”。

今天告诉它一个规则。

明天告诉它一个历史问题。

后天再补充一个业务背景。

时间久了,它对项目的理解自然会越来越深。

所以我现在越来越觉得:

AI 编程真正有意思的地方,不只是让 AI 写代码。

而是让 AI 开始积累经验。


当然,Memory 也不是越多越好

这里其实还有一个很容易踩的坑。

既然 Memory 有用,是不是把所有东西都保存下来最好?

我反而认为不是。

如果什么都记:

“今天修改了 A 文件。”

“刚才测试失败了一次。”

“用户让我把按钮改成蓝色。”

这些信息可能只对当前任务有效。

如果全部变成长期记忆,Memory 最后很容易变成一个巨大的垃圾场。

所以我认为,一个好的 Memory 应该满足一个标准:

这条信息,下次继续开发这个项目时,还值得知道吗?

如果答案是“值得”,就应该考虑留下。

如果只是当前任务的临时信息,那么让它随着会话结束而结束,反而是一件好事。


我现在更关注的是“经验沉淀”

过去使用 AI 编程工具,我关注的是:

能不能写代码?

后来关注的是:

能不能理解我的需求?

再后来,我开始关注:

能不能理解我的项目?

而现在,我更关心的是:

能不能随着项目不断开发,让 AI 对这个项目越来越熟悉?

这其实是完全不同的思路。

代码本身只是项目的一部分。

真正复杂的东西,往往是那些隐藏在代码背后的:

规则、约定、历史和经验。

而这些东西,恰恰是一个项目最难重新学习的部分。


AI 编程的下一步,可能是“经验管理”

以前我们管理代码,所以有了 Git。

后来我们管理文档,所以有了 Wiki、知识库。

而现在,我越来越觉得:

AI 也需要自己的项目记忆。

代码告诉 AI:

项目现在是什么样。

文档告诉 AI:

项目应该是什么样。

Memory 则可以告诉 AI:

这个项目为什么会变成现在这样,以及过去我们踩过什么坑。

三者结合起来,AI 才可能真正从“代码生成工具”,逐渐变成一个能够长期参与项目开发的协作者。


最后

我以前使用 Claude,更关注它能不能把代码写出来。

现在,我开始关注另外一件事情:

怎么让 Claude 越用越懂我的项目。

因为真正高效的 AI 编程,可能并不是每一次都让 AI 从零开始认识你的项目。

而是让它:

第一次认识项目,第二次记住经验,第三次开始复用经验。

最终,我们获得的可能不只是一个“会写代码的 AI”。

而是一个:

不断参与项目、不断积累经验、越来越懂这个项目的 AI 同事。

代码可以让 AI 帮你写。

而项目经验,也可以让 AI 帮你积累。

这或许才是 Memory 真正有意思的地方。

DeepSeek Harness 本地部署并设置为 Windows 服务 2026-08-18
Memory 越多,AI 反而越容易犯错:我开始考虑把 Memory 升级成 Skill 2026-08-21

评论区