Skip to content

自動メモリシステム (/memory)

自動メモリは Claude Code v2.1.59 以上でサポートされています。claude --versionで確認してください。


CLAUDE.md vs 自動メモリ — 何が違うのか?

CLAUDE.md自動メモリ (MEMORY.md)
作成者人間が直接作成Claudeが自ら作成
役割ルール・規約のガイドラインセッションで学習した内容の記録
チーム共有Gitにコミットして共有可能ローカルに保存(共有不可)
保存場所プロジェクトルート~/.claude/projects/<project>/memory/

⚠️ 補足: 自動メモリはMEMORY.mdで管理され、CLAUDE.mdとは完全に別のファイルです。チームメンバーと共有されるものではなく、ローカルにのみ保存される個人の知識リポジトリです。


自動メモリに保存されるもの

Claudeは作業時に自分のためにノートを保存します。ビルドコマンド、デバッグの知見、アーキテクチャメモ、コードスタイルの好み、ワークフローの習慣などが含まれます。毎セッション保存するわけではなく、将来の会話で役立つかどうかに基づいて記憶する価値があるか判断します。

保存されるもの ✅

  • 「このプロジェクトではnpmの代わりにbunを使う」→ 次のセッションから自動反映
  • APIコール時にcontent-typeが必須というデバッグの教訓
  • アーキテクチャの決定事項、よくはまる罠と解決法

保存されないもの ❌

  • 「今作業中のファイルパス」
  • 「現在デバッグ中のエラーメッセージ」
  • セッション内のみで意味を持つ一時的な情報

保存ファイルの構造

~/.claude/projects/<project>/memory/
├── MEMORY.md          ← インデックスファイル、毎セッション自動ロード(最初の200行)
├── debugging.md       ← デバッグパターンの詳細(必要なときのみロード)
├── patterns.md        ← コードパターンと規約
└── api-conventions.md ← API設計に関するメモ

同じGitリポジトリ内のすべてのワークツリーとサブディレクトリは一つのメモリディレクトリを共有します。


/memory コマンドの使い方

/memory

現在ロードされているメモリファイルの一覧確認および自動メモリのON/OFFトグルができます。


明示的に記憶させる

Claudeに直接伝えると自動メモリに保存されます。

"このフロントエンドの規約を覚えておいて"
"常にpnpmを使うことをメモリに保存して"

CLAUDE.mdに入れたい場合は明確に区別して伝える必要があります。

"この内容をCLAUDE.mdに追加して"  ← CLAUDE.mdに保存
"これを覚えておいて"               ← 自動メモリに保存

実務のヒント

  • 定期的なメモリの整理が必要: パッケージマネージャーをnpm → bunに変えたのに古いメモリにnpmが残っていると混乱を招きます。"このメモリを消して""ビルド関連の内容を更新して"のように直接依頼するとClaudeがファイルを修正します。
  • 自動メモリの無効化: 不要な場合は無効にできます。
    bash
    CLAUDE_CODE_DISABLE_AUTO_MEMORY=1

💡 一言まとめ: CLAUDE.md = 私がClaudeに書く指示書 / MEMORY.md = Claudeが自ら書く学習ノート

PRを歓迎します ✦