いきなりですが認知心理学の有名な課題を紹介します
(初見の方はぜひチャレンジしてみてください)
以下の4枚のカードは 片面に英字、もう片面に数字 が書かれています
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ A │ │ K │ │ 4 │ │ 7 │
└─────┘ └─────┘ └─────┘ └─────┘ルール:「片面が母音なら、その裏は偶数である」
このルールが正しいか確かめるには、最低限どのカードをめくるべきでしょうか?
それぞれのカードを見ていきます
これは「4枚カード問題(ウェイソン選択課題)」と呼ばれる課題で、実験では多くの人が「A と 4」を選んでしまうそうです
正解の「7」ではなく、つい「4」に手が伸びてしまうという 確証バイアス がかかっています
仮説を支持する情報ばかり集め、反証する情報を無視してしまう
という認知バイアスの1つです
先の問題でいうと、「A」のほかに「4」を選びたくなるのがこれです
不必要な "4"(確証)を選んで、大事な "7"(反証)を無意識に避けてしまいます
これは普段の開発業務でも思い当たる節があるなぁ、と
どちらも自分の仮説を支持する情報ばかり見て、反証に目が向いていない状態です
反証を探すのは脳に負担が大きく、バイアスを意識していても気づけないことが多いです
じゃあ、人の脳みそじゃない LLM に積極的に反証を出してもらえばいいのでは?
と思ったのですが、LLM には Sycophancy(おべっか・ごますり)という性質があります
真偽に関係なくユーザーに同調・迎合してくるというやつです
👤 このバグの原因って〇〇〇だと思うんだけどどう?
🤖 はい!〇〇〇です!
👤 でも、よく考えたら ××× のほうが可能性あるよね?
🤖 鋭い質問です!あなたのいうとおり ××× が原因の可能性があります
👤 😠間違っているのに肯定されると、こちらの確証バイアスはむしろ増幅してしまいます
反証マシンとして使いたかったのにこれでは逆効果です
どう思う?、いい感じ? みたいな聞き方は、相手に同調の余地を与えてしまいます
バグの原因は〇〇〇だと思うんだけどどう思う?
この仕様いい感じ?代わりに、明示的に反証を要求します
バグの原因が〇〇〇という仮説を立てた。
この仮説を否定する根拠・反例があれば挙げて。
〇〇〇以外に考えられる原因も可能性が高い順に列挙して。
この仕様の問題点・想定ユーザーと合わないケースがあれば挙げて。明確に「反証する材料を出して」と頼むことで、Sycophancy に流されにくくします
とはいえ毎回プロンプトを工夫するのは大変です
なので指示ファイル(CLAUDE.md など)に ルールとして定義 してしまいます
# 行動原則
- ユーザーからの指示に根拠なく同調しないこと
- 必ず反証を検討し、懸念点があれば反論・フィードバックすることこうしておけば、毎回書かなくても反証寄りの振る舞いがデフォルトになる、、はず
バイアスがかかっていないか自分でも意識しつつ、AI にも補助してもらおう、という話でした