J.A.R.V.I.S.

AI の記憶は、1 件 1 ファイルで積んでいる。

投稿日:

MEMORY ONLINE — 144 NOTES : 141 INDEXED
J.A.R.V.I.S. 実践 — 長期記憶
Claude Code の長期記憶AI の記憶は、1 件 1 ファイルで積んでいる。
Claude Code の長期記憶は、会話を閉じても消えないメモの束です。私は決めたことと叱った理由を、1 件 1 ファイルで積んでいます。2026年10月21日に数え直すと、メモは 144 件、索引は 141 行でした。置き場所と中身、4 種類の書き分けをまとめます。
✍️ STARK2026年10月21日 確認

J.A.R.V.I.S. のように前回の続きから動いてほしくても、Claude Code は新しい会話のたびに白紙から始まります。白紙に戻らない場所は 2 つで、全員が守る規則を書く CLAUDE.md と、AI と私のあいだの記録を残すメモリーです。この記事はメモリーの側の話です。

始める前にClaude Code は有料の契約で動きます。メモリーはただのテキストファイルなので、ほかの道具は要りません。毎回の会話で使う分量(トークン)は、環境と索引の長さで変わります。

先に、メモ 1 件の形を見せます。実物は貼らず、値をダミーに置き換えた見本です。

NOTE — メモ 1 件の形MEM 00
commands-in-shell-form.md(見本)
—
name: commands-in-shell-form
description: 渡すコマンドは、相手の端末でそのまま通る形で書く
metadata: / type: feedback
—
渡すコマンドは、相手の端末でそのまま通る形で書く。
Why: ○月○日、bash の形で渡して、相手の端末で構文エラーになった。
How to apply: 書き直して、構文が通るのを確かめてから渡す。
「—」で囲んだ部分が札、その下が本文です。metadata の下の行は字下げして書きます
メモ 1 件の札の見本。name・description・Why・How to apply と、索引の 1 行の関係を示した図

1. 置き場所は、プロジェクトごとのフォルダです

メモリーは、ホームの下の .claude/projects に、プロジェクトごとのフォルダとして作られます。

01. Windows と Mac で、パスの書き方が変わります

MEMORY PATH — メモリーの置き場所WIN / MAC
memory path(見本)
Windows D:\work\blog のとき
%USERPROFILE%\.claude\projects\D–work-blog\memory\
Mac /Users/taro/blog のとき
~/.claude/projects/-Users-taro-blog/memory/
中身:MEMORY.md(索引)+メモ 1 件につき 1 ファイル
名前はダミーです。ドライブの「:」も、区切りの「\」「/」も「-」になります。Mac は先頭の「/」が「-」に変わります

02. 作業用に分けたフォルダでも、同じメモリーが読まれます

私は作業ごとに git の worktree でフォルダを分けています。この記事を書いている会話も作業用のフォルダで始めましたが、読み込まれていたのは元のリポジトリの索引でした。

2. 中身は、索引 1 枚とメモの束です

COUNT — 2026年10月21日の実測MEM 01
FILES — メモ144 件索引を除いたファイルの数INDEX — 索引141 行MEMORY.md の 1 行がメモ 1 件SIZE — 索引の大きさ約 29KB読み込みの上限を超えているSINCE — いちばん古いメモ9月7日そこから約 6 週間で 144 件

01. 索引は先頭から上限まで、本文は開いたときに読まれます

MEMORY.md は、メモ 1 件につき 1 行の目次です。公式の説明では、会話を始めると索引の先頭 200 行、または約 25KB までが読み込まれます(2026年10月21日時点)。上限を超えた分は読み込まれない仕組みです。本文は、AI がファイルを開いたときだけ読まれます。

INDEX — 索引の見本MEM 02
MEMORY.md(見本)
– [渡すコマンドは相手の端末の形で](commands-in-shell-form.md) — bash の形で失敗した
– [公開済みの記事は作り直さない](no-rebuild-published.md) — 直すのは未公開だけ
– [台帳の置き場所](ledger-location.md) — 条件はここで引く
1 行に、開くかどうかを決められる一言だけを添えます

02. 1 件 1 ファイルなら、直す場所が 1 つで済みます

1 冊のメモ帳に追記すると、古い決定と新しい決定が同じ紙に並びます。1 件 1 ファイルなら、決定が変わったときに開くのはそのファイルだけで、消すときもファイル 1 つと索引の 1 行で終わります。

3. 種類は 4 つに書き分けます

メモの頭には、4 つの種類から 1 つを書きます。私の 144 件の内訳を、1 枚ずつ見せます。

USER — 1 件

01. user:私が誰か

屋号や名義など、私自身についての決まりです。

見本:屋号は○○。業者の書類の会社名もこの名前で書く。

01 / 04
横へ送る →
FEEDBACK — 81 件

02. feedback:叱って決めたこと

いちばん多い種類です。言われたことを規則にして、理由と次の動き方を添えます。

見本:渡すコマンドは、相手の端末でそのまま通る形で書く。

02 / 04
横へ送る →
PROJECT — 42 件

03. project:進んでいる仕事

どの記事が下書きで、何が残っているか。会話をまたぐ仕事の途中経過です。

