Claude Codeを使っていると、思考過程(CoT)に「この情報をメモリーに記録します」というメッセージが表示されることがあります。
「メモリーって何?自分は何も設定していないのに…」。そう思った方もいるかもしれません。これがClaude Codeのオートメモリ機能であり、その実体がMEMORY.mdです。
MEMORY.mdの基本
MEMORY.mdは、Claude Codeのオートメモリ機能によって管理されるファイルです。以下のパスにプロジェクトごとに作成されます。
~/.claude/projects//memory/
├── MEMORY.md # インデックス(毎セッション読み込み)
├── debugging.md # トピック別メモ(オンデマンド読み込み)
├── api-conventions.md
└── ...
記録のされ方は2通りあります。
- 明示的な記録: 「これを覚えて」「rememberして」と伝えると、Claude Codeがメモリに書き込む
- 自動記録: デバッグで解決策を見つけたとき、ビルドコマンドの癖を学んだときなど、「次回も役立ちそうだ」とClaude Codeが判断した情報を自発的に保存する
毎セッションの開始時にMEMORY.mdが読み込まれるため、前回の学びが次のセッションに引き継がれます。
CLAUDE.mdとの違い
MEMORY.mdとCLAUDE.mdは、どちらもセッション開始時に読み込まれるという点では同じですが、役割が異なります。
| CLAUDE.md | MEMORY.md | |
|---|---|---|
| 作成者 | 開発者(人間) | Claude Code(エージェント) |
| 編集 | 指示がなければ原則編集しない | Claude Codeが自発的に編集する |
| 保存先 | プロジェクトフォルダ内 | ~/.claude/projects/ 配下(ユーザフォルダ) |
| 性質 | プロジェクトの「憲法」 | エージェントの「作業メモ」 |
| Git管理 | 通常コミット対象 | 対象外(マシンローカル) |
| チーム共有 | 可能 | 不向き |
| 強制力 | コンテキストとして参照 | CLAUDE.mdと同等 |
ポイントは、MEMORY.mdがマシンローカルであることです。同じGitリポジトリでも、開発者ごと、マシンごとに異なる内容が蓄積されます。チームで共有したい情報を書く場所としては適していません。
ユースケース
MEMORY.mdが活きる典型的な場面をいくつか紹介します。
- 開発環境の差異を吸収する: チーム内でWindowsとmacOSが混在しているとき、ファイルパスの違いやコマンドの差異をMEMORY.mdに記録しておくと、エージェントが環境に合わせた出力を行うようになる
- 一時的なツール制限: デバッグ中に「このツールは今使わないで」と伝えれば、MEMORY.mdに記録されてセッションをまたいで維持される
- ビルドやテストの癖: 特殊なフラグが必要なビルドコマンドや、環境固有のテスト手順を自動的に学習する
チーム開発での使い分け
MEMORY.mdの特性を理解すると、チーム開発における情報の置き場所が整理できます。
チームで共有する情報(リポジトリに含める)
- CLAUDE.md: コーディング規約、アーキテクチャ方針、ワークフロー定義
- ADRドキュメント / sqlew: 設計方針とその理由(Why)の記録と構造化検索
そのPC・環境専用の情報(ローカルに留める)
- MEMORY.md: マシン固有のパス、個人の作業メモ、一時的な制約
この棲み分けを意識することで、「共有すべき設計知識」と「個人の作業コンテキスト」が混在することを避けられます。
参考文献
- "How Claude remembers your project" — Claude Code Docs — https://code.claude.com/docs/en/memory






