第 14 期:Memory 系统
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)
(申请发送: agentupdate)
本期核心:Memory 是跨 Session 的"长期记忆"。它让 Claude 记住你的偏好和项目状态。
14.1 什么是 Memory
Memory 是 Claude Code 的持久化记忆系统。跨 session 保存关键信息,新会话自动加载。
14.2 Memory 存储位置
~/.claude/projects/-Users-eric-work-teachagent/memory/
├── MEMORY.md ← 索引文件(自动加载到上下文)
├── user_role.md ← 用户角色/偏好
├── feedback_testing.md ← 反馈和修正
├── project_status.md ← 项目状态
└── ...
14.3 Memory 的类型
| 类型 | 用途 | 示例 |
|---|---|---|
| user | 用户角色、偏好 | "用户是数据科学家,React 新手" |
| feedback | 用户修正和偏好 | "不要在每次回复末尾总结" |
| project | 项目状态和决策 | "auth 中间件重写因合规要求" |
| reference | 外部系统指针 | "pipeline bugs 在 Linear INGEST 项目" |
14.4 Memory 如何工作
sequenceDiagram
participant H as Hooks
participant M as Memory 文件
participant CTX as 上下文
participant API as API
Note over H: SessionStart hook 触发
H->>M: 读取 MEMORY.md 索引
M->>CTX: 注入 memory 摘要到 system prompt
CTX->>API: 作为固定部分发送
Note over H: 用户对话中
H->>H: claude-mem 自动记录 observations
Note over H: 会话结束
H->>M: 更新 memory 文件14.5 Memory 对上下文的影响
Memory 文件在 SessionStart 时注入 system prompt,成为固定部分:
固定部分 = System Prompt (~3K) + CLAUDE.md (~4K) + Memory (~0.5K-3K) + Hooks (~1.5K)
Memory 越多 → 固定部分越大。但因为有缓存,固定部分只收一次费用。
建议:MEMORY.md 索引控制在 200 行以内,单个 memory 文件精简。
下期预告:第 15 期讲解 /compact 与 /clear——两种上下文管理命令的深度对比。