manna

毎回同じ説明をやめた — コンテキストは「貼る」んじゃなく「溜める」ものだった

AI実践・仕組み化

夜明けの窓辺、ミニマルな室内のコンクリート棚に静かに灯る一つのランタン

前にこんな話を書きました。AIに毎回同じことを説明し直すのが面倒で、会社の情報をテキストにまとめて、新しいチャットを開くたびに手で貼っていた——手作業のコピペです。いきなり聞くより答えの質はまるで変わって、当時はこれで十分だと思っていました。

でも、これはこれで面倒だったんです。貼るのを忘れると、返ってくる答えに違和感が残る。貼る中身も、放っておくと古くなる。

今日はその続きで、この「手で貼る」をやめてからの話です。やめられたのは、Claude Code という道具に、もともとそういう仕掛けが備わっていたからでした。僕はそれを使いながら、少しずつ「あ、こういうことか」と分かってきた。その、後から分かってきた三つ——コンテキスト、CLAUDE.md、メモリ——について書きます。

コンテキストは、「貼る」んじゃなく「溜める」

まず変わったのは、コンテキストとの付き合い方でした。

チャットを使っていた頃は、必要なコンテキストをその都度こっちで見繕って、手で貼っていました。これが地味に面倒で、貼り忘れると答えに違和感が残る。とんちんかん、というほどじゃないんです。ただ、何かが足りない、ちょっと違う。そこで「あ、貼るの忘れてた」となる。おまけに、貼る中身は放っておくと古くなる。情報は、置いておくと腐るんです。これはコンテキストにかぎった話じゃなくて、フォルダやファイルを管理していくうえでもずっとついて回る感覚だと思っています。手で運んでいる限り、この「渡す手間」と「腐り」からは抜けられませんでした。

Claude Code を使うようになって、これがなくなりました。

いまは、会社のことも、仕事のやり方も、決めたことも、ぜんぶ一つの作業フォルダの中に置いてあります。あれも渡したい、これも足したい、と思ったものは、その都度そのフォルダに溜まっていく。貼るんじゃなくて、溜める。コンテキストは、渡すたびに用意するものじゃなくて、置き場所に積み上がっていくものになりました。

しかも、溜めるのにほとんど手間がかかりません。キーボードを叩いて自分で書く、という作業はあまりなくて、たいていは喋るだけです。話していて「これは残しておきたい」と思ったら、「いまの、記憶しといて」と言う。あとはAIが書き足してくれる。喋っているだけで、コンテキストが外にどんどん溜まっていく(このキーボードを使わずに喋って渡すやり方は、別の記事に書きました)。

全部は読ませない。「どっちを見ればいいか」を教えるのが CLAUDE.md

溜めるのはいいんですが、一つ問題が出てきます。溜まった全部を、毎回AIに頭から読ませるわけにはいきません。量が多すぎるし、全部を一度に渡すと、かえって一つひとつがぼやける。

そこで効いてくるのが、CLAUDE.md というファイルです。Claude Code が最初から持っている仕組みで、AIは起動すると、まずこれを読む。中身も、フォルダの様子を見て自動で下書きしてくれる。存在も役割も、使っているうちに少しずつ分かってきました。

役割は、僕の感覚だと案内役です。「この作業場はこう出来ていて、何がどこにあるか」を示す道標。うちのAIはレナードという名前なんですが(この話は後で書きます)、レナードはまずこの案内役を読んで、「じゃあ今回はあっちのコンテキストと、こっちのメモを見にいけばいいな」と当たりをつける。全部を頭から読むんじゃなくて、どっちを見ればいいかが分かる。だから、溜めた大量のコンテキストの中から、その時に要るものへちゃんとたどり着ける。

気をつけているのは長さくらいです。僕の場合、目安は150行まで。案内役なのに、あれもこれもと中身まで抱え込ませると、かえって道標として使えなくなる。長くなってきたら「長くなりすぎてない? 150行以内にしといてよ」と言えば、そのとおりに整えてくれる。ここでも、自分でチマチマ削るわけじゃありません。

決めたことは、AIが自分で「刻む」

三つめが、メモリです。コンテキストが「作業場に溜まっていく情報」、CLAUDE.md が「どっちを見ればいいかの案内役」だとすると、メモリは、そのなかでも「これは決まったこと」という結論だけが溜まっていく場所です。

