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
30
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
99
Hatena Engineer Seminar #18 ビジネスプラットフォームチームで始めた『筋トレ』施策について
noy72
0
1.6k
Other Decks in Technology
See All in Technology
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
170
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
140
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
4
1.5k
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
Lightning近況報告
kozy4324
0
160
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
ザ・データベース、MySQL ~ OSC 2026 Sendai ~
sakaik
0
120
AIチャット検索改善の3週間
kworkdev
PRO
2
130
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
0
190
Chainlitで作るお手軽チャットUI
ynt0485
0
270
Featured
See All Featured
Making Projects Easy
brettharned
120
6.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Between Models and Reality
mayunak
4
340
Are puppies a ranking factor?
jonoalderson
1
3.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
250
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Design in an AI World
tapps
1
240
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Odyssey Design
rkendrick25
PRO
2
700
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