tech-sharing / memory-systems

AI 是怎么
记住你的?

聊聊 Claude Code 的 Memory 系统——
它不是"一个文件"那么简单。

Claude Code Memory 深度拆解#memory #claude-code #ai-engineering

// the-problem

每次打开 AI,
都得从头介绍一遍自己

我是谁

角色、技能、偏好——每次重说。

😩 重复劳动

项目是干啥的

架构、约定、踩过的坑——再来一遍。

😩 重复劳动

Claude Code 做了个东西,叫 Memory 系统

讲痛点:每次打开 AI 都要重新介绍自己。引出 Claude Code 的 Memory 系统。

// fundamentals

先搞清楚一件事:
AI 本身是无状态的

AI 表现出的"记得",全靠你喂给它的上下文。所以 Agent 把记忆分成了两层。

短期记忆

对话窗口上下文 · 会话结束清空 · 容量有限

长期记忆

跨会话持久存在 · 不随对话消失

章节页。核心概念:AI 本身是无状态的。引出短期记忆和长期记忆的分层概念。

// memory-layers

短期记忆 vs 长期记忆

memory-layers.md
|           | 短期记忆          | 长期记忆              |
|存哪   | 对话窗口上下文          | Memory 系统(跨会话文件)    |
|寿命   | 会话结束就清空          | 持久,不随对话消失          |
|容量   | 有限,聊太长会被挤出去    | 按 topic 分文件,按需加载     |
|谁管   | 你和 AI 当下的对话       | Memory 系统统一管理          |
短期记忆 vs 长期记忆对比表。用终端窗口样式展示对比。

// long-term-memory · 2-sets

长期记忆不是一坨,
里面又分两套

CLAUDE.md

你写的规则

项目结构 · 编码约定 · 禁忌
每次开新会话都加载

本质:你递给 AI 的说明书

Auto Memory

AI 自己记的笔记

你不用动手 · 干活过程中自己判断
什么值得长期记住

本质:AI 自己攒的经验册
很多人的认知里 Claude Code 记忆就是 CLAUDE.md——这只是其中一半。长期记忆分两套,互补。

// side-by-side

CLAUDE.md vs Auto Memory

compare.yaml
# ============ 对称互补 ============

CLAUDE.md   —— 你写的规则 ——
  放在项目根目录
  写明项目结构、编码约定、禁忌
  每次开新会话都加载
  能分层:根目录 + 子目录
  越靠近当前文件优先级越高

Auto Memory —— AI 自己记的笔记 ——
  你不用动手
  AI 干活时自己判断什么值得记
  记到 MEMORY.md 里
  按 topic 分文件,需要时才加载
  不会把上下文窗口塞爆
双栏对比页。CLAUDE.md 是你写的规则,Auto Memory 是 AI 自己记的笔记。版式强调对称和互补关系。

// auto-memory-internals

Auto Memory 长什么样?

MEMORY.md 是个目录页(索引),不是记忆本身。真正的笔记放在按主题分的 topic 文件里。

~/.claude/memory/
📄 MEMORY.md          ← 目录/索引
├── 📝 debugging.md      ← 调试经验
├── 📝 api-conventions.md ← 接口约定
├── 📝 project-arch.md    ← 架构决策
└── 📝 ...               ← 按主题继续分

关键设计:
topic 文件 不会 启动时全加载
Claude 判断"现在需要"才去读
设计克制,不塞爆上下文
Auto Memory 结构页:MEMORY.md 是个目录页(索引),真正的笔记放在按主题分的 topic 文件里。

// memory-taxonomy · core-insight

四类记忆:
记忆是有纪律

每条记忆必须且只能归一类,分类是闭合的——不能自己造第五类。

① user —— 记"人"

你的角色、身份、工作习惯、语言偏好
例:你是后端 · 用 TypeScript · 不爱写注释

② feedback —— 记"教训"

你在对话里纠正过 AI 的地方
"别这么写,用另一种方式"——下次不重犯

③ project —— 记"这事"

跟当前项目相关的决策
架构选型 · 技术栈 · 项目约定——换项目不通用

④ reference —— 记"地图"

最反直觉。不记内容本身,只记"去哪能查到"
API 文档链接 · 配置文件位置 · 参考实现放哪

核心洞察:前三类记"事实",第四类记"路径"。这跟人脑记东西的方式很像。

四类记忆页,信息密度最高。user / feedback / project / reference。前三类记事实,第四类记路径。

// real-world-value

Memory 的价值,
跟项目类型强相关

✓ 特别值:知识库项目

长期维护 + 高频跟 AI 聊

AI 记住了你看过哪些书、对哪些观点有过什么反馈、知识架构长什么样。越用越顺。

特殊值

△ 一般:小软件项目

写完就丢 / 已有人工记录

坑不多,AGENTS.md 也写了约定。Memory 该记的 project 层信息被人工维护分流了。

边际价值低

结论:长期维护 + 高频沟通 都沾 → 特别值。否则边际价值低。

实战体验:Memory 的价值跟项目类型强相关。知识库项目特别值,小软件项目价值一般。

// autodream

AutoDream:
AI 也会"睡觉整理记忆"

不是随时跑,满足两个条件才启动:

条件一

距离上次整理超过 24 小时

条件二

积累了至少 5 个新会话

两个都达标 → 后台起一个子任务
翻看最近会话,把零散记忆合并、去重、清理过时内容

🌙

就像人睡觉
整理白天记忆

AI 也在"休眠期"
整理它的记忆

AutoDream 页。AI 在后端整理记忆——满足距离上次 24 小时 + 累积 5 个新会话。

// the-real-challenge

Memory 的核心难点
不在"记",在"判断什么该记"。

判断错了 · 后果一

记一堆没用的 → 污染上下文
AI 每次加载一堆记忆反而被干扰

判断错了 · 后果二

该记的没记 → 还是失忆
输出质量下降,跟没 Memory 没区别

它更适合记跨会话反复用得上的——"稳定的你"和"稳定的项目约定"。
一次性的东西,交给会话上下文就够了。

反思页。Memory 的核心难点不在记,而在判断什么该记。Memory 也不是越多越好。

所以 AI 是怎么
记住你的?

不是把每次对话都存下来

从对话里挑出值得长期记住的部分

分门别类存好

需要的时候才调用

还会定期整理

靠的不是记忆好,是判断准。

收尾。首尾呼应:AI 不是把每次对话都存下来,而是挑出值得记的,分门别类存好,需要时调用,还会定期整理。结尾:靠的不是记忆好,是判断准。