LESSON 15分

ストーリー

田中VPoE
モニタリングでAIの品質劣化を検知できるようになった。次は「検知した後にどうするか」だ
あなた
従来のインシデント対応と同じフローで対応すれば良いのでは?
田中VPoE
基本的なフローは同じだ。だがAIシステム固有のインシデント類型がある。ハルシネーションによる誤情報拡散、学習データからの個人情報漏洩、プロンプトインジェクションによるガードレール突破 — これらは従来の「サーバーが落ちた」とは全く異なる対応が必要だ
あなた
影響範囲の評価も難しそうですね。「何人が誤った情報を受け取ったか」を特定する必要がある
田中VPoE
その通り。だからこそAIインシデント専用のプレイブックが必要だ。今日は実践的な対応手順を設計しよう

AIシステム固有のインシデント類型

インシデント分類

類型説明影響発生頻度
ハルシネーションAIが事実でない情報を生成ユーザーの誤判断、信頼性低下中〜高
バイアス露出特定の属性に対する偏った出力レピュテーションリスク、法的リスク低〜中
データ漏洩学習データやRAGソースの機密情報が出力に含まれるコンプライアンス違反、法的リスク
プロンプトインジェクション成功ガードレールが突破される不正な出力、システムの悪用低〜中
モデル障害APIプロバイダーの障害、レート制限サービス停止
品質急劣化モデル更新やデータ変更による品質低下ユーザー体験の悪化

インシデント別の危険度マトリクス

          影響度
    低    中    高    極大
  ┌─────┬─────┬─────┬─────┐
高│     │品質 │ハルシ│     │   発
  │     │急劣化│ネーション│     │   生
  ├─────┼─────┼─────┼─────┤   頻
中│     │     │バイ │     │   度
  │     │     │アス │     │
  ├─────┼─────┼─────┼─────┤
低│モデル│     │プロンプト│データ│
  │障害 │     │インジェ│漏洩 │
  │     │     │クション│     │
  └─────┴─────┴─────┴─────┘

AI障害の影響範囲評価

影響範囲の特定手順

AIインシデントでは「誰が、いつ、何を受け取ったか」を特定することが重要です。

ステップアクションツール/手法
1. 時間範囲の特定インシデント発生時刻と検知時刻を確定ログ分析、アラート履歴
2. 影響ユーザーの特定該当時間帯にサービスを利用したユーザー一覧アクセスログ、セッションログ
3. 影響コンテンツの特定問題のある出力を受け取ったリクエストを特定LLMトレースログ、評価結果
4. 二次影響の評価ユーザーが誤情報を基に行動した可能性業務ログ、後続アクションの追跡
5. 影響度のスコアリングビジネスインパクトの定量評価影響ユーザー数 x 深刻度

影響度スコアリング

# 影響度スコアの計算例
def calculate_impact_score(incident):
    severity_weight = {
        "data_leak": 10,
        "hallucination_critical": 8,  # 法務・医療等の重要領域
        "bias_exposure": 7,
        "prompt_injection": 6,
        "hallucination_general": 4,
        "quality_degradation": 3,
        "model_outage": 2,
    }

    score = (
        severity_weight[incident.type]
        * incident.affected_users
        * incident.duration_hours
    )

    # 高リスクドメインの場合は係数を上げる
    if incident.domain in ["legal", "medical", "financial"]:
        score *= 2.0

    return score

AIインシデント対応プレイブック

フェーズ1: 検知

検知ソース検知方法想定検知時間
自動モニタリング品質スコア急落、安全性フィルタ検知数分以内
ユーザー報告フィードバック、サポートチケット数時間
内部レビュー定期的なログレビュー、サンプリング評価数日
外部報告SNS、メディア、セキュリティ研究者数日〜数週間

フェーズ2: トリアージ

インシデントの深刻度を判定し、対応レベルを決定します。

深刻度条件初期対応対応時間目標
SEV1データ漏洩、重要領域でのハルシネーションサービス即停止、経営層報告15分以内
SEV2バイアス露出、プロンプトインジェクション成功フォールバック切り替え、チーム召集1時間以内
SEV3一般的なハルシネーション増加、品質劣化原因調査開始、影響範囲確認4時間以内
SEV4軽微な品質低下、一時的なレイテンシ増加次営業日に対応24時間以内

フェーズ3: 緩和

緩和アクションの判断フロー:

インシデント検知

  ├── データ漏洩? ──Yes──→ 即座にサービス停止
  │                         ├── 漏洩データの範囲特定
  │                         └── 法務・コンプライアンス通知

  ├── 安全性違反? ──Yes──→ フォールバックモードへ切替
  │                         ├── ガードレールの強化
  │                         └── 問題パターンのブロックルール追加

  ├── ハルシネーション?─Yes→ 問題カテゴリの回答を制限
  │                         ├── RAGソースの検証
  │                         └── 「確認中」メッセージへの切替

  └── 品質劣化? ──Yes──→ 前バージョンへのロールバック検討
                           ├── モデルバージョンの確認
                           └── プロンプト変更の巻き戻し

