📰

AI社内報の作り方:Slack×OpenAIで社内ニュースを自動生成

に公開

はじめに

昨日、31歳の誕生日を迎えたPeopleXエンジニアの坂津です。
最近は、劇場版無限城編をきっかけに今更ながら鬼滅の刃にハマりまして、アニメを一気見してしまいました。
無限列車編がお気に入りで、一番好きなキャラクターも煉獄さんです。
心を燃やす1年にしていきます🔥

さて、今回はタイトルにもある通り「AI社内報」の作り方についてです。
先日「第1回 PeopleX 社内ハッカソン」が開催されたのですが、今回ご紹介させていただく AI社内報を制限時間2時間半で開発 しました。(結果は、見事優勝することができました🙌)

シンプルなソースコードの割に社内では多くの反響をいただき、かなりコスパのよい開発ができたのではないかと思います。
社内に掛け合い、他の会社でも導入可能な形でソースコードを公開させていただくことにしました!
今回の記事を読んで気になった方はぜひ導入してみてください!

AI社内報とは

今回紹介するAI社内報は、Slackメッセージから「今週の注目ニュース」を自動生成し、Slack に投稿するSlackボットになります。
注目ニュース10件と番外編としてユーモアのあるトピックを5件ピックアップするようにしています。

AI社内報の投稿例1: 注目ニュース10件
AI社内報の投稿例2: 番外編ニュース5件

※ バブリックチャンネルのみを対象としています。
※ OpenAI を利用していますが、API利用の場合は学習には利用されません。
※ 毎週金曜日18時に投稿されるように設定しています。

導入方法

導入はシンプル3ステップです。

  1. リポジトリのフォーク
  2. GitHub Secretsの設定
  3. Slack App(Slackボット)の作成

1. リポジトリのフォーク

以下のリポジトリをフォークしてください。
親しみを込めて News×AI = newsai(ニューサイ)と名付けました。

https://github.com/saka2jp/newsai

2. GitHub Secretsの設定

フォークしたリポジトリに以下のRepository Secretsを設定してください。

  • OPENAI_API_KEY:

  • SLACK_BOT_TOKEN:

    • Slack Appを作成し Bot User OAuth Token を取得してください。
    • https://api.slack.com/apps
    • 詳細は後述します。
  • SLACK_CHANNEL:

    • AI社内報を投稿するチャンネル名を指定してください。

GitHub Secretsの設定画面

3. Slack App(Slackボット)の作成

以下のURLからSlack Appを作成してください。(すでにあるものを利用することも可能です)

https://api.slack.com/apps

Slack Appに以下のScopesを設定してください。

  • channels:history:Slack Appが参加しているパブリックチャンネルのメッセージを取得するために必要です。
  • channels:join:Slack Appがパブリックチャンネルに参加するために必要です。
  • channels:read:Slack Appが参加しているパブリックチャンネルの基本情報を取得するために必要です。
  • chat:write:Slack Appがメッセージを投稿するために必要です。

※ 作成済みのSlack AppのScopeを編集した場合はReinstallが必要になるため注意してください。

導入の効果

以下のような効果があった、または見込めるのではないかと考えています。

  • 情報収集の自動化による工数削減
    • 個人の主観によるバイアスのない情報を共有できるようになった。
  • 社内ナレッジの可視化・サイロ解消
    • チャンネル横断で話題を俯瞰化し、部門内に埋もれがちな情報を“注目ニュース”として浮上させることが可能になった。
    • 「【注目ニュース】10件+【番外編】5件」の定点観測で、継続的に社内の状態を可視化できるようになった。
  • 組織アラインメントとエンゲージメント向上
    • 毎週の社内の共通トピックができ、チーム間のコミュニケーションが生まれやすくなった。
    • 「番外編」によりカジュアルな話題も拾い、コミュニケーションをとるきっかけになりやすくなった。
  • オンボーディングの加速
    • 新規参画メンバーが過去数週のダイジェストを追うだけで会社の歴史や流れを把握可能になった。

コスト

モデルはGPT-5を利用しています。GPT-5 miniでも検証をしましたが、発言のないチャンネルを関連チャンネルとしてしまうなど精度面で問題がありました。
最大の入力&出力トークンの場合で試算をすると、 最大でも1回あたり約 $1.44/回 で利用が可能です。(相当なメッセージ量がない限りは実際にはここまでの金額はかからないと思います)

  • 料金前提(GPT-5):
  • 出力が上限まで出た場合の出力コスト: 15,000 × $10/1,000,000 ≈ $0.15
  • 入力がコンテキストほぼ上限まで入った場合の入力コスト(約1,032,576トークン想定): 1,032,576 × $1.25/1,000,000 ≈ $1.29
  • 合計の最大概算: 約 $1.44/回

開発の工夫

なるべく低コストで運用し続けられるような工夫を行いました。

  • 定期実行はGitHub Actionsを活用
    • パブリックリポジトリ: 実行は無料・無制限
    • プライベートリポジトリ: プランごとに毎月の無料分あり(超過で従量課金)
      • Free: 2,000分/月
      • Pro/Team: 3,000分/月
      • Enterprise: 50,000分/月
    • 出典:GitHub Actions 料金ページ
  • LLMの入力トークンをなるべく減らす
    • Slack APIで取得できる情報のうち、必要なフィールドのみを選択
    • URL, 改行, メンションなど不要な情報を可能な限り削除

さいごに

導入またはソースコードを読んでFBがありましたら、ぜひコメントやコントリビュートいただけると嬉しいです!

PeopleXではHR領域に革新を起こすべく、AI面接/AI受付/AIトレーニング/AI上司など、AIを活用したプロダクト開発を行っております。
ご興味ある方はぜひ一度お話ししましょう!

GitHubで編集を提案
PeopleXテックブログ

Discussion