はじめに
はじめまして。皮トマトと申します。
本日はタイトルの通り、「新卒2年目がAIチャットボットを作って月200件の社内問い合わせ業務を自動化した話」についてお話したいと思います!
こんな方におすすめ
・AI活用を進めたいが活用パターンが思いつかない方
・AI活用基盤を作ったはいいものの社内の反応がイマイチな方
・AIチャットボット開発に興味のある方
自己紹介
私はとあるIT企業のプリセールスとして2024年に新卒入社しました。自社開発の企業向け製品をお客様の元に届ける活動をしています。
ちなみに大学時代の専攻は「哲学」。情報系の知識は入社してから身に着けました。
作ったAIチャットボット
こちらが我々の作成したAIチャットボット、通称「SEぼうや」です。

SEぼうやは当社の社内コミュニケーションツールであるSlack上に存在し、
自社製品についての質問をすると懇切丁寧に教えてくれます。
回答精度は80%~90%、月の問い合わせ件数は約200件ほど。
今や業務に欠かせない存在となっています。
背景
SEぼうやが生まれた背景には、我々プリセールス部門が抱えるとある課題がありました。

それは、営業からの社内問い合わせ対応に追われること。
「この製品にこういう機能はある?」「こんな事例はある?」「こんな要件を解決するにはどんな使い方をすればいい?」自社製品に関する質問が、多い時には1日に十数件ほど舞い込んできます。
社内に散らばったナレッジを縦横無尽に検索し、時間をかけて回答を作ることもしばしば。
もちろん社内問い合わせ対応は案件を進めるために必要不可欠な業務ですが、それに多くの時間を割いて本質的なミッションであるお客様のビジネス支援がおろそかになってしまっては元も子もありません。
当部門ではこの状況を打破するための解決策を探していました。
そうして生まれたAIチャットボット構想
解決策がないなら、自分で作ればいいじゃない。
ということで、AIチャットボットに回答を委託するプロジェクトが部門内で立ち上がりました。
5年目、3年目、そして当時1年目だった私の3人で、通常業務のかたわら社内申請や開発を進め、プロトタイプ完成までわずか2カ月でのスピード開発を実現しました。
3人とも新卒からプリセールスに配属されたため開発経験はゼロ。完全な手探り状態で、「とりあえずやってみる」をスローガンに開発を進めました。
※タイトルからは「新卒2年目がひとりで作った」ように見えますが、そうではありませんでした。すみません。
構成図

これがSEぼうやの構成図です。
ユーザーインターフェースには社内の標準コミュニケーションツールであるSlackを利用しています。
SEぼうや専用のオープンチャンネルがあり、ユーザーはそのチャンネルに参加し、メンションを飛ばして質問を投げると回答が同一スレッドに返ってくる仕組みです。
裏側の基盤は主にAWSを利用しています。
SlackでメンションされるとAmazon Bedrock APIが叩かれ、生成AIモデルへの問い合わせが発生します。
自社製品の回答には社内ナレッジが欠かせないため、Knowledge Bases for Amazon Bedrockを用いてRAGの仕組みを実現しています。
※RAG:生成AIモデルが学習していない外部情報の検索を回答生成に用いることができるようになる技術のこと。詳しくは以下サイト等をご覧ください。
https://aws.amazon.com/jp/what-is/retrieval-augmented-generation/
ちなみに、製品マニュアルや社内ナレッジなどの源泉データをAWS上に持ってくる部分に自社製品であるHULFT Squareを利用しています。
このおかげで複数の場所に散らばった社内ナレッジを定期的に自動取得することができます。
https://www.hulft.com/service/hulft-square
なぜ成功したの?
前述した通りSEぼうやは今や業務に欠かせないツールとなっています。
お客様からもらった質問をその場で問い合わせる、該当するマニュアルの箇所を教えてもらう、過去事例を調べる…など、利用用途も様々。
利用者は次第に増え、今や月に200件の問い合わせに回答しています。
"作って終わり"ではなく、なぜユーザーに浸透し利用され続けているのか?
制作者側の意見ではありますが以下の要素が大きいと考えています。
①ユーザー体験にこだわる
SEぼうやのような新しいツールを広く使ってもらうには、ユーザー側の障壁をなるべく除くことが重要です。
具体的には以下の点がよかったと感じています。
・Slack上で問い合わせ可能
→プリセールスに問い合わせる場合とほとんど変わらない挙動で質問が可能
・ソースURLを回答の末尾に記載
→エビデンス確認までの導線が確保されている
・象徴的なアイコン
→単なるツールではなく「SEぼうや」として認識してもらうことで、親しみやすく、選択肢に浮かびやすい
②回答精度にこだわる
どれだけユーザー体験が良くても精度が高くないものは使ってもらえません。
SEぼうやもプロトタイプ完成から幾度もの技術的な工夫を重ねて回答精度を向上し、正式リリースまでこぎつけました。
工夫の中から特に重要だった点をいくつかご紹介いたします。
精度向上の工夫
①メタデータ付与

源泉データをS3に格納する際、そのデータのメタ情報を記したJSONファイルを同時に格納しています。
※Amazon Bedrockの機能で、「${ファイル名}.metadata.json」を同一S3バケット内に置くとそれを該当ファイルのメタデータとして扱ってくれる
自社製品の数が多いため、扱う源泉データも多くなります。
膨大な源泉データから検索を行うとどうしても精度が下がるため、メタデータを付与することで分類し、フィルターをかけられるようにしています。
②Tool useの利用
Amazon Bedrock ConverseAPIの「Tool use」という機能です。
Tool useの詳細については以下記事をご覧ください。
端的に言えば、事前に定義した関数から最適なものを選んで回答を生成してくれる機能です。
以下のようなメリットがあります。
・人間が検索を行うときのように、踏むべきステップを定義できる
・ユーザープロンプト(質問)を充足するまで動作を繰り返し、回答をブラッシュアップしてくれる
私が主に開発を担当したのはこの部分です。
①のメタデータを用いて検索対象データに製品フィルターをかけて検索を行うよう、製品ごとに関数を定義しています。
この機能を利用することで、精度が50%から80%~90%に引き上げられました。
③データ前処理
源泉データの中にはPowerPointやPDFなどの画像データも含まれます。
これらを生成AIが読み取りやすいマークダウン形式に変換してからナレッジベースに格納しています。

ライブラリの制限によりこの部分はAzure Open AIを利用し、コンテナ上で動かすようにしています。
この工夫によって事例の回答精度が向上しました。
効果
SEぼうやを導入したことで得られた効果は以下の通りです。
①問い合わせ負荷軽減
これまで対応していた社内問い合わせをSEぼうやが対応してくれることで、
営業側も気軽に問い合わせできるようになり、プリセールスの負荷も減り、さらにはプリセールスとのコネクションが薄い他部門の人も問い合わせできるようになり…と、全社的にいいことづくめでした。
②より本質的な提案活動にシフト
一次問い合わせをチャットボットが行うことによって、営業とプリセールスの会話がより本質的なところからスタートするように。
本来のミッション「お客様のビジネス課題を解決する」に近づいた業務の仕方にシフトしました。
③コミュニケーションの場の創出
前述の通り、SEぼうやはSlackチャンネル上で運営しています。
問い合わせに対して「こんな資料もあるよ」と他部門の方が補足してくれたり、開発部の人がより詳細を説明してくれるなど、新たなコミュニケーションも生まれています。
おわりに
AIを用いて業務改善したい方、ぜひこんな使い方はいかがでしょうか。
ご参考にしていただければ幸いです。


