最近LangChainの本を読んでいます。

LLMまわりは本当に詳しくなくて、でも本の評判が良かったり、社内で読書の趣味がとても似ている(と勝手に思っている)開発者が読んでいたりしたので読んでみることにしました。

QAやソフトウェアテスト関連の本であれば自分の脳だけで読めるのですが、詳しくないジャンルを教養として身につけつつ読もうと思うと、知らないこと・わからないことがちょこちょこ出てきます。

今までだと都度ググったり、わからないまま読み進めたりしていたのですが、いずれも技術書を最後まで読むうえでのハードルになっていました。おかげで読みかけが大量に積まれています。

もちろん「技術書は最後まで読み通さなくても意味がある」とか、いろいろな意見・説があります。し、私も頭から最後まで熟読せねば!とは思っていません。ただ、できれば買った技術書に関しては以下のような読み方をしたいです。

  1. まず一周目、全体の内容を掴む
  2. 良い本だったら手を動かしながら、考えながら二周目として精読する
  3. 必要に応じて読み返す

この1のところ、一周目として全体をさらーっと読んで脳にインデックス張るところでつまづいてしまうのは嫌。ということで最近試していたのがLLMに質問しながら読むことです。

やり方は簡単で、スマホでChatGPTなりGeminiなりを開いた状態で本を読み、ちょっとでもわからないなと思ったらざっくりした質問を投げるだけ、です。

こんなイメージ。

Image from Gyazo

コツとしては以下2つです。

  • 本を読むリズムのほうを重視して、LLMとの対話を深追いしすぎない。
  • 細かい質問よりは、「**って何?」や「***と***はどう違う?」といった質問をする。

あくまでも一周目なので、その先に書いてある内容をおおまかに理解するための前提知識だけ抑えながら進むイメージです。LLMとの対話に時間をかけてしまって本を読むのが遅くなると、けっきょく通読期間が延びて挫折しやすいです。

いわゆる「完全に理解した(よくわかっていない)」くらいでOK、と考えています。

この方法の良いところとして、チャットの履歴が残るので、自分が疑問に思ったことやキーワードが保存される点です。あとで個人のナレッジベースやブログ等にまとめる際に便利です。

特別な工夫があるわけではないですが、技術書を読む際にLLMと一緒にやってみると快適になります、という話でした。