Claude Codeのメモリ機能完全解説【2026年最新】:CLAUDE.md・auto memory・MEMORY.mdの仕組みと使い方
前回はClaude CodeのHooks機能で自動化する方法を紹介しましたが、今回はセッションをまたいだ記憶の仕組み——つまり「Claude Codeのメモリ」を深掘りしていきます。
室谷代表取締役MYUUUでも最初は全員これで詰まってました。
テキトー教師.AI認定講師Claude Codeはセッションごとにコンテキストウィンドウがリセットされる設計なので、何もしないと毎回初見の状態になります。
室谷代表取締役この2つをちゃんと理解すると、開発体験がガラッと変わります。
テキトー教師.AI認定講師| CLAUDE.md | Auto memory(MEMORY.md) | |
|---|---|---|
| 誰が書くか | 人間(あなた) | Claude自身 |
| 何が入るか | ルール・指示・プロジェクト情報 | 学習・発見・パターン |
| スコープ | プロジェクト・ユーザー・組織 | プロジェクト単位(git repo) |
| 読み込みタイミング | セッション開始時(毎回全文) | セッション開始時(先頭200行か25KB) |
| 主な用途 | コーディング規約・ワークフロー | ビルドコマンド・デバッグの知見 |
室谷代表取締役
テキトー教師.AI認定講師この2つは補完関係にあって、両方うまく使うのが本来の設計です。
室谷代表取締役CLAUDE.mdファイルの仕組み

テキトー教師.AI認定講師
室谷代表取締役この3つです。
テキトー教師.AI認定講師# プロジェクト概要
Next.js + TypeScript + Supabaseで構築したSaaSアプリ。
API routesはsrc/app/api/に集約している。
# ビルドコマンド
- 開発: npm run dev
- テスト: npm test
- ビルド: npm run build
# コーディング規約
- インデントは2スペース
- コンポーネントはsrc/components/に配置
- 型定義は必ず付ける
室谷代表取締役
テキトー教師.AI認定講師理由は2つあって、長すぎるとコンテキストを圧迫することと、指示が多すぎると遵守率が下がるという問題があります。
室谷代表取締役「コードを綺麗に書いてください」ではなく「インデントは2スペース」のように。
CLAUDE.mdを置く場所と優先順位
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師| スコープ | 場所 | 主な用途 |
|---|---|---|
| 組織全体 | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md | 全社共通のセキュリティポリシー・規約 |
| プロジェクト | ./CLAUDE.md または ./.claude/CLAUDE.md | チーム共有の設定(gitで管理) |
| ユーザー | ~/.claude/CLAUDE.md | 個人の好みや設定(全プロジェクト適用) |
| ローカル | ./CLAUDE.local.md | 個人のプロジェクト固有設定(.gitignore推奨) |
室谷代表取締役
テキトー教師.AI認定講師このパターンが一番トラブルが少ないです。
室谷代表取締役/initコマンドで自動生成する
テキトー教師.AI認定講師/initコマンドを使うとClaudeがコードベースを分析して自動で作ってくれます。
室谷代表取締役/initを実行してドラフトを作ってもらってから、足りない情報だけ手で追記するのが効率的ですね。
テキトー教師.AI認定講師CLAUDE_CODE_NEW_INIT=1をセットすると、インタラクティブな多段階フローが使えます。「CLAUDE.mdを作りますか?スキルも設定しますか?Hooksも?」みたいに段階的に確認しながら設定できて、初めて使う人でもわかりやすいです。.claude/rules/でルールを細分化する
室谷代表取締役
テキトー教師.AI認定講師.claude/rules/ディレクトリです。ここにMarkdownファイルを置くと、ファイルパスによってルールを動的に切り替えられます。---
paths:
- "src/api/**/*.ts"
---
# APIルール
- 全エンドポイントに入力バリデーションを付ける
- エラーレスポンスは統一フォーマットで返す
- OpenAPIコメントを必ず書く
室谷代表取締役src/api/配下のファイルを触るときだけこのルールが読み込まれる、と。
テキトー教師.AI認定講師不要なルールがコンテキストを圧迫しないので、大規模プロジェクトでは特に効いてきます。
室谷代表取締役claudeMdExcludes設定と組み合わせると綺麗に解決できます。Auto memory(MEMORY.md)の仕組み

