DIVX テックブログ

catch-img

Cursor Agent × GeminiでZennトレンド記事をSlack通知してみた

はじめに

こんにちは、DIVXエンジニアの木村です。
日々の技術情報収集、みなさんどうされていますか?

私自身、毎日新しい情報を手動で探しにいくのが負担と感じており、気づくとトレンドを見逃してしまう…なんてこともありました。

また、自分の興味分野以外の情報も手軽にキャッチアップしたいと思い、今回自動化を試みました。

本記事では、CursorのAgent機能とGoogle Gemini APIを活用し、

  • Zennトレンド記事の取得

  • GeminiによるAI要約

  • Slackへ自動通知

までを自動化した構成を紹介します。さらに、実装面で工夫したポイントや今後の展望についても

まとめています。

背景

情報収集には以下のような課題があると個人的に感じています。

  • 情報量が多く毎日追いきれない

  • 興味が偏ってしまう

  • 要点を掴むのに時間がかかる

そこで今回は以下の構成で自動化を図りました。

  • ZennのRSSフィードを定期取得

  • Gemini APIで要約し、要点を抽出

  • Slack Botでチャンネルに自動通知

  • Cursor Agentで構成管理・開発効率をUP

導入構成

  • 言語・環境:Python 3.8+ + 仮想環境 (venv)

  • 定期実行:cron(macOS ローカル環境)

主要ライブラリ

用途

feedparser

RSSフィードの取得

python-dotenv

.envファイルから環境変数取得

google-generativeai

Gemini API 連携

requests

Gemini API 呼び出し

Slack SDK

Slack Bot 通知

外部サービスAPI

構成と技術選定の背景

前提

今回は運用コストを抑えることを優先して技術選定を行いました。

普段の業務で利用している技術スタックをベースにすることで、導入までの時間を短縮しています。

実行環境(ローカル cron)を選んだ理由

定期実行の方法としては、GitHub ActionsやCloud Functionsなどのクラウド実行も候補にありましたが、今回はローカル環境での cron を選びました。

ローカル実行にすることで、Cursor Agent でコードを修正 → pythonファイルを実行 → ターミナルのログで挙動を確認というサイクルを素早く回せます。

GitHub Actionsでも定期実行は可能ですが、毎回コミット&プッシュやブラウザでのログ確認が発生するため、開発スピードとデバッグのしやすさのバランスが良いと判断しました。将来的にチーム運用が必要になった場合は、GitHub Actionsなどのクラウド実行に移行する想定です。

要約モデルとして Gemini を選んだ理由

コスト面では、API利用時にGeminiには月60リクエストまでの無料枠があり、「毎日 1 本の記事を要約」という今回の規模であれば追加コストなしで運用できます。

また他の技術ブログでの事例を参考にすると、Geminiは長文から要点を整理して要約する用途との相性が良いとされており、今回の「技術記事の要点だけを素早くつかみたい」という目的に合うと判断し、Geminiを選択しました。

Cursor Agent を採用した理由と効果

今回の構成は「RSS 取得 → LLM で要約 → Slack に通知」という一連の流れを、Cursor Agent 機能を使って実装しました。

特に効果を感じたのは次の 3 点です。

  • 環境構築とエラー対応をまとめて任せられる

    • Python 環境の作成、Gemini API・Slack Botの設定、503 エラー発生時のリトライ処理などをAgentモードで一連の流れとして依頼できました。コード変更が必要な場面では必ず途中で確認を求めてくれるため、提案内容を自分でチェックしながら安心して実装を進められました。

  • 複数ファイルをまたぐ修正に強い

    • 関連ファイルを横断して修正案を提案してくれるため、修正箇所を自分で探し回る工数が減り、開発・検証の効率化を通じて運用コストの低減につながりました。

  • 試行錯誤のサイクルが速くなった

    • 「どのRSSを使うか」「AI記事をどうフィルタするか」といった設計で悩んだ際も、その場で相談しながらコードに落とし込めたことで、設計レビューと実装を同時に進めているような感覚で開発できました。

結果として、ただコードを書いてもらっただけではなく、開発パートナーとして一緒に実装を進められた点が、Cursor Agentを使った一番の価値だと感じています。

環境設定

.envファイルで環境変数を設定


 GOOGLE_API_KEY=your-api-key         

 SLACK_BOT_TOKEN=xoxb-your-bot-token  

 SLACK_CHANNEL=#your-channel      

ファイル構成

├── zenn_ai_daily.py       

├── requirements.txt           

├── .env                

└── output/            

    ├── zenn_ai_YYYYMMDD.md  

    └── zenn_ai_YYYYMMDD.json    

Slack通知してみる

毎日16:00に通知できるよう設定を行いました。

↓crontab -e に以下を追記

  016***/path/to/venv/bin/python/path/to/zenn_ai_daily.py 

工夫した点

処理の自動化

Cursor Agent を活用し、記事取得 → Gemini API での要約 → Slack への通知までの

一連の処理を自動化しました。

要約処理の安定化

Gemini API はたまにサーバー過負荷などでエラーを返すことがありました。そのため、複数のモデル(gemini-2.5-flash、gemini-2.5-pro など)を用意し、エラー時には自動で別モデルに切り替えるよう

実装しました。これにより、要約処理の成功率が向上し、API呼び出しが安定しました。

まとめ・今後の展望

今回の構築により、Cursor Agent × Gemini を活用した技術ニュース自動化が実現できました。
記事取得・要約・通知を自動化することで、情報収集効率が大幅に向上し、チーム全体で知見を共有     できる仕組みを構築できました。

今後は以下のような展開を検討しています。

  • 他の技術ニュースサイトを追加して情報網を拡張

  • Gemini APIの要約品質向上のため、使用モデルのカスタマイズ

お気軽にご相談ください


ご不明な点はお気軽に
お問い合わせください

サービス資料や
お役立ち資料はこちら

DIVXブログ

テックブログ タグ一覧

人気記事ランキング

関連記事