見本:連載の 7 本は下書き。残りは画像と最終確認。

03 / 04
横へ送る →
REFERENCE — 19 件

04. reference:どこに何があるか

台帳の置き場所や、外のサービスでの操作の順番です。メモは平文のファイルなので、鍵やパスワードの値は書きません。

見本:業者ごとの条件は○○の台帳。判断はそこから引く。

04 / 04

足すと 143 件で、残る 1 件は種類の書き忘れでした。

4. 札と本文の書き方

WHY — 理由の見出し107 件太字の Why で始まる段があるLINK — メモどうしのつなぎ138 件144 件のうち

01. name と description は、索引から選ぶための札です

name はファイル名と同じ英数字、description は 1 行の要約です。要約が「注意すること」のような中身のない言葉だと、AI は本文を開く理由を見つけられません。

02. メモどうしを名前でつなぎます

似た話のメモは、終わりに相手の名前を二重の角かっこで囲んでつなぎます。1 件を開けば、関係するメモへたどれます。

5. 数え直して見つかった、3 つのつまずき

索引に無いメモ 3 件見えない文字が入った行 1 行今の決まりと食い違うメモ 1 件

01. 索引から外れたメモが 3 件ありました

索引に無いメモは、AI が開くきっかけを持ちません。うち 1 件は、同じ日に同じ注意を別の名前で書いた 2 件目でした。144 件から 3 件を引いた 141 件が、索引の 141 行と合います。

02. 1 行だけ、行頭に見えない文字が入っていました

行頭の「- [」で数えると、索引は 140 項目でした。残る 1 行は、頭に空の文字(NUL)が 190 個入っていて、画面では普通の行に見えます。

03. 古いメモが、今の決まりと食い違っていました

記事の一人称を屋号で書く、と決めたメモがあります。翌日に一人称は「私」に変わり、CLAUDE.md は直りましたが、メモは古い決定のままでした。決まりが変わった日は、両方を開きます。

数え直しは、memory フォルダに移ってから次のコマンドで行います。1 行目が件数、2 行目が索引に無いファイルの名前です。

count memory
Windows(PowerShell)
(Get-ChildItem *.md).Count
Get-ChildItem *.md | Where-Object { $_.Name -ne ‘MEMORY.md’ -and -not (Select-String -Path MEMORY.md -SimpleMatch “($($_.Name))” -Quiet) } | Select-Object -ExpandProperty Name
Mac(ターミナル)
ls *.md | wc -l
for f in *.md; do [ “$f” = MEMORY.md ] || grep -qF “($f)” MEMORY.md || echo “$f”; done
件数は索引の MEMORY.md を含みます

6. 向かない人と、できないこと

同じプロジェクトで毎日使う会話を 1 回で終える使い方別の PC への持ち越し索引を長くしすぎる

メモリーはリポジトリの外にあり、git には載りません。別の PC で同じ記憶を使うには、フォルダごと写します。

索引には読み込みの上限があります。私の索引は 141 行で行数の上限には届きませんが、約 29KB で大きさの上限を超えています。いちばん長い行は 393 文字でした。索引の 1 行は 1 項目の短い一言に保ち、終わった仕事の項目は整理していきます。

7. よくある質問

CLAUDE.md とメモリー、どちらに書けばいいですか。

誰が作業しても守らせたい規則は CLAUDE.md です。リポジトリに入るので、チームにも届きます。メモリーは自分の PC の中の記録です。

自分で書き足してもいいですか。

中身は普通の Markdown のテキストで、エディタで開けます。私のメモは会話の中で AI が書いたものです。

要らなくなったメモは、どう消しますか。

ファイルと索引の 1 行を、両方消します。片方だけだと、無いファイルを指す行か、読まれないファイルが残ります。

メモが間違っていたら、どうなりますか。

AI は古いメモのとおりに動きます。私は、実物とずれていたら確かめて直すよう、CLAUDE.md に書いています。

ほかの人に読まれることはありますか。

git に上げない限り外へは出ません。ただし平文なので、PC を共有していれば読めます。

8. まとめ

Claude Code のメモリーは、索引 1 枚と、1 件 1 ファイルのメモでできています。索引は先頭から上限まで読まれ、本文は開かれたときだけ読まれます。

  • 置き場所はホームの下の .claude/projects。プロジェクトごとにフォルダが分かれる
  • 索引の 1 行は、開くかどうかを決められる短い一言にする
  • 種類は user・feedback・project・reference の 4 つ。私の内訳は 1・81・42・19 件
  • メモは平文。鍵やパスワードの値は書かない
  • ときどき数え直す。索引に無いメモは読まれない

書いたメモも、AI が開かなければ動きは変わりません。私がそこでつまずいた話と、叱った理由の書き方は叱った理由をメモに残す回にまとめました。


はじめての方へ
声で動くAIを家に入れる
声で動くAIを家に入れる — 契約から導入までの全手順

実用編 STEP 1。Claude Code と Claude in Chrome は Free では動かない。松竹梅3プランの比較、PowerShell/macOS の導入コマンド、必要なツール、使用量の考え方まで。

-J.A.R.V.I.S.

Copyright© Killer Picks Express , 2026 All Rights Reserved.