CLAUDE.mdに書いたのに無視される、/memoryが勝手に何かを覚えている——この2つ、名前だけ見るとかなり紛らわしいです。実は、Claude Codeには「人が書く記憶」と「Claudeが自動で残す記憶」の2つが存在します。この記事では、CLAUDE.mdとAuto Memoryの違いを5つの軸で比べ、どちらに何を書けばいいのかを具体的に見ていきます。
この記事で比べる2つの記憶
Claude Codeには、セッションをまたいで文脈を引き継ぐ仕組みが2つあります。
CLAUDE.mdは、人が直接書いてプロジェクトのルールや指示を伝えるファイルです。もう一方のAuto Memory(MEMORY.md)は、Claude自身がユーザーの好みや慣習を自動的に保存する記憶領域です。
ざっくり言うと、CLAUDE.mdは「人間が決めたルール」、Auto Memoryは「Claudeが見つけた傾向」を管理する仕組みです。目的も管理方法も異なるため、混同していると「書いたのに無視される」「何を覚えているか分からない」という混乱に繋がります。
具体的には、次の5つの軸で両者を比較します。
- 誰が書くか(人か、Claudeか)
- 主な内容(指示・ルールか、好み・学習か)
- スコープ(プロジェクト・ユーザー・組織のどの単位か)
- 編集方法(手動か、Claude経由か)
- 保存場所とファイル形式
比較する前に:Claude Codeの記憶の仕組み
Claude Codeはチャットツールと同じように、1つのセッションの中では会話の文脈を覚えています。しかし、新しいセッションを始めると、以前のやり取りはリセットされます。
この「セッションをまたいでも覚えておいてほしいこと」を引き継ぐために、CLAUDE.mdとAuto Memoryという2つの仕組みが用意されています。どちらも、セッション開始時にClaudeのプロンプトの冒頭に自動的に読み込まれるため、毎回ゼロから説明し直す手間を減らせます。
なぜ2つに分かれているのか。というと、「人が明示的に決めるルール」と「使っているうちに自然に蓄積する好み」で管理の性質が違うからです。ルールは明確に書いておきたい一方で、好みは毎回書くまでもなくClaudeが記録してくれた方が楽だからです。
イメージとしては、セッション開始時に、関連するCLAUDE.mdやAuto Memoryがまとめて読み込まれます。
- ユーザーCLAUDE.md(全プロジェクト共通の好み)
- プロジェクトCLAUDE.md(そのプロジェクトの指示)
- Auto Memory(Claudeが過去に保存した記憶)
厳密な読み込み順序を覚える必要はありません。「手動で書く指示」と「Claudeが残す記憶」が、最初の文脈としてまとめて使われる、と考えると十分です。
CLAUDE.md:人が書くプロジェクトの指示書
CLAUDE.mdは、Markdown形式で書かれた指示ファイルです。Claude Codeに「このプロジェクトではこうしてほしい」と伝えるためのルールブックとして使います。
配置場所によってスコープが変わるため、どこに置くかが重要です。
- プロジェクトCLAUDE.md:リポジトリの直下(
CLAUDE.md)に置きます。そのプロジェクト固有のルールを書き、チーム全体で共有します。Gitで管理されるため、チームメンバー全員に同じ指示が届きます。 - ユーザーCLAUDE.md:
~/.claude/CLAUDE.md(WindowsではC:\Users\ユーザー名\.claude\CLAUDE.md)に置きます。自分が使う全プロジェクトに共通する好みや設定を書きます。 - 組織CLAUDE.md:企業や組織単位で共通の指示を置く場所です。個人利用では基本的に使いません。
このほかに、.claude/rules/ ディレクトリにファイルを置くと、特定のファイルパスやパターンに対してのみ適用されるルールを設定できます。たとえば「Pythonファイルを編集するときだけ適用するルール」のような使い方ができます。
では、CLAUDE.mdには具体的に何を書けばいいのか。架空のWebアプリプロジェクトを例にすると、次のような内容になります。
# プロジェクト指示
- 使用言語: TypeScript(フロントエンドはReact)
- テストフレームワーク: Vitest
- コミットメッセージは日本語で書く
- 環境変数は .env に定義し、コードに直接書かない
- 関数にはJSDocコメントを付ける
書くべき内容の目安は、「Claudeに毎回説明しなくても済むようにしたいこと」です。コーディング規約、使用ライブラリ、禁止事項、ファイルの命名ルールなどが該当します。
CLAUDE.mdはセッション開始時に読み込まれるため、長くなるほど重要な指示が埋もれやすくなります。初心者はまず50行以内を目安にし、増えてきたら不要な説明を削るか、.claude/rules/ などに分けると扱いやすくなります。
Auto Memory:Claudeが自動で残す学習メモ
Auto Memoryは、Claude自身がユーザーの好みや慣習を記録する仕組みです。中心となるファイルは MEMORY.md で、Windowsでは C:\Users\ユーザー名\.claude\projects\ 配下にプロジェクトごとに保存されます。
Auto Memoryを操作する一番手軽な方法は、チャット内で /memory コマンドを使うことです。
/memory— 現在の記憶の内容を確認する- 記憶の追加は、Claudeに「これを覚えておいて」と伝えるか、Claudeが自発的に記録するタイミングで行われます
- 記憶の編集・削除も
/memory経由で指示できます
Claudeが自動的に記録する内容には、たとえば次のようなものがあります。
- ユーザーの文体の好み(「丁寧語で説明して」「箇条書きを多めに」等)
- よく使うライブラリやツールの選好
- 過去のセッションで指摘された修正方針
- プロジェクト固有の慣習(ディレクトリ構成や命名規則等)
Auto Memoryには制限があります。MEMORY.mdは200行または25KBを上限としており、これを超えると古い内容から圧縮・整理される仕組みです。普段使いでは意識しなくて済む程度の容量ですが、長く使い続けると古い記憶が消える可能性があることは知っておくと安心です。
記憶の監査も簡単です。/memory で現在の内容を一覧でき、不要な記憶があれば「〇〇の記憶を削除して」と伝えれば対応してくれます。直接 MEMORY.md をテキストエディタで開いて編集することもできます。
5つの軸で比較する
CLAUDE.mdとAuto Memoryの違いを、5つの軸で整理します。
| 比較軸 | CLAUDE.md | Auto Memory(MEMORY.md) |
|---|---|---|
| 誰が書くか | 人間が手動で書く | Claudeが自動で保存する(人間の編集も可) |
| 主な内容 | プロジェクトのルール、指示、規約 | ユーザーの好み、慣習、学習内容 |
| スコープ | プロジェクト / ユーザー / 組織から選べる | 基本的にプロジェクトごと |
| 編集方法 | テキストエディタで直接編集 | `/memory` コマンドまたはエディタで編集 |
| 保存場所 | リポジトリ直下または `~/.claude/` | `~/.claude/projects/` 以下 |
表を見ると、最大の違いは「誰が主導して書くか」にあります。CLAUDE.mdは人間が意図を持って書くもので、Auto MemoryはClaudeが自発的に蓄積するものです。
もう一点、スコープの柔軟さも違います。CLAUDE.mdは「全プロジェクト共通」から「特定のプロジェクトだけ」まで配置場所で切り替えられるのに対し、Auto Memoryは基本的にプロジェクト単位で記憶が分かれます。
編集のしやすさにも差があります。CLAUDE.mdは普通のテキストファイルと同じ感覚で編集できます。Auto Memoryは /memory 経由が手軽ですが、中身を細かく書き換えたい時は直接ファイルを開く必要があります。
場面別にどう使い分けるか
5つの軸で違いを見ました。「じゃあ自分の場合はどうするの?」という疑問に答えるため、よくある4つの場面に分けて、どちらを使うべきか見ていきます。
新しいプロジェクトを始める時
まずはプロジェクト直下に CLAUDE.md を作り、最低限のルールを書きます。使用言語、フレームワーク、テストの有無、コミットメッセージの言語くらいで最初は十分です。Auto Memoryは使い始めると自然に蓄積するので、気にしなくて大丈夫です。
Claudeの回答スタイルを調整したい時
「もっと簡潔に説明して」「コードだけ出力して」等の好みは、Auto Memoryに任せるのが適しています。セッション内で何度か指示していると、Claudeがその傾向を記憶し、次回以降は指示しなくても反映されることがあります。反映されない場合は /memory で意図を明示的に追加します。
チームで共通の指示を共有したい時
プロジェクトCLAUDE.mdを使います。リポジトリに含めてGitで管理するため、チームメンバー全員に同じ指示が届きます。Auto Memoryは個人ごとに保存されるため、チーム間での共有には向きません。
個人の好みを全プロジェクトに反映したい時
ユーザーCLAUDE.md(~/.claude/CLAUDE.md)とAuto Memoryを組み合わせます。全プロジェクトで統一したいルール(「回答は日本語で」「Markdown形式で出力して」等)はユーザーCLAUDE.mdに書き、プロジェクトごとに自然に蓄積する好みはAuto Memoryに任せます。
ルールはCLAUDE.md、好みはAuto Memoryという大まかな分担で考えると迷いにくいです。
よくある失敗と直し方
CLAUDE.mdとAuto Memoryを使い始めると、いくつかつまずきやすいポイントがあります。代表的なものを整理しておきます。
CLAUDE.mdに書いたのに無視される
原因はいくつか考えられます。配置場所が間違っている(ユーザーCLAUDE.mdに書くべき内容をプロジェクトCLAUDE.mdに書いている等)、ファイル名が間違っている(claude.mdのように大文字小文字が違う等)、またはCLAUDE.mdが大きすぎて重要な部分が埋もれているケースです。まずはファイルの配置場所と名前を確認し、解決しない場合は内容を整理して本当に必要な指示だけを残してみてください。
CLAUDE.mdを大きくしすぎる
CLAUDE.mdは全文がセッションの冒頭で読み込まれるため、長くなるほど重要な指示が目立たなくなります。初心者はまず50行以内を目安にし、増えてきたら .claude/rules/ に分割して配置する方法もあります。
Auto Memoryに間違った記憶が残った
Claudeが誤った前提を記録してしまうことがあります。たとえば「このプロジェクトではPythonを使う」と記録されているのに実際はTypeScriptのプロジェクトだった、というケースです。この場合は /memory を開いて該当部分を削除するか、「〇〇の記憶は間違いだから消して」と伝えれば修正してくれます。
/compact後の挙動
/compact はセッション内の会話を要約してトークンを節約する機能ですが、実行時にセッションの文脈が圧縮されます。CLAUDE.mdやAuto Memoryの内容自体は消えませんが、圧縮後の文脈で指示を追加する際、以前のやり取りの細部が失われていることはあります。長いセッションで /compact を使う場合は、重要な指示はCLAUDE.mdに書いておくと良いです。
初心者が最初にやるべき設定
Windows環境でClaude Codeを使い始めたばかりの方向けに、最初にやっておくと良い設定をまとめます。
まず書くべきユーザーCLAUDE.md
C:\Users\ユーザー名\.claude\CLAUDE.md を作成し、次のような内容を書きます。
# 基本設定
- 回答は日本語で
- コードの説明は簡潔に
- エラーが出たら原因と対処法をセットで教える
これだけでも、新しいプロジェクトを始めるたびに「日本語で答えて」と言い直す手間が省けます。
Auto Memoryを有効にする確認
Auto Memoryはデフォルトで有効ですが、念のため確認します。チャットで /memory と入力して内容が表示されれば有効です。空っぽでも問題ありません。これ以降、Claudeが好みや慣習を自動的に記録していきます。
プロジェクトCLAUDE.mdに最低限書く3項目
プロジェクトごとにリポジトリ直下に CLAUDE.md を作り、次の3つを書いておくと快適です。
- 使用言語とフレームワーク(例:TypeScript + React)
- テストの方針(例:テストを書くか、省略するか)
- コーディングの約束(例:コミットメッセージは日本語、変数名は英語)
この3項目が揃っていれば、Claudeはプロジェクトの基本方針を理解した上で対応してくれます。
まとめ:ルールはCLAUDE.md、好みはAuto Memory
CLAUDE.mdとAuto Memoryは、どちらもセッションをまたいで記憶を引き継ぐ仕組みですが、役割が明確に異なります。CLAUDE.mdは人が書くルール、Auto MemoryはClaudeが蓄積する好みです。
ルールはCLAUDE.md、好みはAuto Memory — この分担を前提にしておくと、どこに何を書くか迷いません。「必ず守ってほしいこと」はCLAUDE.mdに書き、「徐々に合わせてほしいこと」はAuto Memoryに任せます。
まずはClaude CodeをWindowsにインストールして、ユーザーCLAUDE.mdに基本設定を書き、プロジェクトCLAUDE.mdにそのプロジェクト固有のルールを3項目だけ書くところから始めるのがおすすめです。Auto Memoryは使いながら /memory で確認・整理していけば十分です。
慣れてきたら .claude/rules/ でパス別のルールを追加したり、スキル機能で繰り返し作業を自動化したりすると、より自分に合った環境になっていきます。CLAUDE.mdの具体的な書き方や.claude/rules/の活用方法について扱う関連記事も合わせて読んでみてください。
