LLMを活用した情報収集結果のNote記事自動作成の検討(開発日記 No.036)
関連リンク
- 前回の開発日記: 開発日記
はじめに
昨日は開発環境のセットアップと基本的な動作確認を行いました。今日は、以前から考えていた、LLMを活用して日々の情報収集結果をNoteで記事化する仕組みについて、具体的な検討を開始します。
背景と目的
日々の情報収集には、ChatGPT、Perplexity、Grok、Claudeなど、複数のLLMサービスを利用しています。これらのサービスはそれぞれ便利ですが、情報が各プラットフォームに分散してしまい、後で参照するのが難しいという課題がありました。また、各調査は対話を重ねて深掘りしていくため、会話スレッドを追わないと全体像を把握しにくいという問題もあります。
そこで、これらの調査結果をLLMを利用して分かりやすい記事形式にまとめ、Noteに公開する仕組みを構築したいと考えました。これにより、情報の一元管理と、より構造化された形での知識共有が可能になると期待しています。
検討内容
この仕組みの実現可能性と詳細な仕様について、LLMと相談しながら検討を進めました。
まず、Docs/research/
ディレクトリに調査結果をMarkdown形式で保存したら、自動的にLLMがNote記事に変換し、Noteに自動で公開する、という大まかな流れを想定しました。
具体的な検討項目としては、以下の点が挙げられました。
-
トリガー:
Docs/research/
に新しいMarkdownファイルが保存されたことを、どのように検知するか? - 変換LLM: MarkdownからNote記事への変換には、どのLLMを使用するか?
- 記事フォーマット: 変換後のNote記事に求めるフォーマット(文体、構成、長さ、コードブロックや画像の扱いなど)は?
- note.com連携: note.comへの自動公開はどのように行うか?
- 承認プロセス: 変換された記事を公開する前に、内容を確認・承認するステップは必要か?
これらの質問に対して、以下の回答をLLMから得ました。
- トリガー: Gitのコミットフックを使用する。
- 変換LLM: OpenRouterのAPIを使用する。様々なモデルを試せるため。
- 記事フォーマット: 専用のフォーマットファイル(Markdown)を参照してLLMに変換指示を出す、という方針で後ほど検討する。
- note.com連携: 非公式APIを利用する方向で検討する。
- 承認プロセス: 公開前の承認ステップは不要で、非公式APIで下書きとして投稿し、最終的な公開は手動で行う。
実装内容
今日は具体的なコードの実装には至りませんでした。主に、システム全体のアーキテクチャと、各コンポーネントの役割、そして実現可能性についてLLMと議論しました。
具体的には、以下の作業を行いました。
-
Docs/specification-draft/2025-04-05_LLM_Note_Publishing_System.md
という名前で、仕様書の草案ファイルを作成しました。 - 仕様書の概要セクションと要件定義セクションを更新しました。
技術的なポイント
今回の検討で重要な技術的ポイントとなるのは、以下の点です。
- Gitコミットフック: ファイルの変更をトリガーとする処理を実装する方法。
- OpenRouter API: 複数のLLMモデルを柔軟に利用するためのAPIの使い方。
- Note.com API: 非公式APIを利用する際のリスクと、安全な利用方法の検討。
- Markdownフォーマット: LLMに指示を出すための効果的なフォーマット設計。
所感
今日は、LLMとの対話を通じて、Note記事自動作成の仕組みの全体像がかなり明確になりました。特に、OpenRouter APIを利用することで、様々なLLMモデルを試せるという点が魅力的です。
非公式APIの利用については、リスクも考慮しつつ、慎重に検討を進める必要があります。また、記事のフォーマットをどのように定義するかが、記事の品質を左右する重要な要素になりそうです。
LLMとの会話記録が途中で乱れてしまったのは少し残念でしたが、LLMが自動で修正してくれたのは助かりました。
今後の課題
今後の課題は以下の通りです。
- Gitコミットフックの実装方法を調査する。
- OpenRouter APIの利用方法を詳しく調べる。
- Note.comの非公式APIについて、詳細な情報を収集し、リスクを評価する。
- 記事のフォーマットを定義するためのMarkdownテンプレートを作成する。
- 下書き状態での投稿機能について、Note.com APIの仕様を確認する。
まとめ
今日は、LLMを活用したNote記事自動作成の仕組みについて、LLMと協力して仕様を検討しました。Gitコミットフック、OpenRouter API、Note.com APIなどの技術要素について、実現可能性とリスクを考慮しながら、具体的な検討を進めることができました。今後は、これらの技術要素を実際に実装し、プロトタイプを作成していく予定です。
Discussion