链载Ai

标题: Claude Code 记忆体系大升级! [打印本页]

作者: 链载Ai    时间: 前天 14:04
标题: Claude Code 记忆体系大升级!

Claude Code 从出生开始就有记忆体系,那就是写在本地的CLAUDE.md文件。

但是这玩意有个巨大的问题,它并不是总是奏效,有的时候会读,有的时候根本就不进不了上下文中。

具体的原因我在这个文章中有详细的介绍:Claude Code大型项目如何跨越窗口时保持记忆与目标?

今天开始Claude Code 的记忆能力体系得到的进一步进化了。

不在只是CLAUDE.md了。

可以通过.claude/rules/ 目录加载自定义规则。

那么现在整体的记忆体系就如官方总结:

自定义规则不是一个简单的功能升级,它直接击中了开头疼的痛点:AI健忘。

比如明明规定了不用的库,它又自作主张地引入了,明明纠正过一次的代码风格,新建一个文件后它又忘了。

在以前,我们只能把规则一股脑塞进一个文件。

而现在,我们可以将代码风格、测试约定和安全要求拆分成独立的.md 文件。

它们会自动加载,且拥有与主记忆文件CLAUDE.md同等的优先级。

操控的颗粒度更细,配置灵活度也会得到很大的提升。

形式上虽然升级了,但记忆管理的内核还是不变:你得学会如何管理它的记忆。

Claude Code 而是有着严密的层级,就像公司的管理架构一样,从全局到局部,井井有条。

系统启动时,它会按照优先级自动加载这五层记忆。

这是最入门的层次管理。

第二层次是拆解。

项目初期,可能一个 CLAUDE.md 确实够用。

但随着业务扩张,把所有规则都塞进一个文件,维护起来简直是灾难。

这时候,你需要把记忆拆解。

Claude Code 现在允许你在 .claude/rules/ 目录下创建多个 Markdown 文件。

那么大而化之后的模块化就可能长这样。

your-project/
├──.claude/
│├──CLAUDE.md#总纲
│└──rules/
│├──code-style.md#专门讲审美
│├──testing.md#专门讲质量
│└──security.md#专门讲安全

这样做的就大的好处就是精准的路径规则。

有些规则不需要对所有文件生效,比如 React 组件的规范,没必要让后端 Java 代码知道。

通过 YAML frontmatter,我们可以给记忆加上作用域。

---
paths:src/api/**/*.ts
---

#API开发铁律

-接口必须包含输入验证
-错误响应必须符合标准格式

这样一来,Claude 只有在处理 src/api/ 下的 TypeScript 文件时,才会调取这段记忆。

精准,高效还省Token。

下面有一个真实的高并发秒杀系统案例。

如果没有记忆,直接让 AI 写秒杀,它大概率会写出一个标准的 SELECT 然后 UPDATE 的逻辑。

结果就是,超卖数据库锁死直至整系统崩溃。

植入记忆后,我们在写第一行代码前,先在 .claude/rules/seckill.md 里写下这段紧箍咒:

---
paths:src/modules/seckill/**/*.java
---
#秒杀模块生存法则

1.**库存扣减**
-严禁查询数据库扣减库存
-必须使用RedisLua脚本保证原子性

2.**幂等性**
-所有写入接口必须校验orderId是否重复

3.**异常处理**
-发生任何异常,必须触发异步报警

Claude 读取这段记忆后,生成的代码直接包含了 RedisTemplate 的 Lua 脚本调用,甚至连异常回滚的逻辑都处理得滴水不漏。这就是记忆体系的威力。

第三层是模块化

不用把所有内容都写在同一个地方。用 @ 引用外部文件,像搭积木一样组装你的上下文。

#引入我的个人偏好配置
-@~/.claude/my-project-instructions.md

快速初始化

新接手一个项目?一个命令,直接生成基础配置。

>/init

最后的建议,其实在我的这个专栏AI编程高效开发指南里面会有反复的提到:

项目改崩N次后,我总结出大型项目重构人机协同SOP

具体一点

别说“代码要规范”,要说“缩进使用 2 个空格”。

结构化一点

多用标题,多用列表,AI 和人一样,喜欢条理清晰的指令。

勤快一点

记忆文档其实跟代码一样,都需要进行不断的更新和迭代。






欢迎光临 链载Ai (http://www.lianzai.com/) Powered by Discuz! X3.5