はじめに
Aizackと申します。普段は就労移行支援事業所Neuro Diveで転職の準備を行なっております。 システムエンジニアとテクニカルサポートの経験を活かし、データエンジニアを目指してデータの集め方や加工方法、データ基盤などを学んでいます。
本日はデータラーニングギルドのアドベントカレンダー3日目の記事として、最近開発したツールについて振り返ります。
最後にコミュニティの宣伝があるのでお見逃しなく!
ツールの紹介、開発背景
ツールの紹介
今回開発したのはデータ・AI関連ニュース情報を収集し、LLM(大規模言語モデル)で記事の選定・要約・加工を行い、それをSlackとNotionにレポートとして通知する自動化ツールです。
このツールの詳細については、以下のGitHubリポジリをご覧ください。 github.com
また、Notionでのレポート保管ページはこちらです。 www.notion.so
データフロー図
以下のようにスケジュール実行を行い、記事の選定・要約を通してニュースを通知しています。

開発背景
コミュニティ内の募集
参加しているコミュニティで以下のような募集が出ていたのがきっかけです。
ちょうど転職活動用ポートフォリオに行き詰まっており、気晴らしとして参加しました。

開発で担当した領域
私含めて3人のメンバーがいる中で、主にシステム全体の設計とプロトタイプの開発を担当しました。週1〜隔週のペースでMTGを行い、他のメンバーには技術調査や実装アイデア出し、要件定義のレビューとコミュニティオーナーさんとの情報共有などを担当頂きました。
実装を担当したのは、就業訓練中で時間に余力があり、並行していたポートフォリオと技術スタックが似ていたという背景もあります。転職用の実績作りと技術学習としての側面もありました。
機能紹介
以下で、本プロトタイプの4つの機能を紹介します。
1. AIニュースの自動収集
GoogleアラートのRSSフィードから、AIやデータ分析関連の最新記事を自動で収集します。
2. LLMによるニュース記事の処理
収集した記事は、Gemini-2.5-flashによって要約、カテゴリ分類、記事の選定が行われます。
3. Notionレポートの自動作成
選定された記事を元に、Notionに日次のレポートページが自動で作成されます。このページには記事の要約やポイント、イメージ画像などが含まれます。

4. Slackへの通知
作成されたNotionレポートの内容は、Slackの指定チャネルに自動で通知されます。

