AIに出していた指示のうち、やり方、手順、計画、念押し、ダメ出しの大半を、私は言わずに済ませています。それでも、AIが作るものの品質は、指示していた頃と同じです。言わずに済ませているといっても、丸投げ(渡すものを用意せずに「うまくやって」と言うこと)とは別物です。

症状から対処を学ぶ

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

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

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

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

まず一つだけ、数えてみてください。

AIと一緒に開発しているなら、直近のセッションを上までスクロールして、あなたが打った言葉だけを拾ってください。

打った言葉は、全部で何回ありましたか。

そのうち、言わなくてもAIがやることを言っていたのは、何回でしょう。

まだAIと一緒に開発していないなら、数える対象が無くて当然です。

指示ファイルの行数は、2 回大きく落ちました

1 作目「読まない技術」の序論で、ルールは足すほど薄まる、と書きました。指示ファイルにルールを 1 つ足すと、AIがほかのルールに向ける注意が少しずつ減る、という話です。私の手元の指示ファイル(CLAUDE.md)は、ルールを足すたびに行数が増えていきました。私は、gitの履歴でこのファイルの行数を全部たどりました。

行数は、2 月に 85 行から 99 行まで増え、ある日 52 行に落ちます。そこからまた 119 行まで増え、別の日に 81 行に落ちます。

いまは 102 行です。

行数が落ちた 2 日には、共通点がありました。どちらの日も、指示ファイルの行を削ったコミットに、hook(コミットのときなどに自動で走るスクリプト)の変更も入っています。1 回目は、コミットメッセージのhookを書き換えた日です。2 回目は、デザインのラチェット(色を直に書いた箇所などの件数が、前より増えていないかを確かめるスクリプト)を、CIからpre-commit hookへ移した日です。削った行は、どちらの日も、その日に変えた仕組みを説明していた行でした。指示ファイルに常駐していたルールは、仕組みを変えたコミットの中で、一緒に削られています。

一方で、どのコミットにも入らないものもあります。私が毎回打っている言葉です。

打った言葉は、指示ファイルには書かれず、セッションが終わればそれきりになります。冒頭で数えてもらったのは、この言葉です。

前 2 作は、AIの言動への反応をやめた話でした

この連載は 3 作目です。

  • 1 作目「読まない技術」: AI の出力を、読まなくて済む形にした
  • 2 作目「AIの意見を聞かない技術」: AI の提案・判断を、二度検討しなくて済む形にした
  • 3 作目(この連載): 人間の入力を、言わなくて済む形にする

私は前 2 作を読み返して、気づいたことがあります。前 2 作で私が言わなくなったものは、どれも、AIが何かを言ったり、したり、提案したりしたことへの反応でした。具体的には、作業中の指摘、却下の理由、ルール違反かどうかの相談、確認依頼への返事です。私は、それらの反応を一つずつ仕組みへ移しました。

残っていたのは、作業の最初に私がAIへ渡す言葉だけでした。

1 文だけ、説明していないものが残りました

1 作目の最終回に、私はこう書きました。方針を検討するとき以外に、私がAIに入力する言葉は、ほぼ次の 2 文だけです。

次の作業を進めてください

ここまで不足点はないですか?確認して不足点がなければ次のセッションに引き継いでください

2 文目には、1 作目の 1 回ぶんを丸ごと使って説明を書きました。説明したのは、この確認をなぜ自動化しないかと、この確認で何を拾い、何を拾うことができないかです。

1 文目には、その説明がありません。添えたのは、AIが作業を終えるのを待つことの約束だ、という 1 行だけです。具体的な指示が無くても作業が進むのはなぜか。AIが自分でやることは何で、人間が渡すべきものは何か。私は、これらの説明を書かないまま、2 作 28 本を書き終えていました。

減らすのは指示で、増やすのは前提です

私が減らすのは、AIへの指示です。手順、禁止、検証の依頼、念押し、戦略の助言がこれに当たります。増やすのは前提です。前提とは、私しか知らないこと、この環境でだけ起きること、越えてはいけない境界のことです。前提は、前より多く書いています。ある情報を前提として書くかどうかは、文章の長さでは決めません。AIがその情報を自分で手に入れることができるかどうかで決めます。

教えても、うまく回らなかった人へ

もう一つ、この連載を書いた理由があります。

自分ではAIとの開発がうまく回っているのに、その進め方を人に教えたら、教わった人の手元ではうまく回らなかった、という経験はないでしょうか。この連載は、そういう人の手がかりになるように書きました。

この連載の各回が外していくのは、具体的に指示する、検証させる、間違いを指摘して直させる、といった、一般によく勧められる助言です。どれも真っ当な助言です。

指示を言うのをやめるときは、言う代わりに置くもの、つまり置き換え先が要ります。置き換え先を置かずに言うのをやめれば、冒頭で書いた丸投げと同じになるからです。

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

連載の構成


次回は一番手前の話から。私は、AI に検証を頼むのをやめました。 頼んでいた頃と、品質は変わっていません。

連載「言わない技術」