LLM アプリのインシデント対応#
LLM アプリでインシデントが発生したときの初動対応を、事前に決めておく。インシデントの種類ごとに異なる対応手順を持つのが鉄則。
インシデントの分類#
flowchart TD
I[インシデント] --> C1[機密漏洩]
I --> C2[大量誤情報]
I --> C3[コスト急騰]
I --> C4[サービス停止]
I --> C5[攻撃検出]
共通の初動フロー#
flowchart LR
D[検知] --> C[一次対応]
C --> A[状況把握]
A --> M[軽減措置]
M --> E[根本対応]
E --> R[再発防止]
R --> P[事後報告]
1. 検知: アラート or ユーザー報告 2. 一次対応(5 分以内): インシデント担当者が状況を共有し、緊急対応を決める 3. 状況把握: 影響範囲・影響人数・発生時刻を特定 4. 軽減措置: 被害拡大を止める(機能停止、キー無効化等) 5. 根本対応: 原因を修正 6. 再発防止: 監視・仕組み追加 7. 事後報告: 関係者・ユーザーへ説明
インシデント別の対応#
1. 機密漏洩
API キー漏洩、個人情報露出、システムプロンプト流出など。
- 即座に関連する API キーを無効化
- 影響範囲を特定(誰のデータ?どれだけ?)
- 法的要件(GDPR 等)に従って報告
- ログ精査で被害範囲確定
2. 大量誤情報
ハルシネーションで大量のユーザーに誤情報を配信。
- 該当機能を一時停止
- 影響を受けたユーザーを特定
- 訂正情報を配信
- プロンプト・評価セットの改修
3. コスト急騰
無限ループ・攻撃・設定ミスでコストが想定の 10 倍。
- API プロバイダーで使用上限設定
- 該当機能を停止
- ログで原因特定
- 原因修正後、段階的に再開
4. サービス停止
LLM API が落ちた、レート制限にかかった等。
- 縮退運転に切り替え(決定論的ロジック or キャッシュ応答)
- ユーザーにメンテナンス通知
- プロバイダーのステータス確認
- 復旧したら段階的に戻す
5. 攻撃検出
プロンプトインジェクション・大量の異常入力を検知。
- IP ブロック・レート制限強化
- 攻撃パターンを記録
- プロンプト・入力フィルタを強化
- レッドチーミングで再発防止を確認
事前準備(これが本番)#
flowchart TD
P[平時の準備] --> M[モニタリング]
P --> R[Runbook]
P --> O[オンコール体制]
P --> T[訓練]
M --> M1[閾値超過で自動通知]
R --> R1[インシデント別の手順書]
O --> O1[平日/休日の担当者]
T --> T1[年 2 回のドリル]
1. モニタリング: 閾値超過で自動通知(運用メトリクス参照)
2. Runbook: インシデント種別ごとの対応手順書。慌てずに動けるように。
3. オンコール: 24/7 対応でなくても、業務時間外の連絡経路は整備する
4. 訓練: 定期的にドリル(シミュレーション訓練)を実施
事後報告テンプレート#
# インシデント報告書
## 概要
- 発生日時: <タイムスタンプ>
- 解決日時: <タイムスタンプ>
- 影響: <何人に、何が>
## タイムライン
- HH:MM 検知
- HH:MM 一次対応
- HH:MM 軽減措置実行
- HH:MM 根本原因特定
- HH:MM 復旧
## 根本原因
<技術的・プロセス的な原因>
## 再発防止策
- <具体的対策 1>
- <具体的対策 2>
## 学び
<組織として学んだこと>
Blameless(個人責任追及なし)で書く。プロセスの問題として扱う。
報告の公開#
オープンな組織(特に BtoB)は、インシデント報告を外部公開する傾向が強い。
- 透明性で信頼を得る
- ユーザーが自分で判断できる情報を渡す
- 業界全体の学びになる
アンチパターン#
1. 準備なしで本番運用
Runbook もオンコール体制もないまま運用し、発生時に大混乱。
2. 報告を隠す
ユーザーが後から他ルートで発覚して信頼失墜。早く正確に報告する。
3. 再発防止を「がんばる」で済ます
具体的な仕組み変更を伴わない再発防止は、再発する。
4. 個人責任に帰す
「〇〇さんが悪い」で終わると、組織的な学びがない。プロセス・仕組みの問題として扱う。
チェックリスト#
- [ ] インシデントの分類を事前に定義している
- [ ] 各分類ごとの Runbook がある
- [ ] オンコール担当者が決まっている
- [ ] 検知アラートが稼働している
- [ ] 定期的にドリルしている
- [ ] Blameless な事後報告の文化がある
まとめ#
LLM アプリのインシデント対応は、発生してから考えるのでは遅い。分類・Runbook・訓練の 3 点を平時に整えておく。これが運用品質を決める。