自動作成されるNFLのニュースレターを作ってみた話
Ames · 2026年4月12日
今回は、サイトのコンテンツの中で比較的反響が多い気がするNFLニュースのデイリーダイジェストについて。自動でNFLのニュースを集めて、要約を日本語で作って、Xで告知しているほぼ自動のシステムです。(仮に僕が今急死しても、2ヶ月くらいは勝手に続く)。
何人かの人に「どうやってニュースレター作っているの?」と聞かれたので、需要は不明ですが仕組みを公開してみようと思います。これを読んで「こうした方がいい!」っていうフィードバックがある方はぜひ教えてください(結構皆さんのアドバイスで色々サイトは直してます)。
0. 作ろうと思った理由
まず、このシステムを作ろうと思った課題として以下がありました。
0.1. 日本語の総合コンテンツの欠如
-
各チームの日本人ファンブログは充実しているけど、このためチームによって情報格差がある。また、パッと見てその日のNFL全体の動きがわかるまとまった日本語コンテンツが意外と少ない。NFL Japan は良いサイトだけど、NFL公式の記事しか参照できない(当たり前)のと、Xのポストは少なめで速報性はやや低い(注:批判ではありません)。全記事Xで告知してくれたらだいぶ違うのですが。
-
個人で日本語の公式っぽい存在になろうとしているアカウントもありますが、その人たちすらフェイクニュースに騙されたりする事実。
0.2. X(旧Twitter)のタイムラインの変化
-
Xを毎日開いてAdam SchefterとかIan Rapoportみたいな信憑性高いアカウントのリストを作って定期的に見ている人はいいのですが、なかなか難しい(出現率高めの僕ですら忙しい時のニュースが抜ける)。
-
流れるスピードが速いのに加え、最近はAI生成画像を含めたフェイクニュースや偽アカウントが増えすぎました(最近だとTrevor Lawrenceの散髪画像 とか。普通に騙されてしまう)。
-
アルゴリズム的に推しチームがあるとそれに偏っていくので、他チームの情報が追いづらい。
0.3. 一度離れてしまうとその間の情報が追いづらい、残りにくい
-
Xのポストは流れてしまうし、各社のサイトも最新記事以外を辿るのは難しいので、忙しくて離れてしまうとその間の情報が簡単に追いづらい。
-
最近TLから一度いなくなって戻ってきた方が多かった(Genjiさん、くまださん、ぶりさん等)のが嬉しかったのですが、「忙しくてもその間に簡単に情報追いかけられるものがあれば戻ってきやすい人も多いかも?」とふと思いました。
そこで Xでアンケート を取ってみたところ、160件回答(多い)中の85%の方が「読みたい」と回答してくれました。ということで考えてみることに。
1. Step 1〜最新のNFL情報を集める
1.1. RSSでNFLの記事を集める
まずは「信頼できるニュースソースを集める」ところから。今回は情報の信頼度を担保するため、FOX、CBS、NBC、ESPNの4社に基本的に絞りました。これだけでも、24時間以内で大体100件弱の記事が出ます。(一応Yahoo、Bleacher Report、Guardianも取得していますが、AIがメインのダイジェストに選ぶことは稀)。これらのサイトは以下のようなRSSを提供(非商用なら使用OK)していて、ニュースタイトルや概要を一括で取得できます。
ESPNの提供しているRSSの例(Mike Vrabelの不倫?の噂のニュース)。こんな感じで、最新の記事の日付、タイトル、概要、筆者、リンクなどが1ページにまとまっています
※ 本当は情報信頼度、濃さ的にはNFL公式を入れたかったのですがRSSがおそらくなく、The Athleticも有料の壁があるため断念(AthleticはPodcast枠で採用)。最初はPFF(Pro Football Focus)も入れていたんですが、AIが要約の中に「PFFグレードが〜」というノイズを入れまくったので即外しました。主張が強い。
RSSに含まれる情報からキーワードを検出することで、サイト上での自動タグ付けなども行っています。この時点(RSS取得後ダイレクトの状態)もこちらの ニュースページ で公開しています。
タグ付けはタイトルと概要欄から指定ワードを見ているだけなので全く完全ではない。下の例はTed Ginn Jr.なのにDallasで事故起こしたからCowboysのニュースってことになってる…
【RSSとは】
情報を集めるために「RSS」という技術を使っています。Webサイト作る人以外はあまり聞き馴染みがないかもしれませんが、「サイトの更新情報を自動で届けてくれる、公式のまとめデータ」みたいなものです。「フィード」とも。普通にニュースをチェックしようとすると、各ニュースサイトを順番に開いて新着記事を探す必要がありますが、多くのニュースサイトは「今この記事を公開しました!タイトルはこれ、概要はこれです」というシンプルなデータ=RSS Feedを、裏側で配信してくれています。これを使えば、わざわざWebページを開かなくても、新着記事のデータだけをプログラムで一気に仕入れることができます。
なお、余談ですが僕はRSSに本業(研究者)のおかげで慣れている面も多いかも。NatureとかScienceみたいな論文雑誌は必ずRSS公開していて、研究者は割と皆そこから最新の論文情報を取ってきて毎日読みます(RSSフィードをまとめてくれるソフトがある)。
1.2. Podcastで深掘り情報もカバー
テキストの記事とは別に、より深掘りしたコンテンツとしてPodcastの情報も取得するようにしました。Podcastはどの番組もほぼデフォルトでRSSデータがあります。
僕は自身は普段あまりPodcastを聴かず(実は音楽作る趣味があるので音楽を聴いてるか、聴いてもSaints専門の NOF (neworleans.football) のPodcastだけ)、全体をカバーする番組に疎かったため、有名&聴いてみて良かった以下の5つに絞りました。正直、ここはよく聴く人におすすめの現地Podcastがあれば聞きたい。教えてください!
-
NFL The Insiders (NFL公式 / Ian Rapoport, Mike Garafolo, Tom Pelissero)
看板記者たちが最新ニュース、トレードの噂、契約事情などを紹介。 -
Move the Sticks (NFL公式 / 元NFLスカウトのDaniel Jeremiah, Bucky Brooks)
元プロスカウトの視点から、選手の能力評価、ドラフト戦略などチーム編成の裏側を深く掘り下げる(内容深め) -
The Athletic Football Show (The Athletic / Robert MaysなどThe Athleticの専門家たち)
データ分析や戦術(スキーム)解説など、リーグ全体のトレンドなどを詳しく解説(内容深め) -
NFL Daily (NFL公式 / Gregg Rosenthal)
平日に毎日配信、その日の最新ニュースなど。よくまとまってる。シーズン近づくと役に立ちそう。 -
The Ringer NFL Show (The Ringer / The Ringerのライター・アナリスト陣)
やや大胆な予想とか感想も多くファン目線でもある番組。1つ聴いてみて面白かったので選択。
こちらもRSS取得時点で Podcastページ に掲載しています。
※ 日本語のPodcast(アメフト沼さん、Any Given Saturdayさん など)も面白いものが多いのでお願いして掲載させてもらうことも考えたのですが、色々考えてひとまず断念。現地のもので良いPodcast知ってる人は教えてください!
※ なお、Podcastはその気になれば、文字起こしデータを取得して内容を要約することも記事以上に容易ですが著作権的にアウトだと思うのでやりません(注:特定のコンテンツやクリエイターの批判ではありません)。
2. Step 2〜 ダイジェストの日本語記事を作成 by AI
2.1. AIの選定
以上の過程で、24時間以内のニュースとPodcastの情報が揃いました。ここまではAIが絡む過程はなし(毎日動くのはただの自動収集プログラム)。集めた情報を要約・日本語に翻訳する部分がAIです。ChatGPT、Claude、Geminiなどが有名ですが、今回はClaudeを採用しました。理由は出力する日本語が自然だから(僕の感想。ただ以下もClaudeで、2年前でこのレベルでした)。
ここでちょっと工夫したのが、100件のニュース+Podcastを全部高性能なモデルに渡すとコストが跳ね上がるため、以下のようにClaudeのモデルを使い分けて役割分担しています。
- Haiku (安価で高速な下位モデル):大量のニュースからトピックの決定と事実のまとめを担当
- Sonnet (高性能な上位モデル):抽出された事実をもとに、日本語文章の書き起こしを担当
2.2. AIへの指示(トピック選定パート、Haiku)
100個の記事の中には、噂レベルの話や、ニュースではない話(今日だと、PITのJaylen WarrenがAaron Rodgersについてどう思うか語ったインタビューとかNBCに出てた)があります。大体NBCに入っているProFootballTalk由来ですが、こんなのばかりまとめていても微妙。
そこで、 「複数のメディアがカバーしているトピック=重要なニュース」という前提でロジックを組み、トップ5のトピックを選定 させるようにしました。記事を書く上でも情報量が増えるので良いこと。また重要なのが、「事実(Fact)のみを抜き出す」ように強く指示しています。各トピックを最大8つの「事実の箇条書き」に変換して出力。これによって、「記者の個人的な表現や意見をそのまま使う」という著作権的に良くない事象もほぼ回避できています。
また、AIのトピック選定も完璧ではないため、トップ5から漏れたニュースの中から重要そうなものを10個ほど拾い上げ、「その他のニュース」としてタイトル(日本語訳)とリンクのみを掲載しています。ここ意外と面白い。
Aaron Rodgersの話、ずっとここに出てるイメージ。いつも全然決めない
2.3. AIへの指示(執筆パート、Sonnet)
以上の「各トピック最大8つの事実の箇条書き」のみに従って、タイトルと日本語で3〜4文の紹介を生成するのが、より高機能モデルのSonnetの役目です。ここでは「勝手に推測して情報を補完(ハルシネーション)しないこと」をプロンプトでかなり厳格に制御しています。AIはたまに持っている知識が古かったり適当な嘘をついたりするので、初期テストでは「Jetsの新HCにAaron Glennが就任」とか補足しちゃってました。契約状況などを勝手に書かせず、事実ベースに絞ることでこれを防いでいます。
こんな感想ばかり出そうなニュースでも、ほぼ事実ベースでまとめて出典も明記してくれるようになりました
2.4. 運営コスト:ClaudeのAPI (約$0.1/日)だけ
ただ、「毎日決まった時間にClaudeを動かして上記の作業をさせる」というのは、普段私たちがAIを使うブラウザ的タイプのAIでは対応していません。これを、プログラムが直接Claudeに「この情報を要約して!」と裏口から注文を出せるようにするためにAPI(Application Programming Interface、IT用語ですが、例えるなら「コンピューター同士がやり取りするための、専用窓口」)を使っています。
APIは有料なのですが、上記の「Haiku+Sonnetの2段階方式」のおかげでかなり削減できていて、ニュースが多い日でもHaiku部分が約$0.05、Sonnet部分が約$0.05で収まっています(上限設ければシーズン始まっても大丈夫)。月300円くらいですね。正直自分が情報を追うのにかなり役立っているし、アクセスも多いってことは他の人も使ってそうなのでコーヒー一杯分なら全然いいかなという感じです(値上げだけ怖いけど、他のAIに乗り換えるのもできるので大丈夫なはず)。
シンプルに回すだけなら1回$0.1。多い日はニュースレター作成以外の用途に使ったり、機能拡張のために何回か回して試している日だけです
2.5. おまけ:マニュアル介入の余地
また、一応人間(僕)が介入できる余地も残しています。朝出勤する時(8時〜8時半くらい)にニュースを眺めて、面白かったURLと感想を専用のファイルに書き込んでおくと、プログラム実行時に以下のように処理される設定に(「📌 Picked by Ames」と出る)。なければスキップしてAIだけ。
- AIも同じニュースを選んでいた場合 :それをトップニュースに決定し、私のコメントも合わせて掲載。
- AIが選んでいなかった場合 :AIが選んだトップ5の下に強制追加し、コメントを掲載。
斜体部分は人間(僕)のコメントです
プラスで、記事内に「5th year option」や「dead money」といった契約用語が登場した場合、自動で サラリーキャップ辞典(別コンテンツ)から引っ張ってきた用語解説を載せるようにしています。(表現の揺れがあるので検出が難しかったり、そもそも概要レベルのニュースに細かい契約用語が出る頻度が少なかったりしますが、時々機能してます)
独自コンテンツ(AI成分も薄め)なので参照も引用も自由
3. 自動化の仕組み
3.1. GitHub Actionsでスケジュール実行
最後に、上記のプログラムを書いたものの、毎日決まった時間に実行するシステムが必要。僕のnoteの更新頻度や次回予告の守らなさをみた人ならわかると思いますが、「毎朝決まった時間にボタンを押す」レベルすら僕はずっと続ける自信はありません。
そこで無料の「GitHub Actions」という機能を使い、毎日午前9時にセットしたプログラムが自動で動くように設定しています(サーバーの混雑で大体1〜2時間遅れるため、結果的に10時半くらいに作動することが多い)。作成、サイトへの公開まで全てプログラムに組み込んでいて自動。クラウドで動くので、パソコンが電源入ってないとダメみたいな縛りもないし、外出先で携帯から修正も可能なので助かります。
毎日10時半くらいに自動実行。2分くらいで終わります
日本時間の午前10時くらいまではアメリカで活発にニュースが出ている時間帯なので、それを取得しつつ、お昼休みまでに配信できる(やばい内容が発信されていたらお昼休みで人力で修正可能)という形になってます。
今日(4/12)のログ。39記事(週末なので少ない)を見つけて、すでにカバーしたのを除いて31記事。Podcastから1つ深掘りトピックを選定(手動ピックはサボったのでスルー)
3.2. 予約投稿による自動化
唯一、GitHub Actionsが使えないのがXでの告知。XのAPIは高額で制限が厳しい。そこでやや泥臭いですが、「未来の日付のURLを予想して大量に予約投稿しておく」という力技でやっています。指定の時間になればシステムがそのURLで記事を生成しているので、実質的な自動投稿。とりあえず2ヶ月分くらいは入れました。2ヶ月に1回、予約投稿を準備するくらいならできるはず(それすら若干自信ないけど)。
SocialDogを使うと、まとめて予約投稿をセットできました
3.3. 自動メール配信(頓挫中)
余談ですが、メールで受け取りたい人もいるかも?と思い、「Resend」というサービスを使って登録したアドレスにメール配信することも想定してシステム作っていました。しかし、Resendの無料プランは「月に3000通」までなので毎日送るとなると、登録者は100人が限界。ありがたいことにサイト開設1週間で1600人ほどのアクセスがあり、100人枠超える可能性もあるのでひとまずメール配信は断念しました。今後、良いサービスが見つかったりリクエストが多かったりすれば再考します。
4. 最後に
以上です。こんな話に需要があるかは不明ですが、DMなどでも結構どうやってるのか聞かれたので書いてみました。思いつきで始めたものの、アクセス数も多く、サイト本体のアップデート情報もここで告知できるようになったので、結果的に満足です。
なお、使っている技術やアイデアは特に新しいものではないので、そのまま自分のNFLサイトとか、仕事?など別ジャンルに応用してもらっても全然構いません(商用は大体のもので引っかかる可能性があるので注意ですが)。一応クレジット程度載せてもらえるとありがたいです。
また告知として、今後はしばらくnoteとWebサイト両方で記事は公開しつつ、徐々にWebサイトへ一本化していく予定です(形式が違うので結構大変)。お読みいただいてありがとうございました。
シェア
