この記事は、連載「言わない技術」の第 10 回です。うまくいかない症状と、その対処を一つずつ並べています。各回はファイルやスクリプトを一つ置けば完結します。その仕組みがなぜ要るのかは、置いたあとに解説を読めば分かります。連載の全体像と各回の一覧は序論にあります。

今回は、AIのほうから私に聞いてくる問いの話です。「A と B、どちらにしますか」「〜という理解で合っていますか」といった問いです。私は、こうした問いの多くに答えるのをやめました。答えると、AIにとってその答えは前提になるからです。

前作「AIの意見を聞かない技術」の第 7 回で、AIのズレを訂正するのは仕組みの仕事だと書きました。この回で扱うのは、訂正とは別の、AIのほうから確認を求めてくる問いです。

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

直近のセッション(AIとの、始まりから終わりまで一続きのやり取り)で、AIから「A と B、どちらにしますか」「〜という理解で合っていますか」と聞かれた回数です。そのうち、答えなければAIの作業が止まったものは何回でしょう。

CC BY 4.0

答えると、答えが前提になります

Anthropic の Opus 5 向けのプロンプト指針は、プロンプトに書く例として、確認の頻度についての一文を挙げています。日常的な判断はAIの側で下し、指示の読み方の違いが仕事の中身を変えるときだけ確認する、という内容です。

AIが自分で決めてよい問いに私が答えると、私の答えは、AIへの入力に前提として加わります。前提を渡すと何が起きたかは、この連載の第 7 回で測りました。「この 10 本には 1 本につき 1 つずつ入っています」と、事実と違う前提を課題の文に混ぜると、sonnet は、別の見出しの太字の文を 10 行目に入れました。sonnet が満たしにいったのは、私が渡した前提のほうでした。

そして、答えは、そのセッションの会話の中にしか残りません。Claude Code のドキュメントは、セッションは互いに独立していて、新しいセッションは前のセッションの会話を持たずに始まる、と書いています。次のセッションのAIは、私の答えを持たないところから始まる、ということです。私が置いた仕組みのほうは、リポジトリのファイルとして残り、どのセッションでも同じように働きます。

あなたがAIに作業を頼んでいると、AIが「一覧の並び替えは、A の形と B の形のどちらにしますか」と聞いてきました。どちらを選んでも、頼んだ仕事の中身は変わりません。前のセッションでも、同じ形の問いに答えた覚えがあります。あなたなら次のどちらにしますか。

  • 「A でいきましょう」と答えて、作業を先へ進めてもらう
  • 答える前に、その問いを引き受ける仕組みが手元にあるかを見て、無ければ 1 つ置く

答えは、答える前に仕組みを見るほうです。前のセッションで答えたのに、同じ形の問いが来ました。前のセッションの答えは、このセッションのAIには届いていません。答えは、そのセッションの会話の中にしか残らないからです。いま「A でいきましょう」と答えても、その答えはまた、このセッションの中に残るだけです。そのうえ、答えはAIへの入力に前提として加わります。第 7 回では、事実と違う前提を渡すと、sonnet はその前提に合う文を探して表に入れました。仕組みは、リポジトリのファイルとして残り、どのセッションでも同じように働きます。その問いを引き受ける仕組みがあれば、あなたが答えなくても、問いの答えを決めるのは仕組みの側です。

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

問いに答えることは、答えを前提として渡すこと。だから、同じ問いに二度答える代わりに、その問いを引き受ける仕組みを置く。

置いてあるのは、ここまでの 9 回で置いたものだけです

ここまでの 9 回で置いたものを並べると、こうなります。

回置いたもの私が答えなくても決まること
1実行の依頼に機構の裏打ちを要求する自動テストコミット前のチェックを走らせるか(hookが走らせる)
2用途カタログの requires(渡すものだけ縛る)サブエージェントに何を渡すか(そろわなければ起動しない)
3不具合の詳細を画面に集めさせるフォームどのURLで、コンソールに何が出ていたか(フォームが集める)
4書かれた計画書そのもの(前例の蓄積)計画書を書くか、どの体裁で書くか(並んだ計画書に合わせる)
5強調の件数のラチェット強調を含む行を足してよいか(基準値を超えれば自動テストが落ちる)
6出力の形を書き切った手引き(唯一の例外)どの形で出力するか(受け入れテストが判定する)
7前提の無い疑問形で固定した、依頼の 2 文目不足点があるか(あると決めずに尋ねるので、AIが答える)
8置き換え先のない禁止の検出禁止の代わりに何をするか(書いていなければ、保存の直後に警告が出る)
9指定したファイルに目印を要求する自動テスト並べたファイルに手を入れたか(目印が無ければ自動テストが落ちる)

