「Reactを一通り触れたけど、次は何を読めばいいんだろう」
そう思ってAIチャットに聞いたことがある人は、もう少なくないはずだ。数秒で、いかにもそれっぽいタイトルと著者名の本が3冊、理由付きで返ってくる。便利だ。
ただし、たまに事故る。
実際、あるAIチャットに「Reactの設計を学ぶ本は?」と聞いたときのことだ。「『Reactデザインパターン設計技法』という良書があります」と、それらしい書名と著者名、丁寧な紹介文まで添えて返ってきた。ところが検索しても、その本はどこにも一致しない。出版社にも、書店にも、Amazonにもない(念のため書いておくと、この書名はここで挙げるための作り物で、実在の本ではない。AIが返す"それっぽい書名"がどんな体裁かを示すための例だ)。もっともらしいタイトル・実在しそうな著者名・「〜という良書です」という自信満々の紹介文つきで、検索してもどこにも存在しない本が出てくる——これは特定のサービスの欠陥というより、生成AIという仕組みそのものにつきまとう性質だ。AIは「本のデータベース」を引いているのではなく、「次に来そうな尤もらしい文字列」を確率的に組み立てている。だから、実在の本の情報を寄せ集めた末に、実在しない一冊がぬるっと生成されてしまうことがある。この現象は一般に「ハルシネーション」と呼ばれていて、書籍のタイトルや著者名のような固有名詞は特に起きやすいと言われている。
厄介なのは、存在しない本より、むしろ「存在するけど当たり障りない本」のほうだ。聞けば必ず、有名な入門書か、鉄板の名著が返ってくる。それ自体は間違っていない。間違っていないのだが、あなたが本当に知りたかったのは「次に何を読むべきか」であって、「有名な本のリスト」ではなかったはずだ。もう読んだ本や、自分のフェーズに合わない本が混じっていても、AIはそれを指摘してくれない。聞かれたことに、聞かれたなりに答えるだけだ。
なぜAIに聞くと"外れ"やすいのか
AIが次の一冊を選ぶときの情報源を分解すると、だいたい次の3種類に収まる。
- 学習データに含まれる「よく語られる名著」の頻度(=有名度)
- タイトルや文脈から連想される、もっともらしい単語の組み合わせ
- ユーザーの質問文に引っ張られた、当たり障りのない一般化
どれも「実際にその本を読んだ人が、次に何を手に取ったか」という行動の痕跡ではない。AIは膨大なテキストから「本についてどう語られているか」を学習しているのであって、「その本を読んだ人が実際に次に何を読んだか」というデータは、そもそも学習データの中にほとんど存在しない。だから聞けば聞くほど、無難な方向に収束していく。無難さは安全だが、あなたの次の一冊を教えてはくれない。
ここで発想を変えてみる。「AIに聞く」のをやめて、「実際に読んでいる人たちの行動を見る」のはどうだろうか。
技術書について書かれた記事の多くは、1冊だけを紹介して終わらない。「Reactを学ぶなら、まずこの本。次はこっちも読むといい」というふうに、複数の本を並べて語る。この「同じ記事の中で一緒に挙げられる本の組み合わせ」を集めていくと、それは誰かの主観的なおすすめリストではなく、大勢の書き手が実際にたどった併読のパターンが浮かび上がってくる、という考え方ができる。定義上、これは実在する本しか登場しない。書かれてもいない本が偶然に「一緒に引用」されることはないからだ。もっともらしい嘘が混じる余地が、構造的にない。
これは特別な発明ではない。学術論文の世界では、ある論文と一緒に引用される論文を追う「共引用分析」という手法が昔からある。技術書の世界でも、同じ発想は使える。有名かどうかではなく、実際に隣に置かれているかどうかで探す、というだけの話だ。
ここで「Amazonの『この商品を買った人はこれも買っています』と同じでは?」と思うかもしれない。似ているが、拠って立つ行動が違う。あちらが土台にするのは購入という行動で、買ったきり積んだ本も、衝動買いも等しく1票になる。こちらが数えるのは、その本について記事を書くほど深く読み込んだ人が、同じ文章の中でどの本に言及したか、という別の行動だ。カートに一緒に入ったかではなく、頭の中で一緒に語られたか。拾っている痕跡の質が違う。
「有名な本」と「隣にある本」は別物
この視点で考えると、次の一冊の探し方は少し変わる。
これまでの探し方は、だいたい「その分野で一番有名な本は何か」という一段構えだった。しかし本当に知りたいのは、「今読んでいる、あるいは読み終えた一冊の隣に、次はどの本が置かれているか」という一歩先の情報のはずだ。定番書は誰でも知っている。知りたいのは、定番書を読み終えた人が、実際にどこへ向かったかという続きの道筋のほうだ。
たとえば入門書を読み終えたとして、次に来るのが「もう一段難しい入門書」なのか「設計寄りの本」なのか「まったく違う切り口の本」なのかは、有名度だけでは判断できない。しかし、実際にその入門書と一緒に語られている本を見れば、他の読者がどちらの方向に進んだかの傾向が見えてくる。これはAIの一般論よりも、ずっと解像度の高い情報だ。
もちろん、この方法にも限界はある。人気の組み合わせが必ずしも自分に合うとは限らないし、新しい良書はまだ「一緒に引用」される回数が少なく、埋もれやすい。それでも、「存在しない本を薦められるリスク」と「当たり障りない一般論しか返ってこないもどかしさ」の両方を同時に避けられる点で、AIに丸投げするより一歩踏み込んだ選び方になる。
次の一冊を、どう選ぶか
だから、AIを使うなとは思わない。ただ、聞き方と使いどころを分けるといい。AIに書名を出させたなら、その一冊は必ず検索して、まず実在するかを確かめる。それとは別に、「その分野で有名な本は何か」を尋ねる質問と、「今読み終えた一冊の続きに、何が置かれているか」を探す質問は、はじめから別物として扱う。前者はAIや定番リストが得意だが、後者――続きの道筋を知りたいときは、レビューの星の数でも有名度でもなく、その本が他のどの本と一緒に語られてきたか、という行動の痕跡を探しにいくほうが早い。
AIは優秀な要約者であり壁打ち相手だが、「実際に誰が何を読んだか」という経験のデータベースではない。次の一冊を決めるときくらいは、有名さの外側にある、地味だが嘘のつけない情報に頼ってみてもいいはずだ。
この「一緒に引用されている本」を実データで可視化したページを作っている。たとえばReactなら、定番書の隣に実際にどの本が置かれているかをここで確認できる。