当前位置: 首页 > news >正文

Claude Code自动记忆系统:四种记忆类型详解

目录

  • 1 四种类型速览
  • 2 user(用户画像)
    • 2.1 一句话理解
    • 2.2 详细说明
    • 2.3 何时保存
    • 2.4 如何使用
    • 2.5 注意事项
    • 2.6 示例
    • 2.7 实践
  • 3 feedback(反馈偏好)
    • 3.1 一句话理解
    • 3.2 详细说明
    • 3.3 何时保存
    • 3.4 文件的推荐结构
    • 3.5 示例
    • 3.6 实践
  • 4 project(项目上下文)
    • 4.1 一句话理解
    • 4.2 详细说明
    • 4.3 何时保存
    • 4.4 关键规则
    • 4.5 body_structure
    • 4.6 示例
  • 5 reference(外部参考指针)
    • 5.1 一句话理解
    • 5.2 详细说明
    • 5.3 何时保存
    • 5.4 如何使用
    • 5.5 示例
  • 6 四类记忆对比总结
  • 7 什么不该存为记忆
  • 8 记忆文件的格式
    • 8.1 示例:一条 feedback 记忆
    • 8.2 user-role

Claude Code自动记忆系统:四种记忆类型详解 —— 小白也能看懂

Claude Code中,自动记忆系统将记忆严格限定为4 种类型,形成一个封闭的分类体系。每种类型有明确的“何时保存”和“如何使用”规则。核心原则:只有无法从代码/git 推导出来的信息才值得存为记忆。代码模式、架构、git 历史、文件结构……这些通过 grep/git/CLAUDE.md 就能查到,不应存为记忆

1 四种类型速览

通过Claude Code源码src/memdir/memoryTypes.ts, 可以清楚的知道Claude Code 的记忆系统将记忆分为四类,这套分类体系解决了“谁有资格被记住”的问题。我们用下图来展示四个分类:

┌──────────────────────────────────────────────────────────────────┐ │ 记忆四分类 │ │ │ │ user feedback project reference │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │ 👤 │ │ 📝 │ │ 📋 │ │ 🔗 │ │ │ │ 用户 │ │ 反馈 │ │ 项目 │ │ 参考 │ │ │ │ 画像 │ │ 偏好 │ │ 上下文│ │ 指针 │ │ │ └──────┘ └──────┘ └──────┘ └──────┘ │ │ │ │ "你是谁" "怎么做" "为什么做" "去哪找" │ │ 身份/角色 行为准则 背景/动机 外部资源 │ └──────────────────────────────────────────────────────────────────┘
~/.claude/ └── projects/ └── <sanitized-git-root>/ # Git 仓库根路径的 sanitized 版本 └── memory/ # getAutoMemPath() 返回值 ├── MEMORY.md # 索引文件(入口文件,上限 200 行 / 25KB) ├── user_role.md # 记忆文件(以下为示例) ├── feedback_testing.md ├── project_deadline.md ├── reference_dashboard.md ├── logs/ # KAIROS 助手模式的每日日志 │ └── YYYY/ │ └── MM/ │ └── YYYY-MM-DD.md ├── team/ # 团队记忆(需 TEAMMEM feature + tengu_herring_clock GrowthBook 开关) │ └── MEMORY.md └── .consolidate-lock # autoDream 整合锁

2 user(用户画像)

2.1 一句话理解

记录"你是谁"——用户的身份、角色、技能水平、知识背景。

2.2 详细说明

这类记忆帮 AI调整沟通方式。同样是解释一段代码,对资深工程师和对刚入门的学生,回答方式完全不同。

2.3 何时保存

当了解到用户的以下信息时:

  • 角色和职位
  • 技能水平和经验
  • 知识领域(擅长什么、不熟悉什么)
  • 工作职责和关注点

2.4 如何使用

当回答问题时,根据用户画像调整回答的深度、角度和侧重点。例如:

  • 资深后端 → 用后端类比解释前端概念
  • 数据科学家 → 突出数据/日志相关的内容
  • 学生 → 更耐心、更详细、更多背景解释

2.5 注意事项

  • 不要存负面评价或与工作无关的个人信息
  • 目标是更好地帮助用户,不是评判用户

2.6 示例

用户说AI 记住什么
“我是一名数据科学家,正在调查我们的日志系统”user_data_scientist.md→ 用户是数据科学家,当前关注可观测性/日志
“我写了十年 Go,但这是我第一次碰这个项目的 React 部分”user_go_expert.md→ Go 资深,React 新手 → 用后端概念类比解释前端
“我对 Rust 还不太熟,边做边学”user_learning_rust.md→ 正在学 Rust → 解释要详细,给出学习资源

2.7 实践

例如,我们打开一个工程输入如下内容:

我是一名intersystems iris语言工程师,对ts代码不太熟悉。

此时,Claude Code就会根据其内部机制判断是否要写入memory

执行完成之后,会在记忆文件夹中创建了一个叫做:user_role.md的文件。

3 feedback(反馈偏好)

