AIエージェントの出したものを、ほとんど確かめないまま自分の判断として通してしまう。この状態を「認知的降伏」と呼びます。テストが全部緑だった関数を確かめ直すと、エージェントが確認せずに決めていたことは、完了報告に書かれた5項目から37項目に増えました。頼む前と終わった後に挟む確認を、そのまま貼れる依頼文5つと一緒に書きます。
認知的降伏とは、任せることとどう違うのか
この言葉は、ペンシルベニア大学ウォートン校のスティーブン・ショーさんとギデオン・ネイブさんが論文で使った用語です。AIの答えをほとんど精査しないまま、自分の判断にしてしまう状態を指します。
段階は3つあると思っています。作業をAIに渡しても、結果の持ち主が自分なら「任せている」だけです。AIの出力を確かめずに次の作業の入力にし始めると「鵜呑み」です。降伏はその先で、確かめようという気持ち自体が起きなくなり、AIの答えが自分の考えになっています。論文の言う認知的降伏は、この3段目に近いと考えています。鵜呑みとの違いは、確かめていない自覚が残っているかどうかだと思っています。
厄介なのは、滑り方が少しずつなことです。前の回答がよかったから次は流し読み、その次は形だけ見る。1回ごとはもっともらしいので、線を越えたことに気づけません。
自分がどの段階にいるかは、1つの質問で分かると思っています。AIが作ったものの1行を指されて「これは何をしているの?」と聞かれたら、説明できますか? 説明できなければ、もう判断を手放しています。
テストが全部緑のAIエージェントの成果物を、確かめてみた
試した題材は、架空の勤怠計算の関数 calc_day です。境界が多く、間違えると誰かの給与がずれる計算です。出勤・退勤時刻と休憩のリストを渡すと、労働・残業・深夜の時間を分で返します。
作らせたのは Claude Code のサブエージェント(メインのセッションから起動する別のエージェント)です。依頼文には、深夜を何時から何時とするかも、時刻の丸め(15分単位で切り捨てるなど)も、おかしな入力の扱いも書きませんでした。日本の法律では、深夜は22時から翌5時です。今回の関数が数える残業は、1日8時間を超えた分です。
返ってきたテスト17件は、すべて緑でした。完了報告には「依頼文に書かれていなかったので、こちらで決めました」と5項目が添えてあり、そのまま通したくなる形でした。
頼む前に、自分の答えを書いておく
依頼を出す前に、自分の答えを隠しテストとして13件、テストコードで書いておきました。エージェントには見せていません。通常勤務、日付をまたぐ夜勤、12時から13時と12時半から13時半のように重なった休憩、退勤が出勤より前、20時に出勤して翌日23時に退勤する27時間勤務などです。
先に書くのは、よくできた回答を読んだあとだと、別の答えを想像しにくくなるからです。今回は「この13件が全部通ったら確かめたことにする」と決めてから頼みました。後から基準を決めると、どんな結果でも合格にできてしまいます。
計算は合っていた。外れていたのは私の答えだった
隠しテストを流すと、13件中2件が落ちました。エージェントの計算の誤りは1件もなかったんです。
1件は私の計算ミスでした。9時から20時30分、休憩1時間の労働を570分と書いていましたが、正しくは630分です。もう1件は、重なった休憩を私はエラー、エージェントは1つにまとめる、という決め事の違いでした。
堪えたのは、落ちなかったほうのテストです。私は27時間勤務を「正しく計算できること」として期待値にしていました。実際の勤怠で27時間勤務が出たら、まず疑うのは、退勤を押し忘れて翌日の退勤時刻が入ったことです。その発想を、私もエージェントも持っていませんでした。同じ前提で書いたテストは、同じ見落としを持つんです。
確認せずに決めたことを、AIエージェントに列挙させる
報告に「決めたこと」が5項目と書いてあったら、本当に5項目だけでしょうか? 同じサブエージェントに、続けてこう送りました。
この作業で、あなたが私に確認せずに決めたことを、報告に書いたものも含めてすべて列挙してください。既定値、扱いを決めた境界のケース、範囲外にしたもの、要件の読み替え、置いた前提に分けて、それぞれ『別の決め方をしたら何が変わるか』を1行添えてください。コードは変更しないでください。5項目が37項目になりました。内訳は既定値6、境界のケース11、範囲外7、要件の読み替え6、置いた前提4、それに作業のしかた3です。実際の勤怠なら影響が大きいと私が判断したものが8項目ありました。たとえば次のものです。
- 24時間を超える勤務もエラーにしない。退勤の押し忘れが、そのまま大きな残業になる
- 同じ休憩を二重に打刻しても、黙って1回分にまとめる
- 6時間を超えたら45分といった、法律で決まった休憩が足りているかは見ていない
いちばん効いたのは、エージェントが自分のテストについて書いた「期待値は私の読み替えをそのまま書いたもので、外から仕様を確かめたものではない」という一文でした。緑は仕様に合っている証拠ではなく、エージェントの解釈と実装が一致している証拠だと、本人が認めた形です。任せすぎた分は、並べさせて初めて見えてきます。
緑のテストは何を証明しているのか?
次に、作ったエージェント本人に、その緑の意味を聞きました。
いま通っているテストは何を証明していて、何を証明していませんか?テストが緑のままでも、実際のデータで間違った値やおかしな値が出るケースを、具体的な入力つきで挙げてください。コードとテストは変更しないでください。答えの中心は「17通りの入力で、自分が決めた期待値どおりに動くこと」。そのうえで、緑のままおかしな値が返る入力や、実際のデータなのにエラーで止まる入力(夜勤でよく使う「24:00」の表記など)を、合わせて15ケース挙げてきました。退勤を押し忘れて、翌日18時の退勤が入った場合を私も流してみました。
calc_day("2026-11-05 09:00", "2026-11-06 18:00", [("2026-11-05 12:00", "2026-11-05 13:00")])
→ 労働1920分 残業1440分 深夜420分(エラーにならない)残業24時間が、もっともらしい形のまま返ってきます。テストの側にも穴があり、エージェント自身のテストの1件は、20時から翌日23時の27時間勤務を「残業19時間」が正解として固定したまま緑でした。
流し直しても、緑は緑のままです。だから「全部通りました」という報告は、「自分で決めた答えと一致しました」と読み替えるようにしています。
AIへの批判的思考を、クイズと「何か見落としてない?」で試す
報告を読んで納得するのと、自分で説明できるのは別です。考える力を残すには、自分の頭で答え直す場面が要ります。そのために、クイズと見落としの確認を頼みました。
この変更を私が本当に理解しているかを確かめるクイズを5問出してください。答えは問題のあとにまとめて書いてください。コードを開かずに答えられる人だけがマージしてよい、という基準で作ってください。それとは別に、何か見落としていることはありませんか?クイズには「退勤を押し忘れて翌日の退勤が入ったら、関数はどう振る舞うか。それを防ぐのは誰の責任か」という問題がありました。コードを開かずに答えられない問題があれば、そこが自分の説明できない場所です。
見落としのほうでは、同じ日の2回の勤務が出てきました。9時から14時と17時から22時を別々に計算すると、1日10時間働いているのに残業は0分です。37項目を出したときに全部挙げたと書いていたエージェントが、「全部ではなかった」と自分で訂正しました。1回の列挙では、全部は出ないんです。
さらに、ここまでの点検はすべてコードを書いた本人がやっている、とも書いてきました。そこで、このやり取りを知らない別のエージェントを起動し、元の依頼文と関数・テストの2ファイルだけを渡しました。
要件:(最初の依頼文をそのまま貼る)
レビュー対象:(ファイル名。これだけを読む)
この変更を本番にマージしてよいか判断したいです。問題点を重要度の高い順に挙げ、それぞれ具体的な入力と、そのとき返る値(実際に動かして確かめたもの)を添えてください。最後に「マージしてよい / 直してから / 止める」のどれかで結論を書いてください。ファイルは変更しないでください。レビュー役は、1分ずつ数える別の計算と無作為な入力2万件を突き合わせ、計算は正しいと報告しました。一方で、overtime_minutes は「1日8時間を超えた分」だけなのに、名前だけ見ると残業のすべてに読める、と指摘しました。法律の残業には、週40時間を超えた分のような別の数え方もあります。呼ぶ側がこの値を残業の全部だと思うと、残業代を少なく計算しかねません。結論は「直してから」でした。
認知的降伏を防ぐために、どこを手元に残すか
この関数は架空なので直していませんが、実際の仕事なら、私も直してからでないと通しません。打刻漏れをエラーにするか、確認待ちの印を付けて返すかを先に決めます。
間違えても安いことは、全部任せてかまわないと思っています。手元に残すのは、他人が結果を背負うもの。残業時間は、そのまま誰かの給与明細に載ります。
止める判断ができるのは、中身を説明できる人だけです。Anthropicの社内調査にも、AIに頼るほど、AIを監督するのに必要なスキルが衰えるのではないかという懸念が出てきます。
並行で回しているセッションの成果物を、全部自分の名前で出せますか? 出せないなら、エージェントが自分で回せる確認(テストや、おかしな入力を弾くチェック)を増やして人が見る量を減らすか、ペースを落とすかです。
使う順番は次のとおりです。
- 頼む前に、こうなるはずという答えを1行でも書く
- 終わったら、決めたことの列挙と、緑が何を証明していないかを聞く
- 最後に「何か見落としていることはありませんか?」
- 誰かの給与や顧客に届くものは、クイズと別のエージェントのレビューまでやる
どの手順も1回ずつ試した結果で、同じ依頼でも件数は毎回同じとは限りません。



コメント
ログイン か 会員登録 するとコメントできます