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

AI機能、動いてますか - AI機能を持つマルチテナントSaaSの開発で直面した課題

Avatar for noy noy
March 25, 2026

AI機能、動いてますか - AI機能を持つマルチテナントSaaSの開発で直面した課題

Avatar for noy

noy

March 25, 2026
Tweet

More Decks by noy

Other Decks in Technology

Transcript

  1. 自己紹介 2 松田 直也 株式会社 はてな エンジニアリングマネージャー id:noy72 2021年 株式会社はてな

    新卒入社 • 社内サービスの開発 • 自社の広告配信結果のデータ基盤構築 • 新規事業『toitta』の開発
  2. 自己紹介 3 松田 直也 株式会社 はてな エンジニアリングマネージャー id:noy72 2021年 株式会社はてな

    新卒入社 • 社内サービスの開発 • 自社の広告配信結果のデータ基盤構築 • 新規事業『toitta』の開発 AI機能を持つ マルチテナントSaaS
  3. 6 AI を活用したインタビュー分析SaaS • ユーザーリサーチの支援 • 書き起こし & 話者分離 •

    切片の抽出・分類 • 調査に沿ったレポート生成 そのほか様々な リサーチを支援する機能
  4. 前提 • この発表における AI = 主に生成 AI ◦ Google Cloud,

    Azure などが 提供する API を利用する 7
  5. toitta ではどうだったか • ユーザーインタビューは 1 時間程度 ◦ 文字に起こすと 1~2 万文字くらい

    • 重要なポイントを漏れなく抽出するため、 文字起こしをいくつかに分けて処理 ◦ システムプロンプトには指示と抽出の例 25
  6. 対策サービスが案外ない 31 • AWS には去年追加された ◦ Amazon SQS フェアキュー •

    Google Cloud にはない ◦ 量を制限することはできても 「誰」を考慮した制限はできない
  7. 対策サービスが案外ない 32 • AWS には去年追加された ◦ Amazon SQS フェアキュー •

    Google Cloud にはない ◦ 量を制限することはできても 「誰」を考慮した制限はできない → 自前で実装
  8. 自前実装(1): Pub/Sub + Functions 33 テナントA テナントB AA B Function

    テナントA: 3/25 10:13:58 テナントB: 3/11 13:25:11 (1) 最後に処理したテナント を取得&日付の更新 (2) 処理対象を取得 AI (3) 実行
  9. 自前実装(2) ジョブ管理コンポネの実 装 34 [メモリ] テナントA: 3/25 10:13:58 テナントB: 3/11

    13/25:11 Cloud Run DB ID | テナントA | ステップ2 ID | テナントB | ステップ1 ID | テナントA | ステップ2 … (1) タスク取得 (2) 最後に処理したテナント を取得&日付の更新 ステップ1 ステップ2 (AI) (3) 実行
  10. まだある課題 35 AI 機能 1 AI 機能 2 API ステップ1

    ステップ2 (AI) タスク割り振り コンポネ ステップ2だけ 実行するには? AI 機能が複数あるときの タスクの優先順位は?
  11. (2)モデルの切り替え • 例) Gemini 2.5 Pro が使えない ◦ → Gemini

    2.5 Flash に切り替える • 問題 ◦ 生成物の品質が変わってしまう 41
  12. 考えておくとよいこと • レートリミット ◦ アクセス量、トークン量などの制限をどこで調整するか? ◦ 利用量は増やせるか? • ノイジーネイバー ◦

    どのユーザー / 処理をどこでどのように待たせるか? • フォールバック ◦ 障害時に何ができるか? ◦ (モデルを変える可能性があるなら)モデルを変更した際の品質はどうなるか? 45