3.1 一句话理解

记录"怎么做"——用户教你的行为准则,既包括纠正也包括肯定。

3.2 详细说明

这是最重要的记忆类型。用户给你的每一条反馈——不管是批评还是表扬——都应该记住。关键:不仅要记录失败(纠正),也要记录成功(认可)。如果只记录纠正,你会越来越保守;记录认可则帮你锁定用户喜欢的做法。

3.3 何时保存

触发场景示例
用户纠正做法“别这样”、“不要”、“停止做 X”
用户认可做法“对,就是这样”、“完美,继续这样做”
用户接受一个不寻常的选择没有质疑,默认通过

纠正好识别,认可容易被忽略——要特别注意捕捉。

3.4 文件的推荐结构

规则本身 **Why:** 用户给出这条规则的原因(知道原因才能判断边界情况) **How to apply:** 何时/何处应用这条规则

3.5 示例

用户说AI 记住什么
“测试里别 mock 数据库,上次 mock 测试过了但生产迁移失败了”集成测试必须用真实数据库。原因:mock 与生产环境差异曾导致迁移失败
“别再每条回复末尾总结你干了什么,我看 diff 就知道了”用户要简洁回复,不要末尾总结。原因:用户会自己看 diff
“对,这次打包成一个 PR 是正确的,拆开就是无意义的 churn”此类重构用户倾向于一个 PR。原因:已验证,拆分无价值

3.6 实践

例如:

  • 第一次:在让Claude Code帮我绘制.drawio格式的流程图时,绘制完成之后,打开之后报错,提示非绘图文件。
  • 对话:告诉他此次输出的文件,打开报错,提示:非绘图文件。
  • 修复:Claude Code自动帮我修复,然后总结了2条原因。
  • 肯定他:让他记住此次的修复问题。之后Claude Code便会在记忆文件夹中创建了feedback_drawio_xml_rules.md文件。

4 project(项目上下文)

4.1 一句话理解

记录"为什么做"——代码之外的动机、约束、截止日期、决策背景。

4.2 详细说明

代码告诉你"做了什么",但很少告诉你"为什么"。

  • 为什么用这个方案而不是另一个?
  • 这个功能的截止日期是什么?
  • 谁在推动这件事?出于什么原因?
  • 有没有合并冻结/发布窗口?

这些信息对做出正确决策至关重要,但代码里找不到

4.3 何时保存

当了解到以下信息时:

  • 谁在做什么、为什么要做、何时完成
  • 项目的 deadline 和里程碑
  • 决策背后的非技术原因(合规、法律、业务)
  • 组织层面的约束(团队分工、发布节奏)

4.4 关键规则

必须把相对日期转成绝对日期!

“周四开始合并冻结” → 记成 “2026-05-18 开始合并冻结”(而不是 “周四”),因为几周后你再看这条记忆,"周四"就没有意义了。

4.5 body_structure

事实或决策 **Why:** 动机(约束、截止日期、需求方) **How to apply:** 这条信息如何影响你的建议

4.6 示例

用户说AI 记住什么
“周四之后冻结所有非紧急合并,移动端要切发布分支了”合并冻结 2026-05-18 开始。标记该日期之后的非关键 PR
“我们在重写认证中间件,因为法务说旧版存 session token 的方式不合规”认证重写是合规驱动的,不是技术债清理。方案选择应优先合规
“这个任务不急,优先级低于用户那边反馈的 bug 修复”当前阶段 bug 修复优先级高于功能开发

5 reference(外部参考指针)

5.1 一句话理解

记录"去哪找"——外部系统中的资源位置,而不是内容本身。

5.2 详细说明

这类记忆不存内容本身,只存资源的坐标。因为外部系统的内容随时在变,过时风险高,存一个指针去源头查才是正确的。

5.3 何时保存

当了解到以下信息时:

  • bug 在哪个系统里跟踪(Linear、Jira、GitHub Issues)
  • 监控面板在哪里(Grafana、Datadog)
  • 文档在哪里(Confluence、Notion、Google Docs)
  • 团队沟通渠道(Slack 频道、邮件组)

5.4 如何使用

当用户提到某个系统或话题时,先查 reference 记忆找到对应的外部资源位置。

5.5 示例

用户说AI 记住什么
“查 Linear 项目 INGEST,那里跟踪所有 pipeline bug”管线 bug 跟踪在 Linear 项目 “INGEST”
“grafana.internal/d/api-latency 是 oncall 盯的看板,改请求相关代码时注意别把延迟搞上去”oncall 延迟看板在 grafana.internal/d/api-latency,改请求路径代码时要关注
“部署文档在 notion.so/xxx-deploy-guide”部署文档在 Notion:notion.so/xxx-deploy-guide

6 四类记忆对比总结

维度userfeedbackprojectreference
核心问题你是谁?你要我怎么做?为什么做这个?相关信息在哪?
内容性质身份/能力描述行为规则/偏好背景/动机/约束外部资源坐标
时效性基本稳定较稳定变化快,容易过时取决于外部系统
触发频率低(一次性)中(持续积累)中(随项目推进)
易被忽略认可比纠正更易漏相对日期忘转绝对

