この記事は、連載「AIの意見を聞かない技術」の第 7 回です。各回はファイルやスクリプトを一つ置けば完結します。連載の全体像と各回の一覧は序論にあります。

今回は、AI が作業の途中で少しズレたことを言ったときの話です。前提を取り違えている、要らない機能を足そうとしている、直したはずの話を蒸し返している。そういう場面で、私は何も説明しなくなりました。

この回は、前作「読まない技術」で置いてきた仕組みを、まとめて思い出す回でもあります。前作を読んでいる方には復習になります。読んでいない方には、ここが入口になります。

まず一つだけ、思い出してみてください。直近のセッションで、AI が少しズレたことを言った場面です。あなたはそこで、説明しましたか。それとも、黙って進ませましたか。

CC BY 4.0

説明しても、しなくても、駄目でした

私は両方やって、両方で失敗しています。

説明したときの失敗。 作業の途中で「そこ違う」と挟むと、その指摘が最優先のタスクになります。前作の第 11 回で書いたとおりで、あなたの一言が正しい指摘であるほど、AI は誠実に全力でそちらへ向かい、進行中の計画ごと壊れます。人間の指示は、AI の中で何よりも強いからです。

説明しなかったときの失敗は、もっと高くつきました。私の手元の本番プロジェクト——typingtube という、YouTube の音楽動画でタイピング練習ができる Web サービスです——で、十数言語の翻訳を、サブエージェント——メインの会話を引き継がず、別に立ち上がって働く AI——に任せた日があります。13 体を並列で起動して、約 173 万トークン。各エージェントが自分用のツールを書き直し、同じ作業を別々のやり方で進めていました。私が気づいたのは、使用量の上限に当たったときです。

放っておけば AI が自分で気づく、は成り立ちませんでした。気づく材料が、その場に無かったからです。

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

ズレを訂正するのは、人間の仕事ではない。かといって放っておく仕事でもない。仕組みの仕事にする。

仕組み: 新しく置くものはありません

置くものはありません。前作で置いてきた仕組みが、そのまま訂正の代役になります。

前作は 12 回かけて仕組みを置いてきましたが、共通していたパターンは 5 つでした。この連載でも、全部そのまま使い直しています。

一つ、ルールは読まれたときだけ効く。足すほど薄まる。 指示ファイルに 1 行足すことは、他の全部を少し弱くすることです。だから「〜しないこと」を書き足す方向には答えがありません。この連載が却下を書き足す話ではなく、一箇所に集めて構造を与える話だったのは、これが理由です(第 1 回)。

二つ、AI は止められると探す。 素のコマンドを止めて案内を出すと、AI はその場で読み替えて進み直します。人間が会話に割り込むのと違って、作業の流れの中に届くので、優先順位を壊しません。今作では、サブエージェントの起動を止めるカタログがこの形です(第 4 回)。

三つ、読んだかは測れない。書いたか・在るかだけを見る。 ドキュメントを読んだかどうかは判定できませんが、「読まなければ作れないファイル」が存在するかは判定できます。今作では、起動前に、中央(サブエージェントを指揮する側の AI)に用意させるツール群(第 4 回)と、書いてあるかどうかで見る「機械検証」の見出し(第 5 回)が同じパターンです。

四つ、方針は、差し込む瞬間で効き方が決まる。 同じ文章でも、問題が起きる前に読ませると他人事の一般論になり、起きた瞬間に届くと読まれます。今作の禁止事項(開発のときに許さないと決めたルールの一覧)に「解除の条件」を添えてあるのは、提案が来たその瞬間に判定材料が届くようにするためです(第 3 回)。

五つ、自己申告は完了に寄る。数は落ちない。 報告は書いた AI の要約なので、都合の悪いものから落ちます。機械が数えた数字は落ちません。今作では、動作確認の合否を AI の報告ではなく、スモークテストが DB を見て返す 2 つの数で受け取っています(第 6 回)。

この 5 つが、訂正の代役です。 ズレたことを言われたとき、私は説明しません。そのまま進ませて、止まるべき場所で仕組みが止めます。止まった AI は目の前の案内を読んで、自分で向きを変えます。

CC BY 4.0 はここまで

指摘しなくなったもの

作業の途中で気づいたズレです。「前提が違う」「それは前に決めた」を、AI が動いている間に言わなくなりました。言いたいことが消えたのではなく、言う役目が仕組みへ移っただけです。気づいたことはメモに積んでおいて、区切りで自動テストへ、禁止事項へ、カタログへと仕分けます。

この連載の第 1 回で、その効き目を測りました。会話を引き継がない別の作業者に、却下済みの提案を投げた実験です。私は一言も説明していません。 それでも 2 体とも、自分で禁止事項の一覧を見つけて、断りました。1 体は依頼していない項目まで読んで、代替案の途中で自分から道を塞いでいます。

説明しないことが成り立つのは、こういう状態になってからです。

CC BY 4.0

注意: 何も置いていないところでは、放置は放置です

前作には、全 12 回で唯一「読んでください」と書いた回があります。第 5 回です。サブエージェントのログを、一度だけ読め、という回です。理由は同じで、ガードレールを置かずに見ていないのは、技術ではなくただの放置だからです。

173 万トークンが無駄に消えたのは、その状態でした。仕組みが無い場所で説明をやめると、失敗は静かに進みます。説明をやめてよいのは、代役を置いた場所だけです。順番を逆にしないでください——先に置いて、それから黙る。

検証手順: 説明したくなったら、代役があるか探す

前提

  • 置くものはありません。次に AI がズレたことを言う場面が 1 回あれば足ります(その日のうちに来ます)
  • ⚠️ ただしこの手順は、代役になる仕組みを既にいくつか置いた人のためのものです。何も置いていない場所で黙るのは、技術ではなく放置です

所要時間: 5 分(その場で 1 回。仕分けは後日)

手順

  1. あなたが、AI がズレたことを言って説明したくなった場面を 1 つ捕まえます。前提の取り違え、要らない機能の追加、決着済みの話の蒸し返し
  2. あなたが、口を挟む前に手を止めて探します。そのズレが実害になる手前に、止める仕組みが既にあるかを見ます——自動テスト、pre-commit、起動を止める hook、禁止事項の一覧。⚠️ 探すのは「ズレを指摘する仕組み」ではなく、「ズレたまま進んだ結果が形になったときに落ちるもの」です

見るところ(合否ではなく、探した結果で分かれます)

  • 見つかった —— 黙って進ませます。⚠️ その仕組みが実際に止めるかどうかを、この機会に見届けてください。 止まらなかったなら、それは代役ではありません
  • 見つからない —— それがあなたの次に置く仕組みです。 ここでも会話には挟まず、メモに 1 行書きます

後始末

  • 区切りで、あなたがメモを仕分けます。機械が真偽を決められるものは自動テストへ、判断は禁止事項の一覧へ、サブエージェントに渡すものはカタログへ
  • ⚠️ 仕分けを後回しにするとメモだけが増えます。セッションの区切りごとにやってください

CC BY 4.0 はここまで

次回は「ルールを整理しない技術」。私は、AI に渡しているルールを、一度も整理していません。それでも、ルールは増え続けていません。

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