DEV Community

guanyi liu
guanyi liu

Posted on

How I Solved Claude Code's Amnesia by Properly Configuring It

我发现 Claude Code 不是失忆,而是我没给它办入职

上上篇文章里,我讲过一个观点。

很多时候不是 AI 不够聪,而是我们没有把问题讲清楚。

后来我确实已经解决了这个问题。

需求写清楚了。

目标写清楚了。

限制条件写清楚了。

Claude Code 的表现确实好了很多。

但很快,我又遇到了另一个问题。

我每天都在重复介绍同一个项目

前段时间,我一直在开发自己的内容发布系统,几乎每天都会打开 Claude Code。

有时候修 Bug,有时候加功能,有时候只是讨论一个实现方案。

一开始没觉得有什么问题,直到有一天,我突然发现:我好像每天都在重复说同样的话。

比如:

这个项目是做什么的。

哪些目录不能动。

哪些代码是历史遗留逻辑。

修改完必须测试。

优先复用现有实现。

不要为了重构而重构。

这些内容我说过很多次,但每次开新会话,还是会重新解释。

最开始我以为是 Claude Code 的记忆能力有问题。

后来查资料的时候,我发现这个判断本身就错了,因为新会话本来就没有上下文,它根本不可能知道上一个会话里发生了什么。

于是问题变成了另外一个样子:为什么有的人用 Claude Code,一个月后越来越懂项目。而我用了一个月,很多事情还是得反复解释?

我做了一个很简单的对比

有一天我突然想到。

如果现在公司来了一个新人,我会怎么做?

直接把需求甩给他?显然不会。

正常情况下,第一件事一定是让他熟读员工手册。

项目是干什么的。

技术栈是什么。

目录结构是什么。

团队规范是什么。

哪些事情必须遵守。

哪些坑以前踩过。

总之先熟读员工手册,然后再开始干活,想到这里的时候,我突然意识到一个问题:我好像一直在让 Claude Code 工作,却从来没有给过它员工手册。

问题其实不在记忆

后来我认真回头看了一遍自己的使用方式,发现很多项目知识其实一直存在,只是存在错了地方,存在了聊天记录里,而不是存在项目里。

比如:

这个系统是干什么的。

哪些模块比较核心。

哪些目录有历史包袱。

代码应该遵循什么规范。

这些信息都很重要,但它们一直散落在各种会话里,结果就是:我知道,Claude Code 不知道。

昨天的会话知道,今天的新会话不知道。

项目做了很久,项目知识却没有积累下来。

后来我发现了 CLAUDE.md

最开始看到 CLAUDE.md 的时候,我其实没太在意,甚至觉得它就是一个说明文档。

后来真正开始用以后,我才发现自己理解错了,它更像是 Claude Code 的员工手册。

每次进入项目,Claude Code 都会先读取这里面的内容,你可以把很多项目级知识放进去。

例如:

项目背景。

技术栈。

目录说明。

开发规范。

代码风格。

设计原则。

历史经验。

注意事项。

这些东西平时看起来不起眼,但它们决定了 Claude Code 会如何理解整个项目。

我做了一个实验

为了验证是不是心理作用,我找了自己的内容发布系统做测试。

第一次,没有 CLAUDE.md,我让 Claude Code 增加一个导出功能,结果它花了不少时间分析项目结构,中间还误判了两个目录的职责,很多我已经解释过的事情,又重新说了一遍。

后来我把这些内容整理进 CLAUDE.md。

包括:

项目定位。

目录职责。

开发原则。

以及几个不能轻易修改的核心模块。

然后重新开始,执行同样的任务,结果和我想的不太一样,最大的变化不是代码质量,而是沟通成本,很多以前需要解释半天的事情,现在从一开始就已经达成共识。

那种感觉特别像什么呢?特别像一个提前看完项目文档的新同事,能力没有变化,但理解项目的速度快了很多。

我后来才明白

以前我一直以为,Claude Code 的价值在于代码能力。

后来发现不是,至少不完全是。

真正让我效率提升的,反而是项目知识开始积累了。

以前每个新会话都像重新开始,现在很多背景信息已经沉淀在项目里,我不用一次次重复介绍,Claude Code 也不用一次次重新理解。

直到这时候我才发现,问题从来不是 AI 失忆,而是我从来没有把项目知识变成员工手册。

这是我最近最大的收获

不要把项目知识留在聊天记录里,聊天记录会结束,项目会继续。

真正重要的信息,应该沉淀到项目本身,总结成员工手册。

后来我越来越觉得,如果把 Claude Code 当成一个开发者,那么 CLAUDE.md 做的事情其实很简单,它就是员工手册,负责告诉新人:这里是什么地方,这里怎么工作,这里有哪些规矩。

有了这些东西,Claude Code 才算真正完成入职。

但事情还没结束

后来我又发现一个新的问题,即使项目背景已经清楚了,Claude Code 的工作方式依然不稳定,有时候先分析,有时候直接写代码,有时候想到哪里改到哪里。

同一个任务,不同时间执行,流程完全不一样,于是我开始思考:能不能不仅告诉它项目是什么,还能告诉它应该怎么工作?

这就是我下一篇实验想聊的内容:为什么我把 Claude Code 当 ChatGPT 用了两个月,后来却离不开 Plan。

欢迎来到我的成长实验。

AI 不会替你成长。

但它能让成长更快发生。

Top comments (0)