内存审查

memory-review
分类通用
作者Alireza Rezvani
许可MIT
评分4.60/5
使用13.4K

/si:memory-review — 分析自动记忆

对 Claude Code 的自动记忆进行全面审计并提供可操作的建议。

用法

code
/si:memory-review                    # 全量审查
/si:memory-review --quick            # 仅摘要(计数 + 前 3 个候选项)
/si:memory-review --stale            # 侧重于过期/陈旧条目
/si:memory-review --candidates       # 仅显示晋升候选项

工作流程

第一步:定位记忆目录

bash
# 查找项目的自动记忆目录
MEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|%2F|g; s|%2F|/|; s|^/||')/memory"

备选方案:检查常见路径模式

~/.claude/projects/<user>/<project>/memory/

~/.claude/projects/<absolute-path>/memory/

列出所有记忆文件

ls -la "$MEMORY_DIR"/

如果记忆目录不存在,则报告自动记忆可能已禁用,并建议使用 /memory 检查。

第二步:读取并分析 MEMORY.md

读取完整的 MEMORY.md 文件。统计行数并对照 200 行的启动限制。

分析每个条目的以下维度:

1. 重复出现指标
- 同一概念多次出现(措辞不同)
- 包含“再次”、“仍然”或“持续发生”等表述
- 不同主题文件中出现相似条目

2. 陈旧指标
- 引用了不再存在的文件(使用 find 验证)
- 提到过时的工具、版本或命令
- 与当前的 CLAUDE.md 规则相抵触

3. 合并机会
- 关于同一主题的多个条目(例如,三行关于测试的内容)
- 可以合并为一条简洁规则的条目

4. 晋升候选项 —— 同时满足以下所有条件的条目:
- 在 2 个或更多会话中出现(检查措辞模式)
- 非项目特定琐事(具有广泛适用性)
- 可操作(可以写成一条具体规则)
- 尚未存在于 CLAUDE.md 或 .claude/rules/

第三步:读取主题文件

如果 MEMORY.md 中有引用或目录中包含其他文件(如 debugging.md, patterns.md 等):

  • 读取每个文件

  • MEMORY.md 进行交叉比对以查找重复项

  • 检查哪些条目应移至主文件(高价值)而非主题文件(细节)

第四步:与 CLAUDE.md 交叉比对

读取项目的 CLAUDE.md(如果存在)并对比:

  • MEMORY.md 中是否有与 CLAUDE.md 规则重复的条目?($\rightarrow$ 从记忆中删除)

  • MEMORY.md 中是否有与 CLAUDE.md 冲突的条目?($\rightarrow$ 标记冲突)

  • MEMORY.md 中是否有尚未进入 CLAUDE.md 但应该进入的模式?($\rightarrow$ 晋升候选项)

同时检查 .claude/rules/ 目录中是否存在已有的范围规则。

第五步:生成报告

输出格式:

code
📊 自动记忆审查报告

记忆健康状况:
MEMORY.md: {{lines}}/200 行 ({{percent}}%)
主题文件: {{count}} ({{names}})
CLAUDE.md: {{lines}} 行
规则: .claude/rules/ 中有 {{count}} 个文件

🎯 晋升候选项 ({{count}}):
1. "{{pattern}}" — 出现 {{n}} 次,适用范围广
$\rightarrow$ 建议: {{target}} (CLAUDE.md / .claude/rules/{{name}}.md)
2. ...

🗑️ 陈旧条目 ({{count}}):
1. 第 {{n}} 行: "{{entry}}" — {{reason}}
2. ...

🔄 合并建议 ({{count}} 组):
1. 第 {{a}}, {{b}}, {{c}} 行均关于 {{topic}} $\rightarrow$ 合并为 1 条记录
2. ...


..

⚠️ 冲突 ({{count}}):
1. MEMORY.md 第 {{n}} 行与 CLAUDE.md 矛盾:{{detail}}

💡 建议:
- {{actionable suggestion}}
- {{actionable suggestion}}
``

使用场景

  • 完成重大功能开发或调试会话后
  • /si:memory-status 显示 MEMORY.md 超过 150 行时
  • 活跃开发期间每周一次
  • 开始新项目阶段前
  • 新团队成员入职后(回顾 Claude 已学习的内容)

技巧

  • 频繁运行 /si:memory-review --quick`(开销较低)
  • 当 MEMORY.md 内容过多时,进行全面审查最有价值
  • 及时处理建议晋升的条目 —— 它们是经过验证的模式
  • 不要犹豫删除过时的条目 —— 如果需要,自动记忆功能会重新学习