連載「自分専属のAI秘書を作る」第2回

自分専属のAI秘書を作る 第2回: 秘書に記憶を持たせて、二度と同じ説明をしなくする

目次 / INDEX

AI秘書づくりの第2回は記憶の話。結論から言うと、秘書の作業フォルダに「メモリ」フォルダを1個作って、1ファイル=1事実で貯めて、索引を1枚置いて、指示書に「起動時に索引を読め」と書く。これだけで「セッションのたびに自分の説明をし直す」作業がまるごと消える。第1回で指示書(合図と出力形式)を作ったので、今回はそこに記憶を足していく。

先に断っておくと、今回もファイルを作る手はAIが動かす。こっちが掴むのは「何を任せて、どう指示するか」の型だけでいい。

結論 第2回は記憶。AIは毎回初対面に戻るので、1ファイル=1事実の「メモリ」フォルダを作り、起動時に読ませる。これで二度と同じ説明をしなくて済むようになる。

問題: AIは毎回、初対面に戻る

普通にAIを使うと、セッションが変わるたびに相手は初対面に戻る。昨日「締切は日付だけじゃなくて曜日もセットで書いて」と直したのに、今日はまた日付だけで返ってくる。僕は夜型なので、深夜2時は感覚的にはまだ「今日」なんだけど、それも説明しない限り日付をまたいだ扱いをされる。予定の相談をするたびに「自分は夜型で、生活リズムがこうで」と、前提の説明から毎回始める羽目になる😡

1回2回なら我慢できる。でも秘書として毎日使うとなると、これは致命的だ。毎朝こちらの生活の前提から説明し直させる相手は、秘書じゃなくてただのチャットボットだと思う。

チャットサービス側の「メモリ機能」に任せる手もあるにはある。ただ、あれは中身がブラックボックスで、何を覚えて何を忘れたかがこっちから見えないし、直接編集もできない。秘書の記憶は、自分の手元に、自分で読める形で持ちたい。だからファイルでやる。

解: 1ファイル=1事実のメモリフォルダ

やることはシンプルで、ルールは3つだけ。

  • 1ファイル=1事実。「締切は曜日セットで書く」みたいな粒度で1枚ずつ
  • 索引ファイルを1枚だけ置いて、全ファイルへ1行ずつリンクを張る
  • 分野ごとに島を分ける。たとえば勉強/仕事/生活。関連する事実どうしもリンクで繋ぐ

なぜわざわざ1ファイルに1事実で割るのか。最初は僕も「秘書メモ.md」1枚に全部追記していく形を考えたんだけど、これは育つほどダメになる。1枚のメモが肥大化すると、直したいとき該当箇所を探して書き換える作業になるし、古くなった情報を消し忘れて矛盾した記憶が同居し始める。1事実1枚なら、更新はそのファイルだけ差し替えればいいし、要らなくなったら1枚消すだけで済む。記憶の入れ替えがファイル操作になるのが効く。

島に分けるのは、増えてきたときに索引が一枚岩だと探せなくなるから。島ごとに見出しを切っておけば、秘書も人間も「生活系の決めごとはこの辺」と当たりを付けられる。

メモリ1枚の書式

実際のメモリ1枚は、だいたいこういう骨組みで書いている。

# 締切は日付と曜日をセットで書く

- 種類: 好み(出力形式)
- 決めた日: 2026-07-19
- 島: 生活
- 関連: [[夜型の日付境界]]

締切を伝えるときは「7/25」だけでなく「7/25(金)」のように
曜日を必ず添える。日付だけ見て曜日を勘違いし、
前日に慌てたことがあったため。推測で曜日を書かず、
カレンダーかdateコマンドで実際に確認してから書くこと。

要素は4つ。見出しに事実そのものを一言で、メタ情報として種類(好み/決定/繰り返す事実)と日付と島、関連する他のメモリへのリンク、そして本文に中身と理由。

コツは理由まで書くことだ。「曜日を添える」だけだと秘書はただ従うだけだけど、「勘違いして慌てたことがあるから」まで書いてあると、似た場面(たとえば予定表の生成)でも同じ配慮を効かせてくれる。ルールの丸暗記じゃなくて背景ごと渡す感覚に近い。

あと、ファイル名にも一工夫。中身の種類を接頭辞にして feedback-deadline-weekday.md みたいに付けている。訂正・好みは feedback-、参照情報(よく使うURLや構成のメモ)は reference-、進行中の方針は project-、みたいな分け方だ。こうしておくと索引を経由しなくても、フォルダの一覧を眺めるだけで記憶の種類と中身がだいたい把握できる。

ちなみに、この書式もファイル名の規則も暗記する必要はない。ルールごと指示書に書いておけば、書式どおりにファイルを作るのは秘書の仕事になる。人間が覚えるのは「1枚1事実で貯める」という考え方だけでいい。

索引は「ファイル名: 一言」の1行カタログ

索引は全文の転載じゃない。1ファイルにつき1行、何の事実かだけを書く。

# メモリ索引

## 生活
- [締切は曜日セット](feedback-deadline-weekday.md): 締切は「7/25(金)」形式で書く
- [夜型の日付境界](feedback-logical-day.md): 深夜は前日扱い。日付の切り替えは午前3時

## 勉強
- [解説は導出から](feedback-show-derivation.md): 結論だけでなく導出と直感の説明を先に

## 仕事
- [報告はTLDR先出し](feedback-tldr-first.md): 長い報告は要約→詳細の順

