公開日: 最終更新:
執筆・編集:株式会社Nexa 編集部(下書きと機械検査はAI、公開前に人が確認)/約18分で読めます。公式ドキュメント・公式発表などの一次情報を確認したうえで執筆・更新しています。AIツールの仕様や料金は変わることがあるため、導入判断の前に各公式サイトの最新情報もご確認ください。記事の作り方と検査の方針
Claude Codeには、CLAUDE.md(手動で書く指示)とAuto Memory(Claudeが自動で書くメモ)という2つの記憶の仕組みがあり、正しく使い分ければ毎回の前提説明が不要になります。
- 要点1: CLAUDE.mdは「あなたが書くルール」、Auto Memoryは「Claudeが修正や好みから自動で学ぶメモ」で役割が異なる
- 要点2: Auto Memoryのインデックス「MEMORY.md」は、先頭200行または25KB、いずれか先に達した方までしかセッション開始時に読み込まれない
- 要点3: CLAUDE.mdには管理ポリシー・ユーザー・プロジェクト・ローカルの4つの配置場所があり、読み込まれる順序が決まっている
対象: Claude Codeを使い始めた開発者・DX推進担当者・AI顧問を受けている方
今日やること: プロジェクトのルートに CLAUDE.md を作成し、よく使う技術スタックとコーディング方針を書き込む
本記事は2026年10月2日時点のClaude Code公式ドキュメント「Claudeがあなたのプロジェクトを記憶する方法」の記載内容で確認しています。
Claude Codeのmemory機能を適切に設定すると、毎回ゼロから前提を説明する手間がなくなります。プロジェクトの技術スタック、チームのコーディング規約、よく使うコマンド——これらを一度記憶させれば、以降のセッションでも引き継がれます。
「AIに毎回同じことを説明するのが面倒」「会話の文脈が引き継がれず、途中から使いにくい」——Claude Codeを使い始めた方から、このような声をよく聞きます。
この記事では、Claude Codeの記憶を構成するCLAUDE.mdとAuto Memoryという2つの仕組みの違いと、会話が長くなったときのコンテキストウィンドウの扱い、実際の業務での活用法を、公式ドキュメントに基づいて整理します。
Claude Codeのmemory機能とは?CLAUDE.mdとAuto Memoryの2つの仕組み
Claude Codeの記憶機能とは、AIがセッションをまたいで情報を保持・活用する仕組みのことです。記憶機能を正しく活用すると、毎回の「前提説明コスト」を大幅に削減できます。
AIとの対話で「記憶」がないとどうなるか
AIとの会話は、デフォルトでは「その場限り」のやり取りです。新しいセッションを開始するたびに、Claude Codeはプロジェクトの背景を何も知らない状態からスタートします。
例えば、毎朝次のような説明を繰り返していたとします。
- 「このプロジェクトはNext.js + TypeScriptで、テストはJestを使っています」
- 「コミットメッセージは日本語で、プレフィックスを付けてください」
- 「デプロイはConoHa VPSのSSH経由です」
これらを毎回入力するのは、時間と認知コストの無駄です。記憶機能を使えば、これらの情報を一度記録するだけで、以降のセッションで自動的に参照されます。
Claude Codeが情報を引き継ぐ2つの仕組み
Claude Code公式ドキュメントでは、セッションをまたいで知識を引き継ぐ方法として、次の2つの「相互補完的なメモリシステム」を挙げています。
| 仕組み | 名称 | 誰が書くか | 目的 |
|---|---|---|---|
| 1つ目 | CLAUDE.md | ユーザー(手動) | AIへの恒久的な指示・ルール |
| 2つ目 | Auto Memory | Claude(自動) | 修正・好みから学んだ実務知識 |
どちらも毎回の会話の開始時に読み込まれますが、「誰が書くか」と「何を書くか」が異なります。これに加えて、1回の会話が長くなりコンテキストウィンドウを圧迫しそうなときに、Claude Codeが過去のやり取りを自動で要約する仕組み(automatic compaction)も備わっています。こちらは記憶そのものではなく、1セッション内の文脈を保つための仕組みで、第4節で扱います。
CLAUDE.md — あなたがAIに伝える「指示書」
CLAUDE.mdは、ユーザーが手動でAIへの指示を書き込むファイルです。「ユーザーからClaudeへの恒久的な指示書」と理解するとわかりやすいでしょう。
CLAUDE.mdを置く4つの場所
公式ドキュメントによると、CLAUDE.mdは次の4つのスコープに配置でき、広いスコープから順にコンテキストへ読み込まれます。
| 配置場所 | パス | 適用範囲 |
|---|---|---|
| 管理ポリシー | macOSは /Library/Application Support/ClaudeCode/CLAUDE.md(Linux/WSL、Windowsにも専用パスあり) |
組織内の全ユーザー・全プロジェクト |
| ユーザーレベル | ~/.claude/CLAUDE.md |
すべてのプロジェクト共通(自分のみ) |
| プロジェクトレベル | ./CLAUDE.md または ./.claude/CLAUDE.md(リポジトリルート) |
そのプロジェクトのチーム全員(バージョン管理で共有) |
| ローカルレベル | ./CLAUDE.local.md |
そのプロジェクトの自分だけ(.gitignore推奨) |
ユーザーレベルの ~/.claude/CLAUDE.md は、個人の好みや共通設定(コードスタイル、言語設定、よく使うコマンドなど)を書く場所として特に重要です。ローカルレベルの CLAUDE.local.md は、チームと共有しないサンドボックスURLやテストデータなど、自分専用の設定を書く場所です。
CLAUDE.mdに書くべき内容と書き方の例
CLAUDE.mdに書くべき内容は、「繰り返し伝えなければならない情報」です。
# プロジェクト設定
## 技術スタック
- Next.js 15 + TypeScript
- テスト: Jest + Testing Library
- スタイル: Tailwind CSS
## コーディングルール
- コメントは日本語で記述
- 関数名・変数名は英語
- コミットメッセージ: 日本語 + プレフィックス(feat/fix/docs)
## よく使うコマンド
- 開発サーバー: `npm run dev`
- テスト: `npm test`
- デプロイ: `ssh conoha && ./deploy.sh`
このように技術スタック、コーディングルール、よく使うコマンドを書いておくと、Claude Codeが毎回これを参照してくれます。公式ドキュメントは、CLAUDE.mdを1ファイルあたり200行程度に抑えることを推奨しています。長くなるほどコンテキストを消費し、指示への追従が下がるためです。
.claude/rules/でルールをファイル別にスコープする方法
プロジェクトが複雑になると、CLAUDE.mdが長くなりすぎることがあります。そのような場合は、.claude/rules/ サブディレクトリを活用して、ルールをファイル別に分割することができます。
例えば、以下のような構成が可能です。
.claude/
├── rules/
│ ├── api.md ← API設計のルール
│ ├── testing.md ← テストのルール
│ └── deploy.md ← デプロイのルール
└── CLAUDE.md ← 全体の概要と共通ルール
ルールのYAML frontmatterに paths を指定すると、特定のファイルパターンで作業しているときだけそのルールを読み込ませる「パススコープ付きルール」にできます。また、@path/to/file の記法を使うと、CLAUDE.md内から他のファイルをインポートできます。プロジェクト仕様書や要件定義書を直接参照させることも可能です。
Auto Memory — ClaudeがAIの判断で自動保存するメモ
Auto Memoryは、ユーザーが手動で書くCLAUDE.mdとは異なり、Claudeが自律的にメモを書く仕組みです。既定で有効になっており、/memoryコマンドからオン・オフを切り替えられます。
Auto Memoryが保存する4種類の情報
公式ドキュメントでは、Claudeが自分自身のために書くメモを4種類に分類しています。種類はメモリファイルのYAMLフロントマターに type として記録されます。
| type | 保存される情報 |
|---|---|
| user | あなたの役割・専門知識・作業の好み |
| feedback | あなたがClaudeに与えた修正、確認したアプローチ |
| project | 進行中の作業・期限など、コードやgit履歴から読み取れない決定事項 |
| reference | issueトラッカーやダッシュボードなど、プロジェクト外の情報の在り処 |
一方で、アーキテクチャやファイルパスなど「コードベースを読めば分かること」、デバッグの修正方法(直し方はコード自体とコミットメッセージに残る)は保存の対象外です。CLAUDE.mdに既に書かれている内容も、重複して保存されません。CLAUDE.mdが「明示的なルール」を書く場所であるのに対し、Auto Memoryは「あなたの修正や好みからClaudeが現場で学習した実務知識」を蓄積する場所という違いです。
MEMORY.mdの保存場所と200行制限の意味
Auto Memoryのデータは、プロジェクトごとに以下のパスに保存されます。
~/.claude/projects/<project>/memory/
├── MEMORY.md ← インデックスファイル(200行または25KB制限)
├── user_role.md ← ユーザーに関するメモ(type: user)
├── feedback_testing.md ← テストに関する修正メモ(type: feedback)
└── ... ← その他Claudeが作成するトピックファイル
重要な仕様として、MEMORY.mdの先頭200行(または25KB、いずれか先に達した方)のみがセッション開始時にロードされます。
これは意図的な設計です。200行を超える情報をすべてセッション冒頭に読み込むと、コンテキストウィンドウを圧迫してしまいます。そのため、MEMORY.mdは「どのトピックファイルに何が書いてあるか」を示すインデックスとして機能し、詳細はトピック別ファイルに分離する設計になっています。この制限はMEMORY.mdにのみ適用され、CLAUDE.md自体は最大4MiBまで読み込まれます(ただし短いファイルほど指示への追従が良くなります)。
トピック別ファイルへの分離設計
MEMORY.mdは、長いメモを直接書く場所ではありません。正しい使い方は、以下のようなインデックス構造です。
# メモリインデックス
## user_role.md
あなたの役割・専門知識・作業の好み(type: user)。
## feedback_testing.md
テストの進め方について受けた修正・確認済みの方針(type: feedback)。
## project_context.md
進行中のタスクや、コードから読み取れない決定事項(type: project)。
このようにMEMORY.mdは「地図」として機能し、各トピックファイルが「詳細情報」を保持する構造が理想的です。トピックファイルは起動時には読み込まれず、Claudeが必要になったときに通常のファイル読み込みでオンデマンドに参照します。
AI導入に関するお困りごとは、株式会社NexaのAI顧問がサポートします。「何から始めればいいか分からない」という段階からご相談いただけます。
コンテキストウィンドウの管理と自動要約(/compact)
コンテキストウィンドウが上限に近づくと何が起きるか
Claude Codeの1回の会話は、使用しているモデルが扱える「コンテキストウィンドウ」(一度に読み込める情報量の上限)の中で進みます。会話が長くなり上限に近づくと、Claude Codeは自動的に過去の会話を要約してコンテキストの空きを確保します(automatic compaction)。これはCLAUDE.mdやAuto Memoryのような「記憶の仕組み」ではなく、1つのセッション内で文脈を保ち続けるための仕組みです。
/compactコマンドで手動要約する
自動要約を待たず、自分のタイミングで要約したい場合は /compact コマンドを使います。
/compact
このコマンドを実行すると、過去の会話履歴を要約してコンテキストスペースを確保します。長時間にわたる複雑な作業の途中でコンテキストが逼迫してきたと感じたときに活用できます。
/compact後もCLAUDE.mdの指示は消えない
公式ドキュメントによると、プロジェクトルートのCLAUDE.mdは圧縮後も保持されます。Claude Codeが/compactの後にCLAUDE.mdをディスクから再読み込みし、セッションへ再度注入するためです。一方、サブディレクトリにあるネストされたCLAUDE.mdや、pathsを指定した条件付きルールは、該当するファイルをClaudeが読むまで再読み込みされません。また、会話の中だけで口頭で伝えた指示は圧縮後に失われることがあるため、繰り返し使う指示はCLAUDE.mdに書いて残しておくことが重要です。
CLAUDE.mdとAuto Memoryを正しく使い分ける実践ガイド
記憶の仕組みを効果的に活用するには、CLAUDE.mdとAuto Memoryそれぞれに「何を書くか」の設計が重要です。
CLAUDE.mdに何を書き、何をAuto Memoryに任せるか
使い分けを整理すると、以下のようになります。
| 情報の種類 | どこに書くか | 理由 |
|---|---|---|
| チームのコーディング規約 | CLAUDE.md(プロジェクト) | 変わらないルール→手動管理が適切 |
| 個人の作業スタイル・好み | CLAUDE.md(ユーザー) | 全プロジェクト共通→ユーザーレベルで管理 |
| あなたがClaudeに与えた修正・確認したアプローチ | Auto Memory(type: feedback) | 手動の手間なくClaudeに学ばせる |
| コードから読み取れない進行中の決定事項 | Auto Memory(type: project) | 会話から自然に蓄積される |
| 組織全体のセキュリティポリシー | CLAUDE.md(管理ポリシー) | 全員に強制適用が必要 |
判断の基準は「ユーザーが意図的に設定したいルールか(→CLAUDE.md)、Claudeが現場で学んだ知識か(→Auto Memory)」です。アーキテクチャやファイルパスのように、コードを読めば分かる情報はどちらにも書く必要がありません。
MEMORY.mdが長くなってきたときの対処法
Auto Memoryを長期間使用すると、MEMORY.mdが肥大化することがあります。200行(または25KB)の上限を超えると、超過した部分はセッション開始時にロードされません。
対処法は2つあります。
方法1: トピック別ファイルへの分離
重要度が低い詳細情報をトピック別ファイル(例: feedback_testing.md)に移動し、MEMORY.mdにはインデックス(1行の概要 + ファイルパス)だけを残します。公式ドキュメントも、MEMORY.mdが制限に近づくとClaudeに短縮を促す仕組みがあると説明しています。
方法2: /memoryコマンドで定期的に見直す
Auto Memoryには、重複や矛盾を自動で統合してくれる機能はありません。/memoryコマンドでメモリフォルダを開き、古くなった情報や重複したメモを手動で編集・削除するのが実務的な対処法です。プロジェクトの方針転換があった直後はメモが古くなりやすいため、区切りのタイミングで見直す習慣をつけると安全です。
Auto Memoryを安全に運用するコツ
Auto MemoryのファイルはすべてプレーンなMarkdownで、/memoryコマンドからいつでも開いて編集・削除できます。気づいた誤りはそのまま直して問題ありません。
また、公式ドキュメントが明記しているとおり、Auto Memoryはマシンローカルです。同じGitリポジトリ内のワークツリー・サブディレクトリ間では共有されますが、別のMacや別のプロジェクトへは引き継がれません。複数のMac間で同じ指示を使い回したい場合は、Auto Memoryではなく、手動で書くCLAUDE.mdをgit管理するほうが適しています。
メモを書き残すときは、「先週」「今月」のような相対的な日付ではなく、「2026年10月時点」のように絶対的な日付で書いておくと、後から読み返した自分やClaudeが情報の鮮度を正しく判断できます。
チーム開発でのClaude Code記憶機能活用術
Claude Codeのメモリ機能は個人利用だけでなく、チーム開発でのナレッジ管理にも有効です。
リポジトリのCLAUDE.mdをチームで共有管理する
プロジェクトルートの ./CLAUDE.md はリポジトリに含めてgitで管理できます。これにより、チーム全員が同じ指示書を共有できます。
# CLAUDE.mdをgit管理に追加
git add CLAUDE.md
git commit -m "docs: チームのClaude Code設定を追加"
チームで共有するCLAUDE.mdに書く内容の例:
# プロジェクト共通設定
## 開発環境
- Node.js 20.x
- パッケージマネージャ: pnpm(npmは使用しない)
## コーディング規約
- コードレビューのコメントは日本語
- テストは変更と同じPRに含める
## 重要なアーキテクチャ決定
- APIレスポンスはすべてZodでバリデーション
- エラーハンドリングは src/lib/errors.ts を使用
公式ドキュメントも、新しいチームメンバーが生産性を高めるために同じコンテキストを必要とする場面をCLAUDE.mdに追記すべきタイミングの1つとして挙げています。新しいメンバーがプロジェクトに参加したとき、このCLAUDE.mdがあれば、細かい前提の説明を口頭で繰り返す手間を減らせます。
CLAUDE.mdを複数デバイス・プロジェクト間で共有する方法
~/.claude/CLAUDE.md や ~/.claude/rules/ をgitリポジトリとして管理すれば、複数のMacで同じユーザーレベルの指示を共有できます。ただし、これが使えるのは手動で書くCLAUDE.mdに限られる点に注意してください。前節のとおりAuto Memory(~/.claude/projects/<project>/memory/)はマシンローカルな仕組みで、公式にも複数マシン間の共有を想定していません。別のMacでも同じ実務知識をClaudeに持たせたい場合は、その内容をCLAUDE.mdとして手動で書き出す必要があります。
また、Mac同士でのファイル同期には rsync over SSH(Tailscaleを使ったVPN経由)を活用する方法もあります。詳細は「MacBookとMac miniでClaude Code環境を同期する — Tailscale活用」を参照してください。
新メンバーへの引き継ぎコストを減らす設計
効果的なチーム活用のために、CLAUDE.mdの設計段階で「新メンバーが最初に知るべき情報」を意識して書くことが重要です。
新メンバー向けの最低限の情報:
- プロジェクト概要: 何を作っているか、誰が使うか
- 技術スタック: 使用している言語、フレームワーク、サービス
- 開発ルール: コーディング規約、ブランチ戦略、レビュールール
- よく使うコマンド: セットアップ、テスト、デプロイの手順
- 注意事項: ハマりやすいポイント、既知のバグや制約
スキルの設計と同様の考え方で、「このドキュメントを読むだけで作業を始められる」自己完結型の指示書を目指すことが大切です。(Claude Code Skillsの設計パターンについてはこちら →)
\ AI活用の「次の一手」を一緒に考えませんか /
AI顧問の無料相談はこちらよくある質問
Q. CLAUDE.mdとAuto Memoryはどちらを優先して使うべきですか?
目的が異なるため、どちらかに統一するのではなく両方を使い分けることをおすすめします。公式ドキュメントでも、Claudeの動作を導きたいときはCLAUDE.md、手動の手間なくClaudeに修正や好みから学ばせたいときはAuto Memory、という使い分けが示されています。チームで共有したいルールはCLAUDE.mdでgit管理し、個人の作業スタイルや特定プロジェクトの実務知識はAuto Memoryで自動蓄積するのが効率的です。
Q. MEMORY.mdの200行を超えるとどうなりますか?
200行(または25KB、いずれか先に達した方)を超えた部分は、セッション開始時に自動ロードされなくなります。Claudeはその情報を持たない状態でセッションを始めることになります。対処法は2つあります。1つは、詳細情報をトピック別ファイルに移動してMEMORY.mdをインデックスのみにすること。もう1つは、/memoryコマンドで定期的に内容を見直し、古くなったメモを整理することです。
Q. Auto Memoryは複数のMacや別のプロジェクトの間で共有されますか?
いいえ。公式ドキュメントには「自動メモリはマシンローカルで、同じGitリポジトリ内のワーキングツリー・サブディレクトリは1つの自動メモリディレクトリを共有するが、マシンやクラウド環境をまたいでは共有されない」と明記されています。複数のMac間で指示を揃えたい場合は、Auto Memoryではなく、手動で書くCLAUDE.mdをgit管理するのが適しています。
Q. Claude Codeの記憶はプロジェクトをまたいで引き継がれますか?
プロジェクトレベルの ./CLAUDE.md はそのプロジェクト固有です。Auto Memoryも ~/.claude/projects/<project>/memory/ にプロジェクト別に保存されます。一方、ユーザーレベルの ~/.claude/CLAUDE.md はすべてのプロジェクトで共通参照されます。「どのプロジェクトでも使いたい共通設定」はユーザーレベルのCLAUDE.mdに書くのが効果的です。
Q. リポジトリにAGENTS.mdがある場合、CLAUDE.mdとどちらが読み込まれますか?
既定では、作業ディレクトリかその上位に CLAUDE.md または CLAUDE.local.md がある場合はそちらが優先され、AGENTS.md は読み込まれません。CLAUDE.mdが無い場合に限り、公式ドキュメントの説明どおり AGENTS.md が読み込まれます。両方を読み込ませたい場合は、/config の「Project instructions」設定を claude-md-and-agents-md に変更します。
Q. 会話が長くなり/compactで要約すると、CLAUDE.mdの指示は消えますか?
プロジェクトルートのCLAUDE.mdは、公式ドキュメントによると圧縮(/compact)後にディスクから再読み込みされるため消えません。ただし、サブディレクトリのネストされたCLAUDE.mdや、paths指定の条件付きルールは、該当するファイルをClaudeが読むまで再読み込みされない点に注意してください。
まとめ
Claude Codeのmemory機能を効果的に活用するためのポイントを振り返ります。
- 2つの仕組みを理解する: CLAUDE.md(手動指示)とAuto Memory(自動学習)が、それぞれ異なる役割を担う
- CLAUDE.mdで「ルール」を書き、Auto Memoryで「現場知識」を蓄積する: 使い分けを意識するだけで活用効率が大きく変わる
- MEMORY.mdは200行(または25KB)の制限を意識してインデックスとして設計する: 詳細はトピック別ファイルに分離するのが正解
- チーム開発ではプロジェクトのCLAUDE.mdをgitで共有管理する: 新しいメンバーへの前提説明を減らせる
まず今日やることは、プロジェクトのルートに CLAUDE.md を1つ作ることです。技術スタック、コーディング規約、よく使うコマンドを10行書くだけでも、次のセッションから体感が変わります。
本記事の内容は2026年10月2日時点のClaude Code公式ドキュメント「Claudeがあなたのプロジェクトを記憶する方法」で確認しています。
法人向けAI導入・活用の月額伴走サービス
AI導入の疑問を、週1回のMTGで相談できる「AI顧問」
株式会社Nexaでは、ChatGPT・Claude・Claude CodeなどのAI導入に関する質問や、社内活用・業務自動化の進め方を週1回相談できる 月額7万円(毎月3社限定で月額5万円)のAI顧問サービス を提供しています。
「自社では何から始めるべきか」「この業務はAI化できるか」「どのツールを選ぶべきか」を、無料相談で整理します。
AI導入を検討中の方へ









