第 2 课:Claude Code auto memory 深度解析

⏱ 预计阅读 3 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

2.1 auto memory 的四类记忆

auto memory 不是单纯的“录音机”,而是 LLM 主动写入的结构化笔记。LLM 会判断什么值得长期保留,并将其归类为以下四种类型:

类型 用途 示例
user 用户身份、角色、技术偏好 "用户是后端工程师,主语言 Go"
feedback 你纠正过或确认过的做法 "测试不要 mock 数据库 — 曾导致生产事故"
project 项目背景、长期决策、DDL "Auth 模块重写源于合规要求,非技术债"
reference 外部资源指针 (Linear, Jira, Slack) "Pipeline bugs 记录在 Linear 的 INGEST 项目中"

2.2 存储结构与加载机制

auto memory 的数据存储在本地,路径通常为 ~/.claude/projects/<project_hash>/memory/

目录结构:

  • MEMORY.md:索引文件。启动时,Claude Code 会自动加载其前 200 行(或 25KB)内容。
  • 独立 .md 文件:每条具体的记忆(如 user_preferences.md)都是一个带有 frontmatter 的独立 Markdown 文件。

写入流程:

  1. 判断:LLM 分析当前对话,判断是否包含值得长期记录的事实。
  2. 分类:选择合适的类型(user/feedback/project/reference)。
  3. 写入:生成独立的 Markdown 文件。
  4. 索引:在 MEMORY.md 中添加一行索引。

2.3 不该记录的内容

为了保持记忆的精准度,官方建议 auto memory 不应记录:

  • 能够通过阅读代码直接获取的模式或路径。
  • Git 历史记录(git log 才是权威来源)。
  • 临时的任务状态或当前会话的上下文细节。
  • 已经在 CLAUDE.md 中定义的规则。