Upgrade to Pro — share decks privately, control downloads, hide ads and more …

200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜

Avatar for Katato Katato
October 28, 2026

200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜

2026/10/28(水) AI駆動開発勉強会 神戸支部
「【緊急開催!】知らないともう遅い!? 新AIモデル「Jev」を触ってみる」で発表したスライドです。
https://aid.connpass.com/event/409391/

Avatar for Katato

Katato

October 28, 2026

More Decks by Katato

Other Decks in Technology

Transcript

  1. 自己紹介 Katato X:@katayamatg 所属 関西地区の某SIer(インフラ部門) コミュニティ AI駆動開発勉強会 神戸支部 運営 (本日の配信オペレーションも担当)

    趣味 ガジェット、車、バイク、DIY、コーヒー ※本資料の内容は個人の見解に基づくものであり、 所属企業、部門を代表するものではありません
  2. なぜJevで作るのか コメントの仕分けに向いている3つの理由 1 2 3 判断を返す 速い 安い 文章ではなく、カテゴリと確率 が返る。確率をそのまま振り分

    けに使える 投稿してすぐ画面に出せる。 判定は1件あたり約0.1秒~ 0.5秒 入力100万トークンあたり 0.042ドル、出力は無料。
  3. 理由1の補足:Structured Outputとの違い どちらもJSONで返る。違いは「数字の意味」 LLM+Structured Output Jev 文章を生成するLLMの出力を、指定したJSONの形に揃える機能 文章を生成せず、選択肢ごとの確率を返す判断専用モデル 出力例(JSONの形は任意で指定) 出力例(回答のうち安全性の部分:answers.safety)

    { { "choice": "ok", "label": "ok", "scores": { "probabilities": { "ok": 0.92, "attack": 0.03, "defamation": 0.01, "inappropriate": 0.02, "spam": 0.01, "unclear": 0.01 } "ok": 0.9, "attack": 0.05, "defamation": 0.02, "inappropriate": 0.02, "spam": 0.01, "unclear": 0.0 } } } → モデルが文章として書いた数字 → モデルが計算した確率。確率がキャリブレーションされるよう学 習されている(学習手法:RLCD) Jevの確率はそのまま「問題なし(ok)が0.85以上なら自動でコメントを出す」しきい値に使える
  4. 開発手法 Grill-meで要件を詰めてから、Claude Codeで作成 マサカリガードができるまで Grill-me(grilling)とは Matt Pocock氏のClaude Codeスキル。 実装前にAIが人を質問攻めにして要件を固める 1

    Jevと類似モデルを調査 2 Grill-meで要件を詰める ・質問ごとに推奨の答えを添える ・事実はAIが調べ、決めることだけ人に聞く ・共通の認識に達するまで徹底的に質問する ・合意するまで実装しない 3 要件定義書にまとめる 4 Claudeが実装・テスト 始め方の例 /grill-me 配信コメントをJevで判定して流す仕組みの MVPを作りたい → AIが推奨の答えつきで徹底的に質問してくる 5 GitHub ActionsでCloudflareに自動デプロイ 設計判断はADRとしてリポジトリに記録 セッションをまたいでも、AIが「なぜそう決めたか」を引き継げる
  5. 配信構成図 コメントをOBSのブラウザソースで重ねる 映像 映像と音声をキャプチャ 登壇者 Zoomで参加 配信用PC(OBS) YouTube 画面を合成 ライブ配信

    ブラウザソースで合成 コメント Cloudflare スマホ 投稿ページ 判定・振り分け コメント配信画面 QRコードから コメントを受付 出す/保留 背景が透明 外部API Jev TypeSafe API YouTubeのチャットは使わず、専用のコメント投稿ページで受け付ける。Cloudflare上でのサーバレス構成
  6. マサカリガード構成図 Cloudflare Workerで受けて、Durable Objectに集約 Cloudflare 投稿ページ Worker 参加者のスマホ(QRから) live-commentgate コメント配信画面

    ・ルーティング ブラウザソースで画面合成 ・認証の検証 Durable Object Jev ① 投稿上限 ② Jevで判定 ③ 自動掲載/保留 ④ SQLiteに保存 ⑤ 各画面へ配信 TypeSafe API 2秒でタイムアウト ・画面の配信 登壇者画面 コメントを一覧で確認 Workers AI 管理画面(運営) Access 保留の確認・設定変更 ログイン認証 Clef-flash フォールバック用 GitHub Actions テスト通過で 自動デプロイ
  7. ① 安全性 画面に出していいか:6分類 問題なし 攻撃・マサカリ 誹謗中傷・個人攻撃 辛口でも、内容への意見・質問・反 論ならOK 論点がなく、見下す・頭ごなしに否 定する

    個人や団体への悪口、人格攻撃、 侮辱 不適切 スパム・宣伝 判断不能 性的・差別的・暴力的な表現、個人 情報 宣伝、勧誘、URL、連投による荒 らし 意味不明な文字列、AIへの指示のよ うな文
  8. ② 種別 どんな種類のコメントか:8分類 質問 指摘 情報提供 感想 登壇者や参加者への問いかけ 内容への反論・懸念・疑問点 文になった意見・感想

    登壇者画面にピン留め 登壇者画面にピン留め 関連する補足情報・事例の 共有 リアクション 挨拶 雑談 運営連絡 一言の反応(草、888、なる ほど) こんばんは、参加表明、お礼 勉強会の本題と関係ない話 「音が聞こえません」など
  9. 振り分けのルール 自動で出すのは、2つの条件を両方満たすときだけ 両方満たす ① 判定結果が「問題なし」 自動で画面に出す かつ どちらかを満たさない ② 「問題なし」の確率

    ≥ 0.85 保留キューへ 管理画面で人が見て、出すか決める 「問題なし」の確率が高いものだけ自動。それ以外は人が見る
  10. 前回勉強会での結果①(10/21オンラインイベント) 実際に試した結果 コメント数 自動で掲載 保留→人が確認 判定時間 費用 27 67% 9

    164 $0.0014 27件の合計 件 18件 件(すべて掲載) ms(95%が228ms 以内) 保留9件の内訳:「問題なし」だが確率0.85未満が7件、「不適切」判定が2件。 → 人が見て、9件とも掲載
  11. 前回勉強会での結果②(10/21オンラインイベント) しきい値0.85の境目 余裕で自動掲載 ぎりぎり自動掲載 ぎりぎり保留 「自己複製型AIは最近 Anthropicも警告出してました ね~」 「すげー」 「賞レース的には開催期間前に

    開発終えて」 リアクション/問題なし 0.85 情報提供/問題なし 0.99 しきい値をいくつにするかで、運営の手間と安全性のバランスが決まる 感想/問題なし 0.83 → 人が見て掲載 ※運営メンバーが書いている途中で誤って投稿 したコメント
  12. 前回勉強会での結果③(10/21オンラインイベント) 保留になった9件 コメント 安全性判定 問題なしの確率 赤裸々に! 不適切 0.22 マサカリ投げたらあかんやで了解 不適切

    0.30 是非赤裸々に! 問題なし 0.35 是非参加オネガイシマス 問題なし 0.49 言葉に引っ張られる 「マサカリ」「赤裸々」が入ると問題なしの 確率が下がる ノリのコメントは迷う 「w」や短いネタは、問題なしでもしきい 値の0.85に届かない タイミングw 問題なし 0.55 家庭内バグ報告w 問題なし 0.76 よっ大統領! 問題なし 0.80 しきい値は継続して検討 奥様駆動開発!? 問題なし 0.80 0.75に下げれば保留は5件に減るが、 マサカリも通りやすくなる可能性がある 賞レース的には開催期間前に開発終えて 問題なし 0.83
  13. 前回勉強会での結果④(10/21オンラインイベント) 種別ごとのコメント 種別 件数 コメントの例 感想 12 「動画のクオリティが高い!」「Appleの審査ってそんなに大変なんですね」 リアクション 7

    「すげー」「猫かわいい!」「タイミングw」 質問 2 「賞レース開始時に掲載ってのが最適解になるのかな」「奥様駆動開発!?」 挨拶 2 「よっ大統領!」「是非参加オネガイシマス」 雑談 2 「マサカリ投げたらあかんやで了解」「家庭内バグ報告w」 指摘 1 「是非赤裸々に!」 情報提供 1 「自己複製型AIは最近Anthropicも警告出してましたね~」 運営連絡 0 なし 配信内容の文脈がないと意味が取れない短いコメントは、種別を迷いやすい → コメント投稿直前の配信音声の文字起こし結果を一緒に渡せば、文脈を踏まえて判定できそう
  14. ベンチの結果(サンプル100問) マサカリと辛口の指摘、Jevは実用レベルで分けた Jev Clef-flash 83 / 100 71 / 100

    「問題なし」確率の平均:辛口の指摘 0.99 0.85 「問題なし」確率の平均:マサカリ 0.43 0.68 想定どおりの答え 自動掲載(0.85以上):辛口の指摘 20 / 20 9 / 20 自動掲載(0.85以上):マサカリ 2 / 20 4 / 20 応答時間(中央値) 0.17秒 0.36秒 Jevで流れたマサカリ2件は境界線 「Jev使ってみた(だけ)」といった軽い皮肉程度 で、画面に出ても支障のないレベル 同じ形式で呼べても、同じように判断 するとは限らない 類似モデルを使うときは、比較検討してから選ぶ のがおすすめ サンプル100問(辛口の指摘20・マサカリ20 ほか)を各モデルに1回ずつ送った結果。しきい値は両方0.85に設定