「Claude Codeに、毎朝同じ説明をしている」 — 半年使った人の99%が感じる不満です。
私の場合、毎日「私は1人法人で」「税抜で見積もりを書く」「コミットは日本語で」と、似たような前提を3-4個必ず冒頭で伝えていました。1回30秒だけど、 積み重なると月に1時間以上を「前置きに溶かしている」 ことになる。
これを解決するのが、2026年から本格運用に入った 自動メモリ機能(persistent memory)。会話を跨いでClaude Code自身が学んでくれる仕組みです。今日はこれの中身を整理します。
自動メモリ機能とは
ざっくり言うと、 Claudeが「これは覚えておくべき」と判断した情報を、自動でファイルに書き残す 機能。
- 保存場所 —
~/.claude/projects/<プロジェクト識別子>/memory/配下 - 形式 — Markdownファイル(1メモリ1ファイル)
- インデックス —
MEMORY.mdに1行ずつポインタが並ぶ - 読み込み — 次回以降の会話で、関連メモリが自動で参照される
つまり、 Claude側が「覚えるべきか」を判断して書き、必要な時に取り出す という人間っぽい挙動を、ファイルシステム上で再現しています。
私が最初にこの機能を知った時は 「ようやくか」 が正直な感想。ChatGPTのMemory機能と思想は似ていますが、 「自分のディスク上にMarkdownで残る」 透明性がClaude Codeらしい設計です。
4種類のメモリタイプ
メモリは4つに分類されます。
user(ユーザー像)
「この人は何者か」「どんな専門知識があるか」「どんな仕事をしているか」。例えば「Goを10年書いてきたエンジニア」「経理が本業の1人法人代表」のような情報。
feedback(やり方の好み)
「こうしてほしい」「こうしないでほしい」という指示。たとえば「コードコメントは最小限で」「Slack通知は禁止」「PRは1個ずつ立てる」など。
project(プロジェクトの背景)
「今このプロジェクトで何をやっているか」「いつまでに何を終わらせるか」「なぜそれをやっているか」など、コードを読んでもわからない事業背景・締切・関係者の情報。
reference(外部の場所)
「Slackで議論しているのはこのチャンネル」「Issueトラッカーはこのリポジトリ」「監視ダッシュボードはこのURL」のような 外部システムへのポインタ。
私の体感だと、 feedbackとproject が一番使われます。userは初回会話で書き溜まって安定、referenceは思い出した時に追加、という頻度差。
1週間使って溜まったメモリの中身
参考までに、私の memory/ ディレクトリの1週間後の状態。
~/.claude/projects/-Users-daiki-claude-code-lab/memory/
├── MEMORY.md
├── user_role.md
├── user_writing_style.md
├── feedback_no_emoji.md
├── feedback_short_messages.md
├── feedback_japanese_commits.md
├── project_media_pipeline.md
├── project_coconala_status.md
└── reference_microcms.md
feedback_no_emoji.md の中身はこんな感じ。
---
name: emoji禁止
description: 文書・コード・コミットメッセージで絵文字を使わない
type: feedback
---
絵文字は使わない。
**Why** — ビジネスドキュメントで使うと格が下がる、と本人が明言。
**How to apply** — 記事・コミット・PR・コードコメント、すべてで絵文字を入れない。
ユーザーが明示的に「絵文字でお願い」と言った時だけ例外。
このフォーマットがいい。 「ルール+理由+適用条件」 の3つを残しておくと、エッジケースで自分で判断できる。「絵文字禁止と聞いたけど、ユーザーが絵文字で書いてきた時はどうする?」が、Whyを読めば判断できる。
CLAUDE.mdとの違い
「これってCLAUDE.mdと同じでは?」と聞かれることが多い。違いを整理。
CLAUDE.md | 自動メモリ | |
|---|---|---|
場所 | プロジェクトルート(git管理) |
|
共有 | チーム全員と共有 | 自分専用 |
書く人 | 人間が手で書く | Claude自身が判断して書く |
内容 | プロジェクトのルール・前提 | ユーザー個人の好み・履歴 |
つまり CLAUDE.mdはチームの公式ルール、自動メモリは個人の運用記録。
私は両方併用しています。CLAUDE.mdに「日本語で書く」「税抜表示」を書き、メモリに「絵文字嫌い」「短い返事好き」を残す。 公私の分離 という感覚。
何が自動で保存され、何がされないか
「全部勝手に保存されるのでは怖い」と思う方もいるはず。実際は Claudeが慎重に取捨選択 しています。
保存される傾向
- ユーザーが明示的に「覚えておいて」と言った内容
- ユーザーが2回以上同じ指示を繰り返した時
- 失敗を指摘された時の「次から避けるべきこと」
- ユーザーが珍しい選択をして、それが採用された時(成功パターン)
保存されない傾向
- 一回限りの作業内容(「このファイルを直して」)
- コードや既存ドキュメントから読み取れる情報
- 機密情報(APIキー・パスワード・個人情報)
Claudeは 「コードを読めばわかること」は保存しない 設計。「package.json を読めば依存がわかる」のような情報は、わざわざメモリ化しません。
私の体感だと、 1日3-5個 のペースでメモリが増えていく。多すぎず少なすぎず、ちょうど良い量。
古い情報の腐敗にどう対処するか
メモリの厄介な点は 「書いた時は正しかったが、今は古い」 情報が混じること。
たとえば「3月末までにこの案件を終わらせる予定」というproject memoryは、4月になったら役立たず。
Claude Codeは賢く、 古いメモリと現実が食い違った時に、メモリ側を更新するか削除する 動作を取ります。 「メモリは時間スナップショット、現在の状態は常にコードや実環境が正」 という設計思想。
私も最初は「過去のメモリが残り続けるのでは」と心配しましたが、 2-3週間に1回くらいの頻度で自動的に整理されている のを観察しています。
「自分でも一度メモリを見返したい」時は、 ~/.claude/projects/<識別子>/memory/MEMORY.md を直接開けばOK。エディタで読めるただのMarkdownなので、 手で消したい行はそのまま削除 できる。
業務利用での注意点
業務でClaude Codeを使う立場なら、押さえておきたい点。
チーム共有はされない
メモリは個人ローカル。 同僚のClaudeは、あなたのメモリを参照しません。チーム共通のルールは、自動メモリではなくCLAUDE.mdに書く。
機密情報を含む会話のメモリ化
クライアント名や案件詳細など、 メモリに残したくない情報 が話題になることがあります。その場合は明示的に「これは覚えないで」と伝えれば、Claudeは保存しません。
私は機密案件を扱う時、最初に 「この会話はメモリに保存しない方針で」 と一言伝えることにしています。
skill・hookとの関係
似た仕組みで Skill や Hooks もあります。役割分担を整理。
- メモリ — 「あなたの好み・背景」を覚える(受動的)
- Skill — 「特定タスクのやり方」を体系化する(能動的に呼ぶ)
- Hooks — 「自動で必ず実行する処理」を仕込む(発火条件で動く)
メモリは 記憶、Skillは 手順書、Hooksは 自動装置。3つ揃うと、Claudeが 自分専用にチューニングされた相棒 に育っていきます。
まとめ
- 自動メモリ機能は 会話を跨いでClaudeが自分で覚えてくれる仕組み
- 保存場所は
~/.claude/projects/<識別子>/memory/のMarkdown - メモリは 4種類(user / feedback / project / reference)
- CLAUDE.mdとの違いは 「チーム公式 vs 個人運用」
- 1日3-5個のペースで自然に溜まり、 古いものは自動で整理 される
- 機密案件では 「メモリに残さないで」と明示 すると保存されない
- Skill・Hooksと併用すると、Claudeが個人専用の相棒に育つ
「同じ説明を毎朝している」と感じている方は、メモリ機能のおかげで 1ヶ月後には冒頭の前置きが半分になっている はずです。今日は普段通りClaudeに話しかけて、何が勝手に保存されたか、 memory/ ディレクトリを覗いてみてください。





