はじめに
「身の回りの困りごとを楽しく解決」というテーマに合わせて、私が開発している rsssummarizer について紹介します。
日々押し寄せる情報の洪水、どうやって泳ぎ切っていますか? rsssummarizer は、そんな現代人の悩みを解決するために生まれたツールです。
開発の背景:未読RSSの山との戦い
RSSリーダーは情報収集に欠かせない強力なツールですが、登録フィードが増えるにつれて、「読みきれない」という問題に直面します。便利だったはずの未読バッジが、いつしかプレッシャーの塊となり、重要な情報がその山に埋もれてしまう。そんな経験はないでしょうか。
私もその一人でした。「何とかして、効率よく情報の全体像を把握したい」。そう考えていた時に出会ったのが LLM(大規模言語モデル)です。
「RSSで集めた記事をLLMに読ませて要約させれば、短時間で『何が起きているか』をざっくり把握できるのではないか?」
そんな発想から開発がスタートしました。
rsssummarizer とは
rsssummarizer は、RSSフィードから記事を取得し、AIを活用して要約を生成するPython製ツールです。
現在、GitHubでオープンソースとして公開しています。
GitHub: https://github.com/naoyaikeda/rsssummarizer
当初は、私がセルフホストしていた FreshRSS をソースとして利用することを想定して作られました。
主な機能
1. AIによる記事要約
大量の記事を一つ一つ開かなくても、AI生成された要約を読むだけで内容を把握できます。これにより、精読すべき記事とそうでない記事の選別が圧倒的に速くなります。
2. Obsidian へのエクスポート連携
現在のバージョンでは、要約結果を Markdown形式 でエクスポートする機能を搭載しました。
これにより、生成された要約をそのまま Obsidian などのMarkdown対応ノートアプリに取り込むことが可能です。
「情報を消費して終わり」ではなく、自分のナレッジベースとして蓄積していくフローがスムーズになります。
3. マルチLLM対応(開発中)
「要約にはこのモデルを使いたい」「コストを抑えたい」といったニーズに応えるため、使用するLLMを選択できる機能を実装中です(一部ブランチにて公開中)。
技術スタックと今後の展望
開発言語は Python を採用しています。パッケージ管理には、高速で話題の uv を導入し、開発体験の向上を図っています。
現在、実験的に取り組んでいるのが 記事のクラスタリング機能 です。
記事の内容を埋め込みベクトル(Embedding)化し、類似した話題をグルーピングすることで、「今、どんなトピックが熱いのか」を視覚的に把握できるようにすることを目指しています。こちらも一部ブランチで実装を進めています。
派生プロジェクト:paperfeeder
rsssummarizer のアーキテクチャは、他の情報収集にも応用可能です。
その派生として生まれたのが paperfeeder です。
こちらは arXiv から最新の論文を取得し、同様に要約を行うツールです。学術情報のキャッチアップも、AIの力で効率化を進めています。
おわりに
自分だけの情報収集エージェントを育てるのは、エンジニアリングとしても非常に楽しい体験です。
もし「積読」や「未読RSS」に悩まされている方がいれば、ぜひ rsssummarizer を試してみてください。
情報の波に飲まれるのではなく、楽しく乗りこなしていきましょう!