技術関連の覚書

案件でやったり自宅で試したことの覚書、自宅Redmineから移行

chatOps+IoTでvoiceOpsしたら業務が改善できた話

今日はこちらへ行ってきました*1

ChatOps+IoTでvoiceOpsしたら業務が改善できた話

HRMOSでのChatOps

HRMOSでのchatOpsの取り組み

  • アプリケーションのビルド/デプロイ/リリース

  • リソース関しのアラート通知

  • エラーログの通知

  • 問い合わせ窓口に来た問い合わせのチケット化されて通知

  • その他の通知

これは通常業務として取り組んでるところは多いと思います

メールでやってた頃は1日のメールが数千通なんてこともありました

chatOpsの問題点

チャットは仮想世界のもので、仮想世界の情報はpull型 つまり、現実世界に働きかけられない

業務は他にもあるのでずっと画面の片隅にあるチャットを見つめてるわけにもいきません チャットは流れていってしまうので見逃してしまうことはあると思います

voiceOpsとは

chatOpsの次に来ると言われている音声によって行うオペレーション

AIを搭載した音声アシスタントデバイスを介してタスクを実行する

Google HomeやAmazon Echoが代表的

siriとの違いは専用デバイスがあること

チームの課題

  • エラー通知を見張るのが辛い

  • 問い合わせ対応を見逃しがち

  • 人が増えてきた

    • コミュニケーション量が増えて大事な情報が埋もれる
    • 朝会の呼びかけが辛い
    • Slackの会話が増えて大事な会話を見逃す

リリース時は10人位→今は80人

voiceOpsって本当に喋りたいのか?

chatOps

  1. slackにキャッシュサーバへのconnection timeout errorの通知

  2. kibanaのリンクを開く

  3. 同じ構成の他サーバーでは起きてないことに気づく

  4. AWSコンソールでインスタンス再起動

voiceOpsの場合

  • 賢いAIなのに会話して進めていくのは馬鹿らしい

  • 会話せずに全オペレーションをやってくれる

  • AIによる自律的な障害復旧

  • 提携作業が想定できる物理的な故障やリリース、ロールバックのような作業に限られる

しかし、通知されるエラーのうちの殆どは自動復旧できるもの

  • 本当に欲しいものは

    • 喋ってくれる
    • 音声で知らせてくれる
  • さほど必要のないこと

    • しゃべることによるコマンド実行
    • AIによる判断

これならラズパイ*2とSlackbot*3とPolly*4で実現できそう

このような流れで作ったそうです

エラー通知や朝会の呼びかけなどをコマンドにしてこれをボットを通してPollyで音声化してラズベリーパイで喋らせる仕組みです Lexを組み合わせてAIで会話を解析して喋らせたりすることもできそうです

botの機能

エラー通知:slackにエラー通知があったら不穏な言葉や音を発する

問い合わせ通知:問い合わせ窓口に来た問い合わせが開発チームに振られた場合に担当チームに呼びかける

朝会コマンド:朝会の定型文を喋らせる

sayコマンド:任意の言葉を喋らせる

効果

エラー監視

  • タイニングによって対応が数分遅れることもあったが、ほぼ時間差無しで気付けるようになった

  • 問い合わせ対応 →同様に対応が遅れてCSチームから 早くしてくださいと言われることがなくなった

  • 朝会の呼びかけ →時間丁度に呼びかけることができ、気がついたら開始時間を過ぎてることがなくなった

副次的効果

  • ただの館内放送の代わりになる

  • cronを使って始業の合図、蛍の光*5

sayコマンドで * 適当に喋ららせられるのでこのようなお知らせができる * ミーティングに来ない人を呼び出し * ケーキがあるよのお知らせ*6 * 契約受注のお知らせ

追加機能

うるさいと怒る

音センサで閾値を超える時間が長く続くと「うるさい」と怒る →なかなか調整が難しい・上記に出てきた蛍の光に怒るのでやめたそうです

注意事項

やり過ぎるとうるさいと反感を買ったり、偉い人が怒ったりするので注意

コード

ここでコードが出てきたのですが、写しきれないので資料が上がったら参照してください

デモ

sayコマンドを使って色々としゃべらせていました

Pollyの設定で色んな国の人の声にできます

その他

  • ラズパイ3は無線が使えるから楽

  • AmazonLex、Pollyで音声を認識するAIがあるからそれを組み合わせるのも良いかも

  • チケットの割り振りはMachineLearningのAIが担当している

今回はPollyを使った話でしたが、Lexの場合10000テキストリクエスト、5000音声リクエストまで無料なのでこの枠内でやれるのなら無料で使えるかもしれません

Slackbotを使ってみようかな

*1:6/19の話ですが

*2:ラズベリーパイ、詳しくはhttps://raspberry-pi.ksyic.com/news/page/nwp.id/24を参照

*3:Slackbot — 忙しいあなたをサポートするお役立ちボット – Slack

*4:Amazon Polly (文章をリアルな音声に変換) | AWS

*5:時間が来ると早く帰るように促すそうです

*6:ケーキの差し入れがあったときの話だそうです