CLAUDE.mdとAuto memoryの違い|Claude Codeの記憶を使い分ける方法

Claude Codeを使い続けていると、「毎回同じ開発ルールを説明している」「前回伝えた修正方針を次の作業でも反映してほしい」と感じることがあります。そこで重要になるのが、Claude Codeの記憶に関わる仕組みです。

Claude Codeには、主にCLAUDE.mdとAuto memoryという2つの仕組みがあります。どちらもセッションをまたいで情報を扱うための機能ですが、役割は同じではありません。
CLAUDE.mdは、ユーザーやチームが明示的に書く指示です。一方、Auto memoryは、Claudeが作業中に得た学習や修正傾向を自動的に記録する仕組みです。

この記事では、CLAUDE.mdとAuto memoryの違いを整理し、Claude Codeの記憶を実務でどのように使い分ければよいかを解説します。

目次

Claude Codeの記憶機能とは

Claude Codeの記憶機能を理解するには、「毎回守らせたいルール」と「作業を通じて蓄積される知見」を分けて考える必要があります。
両者を混同すると、記憶の置き場所や管理方法があいまいになります。

セッションをまたいで情報を引き継ぐための仕組み

Claude Codeでは、作業のたびにすべての前提を自動的に保持し続けるわけではありません。プロジェクト固有のルール、よく使うコマンド、設計上の前提、レビュー時の注意点などを毎回説明していると、作業効率が落ちます。

この課題を補うために使うのがCLAUDE.mdとAuto memoryです。

CLAUDE.mdは、コーディング規約、テスト実行手順、ディレクトリ構成、レビュー方針など、毎回参照してほしい情報を人が記載するファイルです。
Auto memoryは、ビルドコマンド、デバッグ上の気づき、コードスタイルの好みなど、作業中に見つかった補助情報を残す仕組みです。

CLAUDE.mdとAuto memoryは役割が異なる

CLAUDE.mdは、人が管理する明示的なルールです。チームで共有したい開発方針や、作業時に毎回守ってほしい制約を置く場所に向いています。内容を人が確認し、必要に応じて修正できるため、業務利用では基準となる記憶として扱いやすい仕組みです。

一方、Auto memoryはClaudeが自分で記録する補助的な記憶です。人が毎回書き足さなくても、作業を通じて得た知見を蓄積できます。ただし、何を残すかは自動判断になるため、重要なルールやチームで統一すべき内容を全面的に任せるには向きません。

CLAUDE.mdとAuto memoryの違い

ここでは、CLAUDE.mdとAuto memoryの違いを「誰が書くのか」「何を保存するのか」「どの範囲で共有されるのか」という3つの軸で整理します。
この違いを理解すると、何を明示的に管理し、何を自動記憶に任せるべきか判断しやすくなります。

誰が書くのかが違う

CLAUDE.mdは、ユーザーやチームが書きます。プロジェクトの前提、設計方針、命名規則、テスト方針などを明文化し、Claudeに「このプロジェクトではこのルールを前提にしてほしい」と伝えるためのものです。

Auto memoryは、Claudeが書きます。作業中に得た学習、ユーザーからの修正、今後も役立つと判断した情報をClaude自身がメモします
手動で整備する負担を減らせる一方で、内容の粒度や保存対象はClaudeの判断に左右されます。

保存する内容が違う

CLAUDE.mdに向いているのは、毎回の作業で参照してほしい明示的なルールです。コードレビューで重視する観点、使用するライブラリの方針、テストの実行条件、ディレクトリごとの責務、命名ルールなどが該当します。

Auto memoryに向いているのは、作業を通じて見つかった補助情報です。ビルドに使うコマンド、特定のエラーが起きやすい箇所、デバッグ時の注意点、ユーザーが好む修正の進め方などです。安定した運用を目指すなら、ルールと知見を分けることが重要です。

共有範囲が違う

CLAUDE.mdは、配置場所によってスコープが変わります。ユーザー単位、プロジェクト単位、ローカル単位、組織単位といった使い分けができ、プロジェクト用のCLAUDE.mdはリポジトリに含めることでチーム共有しやすくなります。

Auto memoryは、プロジェクトごとのメモリディレクトリに保存されます。同じgitリポジトリ内のworktreeやサブディレクトリでは同じメモリディレクトリを共有しますが、基本的にはマシンローカルの情報です。別の端末やクラウド環境に自動共有される前提ではありません
チームで同じ前提を共有したいなら、CLAUDE.mdを基準にすべきです。

