本文へスキップ
もと @moto_ai_jp

第3部 コンテキスト · 第8回 / 全20回 · 15分くらい

前提が古くなるとき。書いても守られないのは、第2世代の限界

第2世代の区切りの回です。前提のファイルを育ててきた人ほど、いつか「書いてあるのに守られない」に出会います。この回では、前提がどう古くなるのかを3つの形に分け、減らし方を決めます。そして、ことばでは越えられない限界を確かめます。

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20

履修 0 / 20 回

この回を読み終えると、できるようになること

  1. 前提が古くなる3つの形(古い・ぶつかる・長すぎる)を、例で説明できる
  2. 自動で書き込まれる前提(メモリや毎朝の状況)が古くなったときの困り方を説明できる
  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. 守られていない、または守る必要がなくなったルール
  2. もう関係のない項目(終わったプロジェクト、使わなくなったツール)
  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. ※1メモリ(auto memory) AIが会話の中で知ったこと(自分の好み、注意点、プロジェクトの事情)を、自分でファイルに書き残し、次の会話でも読む仕組み。Claude Code では、最初の200行または25KBが毎回読み込まれる。 本文へ戻る ↩

出典確かめた資料(2026年10月時点)

読めたらチェック

この回:0 / 3