📚

Obsidian / Kindle / Cursorを活用した、書籍サマリ自動生成フロー

に公開

はじめに

もともとObsidianのKindleプラグインを活用してKindleのハイライトをマークダウン化する運用は続けていたのですが、以前は手動でサマリ作成を、ここ数年はハイライトをコピペして生成AIにサマリを作らせて保存するような運用を続けてきました。

このサマリ作成のプロセスをもっと効率化したいなと考えた時に、Cursor上のAI機能を使って自動的に書籍サマリを作成するフローを思いついたので、本記事に残しておきます。

システム概要

構築したシステムは、以下の要素から成り立ちます。

  • Kindle: 書籍を読むためのデバイス/アプリです。ここでハイライトを作成します。
  • obsidian-kindle-plugin: Kindleで作成したハイライトをObsidianに自動的に同期してくれるプラグインです (https://github.com/hadynz/obsidian-kindle-plugin)。
  • Obsidian: 日々のメモや知識管理に使用しているツールです。Kindleプラグインによってハイライトがマークダウンファイルとして取り込まれます。
  • Cursor: VS CodeをベースにしたAIペアプログラミングエディタです。今回の自動化の中核を担います。
    • AI (Large Language Model): Cursorに統合されているAI機能を利用して、サマリを生成します。

フローとしては非常にシンプルです。

  1. 普段通り、Kindleで読書中に重要な箇所をハイライトします。
  2. obsidian-kindle-pluginを使って、ハイライトをObsidianの特定のディレクトリにマークダウンファイルとして同期します。私は notes/kindle highlights/ ディレクトリにハイライトを保存しています。
  3. Cursor上でAIに指示を出すことで、同期されたハイライトファイルを読み込み、指定した方針に従って書籍サマリを別のマークダウンファイルとして生成させます。

自動生成フローの詳細

具体的な手順は以下のようになります。

まず、obsidian-kindle-pluginによって、Kindleでのハイライトが notes/kindle highlights/ ディレクトリにファイルとして生成されている状態からスタートします。ファイル名は通常、書籍のタイトルに基づいています。

次に、Cursorを開き、新しくサマリを作成したい書籍のハイライトファイルを選択します。

ここで、AI paneから以下のような指示を与えます (2025/05時点ですが、Gemini2.5 Flashを使用することが多いです)。

「このハイライトファイルの内容をもとに、`notes/ai_book_memos/` ディレクトリに指定の文章構造(`notes/ai_book_memo_guide.md` を参照)で書籍サマリのマークダウンファイルを作成してください。」

AIは指示を受け、以下の処理を行います。

  1. 対象のハイライトファイルを読み込みます。
  2. notes/ai_book_memo_guide.md を参照し、サマリの「型」や注意点(文章構造、ですます調を使わない、boldの乱用を避けるなど)を理解します。
  3. ハイライトの内容を解析し、書籍全体の要点や重要な学びを抽出します。
  4. 抽出した情報を指定の文章構造に沿って整理し、マークダウン形式でサマリを作成します。
  5. 作成したサマリを notes/ai_book_memos/[書籍タイトル].md として新規ファイルに出力します。

このプロセスにおいて、notes/ai_book_memo_guide.md が非常に重要な役割を果たします。このファイルには、サマリに含めるべきメタデータ(著者、ASINなど)や、サマリ本文の階層構造(AIサマリ、まとめ、といった見出し構成)、そして文章のトーンや装飾に関するルールが明記されています。AIはこのガイドに従うことで、毎回一貫性のある形式で質の高いサマリを生成することができます。

notes/ai_book_memo_guide.md の内容は以下のような感じです。

## サマリ作成ガイド
* kindleにハイライトをつけると、[obsidian-kindle-plugin](https://github.com/hadynz/obsidian-kindle-plugin)の機能によってnotes/kindle_highlights/ 配下にハイライトが作成されます
* notes/kindle highlights と notes/ai_book_memosのファイルを比較し、ai_book_memosに存在しないファイルのサマリをマークダウンで作成します
* サマリ作成は以下の注意点に従って行ってください
  * まずはnotes/kindle highlights と notes/ai_book_memosのファイルを比較し、notes/kindle highlightsのみに存在するファイル名一覧を抽出してアウトプットしてください。それがサマリ作成対象です
  * 出力先は `notes/ai_book_memos/[本のタイトル名].md`とする
  * 必ず後述の文章構造を守ること
  * highlightのファイルを分割して読む必要がある場合は分割して全内容を理解した上でサマリ作成に取りかかること
  * 目的は本から、ポータブルな学び・スキルを獲得することなので、目的に沿った内容を作成するよう心がけること
  * ですます調は避けて、記述すること
  * bold (太字)は本当に本の中で重要なポイントにのみ使用すること。boldを乱用するとどこが重要かわからなくなります

## サマリの文章構造の指定
* 見出し1: 本のタイトルをそのまま記載
  * highlightにあるmetadataの内容をそのまま転記
  * 例:
    * Author: [アンドリュー・S・グローブ、小林 薫](https://www.amazon.comundefined)
    * ASIN: B01MU055XH
    * Reference: https://www.amazon.com/dp/B01MU055XH
    * [Kindle link](kindle://book?action=open&asin=B01MU055XH
* 見出し2: AIサマリ
  * 見出し3以降: 本の内容を体系的に整理したものを記載していく
* 見出し2: まとめ

まとめ

Obsidian、Kindle、Cursor、そしてAIを組み合わせることで、書籍のハイライトから体系的なサマリを自動生成するシステムを構築しました。これにより、サマリ作成の効率が大幅に向上し、読書で得た知識をより効果的に活用できるようになったと感じています。

今後はサマリをランダムにピックアップしてSlackに通知して思い返すきっかけを作ったり、サマリからクイズを生成してクイズに回答することで学びを深めるような仕組みを作りたいですね。

Discussion