コンテンツにスキップ

プロダクト概要

Jester とは

Jester は オッズパークの記事・ブログを AI で自動生成するプラットフォームです。 レース結果・レース動画・過去のブログ記事といった既にある素材をもとに、 AI が読みものを書き起こし、担当者が確認して公開します。

扱うコンテンツは大きく2種類です。

コンテンツ 内容
記事(article) レース結果ページに埋め込む「レース結果10秒サマリー」。見出し1つと3つの文で構成する
ブログ(blog) 読みもののブログ記事。過去ブログのリライトと、レースの回顧・予想の書き下ろしの2系統がある

生成されたコンテンツは「下書き」として保存され、担当者の操作によって公開されます。 AI が公開状態にすることはありません。


解決する課題

課題 Jester の解決策
記事作成に時間とコストがかかる レース結果・レース動画から AI が自動生成し、制作工数を削減する
過去記事の移行に手間がかかる 過去ブログを取り込み、内容を変えずに AI がリライトする
レース動画を活かせていない レース動画を AI が解析し、記事・ブログの描写と サムネイル選定に活用する
サムネイル画像の用意に手間がかかる レース動画からベストな瞬間を AI が選び、その場面を切り出してサムネイルにする
AI が事実と異なる内容を書くリスク 数値の転記・突合を機械が行い、生成後も公式データと照合して、食い違えば公開しない

主要機能

レース情報の管理

  • レース結果 JSON のアップロード(オートレース・競輪・競馬)
  • レース前の出走表と AI予想印(予想データ)の登録
  • レース動画・コース画像は S3 に配置し、生成時に参照する

AI 記事生成(レース結果10秒サマリー)

  • レースを指定して生成をリクエストすると、AI が「10秒で読めるレース結果の要約」を書く
  • レース結果・レース動画・コース画像(競馬のみ)を AI が解析し、その内容を反映する
  • 生成された記事は「下書き」として保存し、公開は担当者が別途実施する
  • 生成に失敗した記事は「生成失敗」として理由つきで残り、追加指示を添えて作り直せる

AI ブログ生成

種類 内容
リライト 取り込んだ過去ブログを、内容を変えずに読みやすく書き直す
レース回顧 レース結果・レース動画から、レース後の振り返り記事を書き下ろす
レース予想 レース前の出走表と AI予想印から、予想記事を書き下ろす

生成されたブログは、オッズパークの実際の記事デザインで組み上げられます。

AI サムネイル生成

  • レース動画を AI が解析し、サムネイルに最適な瞬間を選定する
  • その瞬間のフレームを切り出して画像として保存し、ブログ本文に埋め込む

関連情報の生成

  • ブログ同士の内容の近さを計算し、関連するブログへのリンクを記事下部に差し込む
  • レースに紐づくブログには、レース結果ページへのカードも表示する

マスタ管理

  • カテゴリ(ブログの大分類。記事デザインの選択にも使われる)
  • NGワード(生成テキストに含めてはいけない語)

事実の正しさを守る仕組み

生成 AI は、数値の転記や複数データの突き合わせを苦手とし、取り違えを起こします。 Jester では 解釈・突合・転記は機械(プログラム)が行い、AI は日本語の表現だけを担う設計にしています。

仕組み 内容
生成可否の判定 着順が無いレース(不成立・中止)は記事を生成しない(AI が勝者を創作してしまうため)
値の差し込み 出走者名・払戻金額・人気は AI に書かせず、公式データから機械が差し込む
生成後の照合 番号と名前の対応・払戻の数値が公式データと一致するか検査する
NGワード検査 生成文に NGワードが含まれていないか検査する

検出された場合は作り直し(最大2回)、それでも解消しなければ生成を失敗させて公開しません。


技術スタック

分類 技術
クラウド AWS(Lambda / API Gateway / SQS / S3 / CloudFront / DocumentDB / Bedrock)
AI モデル Amazon Bedrock(Nova Pro / Claude Sonnet / Titan Text Embeddings v2)
AI エージェント LangGraph(レース総合解析・サムネイル位置選定)
データベース Amazon DocumentDB(MongoDB 互換)
アーキテクチャ サーバーレス・非同期パイプライン

詳細は 技術スタック を参照してください。


現在のフェーズ

現在は PoC(概念実証)フェーズです。 記事・ブログの自動生成と、生成内容の精度(事実との一致度)の検証を主な目的としています。 生成した記事がレース結果と動画のどちらをどれだけ参考にしたかを測る仕組みも組み込んでいます。