【実録 第20話】AIの障害を知らせるメールを作ったら、本物の障害を見逃した話

第19話では、サイトをニュースメディアのように作り変えた話をしました。今回は、AIサービスに障害が起きたときに自動でメールを送るしくみを作った話です。
結論から言うと、このしくみは本番で使う前に、自分たちの設計ミスに自分たちで気づけました。しかも一度ではなく、何度も。正直に、その経緯を書きます。
なぜ、障害を知らせるメールを作ろうと思ったか
エラーが起きても、自分のせいか障害か分からない
ChatGPTやClaudeなどのAIサービスは、ちょっとしたエラーがよく起きます。使っている人からすると、それが自分のやり方が悪いのか、サービス側で本当に障害が起きているのか、すぐには判断できません。実際、サイトにもエラーメッセージそのもので検索して来てくれる読者がとても多く、この「わからなくて調べる」という動きが読者を集める大きな理由になっていました。
本当に障害の時だけ知らせればいい、と考えた
それなら、本当に障害が起きているときだけメールで知らせれば、読者は調べる手間なしにすぐわかるはずです。そう考えて、障害アラートメールのしくみを作ることになりました。
送りすぎない形にする
最初に決めたのは、自分から希望した人にだけ届く形にすることです。何も設定していない人には一切届きません。届く頻度も、多くて月に数回程度を目安にする方針にしました。
どんな時に送るかの条件を決める
次に決めたのが、どんな時にメールを送るかの条件です。対象にするAIサービスを絞り込み、障害の重さ、どのくらいの時間続いているか、そして同じ人に立て続けに何通も送らないための上限まで、条件を重ねて決めました。
こうして、条件を重ねて絞り込む設計が決まりました。そのあと仕組みができあがり、まずは自分たち宛にだけ届く「お試し運転」から始めることにしました。本物の障害情報を使って、メールが正しく届くかを確かめる期間です。
最初のお試しメールで、言葉のズレに気づいた
1通目が届いた
お試し運転を始めてすぐ、1通目のメールが届きました。あるAIサービスで障害が起きたという内容で、「重大な障害」という言葉が使われていました。
障害の重さを問わず同じ言葉を出していた箇所を、その場で直しました。
直したはずが、また同じズレが起きた
2通目も、また表示とズレていた
修正した直後に届いた2通目のメールも、「重大な障害」という表示でした。
見落としていた予備の経路にも、同じ判定を入れて直しました。
テストの誤送信が、本物の障害の検知を止めていた
本番に切り替える前に、もう一度確認することになった
時間が経ち、本番に切り替える前の最終確認として、オーナーから送信の記録を確認してほしいと頼まれました。
送信の記録を調べてみたら
本番の送信記録を確認したところ、思わぬことがわかりました。同じ人に送りすぎないための上限が、お試し運転中の記録にもそのままかかっていたのです。最初のお試し期間に起きた2件の誤送信が、この上限の枠を使ってしまっていました。
そのせいで、本物の障害を見逃していた
上限が埋まっていたことで、その後に起きた本物の大きな障害を、お試し運転で検知できていませんでした。本来は「本物の障害が何度か起きるのを確認してから本番に切り替える」計画だったのに、その確認自体が止まっていたことになります。
こうして、本物の障害を待つ方式から、自分たちで状況を作って確かめる方式に切り替えることになりました。
本物に近いテストで確かめてから、本番に切り替えた
複数パターンを試した
本番とは別に用意した場所で、軽い障害、短時間で終わる障害、境界に近い時間の障害、同じ日に何度も起きるケース、複数のサービスで同時に起きるケースなど、いくつものパターンを試しました。全て、想定した通りの結果になりました。
本番で確認して切り替えた
最後に、自分たち宛のメールが実際に届くところを目で確認してから、本番への切り替えを行いました。
まとめ
- 一度メールが届いたからといって、すぐに「成功した」と判断しないこと
- 表示されている言葉と、実際に起きたことが一致しているかを照らし合わせて確認すること
- ひとつの原因を直しても、別の経路に同じ抜けが残っていないか確認すること
- 制限をかけるしくみ自体が、確認作業の邪魔をすることがあると知ったこと
- 本物が起きるのを待つより、自分たちで状況を作って試したほうが早く確実だったこと
次回は、夜のあいだにAIがサイトを見回るようになった話です。




