AIに「違う」と言った回数を数えたら、814件中9件だった

AIに開発を任せていると、うまくいかなかったときの記憶ばかり残る。同じバグを3回説明したとか、頼んでいない場所を書き換えられたとか。体感では「けっこうな頻度でやり直させている」つもりだった。

33日ぶん・814件の指示を全部機械的に数えたら、その体感は外れていた。

まず結果から

はっきりした否定の言葉(「違う」「ダメ」「やり直し」「そうじゃない」など)を含む指示は、814件中28件で3.4%だった。単語ごとに割ると、いちばん多い「違う」でも9件しかない。

指示814件のうち、その語を含むものの数

一方で、「?」を含む指示は142件あって17.4%を占める。半角の「?」も足すと157件、19.3%。5回に1回は疑問形で話しかけている計算になる。

否定が3.4%、疑問が19.3%。この差が、この記事で書きたいことのほぼ全部だ。

私は「違う」と言う代わりに質問していた

数字を見てから、心当たりが出てきた。AIの出した結果が期待と違ったとき、私が実際に打っているのはこういう文だ。

「これ本番に出てる?」 「なんでここだけ変わってないんだろう」 「テスト通ってる?」

どれも否定していない。形の上では質問で、内容としては差し戻しだ。相手が人間でも同じ言い方をすると思う。頭ごなしに「間違ってる」と言うより、確認の形にしたほうが、こちらの認識違いだった場合に引き返しやすい。

つまりやり直しは否定形ではなく疑問形で入っている。「違う」で数えると3.4%になるが、実態はもっと多い。

これは単なる言葉遣いの話ではなくて、実務上けっこう困る。私のCLAUDE.mdには「ユーザーから修正を受けたら、セッション終了前にルール化を提案する」という自己改善のルールを書いてある。AI側がこれを引き金にしてルールを提案してくれる想定だった。しかし引き金になるはずの「違う」「やり直し」が実際にはほとんど飛んでいない。穏やかに指摘するほど、失敗が失敗として記録されない

内訳を見ると、半分以上は「はっきりした否定」

28件の中身も分類しておいた。

分類 件数
明確な否定・やり直し 16
確認の要求(本当に? ちゃんと?) 5
動かない・エラー 3
元に戻す指示 2
直っていない・反映されていない 2

「元に戻して」が2件しかないのは、自分でも意外だった。AIの変更を丸ごと取り消したくなる場面はもっとあった気がしていたが、実際には部分的に直させるほうが多い。ロールバックは記憶に残りやすいだけで、頻度としては稀ということになる。

やり直しの直前に動いていたツール

もう一段だけ掘って、やり直しの発言が出る直前にAIが何をしていたかも数えた。1つの発言の前に複数のツールが動いていることが普通なので、合計は28を超える。

直前に動いていたツール 件数
Bash 13
Read 13
Edit 12
(ツールを何も実行していない) 12
Write 7
Grep 6

ここでいちばん目を引いたのは4行目だった。28件のうち12件、43%は、AIが1つもツールを実行していない応答の直後に出ている

これは要するに、AIが何も確かめずに文章だけで答えた回だ。「たぶんこうなっています」「〜のはずです」と説明して終わった応答。そこにいちばん高い確率でやり直しが飛んでいる。逆に、コマンドを実行して出力を見せた応答には、やり直しがつきにくい。

このデータを見て、CLAUDE.mdに「変更後は必ず動作確認し、その結果をもって報告する」というルールを書いてある理由が、感覚ではなく数字として裏づけられた。確かめずに答えた応答は、4割以上の確率で差し戻される。

この3.4%を信用しすぎないほうがいい

限界も書いておく。

この分類は私が選んだ単語に完全に依存している。「違う」「ダメ」といった語を含むかどうかで機械的に判定しているだけなので、言い回しが違えば漏れる。実際、上で書いたとおり疑問形の差し戻しは全部こぼれている。3.4%という数字は「はっきり否定した割合」であって、「AIが間違えた割合」ではない。

母数の小ささも問題で、28件しかない。分類ごとに見れば2件や3件のセルがあり、その粒度で傾向を語るのは無理がある。「Bashが13件でいちばん多い」といっても、そもそもBashが全ツール実行の43%を占めているので、多くて当たり前という見方もできる。

より正確にやるなら、単語ではなく「その指示のあとにAIが直前と同じファイルを再編集したか」のような行動ベースの指標を使うべきだと思う。今回はそこまでやっていない。

それでも数えてよかったこと

数えたおかげで、はっきり行動が変わった点がひとつある。

AIがツールを1つも使わずに答えたときは、そのまま信じない。「確認した?」と聞き返すか、確認コマンドを指定して投げ直す。43%という数字を知ってからは、この一手間を惜しまなくなった。

もうひとつは、指摘するときに「違う」と最初に書くようにしたこと。優しく質問しても伝わるが、後から自分のログを見返したときに、そこが失敗地点だったと分からなくなる。AI相手にわざわざ角の立つ言い方をする必要はないけれど、あとで検索できる印は付けておいたほうがいい。

次は、そうやってCLAUDE.mdにルールを足し続けた結果、実際にやり直しが減ったのかを日別のデータで確かめた話を書く。結論を先に言うと、減っていなかった。