開発の工夫と苦労
工夫
このシステムを開発する上で、特に以下3点に工夫をしました。趣味に近い開発の中でWebやLLM周りの知識、CI/CDの経験が広がって楽しい時間でした。
1. ニュースソースの選定と効率的な取得
AI関連の最新ニュースを網羅的に、かつ効率的に取得するため、GoogleアラートのRSSフィードを利用しました。これにより、特定のキーワードに関連するニュースを自動で収集し、情報収集の手間を削減しています。
普段の技術ニュースをGoogleアラートで収集していたため、馴染み深い方法でした。設計当時RSSは利用していませんでしたが、開発を通じてその便利さを実感しました。
現在はSlack標準のRSSアプリ*1を常用しています。
2. LLMの無料活用
コストを抑えつつLLMを利用するため、Google AI Studioで提供されているGemini-2.5-flashモデルを積極的に活用しました。これにより、記事の翻訳、要約、カテゴリ分類、選定といった複雑な処理を、費用を気にすることなく実現しています。
トークン数の制限はありますが、手軽に無料で生成AIのAPIを利用できるのは助かります。今回のようなプロトタイプや趣味の利用には抜群に役立ちます。
3. 仕様駆動開発(Spec-driven development)
AIと自身が要件から外れてしまわないように、仕様駆動開発*2の手法を取り入れました。これによりGitHub上には明確な自然言語でのドキュメントとREADME.mdが残されるため、開発者以外も何をしているか把握できるようにしています。
苦労
また、以下のような苦労もありました。 全く触れたこと無い技術ばかりだったため、悪戦苦闘していました。振り返ってみると良い経験になっています。
1. Notionの設定
Notion APIを利用してレポートを自動作成する際、データベースのプロパティ設定やAPI接続、画面のレイアウトなどに苦労しました。
これまでNotionには開発者として触れたことがなかったため、期待通りのフォーマットでページを作成し、情報を正確に反映させるための調整が大変でした。
過去にDrupalというCMSを用いた画面設計やバックエンド設計に関わっていたため、その際の経験とAIでの調査でなんとか作成出来ました。
2. ニュースイメージ画像の取得・設定
ニュース記事に関連する画像をNotionレポートのカバー画像として設定する機能の実装も一筋縄ではいきませんでした。
当初はRSSで取得した記事を通じてメタタグのOGPタグ(og:image)を取得する想定でしたが、全くうまく行きませんでした。取得する記事やニュースサイトによってOGPタグ情報が含まれていないことが発覚したためです。
それに対処するために、Unplashというストック画像サイトからAPIを通じて当日の選定記事に近い画像を取得するように設計変更を行いました。具体的には、LLMで記事の選定と要約のついでに検索キーワードを生成し、それをUnplash APIで記事のニュアンスに近い画像を自動取得するように変更しています。
3. GitHub Actionsのcrontabを利用した定期実行
システムを毎日自動で実行するため、GitHub Actionsのscheduleトリガー(crontab形式)を設定しました。ここでcrontabの仕様にハマり、定期実行の時間と曜日がずれるという不具合と格闘しました。
crontabはUTC(協定世界時)で設計されており、JST(日本時間)で行うためには+8hをずらすように曜日と時間を設計しなければなりませんでした。
これに気が付かず数十分格闘し、理解した際の私のポストは以下です。
GitHub Actionsで曜日を指定した定期実行を組んだら、UTC基準なのを理解していなくて一日ズレた
— Aizack (@ykokubo09) 2025年11月14日
かろうじて時間はUTCとの時差を考慮していたけど、起動時間の関係で曜日もずれるとは思わなんだ
こういう分かりやすいところで欠陥て生まれるのよね…#私がこのバグの生産者です
これまでとこれから
コミュニティで集まったメンバー達と3人で12月までプロトタイプを開発していました。
今後は以下に記載の2〜3とSlackでのリリース・機能拡張などを検討しています。
要件定義〜プロトタイプの開発(9〜11月)
まずは、AIニュースの収集からLLMによる処理、NotionとSlackへの連携までの一連のフローを検証するためのプロトタイプを開発しました。 この段階で、技術的な実現可能性と基本的な機能の動作を確認し記事のSlack・Notionへの定時配信を実現しました。
プロトタイプの開発は上記を確認できたことで完了し、以降は本番としてコミュニティSlackへのリリースを目指すフェーズです。コミュニティ用Slackでのリリース(現在)
プロトタイプの検証ができたため、これから実際にコミュニティのSlackチャンネルでシステムを稼働ようと準備しています。
日々のAIニュースレポートの自動配信を行い、他の方の反応を通じた活性化につながればと考えています。
また、実際の運用環境での課題を抽出してシステムの改善を行っていきたいと思います。機能拡張(未来)
将来的には生成されたレポートを静的サイト(GitHub PagesやVercelなど)として公開することも検討しています。
Notionには無料アカウントでの記事数?ブロック数?の制限があると聞き及んでいるからです。Notionデータベースが今回用意しているアカウントでどの程度の記事数制限があるのか、費用がどうなるのかなどは要調査・検証の課題です。 もし、このあたりに詳しいコミュニティメンバーの方がいらっしゃったらお手伝いしていただけると嬉しいです。
まとめ
本ブログでは、私が開発した「AIニュースレポート自動生成システム」について、その紹介から開発背景、機能、そして開発における工夫と苦労、今後の展望までをご紹介しました。
着手した頃は、転職準備用にポートフォリオ開発が行き詰まって辛い時期だったので良い気分転換になりました。特に、CI/CDに関しては今後のキャリアを考える上で必須技術であるため楽しく学ぶ機会を得られて助かっています。
今後のコミュニティでのリリースや機能拡張でどのような課題が見えてくるのか、楽しみです。
データラーニングギルドとは?
データラーニングギルド は、株式会社データラーニングが運営する、
データサイエンスを中心とした学習者・現役データサイエンティスト・エンジニアのためのコミュニティです。
学びの共有・キャリア形成・横のつながりを大切にし、
勉強会、LT会、技術相談、キャリア支援、案件紹介など、
「データ領域で挑戦したい人を応援する活動」を幅広く行っています。
初心者から実務者まで、誰もが成長できる場づくりを目指しています。
🔗公式サイト:https://data-learning.com/guild
*1:めちゃくちゃ便利かつ簡単なので、Slack利用している人はオススメです!現在学習しているAWSに関するニュースやブログを集めるのにめちゃくちゃ便利でした。
*2:明確な仕様を文章に起こし、その後にAIを活用した開発を行う手法。ウォーターフォールモデルでのオフショア開発経験があるため、馴染み深い手法でした。 詳細はこちらのITMediaさんの記事を参照下さい。