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
42
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI機能、動いてますか - AI機能を持つマルチテナントSaaSの開発で直面した課題
https://findy-tools.connpass.com/event/384629/
noy
March 25, 2026
More Decks by noy
See All by noy
新規事業×生成 AI の不確実性を乗り越える開発プロセス
noy72
0
1k
開発合宿の裏側 - Web アプリケーションを素早く作る
noy72
0
110
Hatena Engineer Seminar #18 ビジネスプラットフォームチームで始めた『筋トレ』施策について
noy72
0
1.6k
Other Decks in Technology
See All in Technology
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
120
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
580
モバイルアプリ開発概論2026
recruitengineers
PRO
5
580
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
ラジオの科学
frievea
0
300
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.7k
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.2k
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
320
FDEの心得
noriakioji
4
5k
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
Fireside Chat
paigeccino
42
4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
290
The Curse of the Amulet
leimatthew05
2
14k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
Designing for humans not robots
tammielis
254
26k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
460
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