Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Claude Code】auto-memory(オートメモリー)の使い方をわかりやすく解説

AIアシスタント「Claude Code」があなたの指示や好みを自動で記憶し、別の会話でも役立てる「auto-memory」機能について解説します。この個人用記憶の仕組みや、チームで共有する情報との違い、記憶の確認・編集方法まで、具体的な使い方を通して効率的な開発を学ぶことができます。

作成日: 更新日:

開発環境

  • OS: Windows10(WSL2 / Ubuntu)
  • Editor: Visual Studio Code
  • Node.js: v22.22.2
  • claude-code: 2.1.118

Claude Code auto-memory(オートメモリー)とは?

auto-memory(オートメモリー/自動メモリ)は、Claude Code があなたとの会話から「将来の会話に役立つ」と判断したことを自動で保存し、セッションをまたいで引き継ぐ個人用の記憶です。

これは、Claude CodeというAIアシスタントが、あなたとの会話の中で重要な情報や指示を自動的に学習し、記憶してくれる機能のことです。一度伝えた情報が忘れられることなく、別の会話を始めた時でも、その情報が引き継がれて活用されます。これは、あなた個人のための記憶として機能します。

  • 会話が終わっても消えない
    • 一度Claude Codeが記憶した内容は、その日の会話を終えても消えることはありません。次回以降、新しい会話を始める際にも、この記憶は保持されています。
  • 次に新しい会話を始めると、関連する記憶を自動で思い出して作業に反映する
    • 例えば、以前の会話で「このプロジェクトでは特定の技術は使わないでください」と伝えていた場合、新しい会話で関連する質問や作業を依頼すると、Claude Codeはその記憶を自動的に思い出して、それに沿った回答や提案をしてくれます。これにより、同じ指示を何度も繰り返す必要がなくなります。
  • 保存先はリポジトリの外(~/.claude/ の中)=個人のもの・git 管理外
    • この記憶は、あなたのプロジェクトのコードが保存されている場所(リポジトリ)とは別の、専用のフォルダ(~/.claude/)に保存されます。
    • そのため、これはあなた個人の設定や記憶であり、プロジェクトのコードの一部として他の人と共有されたり、Git(バージョン管理システム)で管理されたりすることはありません。
1(前の会話で)このプロジェクトのテストは RefreshDatabase を使わないでね
出力結果
1● 了解しました。この方針をメモリに保存しておきます。
2  → 次回以降の会話にも反映されます

上記の例では、あなたがClaude Codeに「このプロジェクトのテストではRefreshDatabaseを使わない」という指示を出しています。Claude Codeはこの指示を「将来の会話に役立つ」と判断し、自動的に記憶しました。その結果、次回以降、テストに関する会話をする際に、Claude Codeはこの記憶を活かして、RefreshDatabaseを使わない前提でサポートをしてくれるようになります。

公式ドキュメント: https://code.claude.com/docs/ja/memory

注意: 「毎回同じ前提を説明し直す」のをなくすための機能。CLAUDE.md(手で書く指示書)とは違い、会話の中で自動的にたまっていくのがポイント。ただし毎回必ず保存されるわけではなく、Claude が役立つと判断したものが残る。

この機能は、あなたがClaude Codeに対して、プロジェクトのルールやあなたの好み、特定の作業手順などを繰り返し説明する手間を省くために作られています。 「CLAUDE.md」は、あなたが手動でプロジェクトのルールなどを書き込む指示書ですが、auto-memoryはそれとは異なり、あなたがClaude Codeと会話する中で、Claude Code自身が重要だと判断した情報を自動的に記憶していく点が大きな特徴です。 ただし、全ての会話内容が記憶されるわけではありません。Claude Codeが将来の作業に役立つと判断した情報だけが選ばれて保存される仕組みになっています。

agent-memory との違い

AIアシスタントが情報を記憶する「メモリ」にはいくつかの種類があり、それぞれ保存される場所、目的、そして管理方法が異なります。これらの違いを理解することは、AIを効果的に活用する上で非常に重要です。ここでは、特に混同しやすい「CLAUDE.md」「agent-memory」「auto-memory」という3つのメモリについて詳しく解説します。

CLAUDE.mdagent-memoryauto-memory
場所リポジトリ直下.claude/agent-memory/(配置場所による)~/.claude/projects/<プロジェクトパス>/memory/
誰のものプロジェクト共有エージェント単位(配置場所により共有/個人)あなた個人
git管理する管理する管理しない(外に出ない)
書き方手で書くエージェントが書く会話から自動でたまる
読み込み常時エージェント起動時会話開始時に自動で思い出す

各メモリの詳細

