BLOG.HIRO UENO.ART
← INDEX

AIがまとめた文献調査、柱の主張の4割が間違っていた

AIに頼んだ文献調査は、30分で終わった。速くて、ラクだった。問題は、その中身が合っているかどうかだった。

脅す書き方をやめた指示書が正しいのか、研究で確かめたかった

その頃取りかかっていたのは、Librarian(ライブラリアン。裏でメモリを整理する司書役AI)のSP(システムプロンプト=AIへの事前の指示書)を書くことだった。Librarianは、僕とMONET(僕が普段話しかけている、中心のAI)の会話の記録を読んで、要点をまとめておく。MONETは次の会話の前に、そのまとめを読む。

前日、そのLibrarianの設計をまとめていた。コーディングしてくれているClaude Code(以降Code)が書き始めたSPの下書きは、禁止事項の箇条書きと強い命令口調になっていた。

MONETには、やっていないことを「やった」と言う問題があった。MONETのSPにも「絶対するな」のような脅す書き方を入れていて、それがかえってこの嘘の原因になっているんじゃないか、と疑っていた。Codeの下書きは、そのMONETのSPと同じ構造だった。

だからCodeの作業を止めて、その日のうちに、禁止ではなく理由で導く書き方に切り替えてもらった。下書きの命令口調の文も書き直してもらい、悪い例は外して良い例だけを残した。

ただ、その方向が正しいかどうかは、まだ僕の疑いでしかなかった。だからSPを仕上げる前に、プロンプトの書き方について研究で何が分かっているかを調べておくことにした。「〜するな」という否定形は効くのか。頼む時の口調(強い言葉か、丁寧か、失礼か)で、答えの良し悪しは変わるのか。役割を与えると精度は上がるのか。SPは長いほど悪くなるのか。

30分でできたレポートの数字を、どう確かめるか

調査は、Codeがサブエージェント(Codeが作業を分けて任せる、別のAI)に任せた。

30分ほどでレポートが返ってきた。論文名、著者、数字、結論までそろっていて、見た目はちゃんとしたレポートだった。論文を探してまとめる手間がまるごと無くなって、ラクだった。

でも、サブエージェントがまとめた数字は、間違っている可能性が高いんじゃないか、とも思った。それをどう確かめるか、とCodeに聞いた。

柱になる主張だけを、原典で1件ずつ確かめた

Codeのやり方は、全部を確かめるのではなく、柱になる主張だけを抜き出すことだった。レポートの結論を直接左右する主張と、SPを書く時に判断の材料として実際に使う主張。それが10件。

Codeが論文などの原文をダウンロードして、10件を1件ずつ当たっていった。全部で1.5時間。照合したのはCodeだけど、僕にとっても集中力がいる、かなり疲れる時間だった。

そのうち4件が、はっきり間違っていた。

間違いは4つとも、間違い方が違った

1つ目は、結論が逆だった。

Vrabcová(2025)の論文を、レポートは「モデルを大きくしても、否定形(〜するな、を含む文)をうまく扱えるようにはならない」という研究として引いていた。論文の結論はその反対で、モデルが大きくなると否定形はうまく扱えるようになる、と書いてある。180度逆の要約。

2つ目は、著者が存在しなかった。

AIが書く文章は人が書くものより文体がそろっていて、同じモデルが書いたものは似た文体に固まる、という論文。レポートは、Reviron-Piégayという人たちの研究として引いていた。中身の研究は実在した。でも実際はJames O'Sullivanの単著で、「Reviron-Piégay」という名前はどこにも無い。サブエージェントが作った名前だった。

3つ目は、数字が論文に無かった。

Lutz(2025)の研究として、役割(ペルソナ)の細かい設定次第で、答えの成績が30ポイント近く落ちる、と書かれていた。開いてみると、論文が調べていたのは成績ではなかった。社会的な属性(どんな立場の人か)を役割として与えた時に、答えがその属性で偏るかどうかを調べた研究だった。30ポイントという数字は、論文のどこにも無い。

4つ目は、研究ですらなかった。

SPが500語を超えると、100語足すごとに品質が12%落ちる、という数字。レポートは「研究によれば」として引いていた。出所をたどると、個人のブログ記事に書かれた、その人の独自の主張だった。

どれも、レポートを読んでいるだけでは気づけない。原典を開いて初めて分かる間違いだった。

逆の結果を出した大きな研究が、まるごと抜けていた

間違いとは別に、抜けているものもあった。

レポートには、失礼な言葉遣いの方が丁寧な言葉遣いより正答率が高い、という小さな実験(Dobariya & Kumar、2025)が載っていた。これ自体は事実。でも、同じことをもっと大きな規模で試して、逆の結果を出した研究(Cai et al.、2025)がまるごと抜けていた。こちらの研究では、大半の比較で、失礼より中立か丁寧の方が成績が良かった。

間違いが4件、それとは別に抜けが1件。これをそのまま材料にして、SPを書くところだった。

直したレポートで、AIへの指示書を書く判断材料がそろった

Codeが原典に合わせてレポートを直したあと、それをSPを書く時の判断材料としてまとめてもらった。

否定形は、SPの本文では使わない。研究の方は、さっきのVrabcováのとおり、大きいモデルほど否定形を扱えるようになっている。それでも使わない理由は2つ。1つは、画像生成AI(Stable Diffusion)に「〇〇なしで描いて」と頼むと、4回に3回はその〇〇を描いてしまう、という研究(Hwang et al.、2024)。もう1つはCodeの説明で、「〜するな」と書くと、モデルはまず「〜」の方を思い浮かべてから打ち消そうとする。Anthropic(Claudeを作っている会社)の公式ドキュメントも、してほしくないことではなく、してほしいことを書くように勧めている。

口調は、強い命令をやめて中立にする。Anthropicの公式ドキュメントは、「CRITICAL: You MUST…」のような強い言い方を控えるように書いている。丁寧ならいいわけでもなく、Caiの研究には、丁寧すぎると中立より成績が下がった比較もあった。Codeは、このトーンの所が最初のレポートから一番大きく変わった所だと言っていた。失礼な方が効く、という前提のままだと、SPの方向そのものがずれてしまう。

役割を与えても、精度が上がるとは限らない。6つのモデルで何千回も試した研究(Basil et al.、2025)でも、専門家の役を与えて正答率が安定して上がることは無かった。だから役割は、正答率のためではなく、動き方のくせを長く保つために置く。LibrarianのSPも「You are the Librarian」から始めるけど、大事なのは、そのあとにどう動いてほしいかを書くことになる。

長さは、何語までと数字では決めない。してほしい動きを全部伝えられる、最小限の量にする(これもAnthropicの資料)。

最初の問いには無かったけど、もう1つ。Anthropicの公式ドキュメントには、してほしくないことを並べるより、良い例を見せる方が効く、とも書いてあった。

前日に変えた方向、つまり禁止事項の箇条書きと強い命令口調をやめて、理由と良い例で導く書き方は、これで裏付けが取れた。ただ、裏付けの多くはAnthropicの公式ドキュメントで、研究の方は効き目が小さかったり、否定形のように大きいモデルでは弱まっているという結果もあったりした。

照合を終えた時には、最初のレポートを受け取った時より遥かに、このレポートは正しいと言える自信があった。30分でラクに手に入れたものより、1.5時間かけて確かめた方に。