右の列は、AIに聞かれても、私が答えなくても決まることです。どれも、「私が答える」の代わりに、プログラムが判定するか、置いてあるものをAIが読んで決めます。第 6 回に付けた「唯一の例外」は、この連載で第 6 回だけが、AIに言うことを増やした回だという意味です。

前作で、実装からずれていくと書いた種類の項目は、行動ルールでは自動テストへ移してありました

前作の第 8 回で、私は、「機械検証: なし」(自動テストにしないと決めた禁止事項に書く目印)の項目は、自動テストも hook も見ていないので、実装が変わっても誰も気づかないまま、書いてあることと実装がずれていく、と書きました。

私は、そのとおりになると思っていたのです。ところが、この連載の第 8 回で私が行動ルール 43 件を数えると、「代わりにどうするか」を持たない 6 件のうち 5 件は、実装からずれていく代わりに、あとから自動テストへ移してありました。

前作で私が数えたのは禁止事項の一覧 17 件で、行動ルールとは一覧が違います。同じことが別の一覧でも起きていた、というだけで、前作の一覧の内訳は、前作に書いたままです。

切り分け: 前作の 9 つ目とは、扱うものが違います

前作「AIの意見を聞かない技術」で、私は、AIの提案を二度検討しないための仕組みを 8 つ置きました。その最終回では、9 つ目として「選択肢を選ばない技術」を扱いました。前作の最終回が扱ったのは、AIが選択肢を並べてきたときに、私が判断する側です。この回が扱うのは、AIが問いを投げてきたときに、私が入力する側です。

そして、前作の最終回は、こう言い切っています。

この記事のタイトルにある 9 つ目の技術は、私が 8 つの技術を置いた結果として、いつのまにか出来ていました。私には 9 つ目の置き方を説明することができないので、あなたに渡すことのできる技術は、8 つのほうだけです。

この回も同じで、渡すのは置いたもののほうだけです。上の表に並べたのは、前作の 8 つとは別の、この連載で置いた 9 つです。

CC BY 4.0 はここまで

答えなくなったもの

私は、AIの問いに「A でいきましょう」「はい、合っています」「そこは大丈夫です」と答えなくなりました。AIに聞かれる回数は、前とほぼ同じです。変わったのは、問いの多くを仕組みが引き受けるようになったことと、仕組みが引き受けない問いだけが私のところに来るようになったことです。

CC BY 4.0

注意: 答えるべき問いは、あります

一つ、答えるべき問いはあります。最初の節で引いた例文の線引きどおり、指示の読み方の違いが仕事の中身を変えるときは、私が答えます。「この機能は作らない」「この語は使わない」を決めるのは、私です。

二つ、9 つを並べた表は、私の手元の形です。あなたが同じ 9 つを置く必要はありません。見てほしいのは、表の中身よりも、「聞かれたとき、どこかの仕組みが引き受けることができるか」を、答えるより先に見る順番のほうです。

検証手順: 聞かれたら、引き受け先を探す

前提

置くものはありません。用意するのは、あなたが既に置いた仕組みの一覧です(この回の表のようなもの。あなたの手元の仕組みを、紙かメモに書き出しておきます)。そのうえで、次にAIから確認の問いが来る場面を 1 回待ちます。

所要時間: 5 分(その場で 1 回)

手順

  1. AIから確認の問い(「A と B、どちらにしますか」「〜という理解で合っていますか」)が来たら、あなたが、答える前に手を止めます
  2. あなたが、その問いを 2 つに仕分けます。判定の基準は 1 つで、指示の読み方の違いが、仕事の中身を変えるかどうかです。中身を変える問い(「この機能は作らない」「この語は使わない」)は、あなたが答える問いです。中身を変えない問い(進め方、形式、どちらでも成立するもの)は、仕組みが引き受けるはずの問いです
  3. 仕組みが引き受けるはずの問いなら、あなたが、答えずに、その仕組みを見に行きます。見に行くのは、次の「見るところ」の 2 つのどちらに当たるのかを確かめるためです。答えてしまうと、どちらだったのかが、あとから分からなくなります

見るところ(合格か不合格かを決める代わりに、見に行った結果で 2 つに分けます)

  • 仕組みはあるが、働いていない —— 働いていない仕組みが見つかりました。あなたが直す場所が分かった、ということです
  • その問いを引き受ける仕組みが無い —— あなたが答えます。一度目は、答えてかまいません。そのうえで、その問いを記録しておきます。同じ問いが二度目に来たら、そのときに、その問いを引き受ける仕組みを 1 つ置きます

後始末

要りません。


CC BY 4.0 はここまで

次回は「AI にレビューをさせない技術」。私は、AI にレビューをさせていません。 それでも、抜けは私より先に見つかっています。

連載「言わない技術」