CLAUDE.md

  • 場所: プロジェクトの最も基本的なフォルダ(リポジトリ直下)に置かれます。これは、プロジェクト全体に関する情報がここに集約されることを意味します。
  • 誰のもの: プロジェクトに関わるすべての人が共有する情報です。チームでAIアシスタントを利用する場合、共通認識として持っておきたい内容を記載します。
  • git: Gitというバージョン管理システムで管理されます。これにより、情報の変更履歴を追跡したり、チームメンバー間で共有したりすることが容易になります。
  • 書き方: 人間が直接ファイルを開いて、手動で情報を書き込みます。
  • 読み込み: AIアシスタントは、このファイルに書かれた内容を常に参照しながら動作します。

agent-memory

  • 場所: 通常は.claude/agent-memory/という、特定のAIエージェントに関連するフォルダの中に配置されます。具体的な配置場所によって、共有される範囲が変わる場合があります。
  • 誰のもの: 特定の役割を持つAIエージェント(サブエージェントとも呼ばれます)が利用するための情報です。そのエージェントに特化した知識や学習内容が保存されます。配置場所の設定によっては、複数のエージェントで共有したり、特定のエージェントだけが使ったりすることが可能です。
  • git: Gitで管理されます。これにより、エージェントの知識の進化を記録し、チーム内で共有できます。
  • 書き方: AIエージェント自身が、自身のタスク遂行を通じて学習した内容を自動的に書き込み、知識を更新していきます。
  • 読み込み: AIエージェントが起動する際に、このメモリに保存された知識を読み込み、タスクに備えます。

auto-memory

  • 場所: ~/.claude/projects/<プロジェクトパス>/memory/という、あなたのパソコン内の特定の(通常は隠された)場所に自動的に作成されます。プロジェクトごとに個別のメモリが作られます。
  • 誰のもの: あなた個人だけが使うための情報です。他のユーザーやチームメンバーとは共有されません。
  • git: Gitでは管理されません。これは、あなたの個人的な情報であり、外部に公開されないようにするためです。
  • 書き方: AIアシスタントとの「会話」の中から、あなたの好みや過去の発言、作業の進め方などが自動的に記憶され、書き込まれていきます。
  • 読み込み: AIアシスタントとの会話を始める際に、これまでのあなたの個人的なやり取りを自動的に思い出し、会話に活かします。

注意: ざっくり言うと、チームで共有したい前提は CLAUDE.md / rules、サブエージェント専用の学びは agent-memory、あなた個人の好みや進め方は auto-memory。

簡潔にまとめると、以下のようになります。

  • CLAUDE.md(またはルールファイルであるrules)は、チーム全体で共有したい共通のルールや情報を記述する場所です。プロジェクトの共通認識として活用されます。
  • agent-memory は、特定のAIエージェントに専門知識や学習内容を覚えさせたい場合に利用します。そのエージェントの「学び」が蓄積されます。
  • auto-memory は、あなた個人の作業スタイルや好み、過去の会話内容をAIに自動で記憶させ、パーソナライズされたアシストを受けたい場合に利用するものです。これはあなた専用の「記憶」になります。

覚えさせ方

①何もしなくても自動でたまる

AIは、ユーザーとの通常の会話の中で、「これは将来の会話に役立つだろう」と判断した情報を自動的に保存します。例えば、ユーザーからの指示、過去に行った訂正、またはユーザーの好みなどがこの対象となります。これにより、ユーザーが同じ内容を繰り返し伝える手間が省け、AIがよりパーソナライズされたサポートを提供できるようになります。

1コミットは自分でやるから、勝手に git commit しないで

上記の例では、ユーザーが「Gitのコミット操作は自分で行う」という方針を伝えると、AIがそれを記憶し、今後の会話でその方針に従うことを明確に示しています。

出力結果
1● 了解しました。「Git 操作はユーザーが行う」方針としてメモリに保存します。

②明示的に覚えさせる

AIに確実に覚えておいてほしい情報がある場合は、その内容を明確に伝えることが重要です。特別なコマンドや形式を使う必要はなく、自然な言葉で指示するだけでAIは内容を記憶します。

1このプロジェクトでは artisan コマンドは docker 経由で実行します。
2今後のために覚えておいてください。
出力結果
1● 了解しました。auto-memory に保存します。

この方法で、プロジェクト特有のルールや、作業における重要な設定など、AIに記憶させたい情報を確実に残すことができます。

  • 例えば、「always use pnpm, not npm のように、覚えておいて」と伝えるだけで、AIはそのルールを記憶し、今後の提案や指示に反映します。
  • もしAIに記憶させたくない情報がある場合は、そもそも会話にその内容を含めないようにするか、後から/memory機能を使用して確認し、不要な情報を削除することが可能です。
  • AIが保存している記憶内容は、/memory機能からいつでも確認でき、必要に応じて内容を編集することもできます。

