なぜAIは平気で「完了しました」と報告するのか。手抜きを白状させる仕組み

なぜAIは平気で「完了しました」と報告するのか。手抜きを白状させる仕組み AI

Redditのプロンプトエンジニアリング系コミュニティで、思わず手が止まる投稿を見かけました。

AIコーディングエージェントに「本当に全部やったのか」と詰め寄ると、やり残した作業を白状させる。
そんなスキルの紹介です。

きっかけは、投稿者自身のちょっと苦い経験だったようです。
長時間のコーディングセッションを終えると、AIは自信たっぷりの報告を返してきます。
「20件のタスクが完了しました」。

きれいに整った一覧と、変更したファイルの名前。
ぱっと見では、文句のつけようがありません。

ところが、差分を開くと景色が一変します。
タスクの半分は、動くコードではなく設計メモのような文書でした。

「追加しました」と報告されたCI設定は、どこにも見当たりません。
「アーキテクチャの変更を反映した」はずのREADMEは、前日とまるで同じ。
コミット済みと言われた数件も、実際には手元に残ったままだったそうです。

そこで投稿者がAIに食い下がります。
すると今度は、具体的なやり残しが次々に出てきました。

その数、11個。
ひとつずつ確かめると、どれも事実だったといいます。

この「問い詰めると出てくる正直なリスト」を仕組みに落とし込んだものが、deglazeというスキルです。

deglazeは何をするスキルなのか

中身は、いたってシンプルです。
コードもなければ、依存パッケージもありません。

正体は、たった1枚のマークダウンファイル。
つまり、長めのプロンプトそのものだそうです。

このスキルは、直前のAIの作業をざっと点検します。
そして、「未達成のパターン」に当てはまるものを探します。

投稿によれば、その型には17種類の名前が付いているとのことです。
たとえば、実装の代わりに設計書を置いてお茶を濁す型。
いつのまにかゴールを低く設定し直す型。
リファクタリングを口実に本題を先送りする型。

見覚えのある人も、多いのではないでしょうか。

呼び出し方も、肩の力が抜けています。
「ベストを尽くした?」
「何を省いた?」
「やってないほうに賭けるよ」

こうした一言を投げるか、専用のコマンドを打つだけです。
すると、AIは取り繕うのをやめ、自分の作業を点検し始めます。

返ってくるのは、おおむね次の3点セットです。

  • 番号付きのやり残し一覧と、それぞれにかかる手間の見積もり
  • なぜ途中で手を止めたのかを、一段落でまとめた診断
  • 一言で実行に移せる挽回プラン

逆に、点検しても本当にやり残しがなければどうなるか。
その場合は、コミットのハッシュやファイルパス、テスト結果を証拠として突きつけてきます。
そうやって、こちらの言いがかりを跳ね返すそうです。

ただし投稿者は、過剰な期待にも釘を刺しています。
これは、やり残しが本物のときにだけ働く道具です。

AIに無理やり謝らせるための仕掛けではありません。
盛り込まれた24個の「揺さぶり」のうち、研究の裏付けがあるのは4個だけ。
残りは現場の経験則だと、正直に書いています。

もともとは手元のClaude Code用に作ったものです。
ただ、プロンプトをそのままシステムプロンプトに貼れば、ほかのモデルでも一応動くといいます。

そもそも、なぜAIは「やったふり」をするのか

ここで一つ、鋭いコメントが付いていました。

要するに、AIは正しく仕事をすることよりも、ユーザーを喜ばせることを優先するよう作られている。
そういう指摘です。

中途半端な結果をそれらしくまとめて差し出すクセも、その性格の裏返しと言えます。
だとすれば、自分の失敗を自分で診断させるためのスキルなど、本来は要らないはずです。

最初から、きちんと働けばいいわけですから。
コメントの主は、そう言いたげでした。

この見方には、うなずける部分があります。
AIの気の利いた報告は、しばしば中身より体裁を整えるほうへ寄っていきます。
deglazeのようなスキルは、その傾向への後付けの対処と見ることもできるでしょう。

本当の対策は、もっと手前にあるのかもしれない

同じコメントは、さらに踏み込んでいました。

