LoginSignup
148
96

More than 1 year has passed since last update.

ChatGPT bot を Slack 上で動かすのはめちゃくちゃ盛り上がるのでおすすめ

Last updated at Posted at 2023-04-21

こんにちは、 Qiita株式会社のエンジニアの @tomoasleep です。
Qiita 株式会社では ChatGPT API を使った bot を Slack 上で動かしています。

同じような事例はいくつもあるのですが、Qiita社内でかれこれ 1ヶ月半以上稼働して、「多くのメンバーに ChatGPT をハードル低く提供する」「社内で活用法を考えたり、共有したりしやすい」「楽しい」ということで、 ChatGPT 活用を社内に浸透させるには Slack での bot が本当にめちゃくちゃ最高 なので、実例を交えて布教していきたいと思います。

qiitan-hello.png

Qiita での Slack bot の設定

(※ もっと導入しやすい例は、他にいくらでもあるのでここは参考程度に見てください)

Qiita 社内では Slack bot として Ruboty を利用しているため、 ruboty-openai_chat という ChatGPT を利用する Ruboty プラグインを作成しました。

ruboty-openai_chat では OpenAI の Chat completion API を利用しています。
この API に以下のような会話データを送信し、その続きの返答内容を生成、という形でメッセージを返答しています。

The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.
The AI assistant's name is (bot 名). (ユーザーが記録させた設定文)

Human: こんにちは。あなたは誰ですか?
AI: 私は OpenAI 製の AI アシスタントの (bot 名) です。なにかお手伝いできることはありますか?
Human: (過去一定時間の、同一チャンネルでの bot との会話)
AI: (過去一定時間の、同一チャンネルでの bot との会話)
Human: (Slack のメッセージ)
AI:

(※イメージのために平文にしていますが、実際には各会話は構造化されたデータとして送信しています。)

こうして、ChatGPT API の力を借りて、いい感じに返答してくれる Qiitan が完成しました :tada:

Qiita 社内での Slack bot (Qiitan) の遊ばれ方

こうして完成した Qiitan を (利用ルールや注意事項を説明した上で) Slack に放し飼いにしたわけですが、割と様々な用途で社員が遊んでくれるようになりました。

lunch.png

philosophy.png

単に遊ぶだけではなく、色々な用途で実験されて、それが社内で自然に広まるようにもなりました。
翻訳に使ったり、

fixme.png

新しいことを学ぶときの参考相手に使ったり、

learn_lsp.png

案出しの壁打ちに使ったり、

qiitan-enumerate.png

要約を作ったり、

summarize_article.png

書いた記事のタグ候補を考えるのに使ったり、

tagging_article.png
tagging_article2.png

歌を作ったり(?)

flaky-song.png

...などなど、様々な用途で利用されるようになりました。(他にも色々な用途で試されています)

Slack 上で動かすことで、自然と ChatGPT の活用法が共有されるように

Slack bot の効果として大きいのは ChatGPT との対話が Slack 上で行われることで、 ChatGPT への色々なプロンプトの投げ方が自然と社内で共有される ことです。
これにより、社内で (dev, business を跨いで) ChatGPT の利用法が広まり、様々な利用方法が活発的に模索されていくようになりました。

(なおかつ、API 経由であるため、基本的に OpenAI 側に二次利用されないのも嬉しいところです。)

社内ガイドライン、Template Repository の整備など、社内での AI サービスの利用を促進

qiita_chatgpt.drawio.png

また、Qiita 社では、社内で ChatGPT 等の AI サービスのガイドラインの整備も行い、 個人情報は送信しない、などの利用ルールを定めています。

他にも、Slack bot で社内の利用が活発化されたのを皮切りに、 ChatGPT などの生成系 AI に関する勉強会、活用アイデアの収集、Template Repository の配布なども行い、社内での AI サービスの利用、サービスへの活用を促進しています。

ChatGPT API はかなり安価

ChatGPT API (gpt-3.5-turbo モデル) は有料の従量課金で、 $0.002/1K tokens の使用料がかかります。 (トークン数の算出は複雑なのですが、日本語で大まかに 1000 文字で1円弱程度です。)
社内で bot としている分には非常に安価で済みます。

まとめ

ChatGPT を Slack bot として動かすのは、(導入したときは遊び半分で正直そこまで考えてなかったのですが) 以下の点で非常に良い選択肢でした。

  • 利用するハードルが非常に低い (また、API 経由なので学習にも使われない)
  • 利用事例が、社内で自然と広まり、社内での活用が盛り上がりやすい
  • (Chatbot を既に飼っている会社なら) 話してくれるだけで楽しい

社内で ChatGPT の活用を考えていく際には、まず初手 Slack bot 導入はおすすめです。
(実装に関しては、Qiita 社のはやや特殊例なので、他を参考にしてください)


おまけ: ChatGPT 以前の例

実は ChatGPT API リリースの前 (gpt-3.5-turbo が出る前) も text-davinci-003 モデルを利用した Slack bot を動かしていました。 (秘密情報は流さないこと前提で)
ただ、自然な対話をしてくれるような学習はしていないので、なんというか不思議な返答をしがちだったのと、当時の規約的に秘密情報は流せないので、大喜利用途であまり活用などには繋がらない感じでした。

それ以前にも、会話できる Chatbot にしようという試みはありました。

こんな感じの返し方でした。

image.png

おまけ2: Chatbot の実装例を紹介してもらった

Slack の @seratch さんから、 Slack bot の実装例を紹介してもらいました!
Ruboty プラグインだったり、実装大変そう…、っていう方は試してみても良いかもしれません :information_desk_person:

148
96
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
148
96