记忆系统与 Agent 定制完全指南(一):初识 Claude Code 记忆系统
title: 记忆系统与 Agent 定制完全指南一初识 Claude Code 记忆系统date: 2026-07-10category: AI 开发工具tags: [Claude Code, Memory, 记忆系统, 入门, 持久化]记忆系统与 Agent 定制完全指南一初识 Claude Code 记忆系统Claude Code 有一个记忆——它记得你的偏好、项目的规范、过去的决策。这不是幻觉而是基于文件的持久化记忆系统。本篇带你理解记忆系统的本质。前言你有没有遇到过这种情况上周让 Claude 帮你配置了项目规范这周重新开始对话 Claude 完全不记得之前的设置了。这是因为 Claude 的对话记忆是临时的——每次对话结束上下文就清空了。但 Claude Code 有一个持久化记忆系统——它把重要的信息写到文件里下次对话自动加载。这样 Claude 就能记住你的偏好。一、什么是记忆系统1.1 记忆的本质Claude Code 的记忆系统是一个基于文件的知识库~/.claude/projects/project-id/memory/ ├── MEMORY.md ← 索引文件每次对话加载 ├── coding-preferences.md ← 编码偏好 ├── project-rules.md ← 项目规则 ├── database-info.md ← 数据库信息 └── team-conventions.md ← 团队约定每次对话开始时Claude 会读取MEMORY.md索引根据索引加载相关的记忆文件将记忆注入到对话上下文中这样即使换了新对话Claude 依然记得你之前告诉过它的事情。1.2 记忆 vs 对话上下文维度对话上下文记忆系统生命周期单次对话永久直到删除容量有限受模型上下文窗口限制几乎无限文件系统加载方式自动携带按需读取适用场景当前任务的临时信息长期有效的知识和偏好可控性用户无法控制用户可以编辑、删除、添加1.3 记忆的分类记忆系统中的每个文件代表一条记忆分为 4 种类型类型说明示例user用户偏好、习惯“我喜欢用 const 不用 let”project项目相关信息“数据库在 192.168.31.196:13306”reference外部资源链接“API 文档地址https://xxx”feedback对 Claude 的反馈“上次生成的代码格式不对应该…”二、记忆系统的工作原理2.1 记忆的写入当你告诉 Claude 一些重要信息时它可以自动写入记忆记住我们的数据库是 MySQL地址 192.168.31.196:13306Claude 执行# 1. 创建记忆文件cat~/.claude/projects/project-id/memory/mysql-info.mdEOF --- name: mysql-database-info description: MySQL 数据库连接信息 metadata: type: project --- 数据库类型MySQL 地址192.168.31.196:13306 数据库名zkhz-asset 用户名zkhz_admin 连接池Druid ## 注意事项 - 时区设置为 Asia/Shanghai - 字符集 utf8mb4 - 定期备份策略每天凌晨 2 点 EOF# 2. 更新索引echo- [MySQL数据库连接信息](mysql-database-info.md) — 数据库地址和凭据MEMORY.md2.2 记忆的读取下次对话开始时system-reminder 用户记忆加载 - [MySQL数据库连接信息](mysql-database-info.md) - [编码偏好](coding-preferences.md) ... /system-reminderClaude 自动读取相关文件将信息注入上下文。2.3 记忆的更新数据库地址变了改成 192.168.31.200:3306Claude 更新记忆文件# 修改现有文件而非创建新的sed-is/192.168.31.196/192.168.31.200/gmysql-info.mdsed-is/13306/3306/gmysql-info.md2.4 记忆的删除忘掉数据库地址的记忆Claude 执行# 删除记忆文件rmmysql-info.md# 从索引中移除sed-i/mysql-info.md/dMEMORY.md三、记忆的实际应用场景3.1 记住编码偏好记住我偏好使用 arrow functions不用 function 声明Claude 写入--- name: coding-style-preference description: 编码风格偏好 metadata: type: user --- - 使用箭头函数 const fn () {}不用 function fn() {} - 使用 const不用 let 或 var - 使用单引号不用双引号 - 分号结尾 - 缩进 2 空格之后 Claude 生成的所有代码都会自动遵循这些偏好。3.2 记住项目规范记住我们的 API 统一返回 { code, message, data } 格式Claude 写入--- name: api-response-format description: API 响应格式规范 metadata: type: project --- 所有 API 响应统一格式 { code: 200, // 200 成功其他为错误码 message: success, data: {} // 业务数据 } 分页响应 { code: 200, data: { list: [], total: 100, pageNum: 1, pageSize: 20 } }3.3 记住技术决策记住我们选择了 Element Plus 而不是 Ant Design Vue 原因Element Plus 组件更丰富文档更完善团队更熟悉Claude 写入--- name: ui-framework-choice description: UI 框架选型决策 metadata: type: project --- 选择的 UI 框架Element Plus 决策原因 1. 组件更丰富表格、表单、树形控件等 2. 文档完善中文文档友好 3. 团队熟悉度高 4. 与 Vue 3 兼容性更好 已否决的方案Ant Design Vue3.4 记住常见反馈上次你生成的代码用了双引号我说了不喜欢。记住用单引号。Claude 记录这条反馈--- name: quote-style-feedback description: 引号风格偏好 metadata: type: user feedback: 用户明确要求使用单引号之前曾用双引号被纠正 --- 用户偏好单引号 而非双引号 为什么重要团队代码规范要求统一使用单引号 使用双引号会导致 ESLint 报错。四、记忆系统 vs CLAUDE.md两者都能存储项目信息但分工不同维度CLAUDE.md记忆系统位置项目根目录用户家目录 ~/.claude/范围项目级项目级 用户级内容项目规范、技术栈、目录结构偏好、决策、反馈、临时信息版本管理纳入 git不纳入 git用户私有共享性团队成员共享个人独有更新方式编辑文件自然语言告诉 Claude最佳实践CLAUDE.md写团队规范、技术栈、项目结构共享记忆系统写个人偏好、历史决策、反馈私有五、实战建立你的记忆系统5.1 第一步初始化帮我初始化记忆系统Claude 创建记忆目录和索引mkdir-p~/.claude/projects/project-id/memorycat~/.claude/projects/project-id/memory/MEMORY.mdEOF # 记忆索引 - [编码偏好](coding-preferences.md) - [项目规范](project-rules.md) - [技术决策](tech-decisions.md) EOF5.2 第二步填入记忆记住以下信息 1. 我用 TypeScript不用 JavaScript 2. 数据库是 MySQL 8.0 3. 我们团队用 pnpm 管理前端依赖 4. 所有组件用 script setup 语法 5. API 路径统一以 /api 开头Claude 将这些信息分别写入对应的记忆文件。5.3 第三步验证你记住了什么Claude 读取所有记忆文件汇总 我已记住的信息 ━━━━━━━━━━━━━━━━━━━━━ 编码偏好 - 使用 TypeScript - 使用 script setup 语法 - API 路径以 /api 开头 项目信息 - 数据库MySQL 8.0 - 包管理器pnpm ━━━━━━━━━━━━━━━━━━━━━ 共 5 条记忆六、记忆系统的局限性6.1 容量限制记忆系统不是无限的——每次对话只会加载MEMORY.md中索引的记忆文件。如果记忆太多Claude 可能读不过来。建议保持索引在 10-20 条以内定期清理过时的记忆。6.2 准确性记忆是你告诉 Claude 的——如果你记错了Claude 也会错。建议定期 Review 记忆文件删除过时或不准确的记忆。6.3 隐私记忆文件存储在本地不包含敏感信息密码、Token。建议不要在记忆中存储密码、密钥等敏感数据。七、这一章的核心心得记忆系统是持久化的——跨对话保留重要信息基于文件存储——每个记忆是一个 Markdown 文件4 种类型——user、project、reference、feedback与 CLAUDE.md 互补——CLAUDE.md 是团队共享规范记忆是个人偏好自然语言管理——告诉 Claude 记住什么它自动写入文件定期维护——清理过时记忆保持准确性八、下一步认识了记忆系统下一篇我们将深入学习记忆文件的编写规范——怎么写一条好的记忆如何让 Claude 准确理解和引用。系列目录初识记忆系统——什么是记忆为什么需要记忆← 本篇记忆文件编写规范——怎么写一条好的记忆待写记忆的检索与使用——Claude 如何在对话中调用记忆待写自定义 Agent 开发一——Agent 的定义与结构待写自定义 Agent 开发二——Agent 的工具与权限待写Agent 编排与调度待写Agent 与工具的深度集成待写记忆系统与 Agent 配合——构建智能开发助手待写