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 サービスで、が個人で運営し、本番で動かしています。
連載の構成
- 第 1 回 検証を指示しない技術
- 第 2 回 具体的な指示を出さない技術
- 第 3 回 不具合詳細を書かない技術
- 第 4 回 計画を書けと言わない技術
- 第 5 回 念を押さない技術
- 第 6 回 サブエージェントの出力だけは、細かく指示しろ
- 第 7 回 AI を問い詰めない技術
- 第 8 回 AI にダメ出ししない技術
- 第 9 回 AI に考えさせない技術
- 第 10 回 質問に答えない技術
- 第 11 回 AI にレビューをさせない技術
- 最終回 何もしない技術
次回は一番手前の話から。は、AI に検証を頼むのをやめました。 頼んでいた頃と、品質は変わっていません。
連載「言わない技術」
- → 次回: 第 1 回 検証を指示しない技術