7 什么不该存为记忆

核心原则:即使面对明确的保存请求,也应主动追问用户“其中哪些信息是出乎意料或非显而易见的”,仅保留具备高信息熵的核心内容。以下五类信息通常无需额外记忆:

  1. 代码架构与文件路径:此类信息可通过grepglob等工具在代码库中直接检索获取。
  2. 版本控制与变更记录:Git 历史记录及代码归属(谁修改了什么)应以git loggit blame的查询结果为准,保持单一事实来源。
  3. 调试方案与修复记录:代码中的实际修复及 Commit Message 已包含完整的上下文,无需重复记录“修 bug 菜谱”。
  4. CLAUDE.md 既有内容:项目根目录的CLAUDE.md中已明确记载的规则,严禁重复记忆。
  5. 临时任务与瞬时状态:进行中的工作细节、临时状态及当前对话的短期上下文,不具备长期记忆价值。

8 记忆文件的格式

每条记忆存为独立的.md文件,使用 YAML frontmatter:

--- name: {{记忆名称,短横线连接}} description: {{一句话描述——用于未来判断是否相关,所以要具体}} type: user / feedback / project / reference --- {{记忆正文}} - feedback/project 类型建议包含 **Why:** 和 **How to apply:** 段落

8.1 示例:一条 feedback 记忆

--- name: concise-responses description: User prefers terse responses without trailing summaries type: feedback --- Rule: Keep responses short and skip end-of-turn summaries. **Why:** The user reads diffs directly and finds summaries redundant. **How to apply:** After completing edits or changes, state the result in one sentence. No bullet-point recaps unless specifically requested.

8.2 user-role

--- name: user-role description: 用户是 InterSystems IRIS 语言工程师,对 TypeScript 代码不太熟悉 metadata: node_type: memory type: user originSessionId: 998bb0b8-182a-4fc6-ac33-0e037bf3696e --- 用户是一名 InterSystems IRIS(数据库/互操作性平台)语言工程师,主要使用 ObjectScript 和 IRIS 相关技术栈。对 TypeScript 代码不太熟悉,在解释 TS 代码、架构模式、类型系统等内容时需要更多的上下文说明和类比。

秋堂主· 倚楼听风雨,淡看江湖路!
http://www.jsqmd.com/news/820132/

相关文章:

  • 前端项目模板解析:基于Vite与Vue 3的工程化实践指南
  • FPGA实现JPEG-LS硬件编码器:架构、算法与工程实践
  • 让小波核学会变形:基于可学习Laplace小波和最大化聚合路由胶囊网络的旋转机械故障诊断(PyTorch)
  • 目前正规的饲料颗粒机公司好不好用
  • 实测Taotoken在多模型切换时的响应延迟与稳定性表现
  • 基于ROS2和YOLOv5的宇树Go2机器狗人脸表情识别与情感交互系统:开发血泪史
  • 为什么有些测试员干了十年还是执行层?差距在于“业务翻译能力”
  • 聚焦AI赋能,共拓国际蓝海
  • AEB系统有哪些应用场景?AEB系统有哪些感知方案
  • 别把数据安全方案上线当成终点,系统开着不代表它在干活
  • YAGNI原则在DeepSeek模型微调中的隐性失效(2024真实故障复盘)
  • 从瑞利商到投影矩阵:LDA降维的数学推导与几何直观
  • LangGraph-AI:基于有状态图计算编排复杂AI工作流
  • React Markdown渲染深度实战:构建安全高效的现代Web内容系统
  • ARMv8/v9处理器特性寄存器解析与应用
  • 浏览器扩展开发实战:实现可视化网络请求防火墙与元素级请求溯源
  • 无ID推荐系统技术解析:从冷启动到工程落地的四大范式
  • 2026企业AI Agent狂飙突进!3000+案例揭示6大趋势,头部企业已部署23个,你还在等什么?
  • 为你的AI智能体项目选择最佳模型,Taotoken模型广场使用心得
  • 发现macOS窗口管理新境界:Topit如何用三步置顶技术提升多任务效率300%
  • Synopsys ARC HS处理器架构与嵌入式系统优化
  • Python图的存储与遍历全解:三种存储方式 +BFS/DFS
  • 沈阳不易踩坑的AI矩阵获客团队是哪家?
  • Linux 网络虚拟化深度解析:从 veth 设备对到容器网络实战
  • 降低维普AI率有3个常见坑!90%同学都踩过这个软件最稳!
  • Windows Cleaner:免费开源的系统优化工具,彻底解决C盘空间不足问题
  • 微光成炬,防——养同行,旭明康泽:寻找健康守护人
  • 90%的AI从业者都在反复看的人工智能底层知识清单
  • 用代码管理技能:构建结构化个人技能库的工程实践
  • 从混沌到清晰:markdownReader如何让Chrome成为你的终极Markdown阅读器