ハクソク

世界を動かす技術を、日本語で。

Show HN: 「Claude Code」を使って100冊の本の関連性を発見しました

概要

  • 本記事は、非フィクション書籍から抽出された知見リストの日本語要約と解釈。
  • 各ポイントは現象や戦略の本質を簡潔に指摘。
  • 続いて、著者が開発したLLM活用型読書システムの紹介。
  • システム設計や発見的プロセス、読書体験の深化について説明。
  • LLMを使った新しい読書法の可能性について考察。

非フィクション書籍からの洞察リスト

  • 自己欺瞞は戦略として有効、最良の嘘つきは自分自身も信じ込む性質。
  • 微細な欠陥は静かに伝播し、やがて壊滅的な故障を引き起こす現象。
  • **弱い知的財産(IP)**は、協調的な模倣によるイノベーション加速の要因。
  • 孤立した集団は知識や能力を失うリスク。
  • 不在の父親が満たされぬ渇望を通じて、巨大な野心を育む土壌。
  • メガプロジェクトは信頼性の低い要素を統合し、全体として機能させる調和。
  • 天才よりも絶望が変革的な方向転換を生む原動力。
  • 専門性は形式化が困難、意識的な努力が逆効果となる場合。
  • 干渉から守られた空間がブレイクスルーの温床。
  • 実践知が理論化されたシステムを打ち破る力。
  • 自我の解体は超越と操作の両方を可能にする要素。
  • 勝者は競争相手を排除し、支配を永続化。
  • 財宝はやがて平凡なコモディティへと変化。
  • 創業者は政治的力学によって排除されることがある現実。
  • 熟達とは意識的思考を完全に迂回する状態。
  • 組織は支配維持に必要な連携を最小化する傾向。
  • 成熟したアイデアは世界中で独立して生まれる現象。
  • 構造を理解せずに形だけ模倣すると必ず失敗。
  • 贈与、道徳的債務、技術的負債は同じ論理構造。
  • 喜びが効率化最適化よりも生産性を高める要因。
  • 大規模な協調は小規模な信頼から発展。
  • 標準化はスケールを可能にするが、ローカル知識を破壊。
  • オープンシステムは独占化し、再び循環。
  • 曖昧な概念をテスト可能なフレームワークへ変換する工程。
  • 意思決定の速さが対立の勝敗を左右。
  • 単純化はブレイクスルーを生むが、同時に価値を毀損するリスク。
  • 他者が知らないことを知ることが競争優位性の源泉。
  • 精密な計測が遠隔地間の信頼インフラを構築。
  • 秩序の継続的なインポート、さもなくば無秩序への崩壊。
  • 単純化モデルは複雑な現実では体系的に失敗。

LLM活用による深い読書体験の構築

  • LLMは要約用途が多いが、深い読書体験にも活用可能。
  • Claude Codeを用いて、100冊の非フィクション書籍間の興味深い接点を抽出するシステムを開発。
  • 当初は段階的なLLMパイプライン設計、だがプロンプト由来の表層的発見が多かった課題。
  • CLIツールへのアクセスをLLMに許可したことで、自律的かつ予想外の洞察が得られるように進化。
  • 例: Jobsのリアリティ歪曲フィールドTheranosの偽デモThielのスタートアップ論Hofferの群衆心理へと連鎖する引用の流れ。
    • LLMはしばしば秘密・陰謀・隠れたシステムに関心を示す傾向。
  • システム詳細
    • 書籍選定はHN(Hacker News)人気本リストを利用。
    • Gemini Flash Liteでトピックごとにインデックス化。
    • Leiden法とLLMラベルでトピックツリー構築、全体テーマの俯瞰が可能。
    • 類似埋め込み、トピックツリー、共起分析など多様な閲覧手段。
    • 全データはSQLiteで管理、CLIツール群で操作。
  • プロセス詳細や背景は**https://pieterma.es/syntopic-reading-claude/**にて解説。

LLMがもたらす新しい読書体験の可能性

  • LLMによる読書は、従来の要約や検索を超え、洞察の連鎖や発見の深化を促進。
  • 人間の読書体験を拡張・補助する役割。
  • システム的な知識探索や、テーマ横断的な関係性発見が容易。
  • 秘密・陰謀・構造の可視化など、思考の新たなパターンを誘発。
  • この読書法が他者にも共鳴するか、LLMの有無を問わず今後の発展に期待。

Hackerたちの意見