CLAUDE.mdに書くべき内容

CLAUDE.mdは、Claude Codeに対して「このプロジェクトでは何を前提にすべきか」を伝えるための場所です。何でも書き込むのではなく、毎回参照する価値がある内容に絞ることで、指示の一貫性を保ちやすくなります。

チームで共有したい開発ルール

CLAUDE.mdに最も向いているのは、チームで共有したい開発ルールです。命名規則、ディレクトリ構成、テスト方針、レビュー観点、アーキテクチャ上の前提などが該当します。

これらは、個人の好みではなく、プロジェクト全体の品質や保守性に関わる情報です。メンバーごとのAuto memoryに依存すると、同じリポジトリを扱っていてもClaudeが参照する前提に差が出る可能性があります。
プロジェクトとして守るべき内容は、CLAUDE.mdに明文化しておく方が一貫性を保ちやすくなります。

毎回Claudeに守ってほしい指示

作業のたびにClaudeへ伝えている内容も、CLAUDE.mdに書く候補です。「変更後は必ずテストを実行する」「既存の命名規則に合わせる」「特定のディレクトリには責務を越えた処理を書かない」といった指示です。

ただし、CLAUDE.mdは強制設定ではありません。Claudeの判断材料にはなりますが、行動を必ず制御するものではありません。厳格に特定の操作を止めたい場合は、権限設定やhookなどの別の仕組みを検討する必要があります。

CLAUDE.mdに書きすぎないための注意点

CLAUDE.mdは便利ですが、情報を詰め込みすぎると逆効果になることがあります。長くなりすぎると、重要な指示が埋もれ、Claudeが一貫して参照しづらくなります。

CLAUDE.mdは、プロジェクト全体に関わる基本方針を置く場所として扱うのが適切です。細かい手順や特定領域だけのルールまで無理に集約せず、必要に応じて別ファイルや補足資料に分けることで、読みやすさと運用しやすさを保てます。

Auto memoryに任せるべき内容

Auto memoryは、Claudeが作業を通じて得た知見を蓄積するための仕組みです。人がすべての情報をCLAUDE.mdに書き込まなくても、次回以降の作業に役立つ補助情報を残せる点に価値があります。

作業を通じて蓄積される知見

Auto memoryに向いているのは、作業中に見つかる細かな知見です。例えば、よく使うビルドコマンド、デバッグ時に確認すべきファイル、特定のテストで必要になる前提、過去に修正したエラーの傾向などです。

これらは重要ではあるものの、チーム全体の厳格なルールとしてCLAUDE.mdに書くほどではない場合があります。
Auto memoryに蓄積されれば、Claudeが次回以降の作業で思い出しやすくなり、同じ説明を繰り返す負担を減らせます。

個人の作業傾向や補助情報

Auto memoryは、個人の作業傾向や補助情報にも向いています。修正前に必ず差分を確認したい、説明は簡潔にしてほしい、特定のパッケージマネージャーを優先したい、といった傾向です。

このような情報は、チーム全員に適用すべきルールとは限りません。個人の好みや作業環境に寄る内容は、Auto memoryやローカルな設定として扱う方が自然です。
一方で、チーム全体で必ず統一すべき内容であれば、CLAUDE.mdに移すべきです。

Auto memoryだけに依存しない方がよい理由

Auto memoryは便利ですが、業務利用では依存しすぎない方が安全です。保存される内容が自動判断であり、チーム全体に共有される前提ではないからです。

レビュー方針やセキュリティ上の注意点をAuto memoryだけに任せると、開発者ごとに前提がずれる可能性があります。

Auto memoryは作業効率を上げる補助機能であり、重要なルールを置く中心ではなく、CLAUDE.mdを補完する仕組みとして扱う方が適しています。

実務での使い分け方

CLAUDE.mdとAuto memoryの違いを理解したら、実際の業務でどう使い分けるかを決める必要があります。判断軸は、人が明示的に管理すべきか、Claudeの学習に任せてもよいかです

重要なルールはCLAUDE.mdに置く

業務利用では、再現性と説明可能性が重要です。誰がClaude Codeを使っても同じ前提で作業できるようにしたい内容は、CLAUDE.mdに置きます。

具体的には、プロジェクトの設計方針、レビュー観点、テスト方針、セキュリティ上の注意点、使用禁止の実装方針、命名規則などです。複数の記憶ファイルで異なる指示を出すと、Claudeが判断しづらくなるため、定期的な整理も必要です。

