経緯と概略
とある筋から「Chatfuel触ってみそ」とご下命がありました。 chatfuelがチャットボットということは分かりましたが、それ以外はよく分かりません。簡単に調べることになりました。 その際に分かったことと感想などなど。
もうちょっと細かく
どんなもの?
Facebook プラットフォーム、もっというとMessanger、Facebook page 上で動作可能なChatbotです。 いわゆるNo codeともいうべきお手軽な構築が売りのようです。
正直な感想
「遊ぶのは楽しい」が「大規模商用プロダクトのサービスの一部として導入したくたくはない」というのがプログラマの私が受けた印象です。
これについては弱みとして後述。
ドキュメントは?
量はあるのですが、いかんせん現状とズレていたり、肝心な部分は「動画で~」となっています。 そして動画を見ると陳腐化していたり、知りたい部分が出てこなかったり…… チュートリアルやサンプルが豊富なのと、コミュニティが活発のようなのでそちらにアクセスした方が早いかも。
サービスとしての強味と弱み
強味
Facebookアカウントに接続するため、よくある「いかに相手のデータを取得するか」の手間を一部すっとばせます。
- 具体的には名前なんかを取得できます。
「こんにちわ 、{{Last Name}}」
と書くだけで
「こんにちわ、丘山!」
と返せます。
UI部分を意識する必要がほぼありません。
- Messanger にそのまま乗っかれます。
サービスにのっかるので、サーバー維持コストがかかりません。
Chatbotの中から各種サービスを呼び出せます。
- Web API(Chatfuelの中ではJSON APIと呼ばれている)を経由すれば大概のサービスとは連携できるでしょう。
先に書きましたが、公式のテンプレートとサンプルが豊富です。
- (二つしか中を見ていませんが……)
弱み
Facebook上プラットフォームに完全に依存します。
- Facebookの仕様変更や利用規約変更の影響をもろに受けます。
- Facebookは類似サービスはあっても代替プラットフォームはないため、完全にベンダーロックインしてしまいます。
個人情報
- Facebook上のデータに簡単にアクセスできるがゆえに、個人情報の取り扱いに細心の注意を払う必要があります。うっかり、でFacebook上の個人情報にアクセスできてしまうので。
- 個人情報保護法の適用範囲が広がりつつあり、同時に厳しくなっている昨今、これは無視できない点です。
日本語情報が少ない
- これは仕方ないですね。
- 正直Facebookプラットフォームは日本では(Reactは別)あまり採用されないイメージがあります。
No Codeであるがゆえに修正箇所の差分比較ができない
- 基本的に画面をポチポチしながら作るのですが、コードとして吐き出されないため差分比較ができません。
- 世代管理もできず、再現性にも難があります。as a code?なにそれ美味しい?状態です。
- 何かしたい/動かないといった場合の調査でも、コードの差分を調べるのではなく、環境全部の設定を一つ一つ調べる必要があるのも不便です。
- ※なにがしかの形で保持しているはずなので、どこかで取得できるのではないかと予測しています。誰か教えて。
随時(リアルタイム)修正が保存される
- 最悪。
- ちょっとした修正でもすぐに保存、反映されてしまいます。
- この仕様のため修正途中のロジックにアクセスされてしまいますし、タイポで個人情報を保存するロジックなんかを埋め込んだ日には即個人情報保護法違反になる可能性があります。(入力補完が結構優秀なので、{{First Name}}と{{Fisrt Product}}を入力ミスしてうっかりデータ集めちゃった……なんてことも十分ありえる)
- おそらく保存を遅延させ、本番環境への適用を遅らせるオプションもあると思いますが見つけていません。
- またテスト環境を作り、そこで試してから丸ごとコピー→反映ということができる(?)ぽいのですが未確認。
開発環境自体がFacebookアカウントに紐づく
- 組織として開発・管理するなら別個用意すればいいのですが、個人レベルでちょっと遊ぶ、という用途には……試すには実質Facebook Pageを用意する必要があるのもイヤすぎる。
- またbotを作るのに個人情報を提供しているのがどことなく矛盾を感じてイヤ。好きなアカウントでやらせろや
- (※Facebookでは複数の個人用アカウントを持つことは違反 https://ja-jp.facebook.com/help/975828035803295 )。
- なにより自分ひとりではテストすらできないのが致命傷(ちゃんとした動作確認では他のFacebookアカウントからアクセスしたいが、複数アカウント持てないので……)
- 開発環境と動作環境がアカウントに紐づいているクセに一人では検証もできないっておかしくないですか? ボッチはどうすればいいんですか?(ボッチはFacebookは使わない)。
あらためて感想
繰り返しですが、「遊ぶのは楽しい」が「商用プロダクトとして触りたくはない」というのがプログラマの私が受けた印象です。 (あまりに管理がしづらい) 逆に非プログラマがFacebook・Messanger・Instagramを活用していくのであればお手軽で非常に強力なツールだと思います。カンだけでもある程度動かせますし、なによりチャットボットで返事が来るのは楽しい。 オレオレ「りんな」を作っている人もいそうですね。 やる人がいるかどうか分かりませんが、Chatfuel でおひとり様ChatDevps 環境も頑張れば作れそうです。(そういうのが好きな人はSlack使うと思いますが……)
具体的な使い方について
今後自分で積極的に使うことはなさそうかな、とは思いますが折角ですし、覚えたこと・調べたことは残していく予定です。