第 14 期:Memory 系统

⏱ 预计阅读 4 分钟 更新于 2026/5/7
💡 进群学习加 wx: 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——两种上下文管理命令的深度对比。