私は AI の提案を、もうほとんど検討していません。良かれと思って出てくる新機能も、親切な改善案も、丁寧な代替案も。AI は却下を覚えないので、断った提案は次のセッションでまた出てきます。それで開発が雑になったかというと、なっていません。このシリーズは、その状態を仕組み一つずつで作っていく連載です。

各回の終盤には「検証手順」という節があります。先に読む必要はありません。置いた仕組みがなぜ要るのかを、自分の目で確かめたくなったときに戻ってください。

症状から対処法を学ぶ

各回は、うまくいかない症状から始まります。その対処法には、関連する AI の性質や仕様と、なぜその対処が適切かの解説が付いています。

先に、なぜその対処が適切かを覚える必要はありません。仕組みを一つ置けば、対処はできます。

AI の性質や仕様を覚えても、組み合わせ次第で、AI は間違えることがあります。通常の設計開発では気付きにくい、複数の性質や仕様が絡む落とし穴を、症状から順に学べます。

まず、心当たりを確かめる

まず一つだけ、思い出してみてください。

直近のセッションで、AI の提案を断った箇所です。

その提案は、何度目でしたか。

まだ AI と一緒に開発していないなら、断った箇所が思い出せなくて当然です。ここから先は、その回数が人間の側にだけ積み上がる話を順に見ていきます。

初めてではなかったはずです。同じ機能、同じ改善、同じ「ついでにこうしませんか」。前にあなたが断ったのに、また来る。断る。次のセッションで、また来る。

断るのは、いつも人間だけ

AI は、断られたことを覚えていません。忘れているのでもありません。覚える・忘れるという話に、そもそもなっていないからです。次のセッションの AI は、同じコードベースを見て、同じ抜け穴に気づいて、同じ提案をします。あなたにとっては「二度目」ですが、AI にとっては毎回が一度目です。

Claude Code のドキュメントは、セッションはそのたびにまっさらなコンテキストで始まると書き、知識をセッションの向こうへ運ぶ仕組みを 2 つ挙げています。人が書く指示ファイルと、AI が自分で書くメモリです。会話の中で断っただけの却下は、そのどちらにも入りません。断ったという事実は、そのセッションと一緒に終わります。

同じ提案が来るのは、AI が毎回同じ出力を返すからではありません。Claude API のリファレンスは、temperature を 0.0 にしても結果は完全には決定的にならないと書いています。二度目に来るのは同じ文ではなく、同じ種類の提案です。同じコードベースを同じモデルが見れば、言い回しは変わっても、行き着く先は集まります。

提案の側が尽きないことにも、理由があります。Claude Code の best practices は、レビューをさせるときの注意として、隙間を探せと頼まれたレビュアーは、仕事が健全でも、たいてい何かを報告すると書いています。頼まれたのがそれだからです。コードベースを見て改善点を出すのも同じ仕事で、探せば何かは見つかります。

そして提案を出すコストは、AI 側にはほぼありません。判断のコストは、人間の側にだけ積み上がります。断るたびに理由を思い出し、前と同じ結論に至り、同じ説明をします。

外に置くと効くのは、書いたファイルが毎セッション読み込まれるからです。Claude Code のドキュメントは、指示ファイルを削るときに何を残すかも書いています。モデルがコードベースから導ける内容を削り、落とし穴と、理由と、ツールの既定と違う慣習を残す、としています。却下はこの理由の側で、コードベースを読んでも導けません。残す側だと公式が書いているものを、私は会話の中で捨てていました。

ただし、外に置いたものも、足すほど薄まるのは同じです。却下の一覧は指示ファイルと同じ注意の予算を食うので、200 行未満を目安にという同じページの注意が、そのまま当たります。この手が成り立つのは、書く側の種類が増え続けないときだけです。

理解したことは一文にできます。

AI は却下を覚えない。提案のコストはゼロで、判断のコストは人間だけが払う。だから却下は、一度で書き切って外に置く。

前の連載の、続きです

前作「読まない技術」の結論は「ルールは読まれたときだけ効く。自動テストや hook は読まれなくても落ちる」でした。守ってほしいことを指示ファイルに書くのをやめて、破られたら落ちる自動テストに置き換える——第 6 回がその実装です。

ただし、あの回は自分で線を引いていました。自動テストに翻訳できるのはプログラムが真偽を決められるルールだけで、「この機能はあえて作らない」のような判断・方針は翻訳できないので、読ませる側に残します、と。

このシリーズは、その残した側が主題です。やることは前作と同じ、ルールから仕組みへ。扱うものが一つ上がるだけです。

  • 前作: AI の出力を、読まなくて済む形にした
  • 今作: 人間の判断を、二度しなくて済む形にする

前作とは、逆のことを言います

前作の第 2 回では、こう書きました。AI がメモリを保存するたび、以後の全セッションが読む量は増える。1 回の保存は、そのあと毎回払い続けるコストになる、と。

今回は反対です。1 回の却下は、そのあと毎回、払わずに済むようになります。

違うのは、増え方です。気づきは無限に出てきます。断る内容は、そうではありません。私の手元では 17 件で止まっています。

17 件は、17 回断った結果です

この連載は「やらないことリストを作りましょう」という話ではありません。

私の手元にある 17 件は、一件ずつ断って、一件ずつ書いたものを、後から一枚に集めたものです。先回りして考えた禁止は 1 件もありません。今日置くのは、二度目に断った 1 件だけでいい。前作と同じで、失敗する前に置いた仕組みは、たいてい馴染みません。

舞台も前作と同じ、typingtube という、YouTube の音楽動画でタイピング練習ができる Web サービスです。個人で運営していて、本番で動いています。

シリーズの構成

最終回で、8 つがどうつながって一つの流れになるかをまとめます。

次回は一番手前の話から。私は、AI の提案を検討していません。それでも、良い提案を取り逃したことはありません。

連載「AIの意見を聞かない技術」