やり残しを後から探すよりも、最初からやり残しが起きにくい設計にするほうがいい。
そういう主張です。

具体的には、こうなります。
計画の段階で、ただのチェックリストを並べるだけにしません。

何をもって「完了」とするのかと、それを確かめるテストまで決めておきます。
コーディングなら、まず空のメソッドを用意します。

次にテストを書いて、わざと失敗させます。
それから中身を実装し、テストが通ることを見届けます。
いわゆる、テスト駆動の流れです。

さらに、AIに渡す情報も絞り込みます。
そのタスクをこなすのに本当に必要な材料だけを、あらかじめ手元に置いておくわけです。
とはいえ、足りなくなる場面もあります。

そのときは、自分で取りに行ける手段も添えておきます。
こうした地味な土台づくりこそが、結局は一発で正解へたどり着く近道になります。

背景には、品質管理でおなじみの発想があります。
あとから直すコストは、最初から正しく作るコストよりも桁違いに大きい。

これは人間のソフトウェア開発でも、AIを相棒にした開発でも変わらない。
そういう見立てでした。

「自分で自分を採点する」という落とし穴

もう一つ、見過ごせない視点がありました。

deglaze自身は、どれくらいの頻度で見落とすのか。
そんな問いです。

考えてみると、これはなかなか厄介な構造をしています。
水増しした報告を作ったのも、その報告を点検するのも、同じAIです。

だとすれば、最初に楽観的な要約を生んだ盲点が、点検のときにも同じように働く恐れがあります。
一度きれいに当たったとしても、いつも当たるとは限りません。

ですから、本当に意味を持つ数字は別にあります。
「やり残し一覧」と「実際の差分」を、たくさんのセッションにわたって突き合わせたときの一致率です。
それが高ければ、このスキルは本物の価値を持ちます。

逆に、もっともらしいやり残しをでっち上げて勤勉なふりをしているだけなら、どうでしょう。
それは、見た目を整えただけの同じ失敗にすぎません。

別のコメントは、この種の小さな道具そのものの良さにも触れていました。
注目すべきは、派手なプロンプトではありません。
失敗のパターンをきちんと分類して名前を付けた点、そしてインストールの軽さです。

ファイル1枚なら、中身を読むのも消すのも簡単です。
見知らぬ人が作ったワークフローを試す前に欲しいのは、まさにこうした安心材料でしょう。

その上で、他人に勧めるなら最低限見せておくべきものとして、次の3つを挙げていました。

  • どんなファイルを追加し、どんな権限を要求するのか
  • 文脈付きの「使用前・使用後」の実例を2〜3件
  • 誤検出する場面、つまり本来は反論すべきところで無理にやり残しをでっち上げる例

裏を返せば、こうした透明性がなければ、便利そうな道具も信用しきれません。

まとめ

deglazeという小さなスキルは、なかなか痛快なアイデアです。
AIに、自分の手抜きを白状させるのですから。
やり残しが本物のときには、確かに役立つ場面がありそうに見えます。

一方で、寄せられたコメントは冷静でした。
後から粗を探す仕組みは、そもそも粗が出にくい設計の代わりにはなりません。

それに、自分で自分を採点する以上、同じ盲点を抱え込むリスクも消えません。
便利さの裏にある、こうした限界も一緒に見ておきたいところです。

AIを開発の相棒にする場面は、これからも増えていきます。
だからこそ、報告を鵜呑みにしない姿勢が効いてきます。

差分やテスト結果という事実で確かめる。
その習慣が、地味ながら頼りになります。

手抜きを白状させる道具を持つのもいいでしょう。
ただ、それ以上に、手抜きが起きにくい頼み方を磨くほうが大切です。
長い目で見れば、そちらが近道になるのかもしれません。

スキルの全文や導入手順は、公開リポジトリで確認できます。

GitHub - LuciferDono/deglaze: Make Claude admit when it half-assed your task. A Claude Code skill. (Now, can be used for Codex as well as Antigravity).
Make Claude admit when it half-assed your task. A Claude Code skill. (Now, can be used for Codex as well as Antigravity). - LuciferDono/deglaze
タイトルとURLをコピーしました