蓄積される作業知見はAuto memoryに任せる

作業を進める中で自然に見つかる知見は、Auto memoryに任せると効率的です。特定のテストコマンド、デバッグ時に見るべきログ、よく起きるエラーの傾向、ユーザーの修正方針などはAuto memoryに向いています。

ただし、重要度が高くなった情報は、Auto memoryに置いたままにせず、CLAUDE.mdへ移すことも検討します。

補助情報として残すのか、プロジェクトの共通ルールとして扱うのかを切り分けることが大切です。

チーム運用ではCLAUDE.mdを基準にする

チームでClaude Codeを使う場合は、CLAUDE.mdを基準にするのが自然です。チーム全体で共有したいルールをAuto memoryに任せると、各メンバーの環境に依存してしまいます。

プロジェクトのCLAUDE.mdには、全員が守るべきルールを記載します。個人の作業傾向やローカル環境に関する情報は、Auto memoryやローカルな設定に分けます。
この整理により、「チームの共通ルール」と「個人の補助情報」が混ざりにくくなります。

記憶を管理するときの注意点

CLAUDE.mdとAuto memoryは、設定して終わりではありません。記憶は増えたり、古くなったり、矛盾したりします。
Claude Codeを安定して使うには、記憶の確認・編集・整理まで含めて運用することが重要です。

/memoryで読み込まれている内容を確認する

記憶が反映されないと感じたときは、まず/memoryを確認します。/memoryでは、現在のセッションに読み込まれているCLAUDE.md、CLAUDE.local.md、rulesファイルの確認、Auto memoryの切り替え、メモリフォルダへのアクセスができます。

複数のCLAUDE.mdやルールファイルを使っている場合、想定したファイルが読み込まれていないことがあります。Claudeがどの前提で動いているかを確認することで、指示が反映されない原因を切り分けやすくなります。

Auto memoryは編集・削除できる

Auto memoryは自動で保存されますが、内容を確認できないブラックボックスではありません。メモリファイルはMarkdown形式で保存され、必要に応じて編集や削除ができます。

Auto memoryでは、MEMORY.mdがメモリディレクトリの索引として扱われます。会話開始時には、MEMORY.mdの先頭200行または25KBまでが読み込まれます。
詳細なメモは別ファイルに分けられるため、必要に応じて内容を確認し、古い前提や現在の開発方針と合わない情報を整理することが大切です。

強制したい制御は別の仕組みを使う

CLAUDE.mdやAuto memoryは、Claudeの判断材料として使われます。しかし、厳格な制御機構ではありません。特定のコマンドを禁止したい、機密ファイルを読ませたくない、といった要件は、記憶機能だけで実現しようとしない方が安全です。

CLAUDE.mdは行動方針を伝えるもの、Auto memoryは学習を補助するものです。一方、特定の操作を禁止したい、ツール実行前に条件を確認したいといった場合は、permissions.denyやPreToolUse hookなど、設定・制御用の仕組みを使う必要があります。

まとめ|CLAUDE.mdとAuto memoryは役割を分けて使う

CLAUDE.mdとAuto memoryは、どちらもClaude Codeの記憶に関わる仕組みですが、役割は異なります。CLAUDE.mdは、人が明示的に書くルールです。Auto memoryは、Claudeが作業を通じて蓄積する補助的な記憶です。

業務利用では、重要な開発ルール、チームで共有したい方針、品質やセキュリティに関わる注意点はCLAUDE.mdに置くべきです。一方、作業中に見つかったビルドコマンド、デバッグの知見、個人の作業傾向などはAuto memoryに任せると効率的です。

ただし、どちらも万能ではありません。CLAUDE.mdは書きすぎると指示が埋もれます。Auto memoryは便利ですが、自動判断に依存します。さらに、強制的な制御が必要な場面では、設定ファイルやhookなど別の仕組みを使う必要があります。

Claude Codeの記憶を効果的に使うには、何を明示的に管理し、何を自動記憶に任せ、どのように確認・整理するかを決めることが重要です。
CLAUDE.mdとAuto memoryを役割で分けて使うことで、Claude Codeをより安定した開発支援ツールとして活用しやすくなります。


シーサイドでは、生成AIツールの活用に関するご相談も受け付けております。
お困りやご相談がありましたら、まずはお気軽にお問い合わせください。

目次