Claude Codeには4層の記憶アーキテクチャがあり、正しく設定すれば毎回の前提説明が不要になります。
- 要点1: CLAUDE.md(手動指示)とAuto Memory(AI自動保存)は役割が異なり、使い分けが重要
- 要点2: MEMORY.mdは先頭200行のみが毎セッション自動ロードされる設計上の制限がある
- 要点3: AutoDreamがバックグラウンドで記憶を整理・最適化し、長期利用でも精度が劣化しない
対象: Claude Codeを使い始めた開発者・DX推進担当者・AI個別指導を受けている方
今日やること: プロジェクトのルートに CLAUDE.md を作成し、よく使う技術スタックとコーディング方針を書き込む
この記事の目次
Claude Codeのmemory機能を適切に設定すると、毎回ゼロから前提を説明する手間がなくなります。プロジェクトの技術スタック、チームのコーディング規約、よく使うコマンド——これらを一度記憶させれば、以降のセッションでも引き継がれます。
「AIに毎回同じことを説明するのが面倒」「会話の文脈が引き継がれず、途中から使いにくい」——Claude Codeを使い始めた方から、このような声をよく聞きます。
この記事では、Claude Codeの記憶機能を構成する4つの層(CLAUDE.md・Auto Memory・Session Memory・AutoDream)の仕組みと、実際の業務での活用法を体系的に解説します。
Claude Codeのmemory機能とは?なぜ業務効率化に直結するのか
Claude Codeの記憶機能とは、AIがセッションをまたいで情報を保持・活用する仕組みのことです。記憶機能を正しく活用すると、毎回の「前提説明コスト」を大幅に削減できます。
AIとの対話で「記憶」がないとどうなるか
AIとの会話は、デフォルトでは「その場限り」のやり取りです。新しいセッションを開始するたびに、Claude Codeはプロジェクトの背景を何も知らない状態からスタートします。
例えば、毎朝次のような説明を繰り返していたとします。
- 「このプロジェクトはNext.js + TypeScriptで、テストはJestを使っています」
- 「コミットメッセージは日本語で、プレフィックスを付けてください」
- 「デプロイはConoHa VPSのSSH経由です」
これらを毎回入力するのは、時間と認知コストの無駄です。記憶機能を使えば、これらの情報を一度記録するだけで、以降のセッションで自動的に参照されます。
Claude Codeが記憶する4つの層
Claude Codeの記憶は、以下の4つの層で構成されています。
| 層 | 名称 | 誰が書くか | 目的 |
|---|---|---|---|
| 第1層 | CLAUDE.md | ユーザー(手動) | AIへの恒久的な指示・ルール |
| 第2層 | Auto Memory | Claude(自動) | AIが学習したプロジェクト知識 |
| 第3層 | Session Memory | 自動(圧縮) | セッション内の文脈継続 |
| 第4層 | AutoDream | 自動(バックグラウンド) | 記憶の整理・最適化 |
それぞれが異なる役割を担っており、4つ揃って機能することで「長期記憶を持つAIアシスタント」として動作します。次のセクションから各層を詳しく解説します。
第1層:CLAUDE.md — あなたがAIに伝える「指示書」
CLAUDE.mdは、ユーザーが手動でAIへの指示を書き込むファイルです。「ユーザーからClaudeへの恒久的な指示書」と理解するとわかりやすいでしょう。
CLAUDE.mdを置く3つの場所
CLAUDE.mdは3つのスコープで配置できます。
| 配置場所 | パス | 適用範囲 |
|---|---|---|
| プロジェクトレベル | ./CLAUDE.md(リポジトリルート) |
そのプロジェクトのみ |
| ユーザーレベル | ~/.claude/CLAUDE.md |
すべてのプロジェクト共通 |
| エンタープライズレベル | 組織管理者が設定 | 組織全体の全プロジェクト |
ユーザーレベルの ~/.claude/CLAUDE.md は、個人の好みや共通設定(コードスタイル、言語設定、よく使うコマンドなど)を書く場所として特に重要です。
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/rules/でルールをファイル別にスコープする方法
プロジェクトが複雑になると、CLAUDE.mdが長くなりすぎることがあります。そのような場合は、.claude/rules/ サブディレクトリを活用して、ルールをファイル別に分割することができます。
例えば、以下のような構成が可能です。
.claude/├── rules/│ ├── api.md ← API設計のルール│ ├── testing.md ← テストのルール│ └── deploy.md ← デプロイのルール└── CLAUDE.md ← 全体の概要と共通ルール
また、@path/to/file の記法を使うと、CLAUDE.md内から他のファイルをインポートできます。プロジェクト仕様書や要件定義書を直接参照させることも可能です。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちら第2層:Auto Memory — ClaudeがAIの判断で自動保存するメモ
Auto Memoryは、Claude Code v2.1.32(2026年)から追加された機能です。ユーザーが手動で書くCLAUDE.mdとは異なり、Claudeが自律的にメモを書く仕組みです。
Auto Memoryが保存する情報の種類
Claudeは会話の中で「今後のセッションでも役立つ」と判断した情報を自動的にメモします。具体的には、以下のような情報が保存されます。
- ビルドコマンドのメモ:
pnpm buildであることや、特定のオプションが必要なこと - デバッグで発見した問題: 「このAPIはレート制限があるため、リトライロジックが必要」など
- アーキテクチャの注記: 「ミドルウェアは
src/middleware/に配置されている」など - コードスタイルの学習: ユーザーが好む命名規則や修正パターン
CLAUDE.mdに「明示的なルール」を書くのに対し、Auto Memoryは「Claudeが現場で学習した実務知識」を蓄積する場所です。
MEMORY.mdの保存場所と200行制限の意味
Auto Memoryのデータは、プロジェクトごとに以下のパスに保存されます。
~/.claude/projects/<project>/memory/├── MEMORY.md ← インデックスファイル(200行制限)├── build.md ← ビルド関連のメモ├── architecture.md ← アーキテクチャのメモ└── debugging.md ← デバッグで学んだこと
重要な仕様として、MEMORY.mdの先頭200行(または25KB、いずれか小さい方)のみがセッション開始時にロードされます。
これは意図的な設計です。200行を超える情報をすべてセッション冒頭に読み込むと、コンテキストウィンドウを圧迫してしまいます。そのため、MEMORY.mdは「どのトピックファイルに何が書いてあるか」を示すインデックスとして機能し、詳細はトピック別ファイルに分離する設計になっています。
トピック別ファイルへの分離設計
MEMORY.mdは、長いメモを直接書く場所ではありません。正しい使い方は、以下のようなインデックス構造です。
# メモリインデックス## build.mdビルドとデプロイに関する設定。pnpmの使い方、CI/CDの設定。## architecture.mdプロジェクト構成、APIエンドポイント設計、ミドルウェアの配置。## debugging.md過去に発生したバグとその解決策。再発防止のための注意事項。
このようにMEMORY.mdは「地図」として機能し、各トピックファイルが「詳細情報」を保持する構造が理想的です。
第3層・第4層:Session MemoryとAutoDream
Session Memoryとは?/compactコマンドの使い方
Session Memoryは、単一セッション内での文脈継続を担う層です。会話が長くなると、コンテキストウィンドウ(Pro/Maxプランで200Kトークン)が上限に近づくことがあります。
Claude Codeには、コンテキストが上限に近づくと自動的に過去の会話を要約する自動コンテキスト圧縮(compaction)機能が備わっています。手動で実行したい場合は /compact コマンドを使います。
/compact
このコマンドを実行すると、過去の会話履歴を要約してコンテキストスペースを確保します。長時間にわたる複雑な作業の途中でコンテキストが逼迫してきたと感じたときに活用できます。
AutoDreamの4フェーズ(Orient/Gather Signal/Consolidate/Prune & Index)
AutoDreamは、Claude Codeがバックグラウンドで自動的に記憶を整理・最適化する機能です。人間の睡眠中のREM睡眠(記憶の整理)に例えられることもあります。
AutoDreamが実行されると、以下の4フェーズが順番に処理されます。
| フェーズ | 名称 | 処理内容 |
|---|---|---|
| 1 | Orient(把握) | 現在のメモリディレクトリの全体像を確認する |
| 2 | Gather Signal(収集) | 蓄積された情報のうち、保持すべきものを判断する |
| 3 | Consolidate(統合) | 重複・類似した情報をひとつに統合する |
| 4 | Prune & Index(整理) | 古い・矛盾した情報を削除し、インデックスを更新する |
例えば、3つの異なるセッションで「ビルドコマンドのクセ」についてメモが書かれていた場合、AutoDreamがそれらを1つのクリーンなメモに統合します。
AutoDreamが実行されるタイミングと注意点
AutoDreamはセッション間のバックグラウンドで自動実行されます。手動でのトリガーも可能です。
重要な注意点として、AutoDreamを初めて有効化する前に ~/.claude/ ディレクトリのバックアップを取ることをおすすめします。 AutoDreamは不要と判断した情報を削除するため、万が一重要な情報が誤って削除された場合に備えておくことが安全です。
Claude Codeの導入や活用方法について、個別にご相談いただけます。「どの機能から使えばいいか」「自社業務への適用方法を知りたい」といった段階から対応しています。
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちら4層メモリを正しく設計する実践ガイド
記憶機能を効果的に活用するには、各層に「何を書くか」の設計が重要です。
CLAUDE.mdに何を書き、何をAuto Memoryに任せるか
4層の使い分けを整理すると、以下のようになります。
| 情報の種類 | どこに書くか | 理由 |
|---|---|---|
| チームのコーディング規約 | CLAUDE.md(プロジェクト) | 変わらないルール→手動管理が適切 |
| 個人の作業スタイル・好み | CLAUDE.md(ユーザー) | 全プロジェクト共通→ユーザーレベルで管理 |
| ビルドコマンドの特殊オプション | Auto Memory(自動) | 現場で発見→Claudeに任せる |
| 過去のバグ修正のノウハウ | Auto Memory(自動) | 会話から自然に蓄積される |
| 組織全体のセキュリティポリシー | CLAUDE.md(エンタープライズ) | 全員に強制適用が必要 |
判断の基準は「ユーザーが意図的に設定したいルールか(→CLAUDE.md)、Claudeが現場で学んだ知識か(→Auto Memory)」です。
MEMORY.mdが長くなってきたときの対処法
Auto Memoryを長期間使用すると、MEMORY.mdが肥大化することがあります。200行の上限を超えると、超過した部分はセッション開始時にロードされません。
対処法は2つあります。
方法1: トピック別ファイルへの分離
重要度が低い詳細情報をトピック別ファイル(例: debugging.md)に移動し、MEMORY.mdにはインデックス(1行の概要 + ファイルパス)だけを残します。
方法2: AutoDreamによる自動整理を活用
AutoDreamを有効にしておくと、定期的に重複情報の統合・古い情報の削除が自動実行されます。使いっぱなしにするのではなく、AutoDreamに整理を任せることで肥大化を抑制できます。
AutoDream有効化前にバックアップを取る理由
AutoDreamは「不要と判断した情報」を削除します。通常は問題ありませんが、以下の状況では誤削除のリスクがあります。
- 記録から時間が経過し、AutoDreamが「古い情報」と判断した場合
- 実は現在も有効な情報が、相対的な日付表記(「先週」「今月」)で書かれている場合
対策として、AutoDream有効化前にバックアップを取るとともに、Auto Memoryのメモには相対的な日付ではなく絶対的な日付(「2026年3月時点」など)を記録する習慣をつけることをおすすめします。
チーム開発でのClaude Code記憶機能活用術
Claude Codeのメモリ機能は個人利用だけでなく、チーム開発でのナレッジ管理にも有効です。
リポジトリのCLAUDE.mdをチームで共有管理する
プロジェクトルートの ./CLAUDE.md はリポジトリに含めてgitで管理できます。これにより、チーム全員が同じ指示書を共有できます。
# CLAUDE.mdをgit管理に追加git add CLAUDE.mdgit commit -m "docs: チームのClaude Code設定を追加"
チームで共有するCLAUDE.mdに書く内容の例:
# プロジェクト共通設定## 開発環境- Node.js 20.x- パッケージマネージャ: pnpm(npmは使用しない)## コーディング規約- コードレビューのコメントは日本語- テストは変更と同じPRに含める## 重要なアーキテクチャ決定- APIレスポンスはすべてZodでバリデーション- エラーハンドリングは src/lib/errors.ts を使用
新しいメンバーがプロジェクトに参加したとき、このCLAUDE.mdがあれば細かい引き継ぎミーティングなしにClaude Codeを使い始めることができます。
実際に大規模なチームでClaude Codeを導入した事例では、プロジェクトのナレッジがCLAUDE.mdに蓄積されることで、引き継ぎコストをほぼゼロにできたと報告されています(参考: プレイド社のClaude Codeチーム運用)。
gitでメモリを複数デバイス・プロジェクト間で共有する方法
~/.claude/ ディレクトリ全体をgitリポジトリとして管理することで、複数のMacや複数のプロジェクト間でメモリを同期できます。
# ~/.claude/ をgit管理にcd ~/.claudegit initgit remote add origin git@github.com:yourname/claude-config.gitgit add .git commit -m "initial: Claude Code設定を初期コミット"
別のMacで同じ設定を使いたい場合は、このリポジトリをcloneするだけで環境が再現されます。ただし、Auto Memoryには個人的なプロジェクト知識が含まれる場合があるため、プライベートリポジトリでの管理を推奨します。
また、Mac同士でのファイル同期には rsync over SSH(Tailscaleを使ったVPN経由)を活用する方法もあります。詳細は「MacBookとMac miniでClaude Code環境を同期する — Tailscale活用」を参照してください。
新メンバーへの引き継ぎコストをゼロにする設計
効果的なチーム活用のために、CLAUDE.mdの設計段階で「新メンバーが最初に知るべき情報」を意識して書くことが重要です。
新メンバー向けの最低限の情報:
- プロジェクト概要: 何を作っているか、誰が使うか
- 技術スタック: 使用している言語、フレームワーク、サービス
- 開発ルール: コーディング規約、ブランチ戦略、レビュールール
- よく使うコマンド: セットアップ、テスト、デプロイの手順
- 注意事項: ハマりやすいポイント、既知のバグや制約
スキルの設計と同様の考え方で、「このドキュメントを読むだけで作業を始められる」自己完結型の指示書を目指すことが大切です。(Claude Code Skillsの設計パターンについてはこちら →)
\ AI活用の「次の一手」を一緒に考えませんか /
法人向けClaude Code個別指導の無料相談はこちらよくある質問
Q. CLAUDE.mdとAuto Memoryはどちらを優先して使うべきですか?
目的が異なるため、どちらかに統一するのではなく両方を使い分けることをおすすめします。変わらないルールや方針はCLAUDE.mdに手動で書き、現場で発見した知識はAuto Memoryに任せるのが基本的な考え方です。チームで共有したいルールはCLAUDE.mdでgit管理し、個人の作業スタイルや特定プロジェクトの実務知識はAuto Memoryで自動蓄積するのが効率的です。
Q. MEMORY.mdの200行を超えるとどうなりますか?
200行を超えた部分は、セッション開始時に自動ロードされなくなります。Claudeはその情報を持たない状態でセッションを始めることになります。対処法は2つあります。1つは、詳細情報をトピック別ファイルに移動してMEMORY.mdをインデックスのみにすること。もう1つは、AutoDreamを有効にして定期的な自動整理に任せることです。
Q. AutoDreamで重要な情報が消えてしまわないか心配です。
AutoDreamが削除するのは「古い・重複している・矛盾した情報」です。しかし完全に安全とは言えないため、初回有効化前に ~/.claude/ ディレクトリのバックアップを取ることをおすすめします。また、残したい情報は「2026年3月時点」のように絶対的な日付で書くと、AutoDreamが「古い情報」と誤判定するリスクを下げられます。
Q. Claude Codeの記憶はプロジェクトをまたいで引き継がれますか?
プロジェクトレベルの ./CLAUDE.md はそのプロジェクト固有です。Auto Memoryも ~/.claude/projects/<project>/memory/ にプロジェクト別に保存されます。一方、ユーザーレベルの ~/.claude/CLAUDE.md はすべてのプロジェクトで共通参照されます。「どのプロジェクトでも使いたい共通設定」はユーザーレベルのCLAUDE.mdに書くのが効果的です。
まとめ
Claude Codeのmemory機能を効果的に活用するためのポイントを振り返ります。
- 4層アーキテクチャを理解する: CLAUDE.md(手動指示)→ Auto Memory(自動学習)→ Session Memory(セッション内文脈)→ AutoDream(記憶整理)の4層がそれぞれの役割を担う
- CLAUDE.mdで「ルール」を書き、Auto Memoryで「現場知識」を蓄積する: 使い分けを意識するだけで活用効率が大きく変わる
- MEMORY.mdは200行制限を意識してインデックスとして設計する: 詳細はトピック別ファイルに分離するのが正解
- チーム開発ではプロジェクトのCLAUDE.mdをgitで共有管理する: 引き継ぎコストをほぼゼロにできる
まず今日やることは、プロジェクトのルートに CLAUDE.md を1つ作ることです。技術スタック、コーディング規約、よく使うコマンドを10行書くだけでも、次のセッションから体感が変わります。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。非エンジニアの方でも3ヶ月で業務自動化を実現できるプログラムです。「memory機能の設定方法がわからない」「自社業務に合った活用法を相談したい」という段階からご支援いたします。