注意: 表示される文言はバージョンや環境によって変わることがあります。

/memory で確認・編集する

/memory コマンドは、AIが現在参照している「コンテキスト」を確認・管理するためのコマンドです。コンテキストとは、AIが作業を進める上で必要な背景情報や過去のやり取り、設定などのことを指します。このコマンドを使うことで、AIがどのような情報を読み込んで作業しているのかを把握し、必要に応じて設定や記憶内容を管理できます。

1/memory

このコマンドを実行すると、以下のような出力結果が表示されます。

出力結果
1Memory
2
3  Auto-memory: on
4
5> 1. Project memory          Checked in at ./CLAUDE.md
6  2. User memory             Saved in ~/.claude/CLAUDE.md
7  3. Open auto-memory folder
8
9Learn more: https://code.claude.com/docs/ja/memory
10Enter to confirm · Esc to cancel
  • 出力結果の上部には、AIが会話や作業内容を自動的に記憶する機能である auto-memory の状態(on / off) が表示されます。これにより、自動記憶機能が現在有効になっているか、無効になっているかを確認できます。
  • Project memory は、現在作業しているプロジェクトに特化した情報を記述した CLAUDE.md ファイル(現在のディレクトリにあるファイル)を開くための選択肢です。
  • User memory は、ユーザー全体の共通設定や情報を記述した CLAUDE.md ファイル(ユーザーのホームディレクトリに保存されているファイル)を開くための選択肢です。
  • Open auto-memory folder を選択すると、AIが自動的に保存したメモリ(記憶)データが格納されているフォルダを開くことができます。

注意: /memory コマンドの出力で直接表示されるのは、主に CLAUDE.md というファイルを開くための入口です。AIが過去のやり取りなどから自動的に保存した詳細なメモリの中身を確認したい場合は、Open auto-memory folder から該当のフォルダを開いて、ファイルの内容を直接確認してください。

保存場所と MEMORY.md の役割

Claudeが学習した情報や記憶は、開発しているプロジェクトのコード(リポジトリ)とは別の場所に保存されます。具体的には、プロジェクトごとに別々のフォルダで管理されています。

ls ~/.claude/projects/ コマンドを実行すると、Claudeが管理しているプロジェクトのフォルダ一覧を確認できます。

1ls ~/.claude/projects/
出力結果
1-home-user-dev-my-app/            # プロジェクトのパス由来の名前になる
2-home-user-dev-sng-company/
3...

出力結果を見ると、-home-user-dev-my-app/ のように、各プロジェクトのパスから名前が付けられたフォルダが作成されていることが分かります。これにより、複数のプロジェクトでClaudeを使用しても、情報が混ざることなく管理されるようになっています。

さらに、特定のプロジェクトのフォルダ内にある memory フォルダを見てみましょう。このフォルダの中に、Claudeの「記憶」となる情報が保存されています。

1ls ~/.claude/projects/<対象プロジェクト>/memory/
出力結果
1MEMORY.md                         # 索引(会話開始時に読み込まれる)
2feedback_user_does_commits.md     # 記憶1件 = 1ファイル
3feedback_no_cs_fixer.md
4project_youtube_thumbnail_sync.md
5...

ここには MEMORY.md というファイルと、feedback_user_does_commits.md のような複数の .md ファイルがあるのが分かります。

  • MEMORY.md … この MEMORY.md ファイルは、Claudeが持つ記憶全体の「目次」にあたる。Claudeと会話を始める際、まずこのファイルが読み込まれます。
  • 各 .md … そして、feedback_user_does_commits.md といった個別の .md ファイルが、一つ一つの具体的な「記憶」の内容を保持しています。

MEMORY.md の役割

MEMORY.md は、Claudeの記憶の「目次」です。このファイルには、記憶の項目が1行に1件ずつリスト形式で並べられています。Claudeが会話を始めるときには、まずこの MEMORY.md を読み込み、どのような記憶があるのかを確認するのです。

各 .md ファイルの中身

個々の .md ファイルは、具体的な記憶の本体です。ファイルの中身は、YAMLフロントマターと呼ばれる設定部分と、実際の記憶内容が記述された本文に分かれています。中身はこのような形になっています。

1---
2name: feedback-user-does-commits
3description: Git操作はユーザーが行う。指示があった時だけ実行
4---
5
6Git 操作はユーザーが行う。勝手に commit / push しない。
7**Why:** 履歴はユーザーが管理したいため。
8**How to apply:** 明示的な指示があったときだけ git を実行する。