室谷代表取締役
テキトー教師.AI認定講師デフォルトで有効になっていますが、存在を知らないまま使っている人も多いです。
室谷代表取締役
テキトー教師.AI認定講師~/.claude/projects/<project>/memory/ディレクトリです。Gitリポジトリのパスから自動でproject名が決まるので、複数プロジェクトが混在することはありません。
室谷代表取締役
テキトー教師.AI認定講師~/.claude/projects/<project>/memory/
├── MEMORY.md # インデックスファイル(毎セッション先頭から読まれる)
├── debugging.md # デバッグパターンのノート
├── api-conventions.md # API設計の決定事項
└── ... # Claudeが必要に応じて作るトピックファイル
室谷代表取締役
テキトー教師.AI認定講師auto memoryが記録する内容
室谷代表取締役
テキトー教師.AI認定講師- ビルドコマンドやテスト実行手順
- デバッグで発見したパターンや注意点
- コード規約や命名ルールで発覚したこと
- 個人の好み(「npmよりpnpmを使う」など)
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役/memoryコマンドで内容を確認する
テキトー教師.AI認定講師/memoryコマンドを使います。これはclaude code memory mdを直接確認できる唯一の公式インターフェースですね。
室谷代表取締役/memoryを実行すると何が見えるんですか?
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師Claudeが覚えた情報を「これは不要だな」と判断したら消せる。全部人間の管理下にあります。
室谷代表取締役
テキトー教師.AI認定講師どちらに記録させるかを人間がコントロールできる点が重要です。
auto memoryの有効・無効を切り替える
室谷代表取締役
テキトー教師.AI認定講師/memoryコマンドから画面上でトグルできます。設定ファイルで無効化したい場合は、
.claude/settings.jsonか~/.claude/settings.jsonに書きます。{
"autoMemoryEnabled": false
}
室谷代表取締役
テキトー教師.AI認定講師CLAUDE_CODE_DISABLE_AUTO_MEMORY=1を設定すれば無効化できます。CI/CDで使う場合や、学習させたくないプロジェクトで使えます。
室谷代表取締役
テキトー教師.AI認定講師autoMemoryDirectoryという設定で、メモリファイルの保存先を変更できます。GitHubで管理したい場合など、リポジトリ内のパスを指定することもできます。
{
"autoMemoryDirectory": "~/shared-memory-dir"
}
室谷代表取締役サブエージェントのメモリ管理
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師メインのエージェントとサブエージェントで別々のメモリを持つ設計も全然ありです。
室谷代表取締役まだ実験段階ですが、かなり面白い結果が出てきています。
basic memoryとMCPでの外部メモリ連携
室谷代表取締役
テキトー教師.AI認定講師Claude Codeのビルトインauto memoryとは別に、外部のナレッジベースにメモリを保存できます。
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師よくあるトラブルと解決法
テキトー教師.AI認定講師
室谷代表取締役CLAUDE.mdの指示が無視される
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師「コードを綺麗に書いてください」ではなくて「インデントは2スペース、セミコロン必須」のように具体的に書く必要があります。次にCLAUDE.mdが200行を超えていて、重要な指示が後半に埋まっている。
3つ目は複数のCLAUDE.mdで矛盾した指示が書かれているケースです。
室谷代表取締役/memoryを実行してCLAUDE.mdが実際に読み込まれているか確認するのが最初のステップですよね。
テキトー教師.AI認定講師置く場所が正しいか確認する必要があります。
/compact後に指示が消える
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師auto memoryが膨らんで制限を超える
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師/memoryコマンドからメモリファイルを直接開いて、不要な内容を手動で削除する。もしくは、CLAUDE.mdに「重要な決定事項」を移して、auto memoryには新しい情報だけ残す。定期的な棚卸しが必要です。
室谷代表取締役チームでのClaude Codeメモリ運用
室谷代表取締役
テキトー教師.AI認定講師チームで長大なCLAUDE.mdを全員が使っていると、会話のターン数×CLAUDE.mdのサイズ分だけトークンを消費し続ける。
室谷代表取締役
テキトー教師.AI認定講師- プロジェクトのCLAUDE.mdはgitで管理して全員同じものを使う
- 個人設定はCLAUDE.local.md(.gitignore済み)に書く
- CLAUDE.mdのレビューをPRプロセスに組み込む(誰でも追記できる状態は避ける)
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師これからの企業でのAI活用の標準的なアプローチになっていくと思います。
まとめ:CLAUDE.mdとauto memoryの使い分け
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師
室谷代表取締役
テキトー教師.AI認定講師よくある質問(FAQ)
claude code memory bankって何ですか?
「Memory Bank」はClaude Codeのビルトイン機能ではなく、コミュニティで広まったベストプラクティスの呼称です。プロジェクトルートにmemory-bank/というディレクトリを作り、プロジェクト概要・技術スタック・進捗・決定事項などをMarkdownで整理して保存する手法で、CLAUDE.mdからそれらをimportして使います。特定のツールやプラグインではなく、ファイル設計のパターンです。
CLAUDE.mdとMEMORY.mdの違いは何ですか?
CLAUDE.mdは人間が書く指示書で、コーディング規約・アーキテクチャ情報・ワークフローなどを記述します。MEMORY.mdはauto memoryの機能でClaudeが自動生成するファイルで、~/.claude/projects/<project>/memory/MEMORY.mdに保存されます。前者は人間が管理し後者はClaudeが管理する、という役割分担があります。
auto memoryを無効にすることはできますか?
できます。/memoryコマンドのトグル、設定ファイルの"autoMemoryEnabled": false、環境変数CLAUDE_CODE_DISABLE_AUTO_MEMORY=1の3つの方法があります。
claude code memory bankの設定方法を教えてください。
前述の通り、memory bankはビルトイン機能ではなく設計パターンです。memory-bank/ディレクトリを作成して、projectBrief.md(プロジェクト概要)・techContext.md(技術スタック)・progress.md(進捗)・decisionLog.md(決定事項)などのファイルを置き、CLAUDE.mdから@memory-bank/projectBrief.mdのようにimportします。
セッションをまたいでClaude Codeの記憶を維持するには?
CLAUDE.mdに重要なコンテキスト・ルールを書き、auto memoryを有効にしておくことが基本です。さらに確実に維持したい情報は毎セッション開始時に「前回の続きを確認してください」とCLAUDE.mdのパスを指定して読み込ませるか、メモリ系のMCPサーバー(basic memoryなど)を組み合わせる方法もあります。