秘書は起動時にまずこの1枚だけを読む。それで「この人にはこういう決めごとがある」という地図が頭に入り、詳細が必要になったときだけ個別ファイルを開きに行く。全メモリの本文を毎回読み込ませる設計にしなかったのは、記憶が増えるほど起動が重くなって本題に使える集中力(コンテキスト)が削られるからだ。索引1枚は薄く保つ。これが後で効いてくる。

運用手順は4ステップ

日々の回し方はこうだ。

  1. 会話の中で「これは今後も効く」という情報が出たことに気づく。訂正(「その言い方じゃなくてこう」)、決定(「この方式でいく」)、好み(「こういう形式がいい」)が典型
  2. メモリに1ファイル書く。既存の事実の更新なら、新しい紙を増やさずそのファイルに統合する
  3. 索引に1行足す
  4. 次のセッションで、秘書が起動時に索引を読む

2の「統合」は地味に大事で、たとえば「深夜は前日扱い」というメモリが既にあるところに「日付の切り替えは午前3時にしたい」と決めたら、新しい紙を作らず既存の1枚を書き換える。同じテーマの紙が2枚あると、秘書がどちらを信じるか毎回ブレるからだ。1テーマ1枚は守る。

で、この1〜3は自分で書かなくていい。秘書に「今の決定、メモリに保存しといて」と言えば、ファイル作成も索引の追記も向こうがやる。慣れてくると言わなくても「これはメモリに足しておくね」と拾うようになって、こっちは会話しているだけで記憶が貯まっていく。

一度この形ができると、「その言い方じゃなくてこう」と直したことが、翌日には直った状態で会話が始まる。初めてそれを見た日は、育ってる!と素直に思った。同じ指摘を二度しなくていい相手は、使っていてストレスが全然違う。

起動時に読ませる1節を指示書に足す

仕上げに、第1回で作った指示書(CLAUDE.md)へこの1節を足す。

## メモリ

- セッション開始時に `メモリ/索引.md` を読み、
  そこにある前提と直近の決定を踏まえて動くこと。
- 会話で確定した好み・訂正・決定は、その都度
  `メモリ/` に1ファイル追加(または既存に統合)し、
  索引にも1行足すこと。

これでループが閉じる。会話で決まったことがファイルになり、ファイルが次の起動時に読まれ、読んだ前提で会話が始まる。「毎回の説明」はこの時点で消える。プログラムは今回も1行も書いていない。

そしてこの仕組み作り自体、自分で打ち込むのが面倒なら「メモリの仕組みを作って、指示書にも足しといて」と秘書に丸ごと頼んでしまっていい。押さえるべきは1ファイル1事実と索引という設計の方で、作業はAIの領分だ。

何を保存して、何を保存しないか

最後に線引きの話。なんでも保存すればいいわけじゃない。

保存するのは、確定した好み、繰り返し効いてくる事実、一度決めた決定事項。逆に保存しないのは、その場限りの雑談、コードやカレンダーを見ればわかること、まだ揺れている思いつき。カレンダーの予定をメモリに写す、みたいなことをやると、正本とメモリの二重管理になって必ずどちらかが古くなる。見ればわかるものは毎回見ればいい。

線引きをサボってメモリが太ると、索引が長くなり、毎回それを読むコストが上がって、秘書の反応は遅く散漫になっていく。なんでも覚えている秘書は、実は使えない秘書だ。「次のセッションでも効くか?」を基準に、効かないものは書かない。

ちなみにこの「1枚1テーマで書いて、索引とリンクで繋いで、育てる」という発想は、別連載『Obsidianを第二の脳にする』でやっている蓄積知の作り方とまったく同じだ。実際、メモリはただのMarkdownなので、Obsidianで開けば秘書の記憶が地図みたいに眺められる。自分の脳の外部化と、秘書の記憶づくりは、同じ技術で出来ている。

関連連載 Obsidianを第二の脳にする 秘書の記憶とまったく同じ仕組みで、自分の知識を繋いで育てる第二の脳を作る連載。1ファイル1事実・索引・蒸留まで全4回。 連載を読む →

次回: 呼ばなくても動く秘書へ

記憶を持った秘書は、もう毎回の説明が要らない。ただ、まだ「呼べば動く」止まりではある。第3回は常時稼働と定期実行の話。安く用意した常時稼働のマシンにスケジュールを仕込んで、朝のブリーフィングや夜の日記生成が勝手に回るようにする。無人ならではの罠(黙って許可待ちで止まる、とか)も踏んだので、そこも含めて書く。

今回こっちが本当にやったのは、何を覚えさせて何を覚えさせないかを決めることだけだった。細部は忘れてよくて、この線引きの感覚さえ持ち帰ってもらえれば、あとは「この方針でメモリを作って」と頼めば再現できる。

よくある質問

AIが毎回、前の設定を忘れるのを直すには?

覚えておいてほしい事実を1ファイル=1件でメモリフォルダに保存し、起動時に読み込ませる。これで前提を毎回説明しなくてよくなる。

AIのメモリには何を保存すればいい?

確定した好み・決定・繰り返す前提など。一時的な話や毎回変わる情報は保存しない。索引(ファイル名+一言)で一覧できるようにしておく。

AIのメモリはどう管理する?

1事実1ファイルにして、索引を1行カタログで持つ。取り込み・更新の手順を決めておくと、脳のように少しずつ育てられる。