
メタ情報
役割: 一人開発(要件定義 → 実装 → 運用) / 期間: 2026-04〜稼働中 / チーム: ソロ + Claude Code/Codex / 状態: 自社運用中(GitHub Public 公開済み)
概要
RSS 6 ソースと X API(4 カテゴリ)から最新 AI 情報を収集し、Claude Haiku で「自分の判定基準に沿った有益記事のみ」をフィルタリング・日本語翻訳・要約して Discord に毎朝 09:00 JST 配信する自社運用ボット。GitHub Actions の cron で完全クラウド化されている。
背景・課題
最新の AI 業界動向(モデル発表・OSS リリース・実用 Tips)を効率よくキャッチするには複数の英語情報源を毎朝巡回する必要があり、平均で朝 30〜45 分が消費されていた。市販のキュレーションサービスは英語のままだったり広告色が強かったりで定着せず、最終的に「Claude Haiku で自分の判定基準に沿ってフィルタ → 日本語要約」する自前ボットに落ち着いた。
実装内容
① マルチソース収集
RSS 6 ソース(TechCrunch AI / The Verge AI / VentureBeat / MIT Tech Review / HuggingFace Blog / OpenAI News)を fetch。X API v2(Bearer Token 認証)で AI 主要企業アカウント(OpenAI / Anthropic / Google DeepMind / Meta / mistralai / xAI / nvidia)の投稿も並列取得。
② 5 カテゴリ別キュレーション
news / tech / tips / monetize / monetize_jp の 5 カテゴリそれぞれに「有益判定基準」を明文化したプロンプトを作成。Claude Haiku に記事リストを渡し、各カテゴリの基準に合致するもののみを選別。
③ 日本語翻訳・要約
Claude Haiku が英語記事を日本語に翻訳し、3 文以内で「具体的な数値・モデル名・ツール名」を含む要約を生成。マーケティング寄りの定性的な話・投資・暗号資産・企業向け B2B 事例は明示的に除外。
④ Discord embed 通知
カテゴリごとに色分けされた embed として Discord Webhook に送信。10 件ずつ分割送信して 25 件以上でも対応。
⑤ GitHub Actions の cron 自動実行
.github/workflows/daily.yml で 00:00 UTC(09:00 JST)に毎日自動実行。
技術スタック
- 言語: Python 3.13
- フレームワーク: 標準ライブラリのみ(urllib / xml.etree / json)— 外部パッケージゼロ
- DB / ストレージ: なし(状態保持は GitHub Actions Secrets のみ・永続 DB 不使用)
- AI / 外部 API: Anthropic Claude Haiku
- データソース: X API v2(Bearer Token)+ RSS フィード
- 通知: Discord Webhook
- デプロイ・インフラ: GitHub Actions(cron)
工夫点・技術的判断
カテゴリ別の判定基準を Python コード内(_CRITERIA dict)に明文化し、Claude プロンプトに JSON 形式で埋め込む設計を採用。これにより「news で『意見記事・予測』を除外」「monetize で『投資・FX・暗号資産』を除外」のように、各カテゴリの除外条件もコードレビュー可能な形で管理できる。代替案としてプロンプト全体を環境変数に逃がす案もあったが、Git 管理下に置いて差分追跡するメリットを優先した。標準ライブラリのみで実装したのは GitHub Actions 上での起動を最速にし、依存パッケージのバージョン互換問題を排除するため。
成果・指標
- AI 業界動向のキャッチ時間: 朝 30〜45 分 → 朝 10 分(Discord 確認のみ)
- 月次稼働時間の節約: 約 15〜20 時間/月
- カテゴリ精度: 5 カテゴリ × 5〜10 件/日 を 4 月稼働開始から欠損ゼロで配信継続中
- サーバ運用コスト: 0 円(GitHub Actions 無料枠内)
- AI / 通信コスト: Claude Haiku の従量課金のみ(1 日あたり数円程度)
→ この実績は「AI を活用した社内 / 個人向け情報自動収集ツール構築」「LLM プロンプトエンジニアリング(カテゴリ別判定基準の言語化)」「マルチソース正規化(RSS + REST API)+ Webhook 配信パイプライン」案件で武器になる。特に外部依存を持たない Python 軽量 ETL は「運用コスト最小化が要件のシステム」案件、中小事業者向けの社内情報集約ツール案件にも転用可能。
関連リンク
- GitHub リポジトリ(動く証拠): https://github.com/tanasato118/captain-hook-ai-daily