🛠️
社内をDXするのに便利な7つ道具(サービス)
当社で社内DX(業務改善/業務効率化)する際によく使用しているサービスの紹介をします。
本記事を読むにあたっての注意点
- 各サービスの詳細について事細かく書くことはしません。
- 各サービスごとの違いがわかって判断材料になるように心がけて書いています。
- 「こんなサービスがあるんだ」、「こういうところを判断材料にして使うサービスを決めてるんだ」くらいの気持ちで読んでください。
- 有料サービスも含まれていますがPRしているわけではなく、純粋にこれを使用して改善に取り組んでいる程度で読んでください。
サービスを選ぶ上での当社の方針
- 作業の手間を軽減し、できる限り自動化する。
- 有料でも価値があるものには積極的に採用する。
- 社内基盤はGoogle系サービスに乗っているので、同じようなサービスがあった場合はGoogle系を採用する。
- 時代の変化が速いので小さくシンプルに作って捨てられるようにする。
1. Zapier
主な機能と利点・欠点
- ノーコードで多くのサービスをつなぐことができる。
- シンプルに☓☓のタイミングで〇〇サービスのデータを△△サービスに変換して渡すくらいのときに使用するとよい。
- 一応JavaScriptやPythonを書くこともできる(が、管理やテストが少し面倒)。
- 権限をZapierに渡す必要があるが認証周りを自動で連携してくれるのでとても簡単に連携できる。
- 認証周りは実装するとトークンの扱いやらめんどくさいのでとても助かる。
-
課金がほぼ必須
- 無料プランもあるがこれだけだとあまり良さがわからない。
- プランごとにその月に実行できるタスク数(ノーコードのノード1つ単位)で上限が決まっている。
- そのため多くの処理ステップを必要とする場合だと費用が割高になってしまう。
- トリガータイミングだけを掴みたいなら、他のサービス(GASやGitHubActions)を呼び出すだけというマネージャー的な利用方法もある。
- そのため多くの処理ステップを必要とする場合だと費用が割高になってしまう。
- 各ZapごとにTaskの使用量に上限を設けることができない。
- 使用量の予測を誤ってしまうと全Zapが停止してしまう(別途タスクの追加購入は可能)。
- ノーコードという特性上簡単な処理にしか向かない。
- 費用が安いmakeという競合サービスもある。 https://www.make.com
当社で利用しているプラン
Teamプランを利用しており、月に5000Taskで$1428/年となっている。
当社での活用例
- SlackからChatGPTを利用して翻訳する。
- Slackから社内用語集を検索する。
- チケットから項目を抜き出しスプレッドシートに埋める。
2. Google Apps Script(GAS)
主な機能と利点・欠点
- JavaScriptベースで開発することになる。
- 無料!
- Google SheetsやGmailの処理を自動化ができる。
- 定期実行やイベント(ファイルが編集されたときやメールが来たときなど)でトリガーできる。
- 簡易cron装置として外部サービスと連携させることも可能(Google系サービスと必ずしも連携する必要がない)。
- Googleサービス内で閉じていれば問題はないが、外部通信をする場合は多少クセがあり、専用の関数を使う必要がある。
- claspを使用すればローカルで開発、バージョン管理ができる。 https://github.com/google/clasp
- TypeScriptで書くことも可能。
- NodeのライブラリをECMAScriptに変換したら使うこともできるが割と大変。
- 独自のJavaScriptランタイムなのであまり凝ったことはしないほうが懸命(Vanilla的な使い方の方がいい)。
- テストも書こうと思えば書けるがAPI部分をどうモックしてテストするか等悩みどころ多い。
-
なので、長いコードを書いて実行させるのはあまりおすすめしない。
- ChatGPT等の生成AIから出力したものを少し修正するくらいの粒度で使うのが妥当だと感じている。
- Webアプリも作れるがあまり活用用途はない(本来の用途ではないが他のサービスから起動するときのエンドポイントにすることはある)。
- タイムアウトが時間(6分)が割とシビアなので大量のデータを捌くときには注意する必要がある。
当社での活用例
- 社員のSlackのプロフィールの自動更新
- ERPのデータをGoogle Sheetsに定期出力
- GitHubの社員アカウントと社員名簿の紐付け
3. Google Colab
主な機能と利点・欠点
- ブラウザ上でPythonコードを実行できるJupyterベースの環境
- 機械学習やデータ分析が想定されるメインの利用用途だと思うが、DX的な用途としても大変便利。
- Pythonのライブラリも簡単に使用できる(GASにあるような外部通信の制限もない)。
- 他のユーザーとも共有できるので、ユーザーの環境に依存することがない手軽なツールの作成に役立つ(月に一度くらいの頻度で、GoogleDriveにファイルを格納して、ファイル名などの入力パラメーターを入力して、実行のような用途だと非常に重宝する)。
- 実行時にエラーが出た際もその状態が共有されるのでデバッグしやすい。
- 有料版もあるが、DX的な用途だと無料の範囲内で十分やれる。
- データ連携はGoogle Driveをマウントできるので容易。
- シェルコマンドも使えるのでワンライナーをマウントしたGoogle Driveで手軽に走らせることも可能。
- 定期実行ができない(※有料のPro+プランだと定期実行できる)。
当社での活用例
- Excelファイルの自動データ入力(GASを使ってもいいがPythonの方がpyexcelを使えるので楽)
4. GitHub Actions
主な機能と利点・欠点
- CI/CD(継続的インテグレーション/継続的デリバリー)をyamlで設定できる。
- トリガータイミングや条件も自由自在。
- Actionによる共通化もできる。
- プログラムも走らせられるので開発言語を問わず開発が可能。
- 定期実行(cron的な用途)する複雑な処理でかつちゃんとコードを管理したいときに重宝する。
- 無料枠もあり、それを使い切ると課金だが、Zapierと比べるとかなり割安に実行できる。
-
ただ、ZapierやGASほどの手軽さはない。
- イテレーションが長くデバッグがめんどくさい
- ローカルで動作させてデバッグを効率化する方法(https://github.com/nektos/act)もある
- イテレーションが長くデバッグがめんどくさい
当社での活用例
- Google Workspaceのユーザーを自動追加・削除するためのTerraformの実行
- GitHub内のリポジトリの権限付与状況やトピックを一覧化するプログラムの実行
- GitHubのユーザー名とメールアドレスを対応付けるプログラムの実行
5. ChatGPT(GPTs)
主な機能と利点・欠点
- ChatGPTを独自カスタマイズするGPTsを活用して、特定の業務やドメインに特化したAIエージェントを構築可能。
- 予備知識はファイルの添付で簡単に取り込むことが可能。
- Actionを使うことで外部データの取り込むも可能。
- 手軽に作成できるのでITエンジニアでない社員でも作成でき、社内全体でスケールしやすい。
- 共同編集機能がない(共有機能はある)ので管理が1人に依存してしまう。
- プロンプトのバージョン管理をこちら側でやる必要がある。
- APIを使わない場合は、使う人がChatGPTのアカウントを持っている必要がある。
- APIを使う場合も別途呼び出すごとに費用がかかる。
当社で利用しているプラン
Teamプランを使用している
当社での活用例
- 翻訳ツール
- 文章校正
- 規程や社内ルールの回答ツール
- プロジェクト固有のナレッジ回答ツール
6. Dify
主な機能と利点・欠点
- Zapierと似ていて各種サービスと連携させることができるが、AIに特化している。
- 複雑な生成AIでの処理をするならZapierよりも便利。
- いろいろなAIモデルに対応しているので、利用用途にあったものを選定できる。
-
クラウドサービス(有料)と自前サーバーにセルフホステッドで構築するOSS版(無料)がある。
- OSS版はdockerを用いて簡単に構築することができる。
- テンプレートにやりたい要件があると手軽にワークフローを作成できる。
- プロンプトエンジニアリングやチューニングやナレッジデータのクレンジングなど実用的に使えるようになるまでに泥臭い作業は割と多い。
- 今までのプログラミングと違い開発が線形的に進んでいかないのでつらいところもある(機械学習とかと似ている)。
当社での活用例
- Slackでの用語回答Bot
- Slackのスレッド要約アプリ
7. Google Sheets
主な機能と利点・欠点
- 言わずもがな、Google版Excel。スプレッドシート。
- 情報を手軽に自由度高く編集できるのが強み。
- エンジニアでない人も馴染みがある。
-
Excelにはない強力な関数が使える(QUERYやREGEX系など)。
- あまりにも複雑になる場合だとGASで組んだ方が楽で見通しがよかったりする。
- 共同編集ができる
- ただし、誰かがフィルターかけると全員に反映されてしまう(なんとかして欲しい)。
- データ量が多いと稀にクラッシュする、計算式で固まる。
- セル数にも制限があるので大量のデータ処理には向かない。
当社での活用例
- 業務データの分析やアウトプット
- 社内サービスや社内サーバーなどの一覧表
- Googleフォームを使う必要がないような簡単なアンケート
- 月報などの報告資料
どれを利用するかの判定ポイント
- Zapier
- 費用を捻出できるか
- 連携したいサービスがサポートされているか
- アカウントを連携する上でセキュリティ的な許容できるか(アカウントのスコープや連携している情報を絞れているかどうか)
- 処理のステップが軽いか(10Task以内くらいが望ましい)
- 処理に分岐や繰り返しが少なくシンプルな処理になるか
- Google Apps Script(GAS)
- 実行時間が長くないか
- 費用を抑えたいか
- コードが長くならないか(生成AIからの出力を組み合わせるくらいかどうか)
- 簡単なものはZapier、複雑なものはGitHub Actions、中間がGASくらいで考えるといい
- コードを管理したい場合は少し手間がかかるが問題ないか
- Colab
- 利用する人に抵抗感がないか
- 定期実行するならZapierやGAS,GitHub Actionsを使用するほうがいい
- GitHub Actions
- gitで管理する必要があるくらい記述するコード量がそれなりにあるか(ない場合はZapierかGASを使用するといい)
- 開発に手軽さはないが問題ないか
- ChatGPT(GPTs)
- 利用する人は組織のChatGPTに入っているか
- 結果の間違いを許容できるか(ハルシネーション)
- Dify
- AIを複数回実行するか(複雑でなければZapierの方がいいパターンもある)
- 改善したいもののテンプレートがすでにあるか(ある場合は開発が楽になる)
- Google Sheets
-
本当にスプレッドシートで管理すべきデータかどうか検討する
- 共有して編集権限がある場合データが不意に書き換わる可能性がある
-
本当にスプレッドシートで管理すべきデータかどうか検討する
まとめ
いろいろ特徴を書きましたが、個人的には、
- 簡単に実装するなら、Zapier
- 少し複雑で費用を抑えたいなら、GAS
- 定期実行しないで多少複雑なことをしたいなら、Colab
- ちゃんとするなら、GitHub Actions
- AIで楽をするなら、GPTs
- AIをちゃんとやるなら、Dify
- その他いろいろ手広くやる、Google Sheets
という感じな印象で使うサービスを選んでいます。
Discussion