エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
ChatOps(チャットオペレーション)をご存知でしょうか。聞いたことがないという人も、すでにそのシステムを使っているかもしれません。
ChatOpsやチャットボットの開発フレームワークが登場したことで、ただおしゃべりをするためのツールではなく、業務効率の向上に寄与するようなシステムを作れるようになりました。
今回はChatOpsのサービス事例やフレームワークをご紹介します。
ChatOpsは、チャットサービスをベースにシステム運用を行う一連の動作を指します。ChatOpsの利点はSaaSと連携することで通知を効率よく行えるようになること。また、チャットボットとしての活用も進んでいます、チャットボットはユーザーのクエリに対して、決まった、または学習した回答を繰り出します。
さらに、SaaS連携のもっとも有名な事例がSlackです。Slackは他のChatOpsに比べ連携できるサービスが多く、Chatサービス上に情報を集積できます。集まった情報を元にコミュニケーションをとったり、チームメンバーへシームレスにタスクをアサインしたりできます。
またChatOpsは収集したデータを使って機械学習による分析を重ね、ユーザーの生産性を向上させます。
(出典:GitHub)
Slack、MattermostなどのサービスにChatopsが用いられています。また、ChatfuelとFlowxoというチャットボット技術が複数のプラットフォームに導入されています。
チャットボットをサービスに導入するメリットをまとめました。
セキュリティにまつわる情報は、複数のメールボックスを渡り歩くうちに漏洩してしまうことがあります。しかし、チャットボットのシステム上であれば、チャットに入っているユーザー全員が同時に情報を入手できます。そのため、確認ミスや送信ミスを回避できます。
チャットボットは、ひとつのシステムで会話やファイルのやりとり情報を収集しています。そのため、過去にどんな問題解決したのか、ユーザーが過去にどんなことを発言していたかを簡単に検索できます。
機械学習を組み込めばチャットボットとしてより自動化できます。ChatOpsは過去のデータを分析することで、ユーザーが取るべきアクションを提案できます。
従来までチャットボットの開発はごく一部の限られた職能を持つ人にしか開かれていなかったものでした。しかし、GitHubによって2013年に開発されたチャットボット開発・実行フレームワーク「Hubot」の登場によって、チャットシステムを簡単に作れるようになり、ChatOpsの概念が生まれました。
世界中ででチャットサービスを開発するためのフレームワークが提供されています。開発フレームワークを6つまとめました。
Dialogflowは、Google社が提供しているチャットボットのUI作成ツールです。Dialogflowが作成できるチャットボットは、機械学習により、人間の文言を解析できます。また、Facebook MessengerやSlackなどへ、GoogleのサービスUIと互換性の高いUIを提供しています。
Channel Inspectorは、Microsoft社が提供しているチャットボットのUI作成ツールです。ビジュアル面の隣に、UIを実装するためのポイントが記載されています。システムによってどこまでUI型構成を表示できるのかを示します。また、システムによる制限なども書かれています。
Hubotは、GitHub社というソフトウェアを開発・販売している企業がNode.jsで開発したチャットボットのフレームワークです。GitHub社は、社内用チャットシステムのためにHubotを開発しました。Huboutには、画像をアップロードすることや言語を翻訳すること、チャットボットとGoogle マップに連携することなどのコードが実装されています。
また、Hubotはオープンソースのボットであるため、機能を望む場合、自社で開発するのか、他人が制作したコードを利用できます。
Litaは、Ruby製のチャットボットの開発フレームワークです。Litaは、社内用チャットシステムを開発するためのフレームワークです。プラットフォームはオープンソースです。
フレームワークはRuby製であるため、Rubyでプラグインを記述する必要があります。RubyGemsとBundlerというRubyの開発環境でコードを記述し、Litaに使えます。
Rubotyは、Ruby製のチャットボットの開発フレームワークです。Litaより、Rubotyのコードのほうがカスタマイズ性が高いです。なぜなら、Rubotyを対象にしているプラグインだけではなく、システムまでも構築できるためです。
また、日本で開発したフレームワークになるため、一次情報を手に入れやすいです。
Azure Bot Servicesとは、Microsoft社が開発した、チャットボットをテンプレートから簡単に作成できる環境のこと。Azure Bot Servicesにおけるサービスは多くあり、各サービスを組み合わせると、1週間のような短時間内にチャットボットを開発できます。
Azure Bot Servicesで開発したチャットボットは、自社サービスに限らず、SkypeやSlackなどの他社企業のサービスに連携できます。
UXの視点から見ると、ユーザーの行為をボットが予測することで、ユーザーとボットの理想的な会話を組み立ています。
2社が実践した事例を見てみましょう。
Slackとは、社内共有の拠点となるクラウド型のシステムのこと。Slackは、チャットボットを広く使っています。最初のチュートリアルでは、チャットボットと会話をし、システムを案内してもらいます。さらに、リマインダーを設定したり、プラットフォーム内にコマンドを実施したりできます。
上記モデルは、Google社が開発したチャットボットです。ユーザーとボットの会話の流れが明確になり、どんなふうに進めればいいのかを分かりやすく表現しています。
セキュリティの透明性が向上したり、機械学習向けのデータが収集できるなどベネフィットが多いChapOpsの魅力をご紹介しました。業務改善にも役立つチャットシステムをChatOpsで構築してみませんか?
(翻訳:Jordan Colston)