AIチャットボット開発の気づき(2)
人を繋ぐ AI
LLM と RAG を利用した Slackボット OssansNavi の開発・運用で得たノウハウを共有するシリーズ記事です
今回は 2024年3月頃の開発内容を紹介します。途切れがちな人々の関係を繋ぐ役割を担ってほしいという想いを託したコンセプト部分です。
前の記事: (1) RAG のデータソースとして Slack を利用する
次の記事: (3) メッセージにメタデータを含める
Slack などのコミュニケーションツールは便利ですが、グループ内の人数が増えてくると以下のような切ないやりとりが発生していませんか?
Aさん: 開発環境が起動しなくなったのですがどなたか分かりませんか?
-- 翌日 --
Aさん: すみません・・・、こちらどなたか分かる方はいらっしゃいますか?
Bさん: 見逃してました、すみません。開発環境の更新が必要なのでアップデートしてみてもらえますか?
すぐに回答しなかったBさんにはもちろん悪意はなく、質問に気付いていないだけです。
グループに所属するメンバーが増えれば増えるほど N : N のコミュニケーションによる見逃しが発生します。
10人なら全員の発言を把握できますが、1000人のグループのどこかのチャネルで投げられた質問に1000人が漏れなく気付くことは不可能です。
そこで、AI に人を繋ぐ役割を担ってもらうというアイデアです。
では先ほどの見逃しが発生するメカニズムを考えてみます。
もし、あらゆる質問に回答可能なXさんがいれば、Xさんが質問チャネルに張り付いて回答すれば漏れもなく効率が良いです。
(※一方でそんな全知全能な超人をFAQ担当にするもったいなさはあります)
しかし実際には以下のように質問によって回答できる人が異なります。するとやってきた質問に漏れなく回答するにはA~Cさんが全員質問チャネルを注視して、もし自分が詳しい質問が来たら回答する必要があります。
自分に関係する質問は稀にしか発生しないのに常時質問チャネルを注視することは難しく、結果としてたまたま気付いたら回答する運用となって前述のように質問がしばらく放置されます。
質問する人が回答してほしい人をメンションすれば良いのですが、誰が詳しいか分からないとバイネームで指名はできませんし、仮に詳しい人が分かったとしても関係性のない相手だとメンションをためらってしまいます。
さらに都合の悪いことに「詳しい人」とは曖昧であり、Aさんが質問Aに気付いても「Bさんの方が詳しいかも?」と考えて遠慮してしまうケースもあります。
そこで OssansNavi を「人を繋ぐAI」として設計しました。
Slackグループ内の情報を RAG で取得すると、回答までは分からなくても詳しい人を見つけられる場合があります。
そこで OssansNavi が「Aさん、質問Aに回答お願いします」とパスすると、Aさんは自分が回答すべき質問に気付くことができます。
ここで重要なポイントとしてメンションされるとAさんにボールが渡されます。するとAさんは自信がなくても気軽に回答しやすくなります。
AI の活用方法は「人間」対「AI」の事例が多いと思いますが、こうやって人間同士のコミュニケーションを AI が仲介してくれるのはとっても面白いですよね。
Discussion