第3部 コンテキスト · 第8回 / 全20回 · 15分くらい
前提が古くなるとき。書いても守られないのは、第2世代の限界
第2世代の区切りの回です。前提のファイルを育ててきた人ほど、いつか「書いてあるのに守られない」に出会います。この回では、前提がどう古くなるのかを3つの形に分け、減らし方を決めます。そして、ことばでは越えられない限界を確かめます。
履修 0 / 20 回
この回を読み終えると、できるようになること
- 前提が古くなる3つの形(古い・ぶつかる・長すぎる)を、例で説明できる
- 自動で書き込まれる前提(メモリや毎朝の状況)が古くなったときの困り方を説明できる
- 「破られたら困るルール」をファイルから検査の段へ移す判断ができる
専門用語は、初めて出たところで括弧に短い説明を付けています。説明が長くなるものには ※番号を付け、ページの終わりの用語メモにまとめました。
1古くなり方は3つある
| 形 | 例 | 起きること |
|---|---|---|
| 古い | もう無いファイル名や手順が書いてある | AIが存在しないものを探す、勧める |
| ぶつかる | 「テストは npm test」と「テストは pnpm test」が両方ある | どちらを選ぶかが毎回変わる |
| 長すぎる | 大事な1行が、300行の中に埋もれている | 大事な1行ほど守られにくくなる |
どれも、足すときには気づけません。1行ずつは正しいからです。Claude Code のドキュメントにも、ぶつかる指示があるとAIがどちらかを適当に選ぶことがある、と書かれています。
2自動で書き込まれる前提は、古くなると全部の会話に配られる
手で書いた前提だけでなく、仕組みが自動で書き込む前提もあります。AIが自分で書くメモリ※1や、毎朝の状況を CLAUDE.md に書き込む仕組みなどです。
自分の環境では、毎朝 CLAUDE.md に書き込まれる「今日の状況」に、もう引退させたジョブの「🚨 失敗」が出続けていました。見張りの仕組みが、引退したジョブの古い記録を読み続けていたのが原因です。自動で配られる前提は、古くなると、すべての会話に同じ間違いを配ります。しかも毎朝書き直されるので、手で消しても翌朝には戻ってきます。直すべき場所は、書き込む側の仕組みです。
3メモリも古くなる
AIに覚えさせたメモリは、書いた時点では正しくても、あとでファイル名や設定が変わります。自分のメモリには、ファイル名は「Dropbox に置いてある」なのに、中身は「Mac 本体に移した」というものが残っていました。
だから自分は、メモリに出てくる名前やパスを、使う前に今もあるか確かめることにしています。メモリは「書いたときの事実」であって、「今の事実」ではありません。
4減らすのは、まとめて定期的に
足すのは1行ずつでも、減らすのはまとめてやるほうが楽です。月に1回くらい、前提のファイルを読み返し、次の3つを消します。
- 守られていない、または守る必要がなくなったルール
- もう関係のない項目(終わったプロジェクト、使わなくなったツール)
- 重なっている項目と、ぶつかっている項目の片方
消すかどうか迷ったら、消してみて1か月困らなければそのまま、困ったら戻す。前提のファイルは git(ファイルの変更の履歴を残す道具)で履歴を残しておけば、戻すのは簡単です。
5書いても守られないのは、ことばの限界
何度書いても、強く書いても、ときどき破られるルールがあります。それは書き方の問題ではなく、第2回で見た「たぶん守られる歯止め」の限界です。
たとえば「本番のデータを消さない」は、99回守られても、1回破られたら取り返しがつきません。こういうルールは、ファイルに書くだけでは足りません。
6次の段への橋渡し
破られたら困るルールは、機械で止める段(第3世代のハーネス)へ移します。ファイルには「なぜそのルールがあるのか」だけを残しておきます。理由が書いてあると、AIはそのまわりの判断(たとえば、消す前に控えを取る)も間違えにくくなります。
ことばの段で直すことと、機械で止める段に移すことを分けて考えられるようになると、前提のファイルは短く保てます。
誤解よくある思い違い
ルールが守られないのは、書き方が弱いから。「絶対に」と書けば守られる
強く書いても、ことばの歯止めは確率で効くままです。破られたら困るものは、検査の段へ移します。
メモリに書いてあるなら、それは今も正しい
メモリは書いたときの事実です。名前やパスは、使う前に今もあるかを確かめます。
この段が要るとき
- 同じ説明を毎回しているのに、まだファイルにしていない
- 決まった作業でだけ読ませたい手順がある(2段目へ)
要らないとき(ここで止めてよい)
- 前提のファイルがすでに長く、守られない行が出てきた(減らす・次の段へ)
- 破られたら困るルール(ファイルではなく機械で止める)
演習手を動かして確かめる
演習1
CLAUDE.md に「コミットの前に必ずテストを走らせる」と書いてあるのに、ときどきテストを走らせずにコミットされます。どう直しますか。
答えを見る
何度も破られているなら、ことばの限界です。フック(第9回)で、コミットのコマンドの前にテストを走らせ、落ちたら止める作りに移します。CLAUDE.md には「コミット前のテストはフックで走る。落ちたら直してから」と、理由と仕組みだけを残します。
演習2
毎朝、CLAUDE.md に自動で書き込まれる「今日の状況」に、もう使っていないジョブの警告が出続けています。CLAUDE.md の該当行を手で消せば解決しますか。
答えを見る
解決しません。翌朝、書き込む仕組みがまた同じ警告を書きます。直すのは書き込む側です。見張りの仕組みが、使っていないジョブを見ないようにします(自分の環境では、引退させたジョブに印のファイルを置き、見張りがその印を読んで外すようにしました)。
頼み方そのまま使える頼み方の例
自分の CLAUDE.md とメモリを読み、次の3つを探して一覧にしてください。
1. 古い:書かれているファイル名・パス・コマンドのうち、今は存在しないもの(実際に確かめる)
2. ぶつかる:互いに矛盾している指示の組
3. 守られていない:破られたら困るのに、ことばだけで止めているルール
それぞれに「消す・直す・フックや権限の設定に移す」のどれがよいかを添えて、変更はせずに止まってください。 用語メモ本文の ※番号の説明
- ※1メモリ(auto memory) AIが会話の中で知ったこと(自分の好み、注意点、プロジェクトの事情)を、自分でファイルに書き残し、次の会話でも読む仕組み。Claude Code では、最初の200行または25KBが毎回読み込まれる。 本文へ戻る ↩
出典確かめた資料(2026年10月時点)
- Claude Code Docs「How Claude remembers your project」 ぶつかる指示はどちらかが選ばれることがある、メモリの読み込み量(200行または25KB)。