RAGを活用した社内お問合せ用Slackアプリを開発したお話
こんにちは!IT戦略チームの石井です。
「総合お問い合わせ窓口」というパートナーが会社についての様々なお問い合わせや依頼を行う窓口となるSlackアプリを開発し、社内にリリースしました。
※GMOインターネットグループでは社員のことをお互いにパートナーと呼び合っております。
今回の記事では総合お問い合わせ窓口の仕組みを簡単にご紹介します。
詳細な技術的な記事は追って弊社テックブログのZennで投稿予定です!

総合お問い合わせ窓口を開発するに至った経緯
弊社ではSlackをコミュニケーションツールとして採用しています。
100名を超えるパートナー数がおり、日々様々なお問い合わせや依頼ごとが発生します。
例えば、社内システムにログインできなくなった、〇〇の方法がわからない、勤怠を変更したい、広報について確認事項がある…などなど
今までは、相談のジャンルごとに用意されたSlackチャンネルで直接お問い合わせすることになっていましたが、課題がありました。
質問、依頼側の悩み
相談内容ごとに問い合わせ先チャンネルが分かれており、どこに相談すればよいかわからない
問い合わせた履歴が他のやり取りで流れてしまう
プライベートな相談をしたい場合、誰に聞けば良いのかわからない
回答する側、依頼される側の悩み
お問い合わせがかなり多く、やり取りが流れてしまうことがある
お問い合わせや依頼のクローズ状況が一目でわかるように可視化できていない
プライベートなお問い合わせはパブリックチャンネルに書き込めないため、担当者へ直接DMされてしまう(属人化、ノウハウの共有ができない)
同じようなお問い合わせ、マニュアルに書いてあることを何度も聞かれてしまう
これらの悩みを解決できるアプリを開発しました!
総合お問い合わせ窓口の仕組み
お問い合わせの発生

1.お困りごとや依頼などのお問い合わせが発生
2.Slackアプリでお困りごとのカテゴリを選んで送信

3.お問い合わせ内容がサーバに送信される
4.Notionデータベースに起票される(対応状況確認用)
※一部白塗りで隠しています

5.担当部署のチャンネルへお問い合わせが送信

6.Slackアプリのメッセージタブにお問い合わせの内容が送信される。

7.お問い合わせ内容のメッセージを元にナレッジにある事案であれば、AIで一次回答される
8.回答する側はチャンネル内メッセージのスレッドで回答を行う。以降のやり取りもスレッド内で行う。

9.回答内容はSlackアプリのメッセージ内送信され、以降のやり取りはスレッドで可能

10.対応が完了した後、「クローズをする」ボタンを押すことでNotionデータベースのステータスもクローズされる。
改善ポイント
お問い合わせした人はSlackアプリのメッセージタブでやり取りを一元化できる
回答者の名前がお問い合わせした人にわからないように匿名化されている
公開したくない内容のお問い合わせがある場合は、担当部署のチャンネルをプライベートチャンネルにしておくことでプライバシーが保護され、限定されたメンバーのみ回答を見ることができる。
Notionデータベースで回答ステータスを管理できる
AIによる一次回答ができる。(詳細は後述)
AIによる一次回答機能について
OpenAIのAssistants API FileSearch機能を活用し、社内のQA集をアップロードしておくことで、RAGによる一次回答をすることを実現できました。
モデルはGPT-4oを活用しております。
Assistants APIの詳細については後日弊社テックブログのZennで投稿予定です。

おわりに
総合お問い合わせ窓口の開発要望をきっかけに初めてSlackアプリを作ってみました。
特にお問い合わせが集中している総務メンバーの皆さまからは大変好評で開発しがいのある取り組みでした。
また、SlackアプリやSlackAPIを活用することで、Slackでできることの幅が大きく広がり無限の可能性を感じました。
上記のアプリをリリースした後、Slackでタスク管理を行う社内アプリを開発しました。
こちらにまとめてありますのでぜひチェックしてみてくださいね。