同じような感じで、ビジネスに関係ないGitHubプロジェクトを「読む」ためにClaude Codeを使ってるんだ。最近、ロシア語で書かれたトレンドのプロジェクトを見つけて、深いパケット検査の世界にハマっちゃったよ。[0] https://github.com/ValdikSS/GoodbyeDPI
それ、いいアイデアだね。GitHubには、ドメインのコンテキストがないと理解できない面白いプロジェクトがたくさんあるよね。
ValdikSSはAndroid用のSBC XQパッチの背後にいる人だ(残念ながらGによってマージされることはなかった)。彼が別のプロジェクトでここにいるとは思わなかった! https://habr.com/en/articles/456476/ https://android-review.googlesource.com/c/platform/system/bt...
2つのテキストをつなぐ線が理解できないんだ。大抵の場合、つながっている言葉同士には全く関係がない気がする。「父の傷」では、「出生時に見捨てられた」という言葉が「しなかった」とつながってる。これって、視覚的なつながりが単なるスタイルの選択で、全く意味を持たないように見えるよね。
私も全く同じ印象を持ったよ。
10年くらい前に「デジタル人文学」についての本を読んだことがあるんだけど、今そのタイトルと著者を思い出せなくて残念。 :( その本は、人文学、特に文学における計算的方法を使うアイデアを紹介してくれたんだ。すごく面白いと思った!その本で紹介された用語の一つが「遠隔読書」で、大学で学んだ「近接読書」と名前が似てる。要は、テキストの小さな部分を詳しく調べるのではなく、何百、何千ものテキストを広く見渡して、全体からしか出てこない洞察を探るってこと。著者は、こういう方法でしか質問できないことがあるって主張してた。昔の友達が、この手法を使って修士論文を書いて、分析に必要なコードを書くためにPythonを学んだんだ。すごくクールだと思った!今、LLMが遠隔読書を進めるための新しい技術を可能にしたり、古い技術をコードを書かずに使えるようにしたり、初心者がコードを書く手助けをしたりするんじゃないかな。LLMのコード生成に伴うメンテナンスの問題は、こういう研究プロジェクトにはあまり関係ないしね。興味があったら、こういう読書を豊かにするための他の計算技術について調べてみるといいかも。「遠隔読書」についてはここを見てみてね:https://en.wikipedia.org/wiki/Distant_reading
> 今そのタイトルと著者を思い出せなくて残念。LLMはあいまいな説明でメディアを見つけるのが得意だよね。 ;)
今日の早い時間に、これに似たことをしようと思ってたんだ。最近、子供の頃に読んだポータルファンタジーを思い出そうとしてたんだけど、Goodreadsには「ポータルファンタジー」だけじゃなくて、「水の上にあるポータルファンタジー」[1]や、「ポータルはどこ/何?」みたいなカテゴリーがいくつかあって、すごいリストがあるんだ。でも、私が探してるポータルファンタジーは水の上にあって、そのリストには載ってない。LLMも大きなポータルファンタジーのリストを見ても私を助けてくれなかった。だから、1990年代に出版された子供向けの本のリストをLLMに見てもらって、「これはポータルファンタジー?」と「ポータルはどのカテゴリー?」を分類してもらったらどうかなと思ったんだ。そうすれば、1. 自分の本を見つけられるかもしれないし、2. リストに追加できる本がたくさん見つかるかもしれない。 (他のGoodreadsのようなサイトを補強する手助けにもなるかも。) まだやってないけど、やるかもしれない。とにかく、これを作ってくれてありがとう!すごくクールなプロジェクトだね![0] https://www.goodreads.com/list/show/103552.Portal_Fantasy_Bo... [1] https://www.goodreads.com/list/show/172393.Fiction_Portal_is...
誰かこれを分解して説明してくれない?「役に立つ嘘」のセクションで「サノスが詐欺を働いている」って見たんだけど、創業者が今刑務所にいるのに、その嘘を有用と考えるのは変じゃない?AIが適当に関連するものを見つけて、グループを誤ってラベル付けしたように思えるんだけど。この本を読んだことがある人は、これがどんな価値を持つのか分からないな。
嘘は、彼女が捕まるまで役に立ってたってこと?
いいアイデアだと思うけど、テーマと各本の全体的なアークのつながりが薄い気がする。場合によっては、何千もの段落の中から一つを見つけて、そのテーマを引き出しているだけのように感じる。けど、アイデア自体は好きだな。もしかしたら、リンクする前にテーマを抽出するために、もう一度やり直す方法があるかもしれないね。
「本を読むには二つの方法があるんだ。ひとつは、本を中に何かが入った箱として見て、それが何を意味するのかを探し始める方法。さらにひねくれているか、堕落しているなら、意味を求めて追いかけるんだ。そして次の本を、最初の本に含まれている箱として扱ったり、逆にその箱に含まれているものとして扱ったりする。注釈をつけたり、解釈したり、疑問を持ったり、本についての本を書いたり、ずっと続く。もう一つの方法は、本を小さな意味のない機械として見ること。唯一の疑問は「これが機能するのか、どう機能するのか?」ということ。あなたにとってどう機能するのか?もし機能しないなら、何も伝わらないなら、別の本を試す。後者の読み方は集中していて、何かが伝わるか、伝わらないかだけ。説明することも、理解することも、解釈することもない。」 — ジル・ドゥルーズ
この引用の出所には詳しくないけど、同意はするよ。ただ、すごく単純化しすぎだね。ジル・ドゥルーズ自身も、真空の中で生まれたわけじゃないし、生活してたわけでもない。彼らは、私たちと同じように、影響を受けて、見たアイデアを模倣して再生産してたんだ。だから、このプロジェクトの意義がないとは思わないよ。むしろ逆だね。でも、実際にこれらのテキストを読んだことがある人には、結果が正確じゃないんだ。
この商品は読者にとってはあまり好きじゃない(つまり、認知的・哲学的な楽しみとして読む人にとってはね)けど、バックエンドには何か役立つものが埋まっていると思う。これが読書や学びの楽しみを奪っている気がする。特定の本の中のトピックが別の本に繋がる方法を外部化するのは空虚で、あまり役に立たないと思う。一方で、このプロセスが外部化されることで、「アルゴリズム」(つまり、レコメンダーシステム)がユーザーに一見無関係なコンテンツを提案する様子が垣間見える気がする。だから、技術的な成果としてはあなたがやったことを否定できないし、私もあなたがHN Bookマップの背後にいる人だと知って嬉しい。これの本質は、LLMが人文学に与える利点を表現しているように見える。ロブ・パイクがそれについてどう思っているかはみんな知ってるよね。彼の元同僚も同じように感じているのかな? https://www.cs.princeton.edu/~bwk/hum307/index.html それは脱線だけど、この分野でこれらのツールを合理的に使う方法について、誰かが公に考えてくれるといいな。
> 特定の本の中のトピックが別の本に繋がる方法を外部化するのは空虚で、あまり役に立たないと思う。直感的に同意するよ。これは、自分の考えを他の人のインスピレーションから創造するクリエイターと、消費者(教育的な意味合いで)との違いのように感じる。最初の考えを教わることには大きな利点が必要で、なぜ私たちが代数や微積分を公式を通じて教えるのか、全ての生徒が自分で証明を考え出すのではなく。
私も似たようなことをやったことがあるよ。pdfplumberを使って、PDF本のコレクションからテキストを抽出したんだ。それをPostgreSQLに入れて、テキストを100文字のチャンクに分けて、10文字のオーバーラップをつけた。これらのチャンクをPythonのsentence_transformersを使って384D空間に直接埋め込んだ。次に、全てのチャンクを平均してドキュメントのベクトルをPostgreSQLに戻した。それからUMAPとHDBScanを使って次元削減とクラスタリングを行った。最終的に、プロットライブラリで自分のクラスタを視覚化できる2Dデータセットができた。これをいじるのはすごく楽しいよ。100冊のPDFファイルをインポートするのに数時間かかるけど、プログラミング、自己啓発、数学、SFなどが混ざったフォルダを一つ持っている。完全に自動化された分析の後、異なるトピックのクラスタがはっきり見える。Docker Composeで全てを動かすのに時間をかけて、Web UIをExpress.jsからFlaskに移した。いつかコードを整理してオープンソースにしたいな。
すごく面白そう!そのアプローチやリポジトリを見てみたいな。
なんかBertopicに似てるね。使うにはいいライブラリだよ。
これは素晴らしい作品だね。でも、実際のデータや出力は、まぁ…ゴミみたいに見えるかな?ちょっと言い過ぎかもしれないけど。もしかしたら、統計モデルに重要な思考を頼りすぎてるんじゃない?みんなそういうところあるよね。でも、これらの中には明らかにひどいものもあるし、LLMの犬みたいな感じだよ。世界には、これらのモデルが信じている以上のことがあるんだから。追記:もしテキスト間の見えない糸を探しているなら、LLMにはそれを達成できないって信じて。最も進んだモデルに何時間も問い詰めたけど、酔っ払った半分寝てる大学一年生でもできるようなタスクを満足にこなせなかった。モデルはまだ十分な能力がないんだよ。