--- で囲まれた部分がYAMLフロントマターです。ここには、記憶の名前(name)や簡単な説明(description)が記述されています。例えば、name: feedback-user-does-commits は、Git操作に関する記憶であることを示しています。

その下の本文には、具体的な記憶内容が記述されています。この例では「Git 操作はユーザーが行う。勝手に commit / push しない。」という指示が記録されています。また、「Why:」でその理由が、「How to apply:」でどのように適用されるべきかが説明されており、Claudeがこの記憶をどのように活用すべきかを理解するための詳細な情報が含まれています。

注意: これらの記憶ファイルは、特別な形式ではなく、ごく普通のテキストファイルとして扱われます。そのため、もしClaudeの記憶内容について確認したい場合や、場合によっては編集したいと考えたときには、直接 /memory フォルダを開いて、中身を閲覧したり、テキストエディタで修正したりすることが可能です。これにより、Claudeの振る舞いを細かく調整できるようになっています。

何を覚えさせるべきか・覚えさせないべきか

auto-memory とは、システム開発の過程で得られた様々な情報を、自動で記憶してくれる機能のことです。たとえば、次のようなものが保存されます。

  • ビルド・実行コマンド:プログラムを動かすための命令文のことです。例えば、テストを docker と呼ばれる環境経由で実行する方法などが記憶されます。
  • デバッグ時の気づき:プログラムの間違いを見つけて直す作業(デバッグ)をする中で、「この不具合は、データが一時的に保存される場所(キャッシュ)が原因だった」といった、問題解決のヒントや知識が得られた場合にそれが保存されます。
  • 設計上のメモ:プログラム全体の設計に関する考えや計画のことです。「この部分(層)は、このような役割(責務)に分けて作っている」といった、プログラムの構造に関するメモが保存されます。
  • コードスタイルの好み:プログラムの書き方に関する個人のルールや癖のことです。「pnpm というツールを使って、プログラムに必要な部品(パッケージ)を管理する」といった、ツールの選択や記述形式に関する好みが保存されます。
  • 作業の進め方:普段の仕事のやり方や手順のことです。「プログラムの変更履歴を記録する操作(コミット)は、開発チームのメンバーではなく、この機能を利用するユーザーが行う」といった、ワークフローに関する情報が保存されます。

これらの情報は、分類やファイル名が内容に応じて自動で作られます。自分で決まったカテゴリを覚えて整理するよりも、「何が保存されているかを /memory やメモリフォルダで確認できる」と覚えておくことが大事です。これにより、どこに何があるか悩まずに、必要な情報にアクセスできるようになります。

記憶を直す・消す

auto-memory に保存された情報が古くなったり、間違っていたりした場合は、会話でそのまま伝えることで修正したり、削除したりできます。

1「テストは毎回全部流す」の記憶は間違いだから消して
出力結果
1● 該当メモリを削除しました。MEMORY.md の索引からも外しました。

auto-memory は「設定」ではなく「コンテキスト」

ここが一番大事な注意点です。auto-memory は CLAUDE.md と同じく、会話を開始する際に読み込まれる「参考情報(コンテキスト)」であって、「必ず守られる強制設定ではない」という点を理解しておく必要があります。

  • 必ず守らせたいルール:プログラムに絶対に守らせたい、強制力のあるルールを設定したい場合は、settings ファイルの中にある permissions や hooks(プログラムの特定のタイミングで自動実行される処理、例えば PreToolUse など)という部分を使って設定します。
  • チームで共有したいルール:開発チーム全員で共有し、守るべきガイドラインやルールがある場合は、CLAUDE.md や rules といった共有のドキュメントに記述します。
  • あなた個人の好み・進め方:上記のような強制力や共有の必要がない、個人の作業の進め方や好みに基づく情報は auto-memory に任せます。

注意: 思い出された記憶は「その時点では正しかった内容」です。そのため、ファイル名や設定が今も実際に存在し、有効であるかは、プログラムを実行する前に確認することが安全です。

おわりに

Claude Codeのauto-memory機能は、あなたがAIアシスタントとの会話の中で伝えた指示や好みを自動で記憶し、次からの会話でも役立てるための個人用機能です。これはプロジェクト全体で共有する情報とは異なり、あなた専用の記憶として自動的に蓄積され、同じ指示を何度も繰り返す手間を省いてくれます。記憶された内容は/memoryコマンドで確認や編集ができますが、auto-memoryはAIが会話の参考にする情報であり、必ず守られる強制的な設定ではない点に留意して活用しましょう。

関連コンテンツ

関連IT用語