フェーズ4: 根本原因分析

分析対象確認事項ツール
モデル変更プロバイダーのモデル更新があったかリリースノート、バージョンログ
プロンプト変更直近のプロンプト変更が原因かGit履歴、デプロイログ
RAGデータナレッジベースの更新で問題が混入したかデータ変更ログ、インデックス履歴
入力パターン想定外の入力パターンが増加したか入力ログ分析
インフラAPIレート制限、ネットワーク問題インフラモニタリング

フェーズ5: 再発防止

再発防止策実施内容優先度
テストケース追加インシデントの再現テストを評価スイートに追加
ガードレール強化問題パターンを検出するフィルタの追加
モニタリング改善検知ルールの追加・閾値の調整
プロセス改善変更管理プロセスの見直し
ドキュメント更新プレイブックへの知見の反映

モデルのロールバック手順

ロールバック戦略

AIシステムのロールバックは、従来のソフトウェアより複雑です。複数のコンポーネントが関連するためです。

コンポーネントロールバック方法注意点
プロンプトGitで前バージョンに戻すフィーチャーフラグで即座に切替可能にしておく
モデルバージョン設定ファイルでバージョン指定を変更外部API側の旧バージョン廃止に注意
RAGデータインデックスのスナップショットから復元復元中の検索精度低下を考慮
ガードレール設定ファイルの前バージョンに戻す強化方向のロールバックはリスクあり
# ロールバック手順書の例
rollback_procedure:
  pre_checks:
    - name: "ロールバック先バージョンの確認"
      command: "git log --oneline -5 -- prompts/"
    - name: "現在のトラフィック量確認"
      command: "kubectl get hpa ai-service"

  steps:
    - name: "フィーチャーフラグで新プロンプトを無効化"
      action: "feature_flag.disable('prompt-v3')"
      rollback_time: "即座"

    - name: "モデルバージョンの切り替え"
      action: "kubectl set env deploy/ai-service MODEL_VERSION=v2"
      rollback_time: "2-3分"

    - name: "RAGインデックスの復元"
      action: "restore_index_snapshot('2025-01-15')"
      rollback_time: "10-30分"

  post_checks:
    - name: "品質スコアの確認"
      command: "python scripts/quick_eval.py --suite=smoke"
    - name: "エラー率の確認"
      command: "kubectl logs -l app=ai-service --since=5m | grep ERROR"

コミュニケーションプラン

ステークホルダー別の通知

ステークホルダー通知タイミング通知内容チャネル
運用チーム検知即座技術詳細、影響範囲、対応状況Slack #incident
マネジメントSEV1/2で即座、SEV3で4時間以内ビジネス影響、対応計画、復旧見込みメール + Slack
影響ユーザー対応方針確定後何が起きたか、修正内容、今後の対策アプリ内通知 + メール
経営層SEV1で即座事業リスク、法的影響、対外コミュニケーション方針電話 + メール
法務/コンプライアンスデータ漏洩時に即座漏洩範囲、法的義務、規制当局への報告要否電話 + メール

インシデント報告テンプレート

# AIインシデント報告

## 基本情報
- インシデントID: AI-INC-2025-042
- 発生日時: 2025-01-20 14:30 JST
- 検知日時: 2025-01-20 14:35 JST
- 深刻度: SEV2
- 類型: ハルシネーション(重要領域)

## 影響範囲
- 影響ユーザー数: 約150名
- 影響リクエスト数: 約320件
- 影響時間: 約2時間(14:30-16:30)

## 経緯
- 14:30 モデルプロバイダーのマイナーバージョン更新が適用
- 14:35 品質モニタリングがスコア低下を検知、P2アラート発報
- 14:45 オンコール担当が調査開始
- 15:00 原因をモデル更新と特定、ロールバック開始
- 16:30 ロールバック完了、品質スコア回復を確認

## 根本原因
- モデルプロバイダーのマイナーバージョン更新により、
  特定ドメインの回答精度が低下

## 対策
- [ ] モデルバージョンの固定(ピンニング)
- [ ] モデル更新の自動検知アラートの追加
- [ ] 新バージョンの自動回帰テスト導入

まとめ

ポイント内容
AI固有のインシデントハルシネーション、バイアス、データ漏洩、プロンプトインジェクション
影響範囲評価「誰が、いつ、何を受け取ったか」を特定する
対応プレイブック検知→トリアージ→緩和→根本原因分析→再発防止の5フェーズ
ロールバックプロンプト、モデル、RAGデータの3層のロールバック戦略
コミュニケーションステークホルダー別の通知プランを事前に準備

チェックリスト

  • AIシステム固有のインシデント類型を理解した
  • AI障害の影響範囲評価の手順を理解した
  • 5フェーズのインシデント対応プレイブックを理解した
  • モデルのロールバック手順を理解した
  • ステークホルダー別のコミュニケーションプランを理解した

次のステップへ

次は演習です。ここまで学んだLLMOps、モニタリング、インシデント対応の知識を統合して、AI運用設計書を作成しましょう。


推定読了時間: 15分