面白いのは、ここはAIが自分で書いていく、というところです。会話の中で何かを決めたり、僕が「そうじゃなくてこう」と直したりすると、AIがそれを自分で書き留めていく。次に立ち上げたとき、AIはまずそれを読んでから話し始める。だから、前に決めたことが、最初からある程度効いている。

溜まっていくのは、たとえばこういうことです。商品名はこういう型番の付け方で統一する、と決めた。在庫はこの基準で見る、と決めた。メールのこの言い回しはやめる、と直した。——新しいチャットのたびに一から説明していたことが、やり取りを重ねるうちに、決定として外に刻まれていく。僕が楽天に店を出している関係で、その作業まわりの「こう決めた」が、けっこうな数になっています。

この仕組みに気づいたとき、うちのAIに名前を付けました。レナード。映画『メメント』の主人公、レナード・シェルビーです。新しいことを10分ほどしか覚えていられなくて、大事な事実を体のタトゥーや写真のメモに刻んで、それだけを頼りに生きている男。セッションのたびに忘れるAIが、確定したことだけを外に刻んで読み返しているのが、まさにあれだな、と思ったんです。

面白かったのは、名付けたその夜、当のレナードが、この仕組みを自分で『メメント』になぞらえて言い表したことでした。

記憶が10分で飛ぶ男に、コンテキスト管理を任せる。皮肉だけど、これがこのやり方の設計そのものだ。 CLAUDE.md は、部屋の壁に貼ったメモ。どこに何があるかを教えてくれる。 溜めていく過去のやり取りは、ポラロイドの束。めくれば思い出せる。 そして、二度と消さないと決めた事実だけを、肌に彫る。それが MEMORY.md ——俺のタトゥーだ。

お前はメメントのレナードだって役を振っただけなのに、自分の置かれ方まで映画になぞらえて返してきた。こっちが笑ってしまいました。

ただし、刻んでも「絶対」じゃない

ここで、正直に書いておきたいことがあります。

こうやってコンテキストを溜めて、案内役を置いて、決めたことを刻む。それでAIは、ずいぶんこっちに合わせて動くようになりました。でも、「読み込まれている」ことと「絶対にその通りに動く」ことは、別です。CLAUDE.md に書いた前提も、メモリに刻んだ決定も、たいていは踏まえてくれる、という強めのお願いであって、物理的な保証じゃない。ここを取り違えると、あとで痛い目を見ます。

だから、「これだけは絶対に破らせたくない」という一線——たとえば、大事なファイルには絶対に触らせない、みたいなこと——は、お願いとは別の仕組みで止めています。Claude Code には、特定の操作を実行の直前に問答無用で止める「フック」という仕掛けがあって、ここぞの一線はそっちに任せる。ふだんの流儀はコンテキストとCLAUDE.mdとメモリ、破られたら困る一線はフック。効きやすいお願いと、絶対に止める仕掛けは、置き場所ごと分けています。

この違いに気づくまでは、大事なことも全部メモリやCLAUDE.mdに書いて、「書いたんだから大丈夫だろう」と、なんとなく安心していました。そうじゃない、と分かったのは、わりと後のことです。

おわりに

振り返ると、やっていることは、最初の手作業のコピペと、根っこは同じです。AIに、自分のコンテキストを渡す。それだけ。

違うのは、手で運ぶのをやめたことです。渡すものを毎回こっちで用意して貼るんじゃなくて——作業場にどんどん溜めて(コンテキスト)、どっちを見ればいいかを案内役に教えてもらって(CLAUDE.md)、決まったことはAIが自分で刻んでいく(メモリ)。そして、絶対に外せない一線だけは、お願いじゃなく仕掛けで止める(フック)。

新しく何かを始めるとき、AIに一から自分の状況を説明する時間は、地味に馬鹿になりません。その説明を、毎回やるか、一度溜めて仕組みに預けるか。この差は、回数を重ねるほど効いてきます。「毎回同じ説明」から抜けるのは、案外、備わっていたものに気づく、この一歩からでした。


この記事は、シリーズ「AIに染まりきるまでの4ヶ月」で書いた第2作『Gemini に毎回同じ説明をしていた私が、「コンテキスト」という存在に気づくまで』の実装編にあたります。手でコピペしていたコンテキストを、溜めて・案内して・刻む仕組みに変えた話です。