Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AI機能、動いてますか - AI機能を持つマルチテナントSaaSの開発で直面した課題
Search
noy
March 25, 2026
Technology
0
5
AI機能、動いてますか - AI機能を持つマルチテナントSaaSの開発で直面した課題
https://findy-tools.connpass.com/event/384629/
noy
March 25, 2026
Tweet
Share
More Decks by noy
See All by noy
新規事業×生成 AI の不確実性を乗り越える開発プロセス
noy72
0
980
開発合宿の裏側 - Web アプリケーションを素早く作る
noy72
0
90
Hatena Engineer Seminar #18 ビジネスプラットフォームチームで始めた『筋トレ』施策について
noy72
0
1.5k
Other Decks in Technology
See All in Technology
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
200
FastMCP OAuth Proxy with Cognito
hironobuiga
3
120
中央集権型を脱却した話 分散型をやめて、連邦型にたどり着くまで
sansantech
PRO
1
200
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
1.4k
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
2
460
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
230
Phase07_実務適用
overflowinc
0
1.4k
Phase10_組織浸透_データ活用
overflowinc
0
1.2k
【Λ(らむだ)】最近のアプデ情報 / RPALT20260318
lambda
0
150
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
240
Visional 28新卒プロダクト職(エンジニア/デザイナー)向け 会社説明資料 / Visional Company Briefing for Newgrads 28
visional_engineering_and_design
1
120
A4)シラバスを超えて語る、テストマネジメント
moritamasami
0
110
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
Fireside Chat
paigeccino
42
3.8k
Marketing to machines
jonoalderson
1
5k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
840
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
Tell your own story through comics
letsgokoyo
1
870
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
BBQ
matthewcrist
89
10k
Mind Mapping
helmedeiros
PRO
1
130
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Transcript
AI機能、動いてますか id:noy72 AI機能を持つマルチテナントSaaSの開発で直面した課題 1 本番提供できる品質へ:SaaSにAI機能を実装するまでのリアル
自己紹介 2 松田 直也 株式会社 はてな エンジニアリングマネージャー id:noy72 2021年 株式会社はてな
新卒入社 • 社内サービスの開発 • 自社の広告配信結果のデータ基盤構築 • 新規事業『toitta』の開発
自己紹介 3 松田 直也 株式会社 はてな エンジニアリングマネージャー id:noy72 2021年 株式会社はてな
新卒入社 • 社内サービスの開発 • 自社の広告配信結果のデータ基盤構築 • 新規事業『toitta』の開発 AI機能を持つ マルチテナントSaaS
ユーザーが 何と⾔ったかに 深く向き合える。
5 https://ja.toitta.com/
6 AI を活用したインタビュー分析SaaS • ユーザーリサーチの支援 • 書き起こし & 話者分離 •
切片の抽出・分類 • 調査に沿ったレポート生成 そのほか様々な リサーチを支援する機能
前提 • この発表における AI = 主に生成 AI ◦ Google Cloud,
Azure などが 提供する API を利用する 7
8 こんな状況を考えてみる
9 AIを利用した機能を 開発していて……
10 評価基準を設計した ✓ 生成物の評価フローを作った ✓ リリースできる品質になった ✓
11 リリースして しばらく経ったら
12 「AI機能が使えません」
13 Q. 何があった?
14 例えば…… A. レートリミットに 達していた
15 AI の問題ではない
16 AI の問題ではない でも考えないといけない問題
AI機能、動いてますか AI機能を持つマルチテナントSaaSの開発で直面した課題 17
目次 1. レートリミット 2. ノイジーネイバー 3. フォールバック 18
19 1. レートリミット
レートリミットへの対処法 • 利用量を制限/調整する • レートリミットを緩くする ◦ → 上位プランにする ◦ →(水平スケール)
20
レートリミットへの対処法 • 利用量を制限/調整する • レートリミットを緩くする ◦ → 上位プランにする ◦ →(水平スケール)
21 これらで解決できる?
LLM にはリクエスト以外の制限もある • RPM制限:1分あたりのリクエスト数 • TPM制限:1分あたりのトークン数 22
LLM にはリクエスト以外の制限もある • RPM制限:1分あたりのリクエスト数 • TPM制限:1分あたりのトークン数 23 リクエスト数の制限だけでは不十分
お金で解決できないかも • Tier 制 ◦ 利用実績を積まないと利用量を増やせない • (リソース (GPU) が必要な分だけ
利用できるとは限らない) 24
toitta ではどうだったか • ユーザーインタビューは 1 時間程度 ◦ 文字に起こすと 1~2 万文字くらい
• 重要なポイントを漏れなく抽出するため、 文字起こしをいくつかに分けて処理 ◦ システムプロンプトには指示と抽出の例 25
toitta での対処法 • 流量制限+リトライ ◦ 流量を厳しく制限 ◦ トークンの制限はリトライでカバー • 詰まっているかどうかを監視する
◦ → 並列度の調整 26
27 2. ノイジーネイバー
ノイジーネイバー / うるさい隣人問題 複数のテナント(ユーザー)が 同じリソースを使う場合、 誰かが大量にリソースを使うと 他の人が使えなくなる。 28 ← この話ではない
ノイジーネイバー / うるさい隣人問題 29 テナントA テナントB BABA タスクキュー A も
B もサービスが利用できている状態
ノイジーネイバー / うるさい隣人問題 30 テナントA テナントB BAAAAAAAAAAAAA タスクキュー B はサービスが利用できない状態
対策サービスが案外ない 31 • AWS には去年追加された ◦ Amazon SQS フェアキュー •
Google Cloud にはない ◦ 量を制限することはできても 「誰」を考慮した制限はできない
対策サービスが案外ない 32 • AWS には去年追加された ◦ Amazon SQS フェアキュー •
Google Cloud にはない ◦ 量を制限することはできても 「誰」を考慮した制限はできない → 自前で実装
自前実装(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) 実行
自前実装(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) 実行
まだある課題 35 AI 機能 1 AI 機能 2 API ステップ1
ステップ2 (AI) タスク割り振り コンポネ ステップ2だけ 実行するには? AI 機能が複数あるときの タスクの優先順位は?
36 問. レートリミット、 ノイジーネイバーの対策をした これで十分か?
37 答. いいえ 障害は起こるため (実体験)
38 3. フォールバック
39 ロケーション / モデル / プラット フォーム を変える
(1)ロケーションの切り替え • 例) 米国で使えない ◦ → 台湾に切り替える 40
(2)モデルの切り替え • 例) Gemini 2.5 Pro が使えない ◦ → Gemini
2.5 Flash に切り替える • 問題 ◦ 生成物の品質が変わってしまう 41
(3)プラットフォームの切り替え • 例) Google Cloud で使えなくなった ◦ → Azure に切り替える
• 問題 ◦ コードが複雑になる ◦ 管理が大変 42
その変更は許される? • (特に BtoB だと)どのクラウドサービス、ど のリージョンを使うかをユーザーに伝えている ケースがある ◦ 利用規約, セキュリティチェックシート
など 43
44 まとめ
考えておくとよいこと • レートリミット ◦ アクセス量、トークン量などの制限をどこで調整するか? ◦ 利用量は増やせるか? • ノイジーネイバー ◦
どのユーザー / 処理をどこでどのように待たせるか? • フォールバック ◦ 障害時に何ができるか? ◦ (モデルを変える可能性があるなら)モデルを変更した際の品質はどうなるか? 45