「1000本ノックGPTで営業トレーニングを省力化&メンバーのナレッジを標準化!」というタイトルで Classmethod AI Talks(CATs)第16回に登壇しました #catalks

「1000本ノックGPTで営業トレーニングを省力化&メンバーのナレッジを標準化!」というタイトルで Classmethod AI Talks(CATs)第16回に登壇しました #catalks

【はじめに】

クラスメソッドが運営している生成AI関連コミュニティ『Classmethod AI Talks(CATs)』の第16回が2月12日に開催されました!
そちらで「1000本ノックGPTで営業トレーニングを省力化&メンバーのナレッジを標準化!」というタイトルで登壇しましたので、本ブログで概要を紹介します。
アーカイブ動画も残っておりますので、見逃した方は是非動画もご覧ください!
https://www.youtube.com/live/oUHGzup4fkc?si=UzxXFKNq_XOGbRC8

【対象者】

  • 生成AIの業務活用のイメージが湧いていない方
  • 生成AIを活用して社内の業務効率を上げたいと考えている方

といった皆様へ何かしら気づきやヒントを与えることができたらと思いながらお話しました。

【登壇資料】

それではこれより、登壇内容について細かく紹介します。まずは自己紹介から。

自己紹介

CATs-takayama-0212.1.自己紹介
改めて、高山と申します。営業統括本部のセールスオペレーション部に所属して活動しています。

ミッションは業務効率化を通じた全営業の活動最大化で、営業が事務作業や情報確認に要していた時間を削減し、本来の仕事であるお客様と向き合う時間を増やすための活動を行っています。

個人の経歴としては新卒で人材派遣や紹介を行う会社に入社し、その後フィリピンにて日本語学校を立ち上げ運営していました。
2022年1月にクラスメソッドに入社してからは2年間アカウント営業として法人向けのコンサルティング営業に従事したのち、今のセールスオペレーション部に移っています。

クラスメソッド入社する前はAIはもちろんIT業界の経験もありませんでした。
一方でフィリピンで学校を運営していた際は立ち上げ期だったこともあり、少ない人員で売上を伸ばす必要がありました。そのため、個人として自動化や仕組み化を強く意識して取り組んでいました。現在もその経験を活かし、クラスメソッドで働いています。
このブログでは、そんな自分がクラスメソッドで取り組んだ生成AI活用について具体的に、背景から仕組みの裏側まで紹介します。

営業1000本ノックとは -作成に至った背景-

CATs-takayama-0212.2.背景-メンバーズ
「1000本ノック」自体について、どんな取り組みなのかを背景から紹介します。
クラスメソッドに入社した営業メンバーはまず、主力サービスである「クラスメソッドメンバーズ」の理解を深めます。

AWSパートナーであるクラスメソッドはAWSを利用される会社様に各種サービスを提供します。
各種プランに応じた利用費の割引やテクニカルサポート、保険など全て無料で提供しています。
エンジニアによるAWS環境の構築やレビュー・改善といったコンサルティングなどの有償技術支援もあります。

お伝えしたいこととしては非常に多くの内容を含んだサービスである、ということです。
実際のサービス資料は50ページ近くあり、各ニーズに合わせたソリューションがあります。

CATs-takayama-0212.3.1ヶ月目
そのため新人営業がまず直面する課題として サービス資料を他者に正確に説明できるようになる というものがあります。
サービス資料を読み込みや先輩社員の商談同席などを通じてサービス内容と効果的な説明方法を理解し、自分で台本を作って一人それを使った練習をするなど・・・
入社1ヶ月目はこうした活動を通じて、まずは資料の内容を自分の言葉で正確に説明できることを目指します。

CATs-takayama-0212.4.2ヶ月目
次ににぶつかる壁として お客様から突発的な質問に答えられるか というものがあります。
資料ベースのサービス説明は問題なくても、お客様から「こういう場合はどうなりますか?」などの急な質問に対して、持ち帰らずにその場で回答できるかというものです。
こうした課題に対して、ロープレという形の研修では限界があります。

ロープレでは商談をベースに状況設定するため、問題ないサービス紹介の時間が大半を占めてしまい、本当に練習したいQ&Aの時間が非常に限られた時間になってしまいます。

では「この1時間、私にひたすら質問を浴びせてください!」と頼んでも、今度は先輩社員が困ってしまいます。
会話の文脈も一切ない中で質問をし続けるのは難しく、また新人が複数回これをやるとして、前回別の先輩社員が担当した際の質問内容がわからないと内容やレベルが偏ってしまいます。

こうした特定の社員に負荷が高まる取り組みでは継続性がなく、会社全体の業務効率をかえって圧迫してしまうことになりかねません。

以上から、過去に実際お客様から寄せられた質問を収集し、それらに対する模範解答や補足情報も含めてツール化することでより体系的な研修にしたいと思い、1000本ノックを作成しました。

営業1000本ノックとは -概要-

CATs-takayama-0212.5.概要
実際に作成した1000本ノックがこちらです。
各質問と、想定される模範回答、そして補足情報が記載されています。
先輩社員がこちらのシートを使い、新人営業に記載されている内容に基づいて質問し、新人の回答が模範回答と合致しているかをチェックします。
シートにはチェックボックスも用意しており、新人の回答が不足しているなどでフィードバックが必要な場合はそちらにチェックを入れて、メモに内容を記載することで終了後の振り返りに活用します。

これにより効率的な研修が可能になり新人営業の立ち上がりにかかる時間の短縮と、先輩社員にかかっていた負荷軽減が実現できました。

ここまでは1000本ノックという取り組み自体の紹介でした。
次から、この1000本ノックをChatGPTに実装した結果どうなったのかをお伝えします。
結果として、2つの機能を生み出すことができました。

1000本ノックGPTの機能 ①新人トレーニング

CATs-takayama-0212.6.トレーニング
まずはこれまでの説明と同じ方向性である「新人トレーニング」の機能について紹介します。

初期画面で「レベル選択」「トピック選択」「全質問からランダム」と選ぶことができます。
「レベル選択」をクリックすると、用意されているレベルが出力されるので、希望するレベルを選ぶと基本ルールの確認の上、Q&Aが始まります。

ユーザーの回答に対し、ChatGPTは正誤判定の上フィードバックをしてくれます。
回答が「はい」「いいえ」などシンプルなものであった場合はそれを許さず、「もう少し詳しく教えてください。この場合はどうなりますか?」と追加で質問をします。

特定の質問数が終わると総括フィードバックに入り、ユーザーの得意不得意、おすすめの勉強法などを出力します。

セッションでは実際の画面とともにデモを行ったので、よろしければ以下をご覧ください。
セッション 13:43〜

1000本ノックGPTの機能 ②社内Chatbot

CATs-takayama-0212.7.Chatbot
次に、会社のサービスに関する社内Chatbot機能について紹介します。
こちらは1000本ノックをChatGPTに実装する過程で生まれた副産物であり、新人に限らず多くの社員に利用いただいている機能です。

新人トレーニングとしての機能が、ChatGPTが研修担当として新人にサービスに関する質問を投げかけていたのに対し、この機能では逆にユーザーがChatGPTに関してサービスでわからないことを質問できます。

ユーザーの質問に対しChatGPTはデータベースの内容に基づいて補足情報も含めて出力します。
また、ChatGPTが出力内容にどれだけ自信を持っているかを示す 「確信度」 を記載します。
更に データベースのどこを参照したかも常に明記 してくれます。

こちらもセッションでデモを行ったので、よろしければ以下をご覧ください。
セッション 21:05〜

ChatGPTの裏側設定

CATs-takayama-0212.8.裏側設定
前提として、1000本ノックGPTはChatGPTのEnterpriseプランで使えるMyGPTという機能を用いて作成しました。
MyGPTでは独自のデータやプロンプトを事前に読み込ませたオリジナルのGPTを作成できます。

ただ、やっていることはRAG的なデータベースの作成とプロンプトエンジニアリングの工夫なので、ChatGPT Enterpriseアカウントがなくても同じことは実現可能です。

まず、1000本ノックのように質問と模範回答、それに細く情報が羅列されたデータベースをExcelで作成しました。
各設問にはレベルとカテゴリ(これは完全に私の主観で設定)が記載されています。

ExcelをPDFで出力し、MyGPTの編集画面でアップロードしています。
更に、その下の「機能」設定で 「ウェブ検索」をオフ にしています。
これにより、当該GPTはアップロードされたファイルのみを参照して回答するようになります。

ウェブ検索機能は便利だと思う反面、不確かな回答をしてしまうハルシネーションのリスクが伴うためこうした研修やChatbotといった ユーザーが正しい知識を持っていない場合 においては使わずにRAGなどに参照元を寄せた方が良いと感じています。

プロンプトエンジニアリングにあたって

1000本ノックGPTを作成するにあたり、AI初学者なりに以下テクニックを用いてプロンプトを書きました。

【マークダウン記法】
見出し: #, ##, ###, #### (指示の階層化)
箇条書き: - (指示の同列グループ化)
強調:* a *(斜体),  ** a **(太字),  *** a ***(斜体+太字) (特に守ってほしい指示の明記)
いずれもAIにこちらが望む内容をシンプルかつ明確に伝わるように活用しました。

【ペルソナの指定】
特定の立場を明確にすることで、出力の方向や注意してほしい内容を明確化
例:あなたは優秀なコーチです。あなたの目的は〜

【Few-shotプロンプティング】
いくつかの出力例を記載することで、AIの出力を望む形式に近づける

1000本ノックGPTのプロンプト一覧

上記を踏まえて作成した1000本ノックGPTのプロンプトを公開します。

#Background -GPTの立場/役割の明確化(ペルソナの指定)-
あなたは優秀なコーチです。従業員規模1000人弱のIT企業「クラスメソッド株式会社」に勤めており、特に営業職に対する新入社員研修を担っています。
あなたのミッションは全社員の有する知識を均一化することで、特に会社が提供している独自サービスに関する知識をユーザーが正しく持っているかを網羅的に確認し、不足があれば補うことで知識を向上させます。

#Guidelines -振る舞いの設定(正確性重視/学習支援の徹底)
- **アップロードされた資料のみ**に基づき、正確な質問と回答を提供します。**一般的な質問であってもアップロードされた資料に明確な記載がなければ回答として出力しません。**
- ユーザーの回答が不足している際は妥協せずに十分な回答がされているかを追加質問で確認することを徹底します。
- ユーザーの成長を促すため、関連する情報や参考資料を常に提示します。「参考情報」に記載されているURLも該当するものがあれば必ず送付します。
- ユーザーの回答内容が不足しており、必要な情報が含まれていない場合、すぐにフィードバックと正解を提供するのではなく、ユーザーが正しく理解しているかを確認するための追加質問を必ず行います。
回答内容が十分である場合、もしくは追加質問に対するユーザーの回答があまり変化がなければ回答を評価し、模範解答と備考にあたる情報を提供します。

#How to provide "1000本ノック" -基本的な1000本ノックの進め方の指定-
あなたはクラスメソッド株式会社が提供するサービスに関する知識を確認するための一問一答形式の練習である「1000本ノック」を提供します。
アップロードされた資料を基にユーザーに対して質問を投げかけ、ユーザーの回答が不十分であればその場で追加の質問を行います。
その上で回答の正誤を判断し、具体的なアドバイスを提供します。

##"1000本ノック" Rules -1000本ノックにおけるペルソナの指定、細かなフローの確認-
- 練習中はクラスメソッドメンバーズに加入するかを検討している事業会社の決裁者として振舞います。ユーザーはクラスメソッドの営業担当として行います。
- 質問5個で1セットとし、一度に5個質問するのではなく、1つ質問しユーザーが営業担当として回答、それに対する正誤判定と必要であればフィードバックを経て次の質問へ移ります。
- 一つ一つの回答に対しては、YES/NOの回答が合っているだけではなく、十分な情報が伝えられているかを判断し、十分な情報がなければ追加で質問します。
- 5個終えたら総括に当たるフィードバック、つけなければいけない知識分野などのアドバイスを行います。

##How to start "1000本ノック" -分岐パターンの設定(レベル順/トピック別/ランダム)-
どのような形で1000本ノックを行うかは、ユーザーの最初の指示によって分岐します。以下にそれぞれのパターンを記載します。

###Pattern1. ユーザーが「挑戦したいレベルを選択する」と指示した場合
ユーザーが「挑戦したいレベルを選択選ぶ」と指示した場合、以下の文章を出力します。 : 
承知しました!挑戦したいレベルを教えてください。(***アップロードされた資料に用意されているレベルの最小と最大の幅から選択***)
該当するレベルからランダムに出題します。

####Example
承知しました!挑戦したいレベルを教えてください。(レベル1~3から選択)
該当するレベルからランダムに出題します。

###Pattern2. ユーザーが「コストやセキュリティなど特化したいトピックがある」と指示した場合
ユーザーが「コストやセキュリティなど特化したいトピックがある」と指示した場合、以下の文章を出力します。 : 
承知しました!特化したいトピックを教えてください。複数でも構いません。該当するトピックからランダムに出題します。

その上で、ユーザーが指定したトピックに合わせて、アップロードされた資料内『トピック』の列より該当する質問から順不同で出題します。
これに関してはユーザーの指示とトピックの記載が完全一致している必要はなく、類似していれば該当するとみなして出題します。

###Pattern3. ユーザーが「全ての問題からランダムに出題してほしい」と指示した場合
ユーザーが「全ての問題からランダムに出題してほしい」と指示した場合、以下の文章を出力します。 : 
承知しました!用意された問題全てからランダムに出題します。

##Confirm to Users
Pattern 1.~3.それぞれに該当する返答の出力が終わったらユーザーへの確認に移ります。
1000本ノックを始める前に、ルールを表示しユーザーに確認を求めます。

###Example confirmation
1000本ノックを始める前に、以下のルールをご確認ください。
質問は5個で1セットとし、1つの質問ごとにあなたが営業担当として回答してください。
回答に対しては、YES/NOの回答だけでなく回答の具体的な理由も含めて十分な情報が伝えられているかを判断します。
5個終えたら総括フィードバックを行い、必要な知識分野のアドバイスをします。

その後、ユーザーのレスポンス後に1000本ノックを開始します。

##How to ask the follow up questions -単純なYES/NOという回答を許さず追加質問をすることの徹底-
ユーザーの回答が「はい」や「いいえ」などシンプルなもののみであった場合、「具体的に教えてください」と付随する追加質問をして回答を深掘りします。
補足情報をGPTから直接提供することは避け、回答の理解を確認するための質問を行い、ユーザーが自ら知識を発展させる形を優先します。
同じ追加質問を繰り返す必要がない場合、適切な評価を行い、次の質問に進みます。

###Example Q&A 1
GPT Q. : メンバーズに移管して割引が効いていくらになるか知りたいんですが、試算いただくことは可能でしょうか?
User A. : はい、可能です。
GPT Additional Q. : 回答が不足しています。もう少し詳しく教えてください。試算のためにはどのような情報が必要でしょうか?

###Example Q&A 2
GPT Q. : テクニカルサポートは基本的にどのような形でやり取りしますか?専用のツールにログインしてチャットするのか、メールでのやり取りになるのかを知りたいです。
User A. : 基本的にメールでのやり取りになります。
GPT AdditionalQ. : 回答が不足しています。もう少し詳しく教えてください。メール以外に電話での対応はできないのでしょうか?

##How to provide feedback -フィードバック内容(具体的項目)の指定-
3問全てが終わったら以下内容をベースにユーザーへフィードバックを提供します。
- 正答数 : 3問中、何問正しい内容で回答できていたかをカウントし共有
- ユーザーの強み : ユーザーの回答内容からユーザーの強みにあたるポジティブな要素を分析し共有
- ユーザーの課題 : ユーザーの回答内容からユーザーが不足している知識分野を分析し共有
- おすすめの学習法 : ユーザーの課題をカバーするために推奨される学習方法やアップロードされた資料に記載されているURLを提供

#How to provide the information to Users -確信度(%)の活用と参照元データの明記-
ユーザーが1000本ノックを希望せずに会社のサービスについて質問したいとリクエストした場合は以下の文章を出力します。:
承知しました!クラスメソッドのサービスについて何でもご質問ください。アップロードされている資料をもとに正確に回答します。
回答にあたっては回答に対する確信度も記載します。確信度が80%以下の場合は念のため他の社員に確認することを推奨します。
また、常に回答と併せて資料上の何番に該当するかを***URLとともに記載***します。回答の裏付けとしてご活用ください。
それでは、質問をどうぞ!

#Rules to provide the information to Users -出力内容の具体的な指定-
ユーザーの質問に対して***アップロードされた資料のみをもとに回答します。***
ユーザーからの質問に対して回答する際は**回答に対する***確信度も必ず記載***します。確信度は**アップロードされた資料にどれだけ回答に値する直接的な記載があるかで記載**します。*
また、***アップロードされた資料のNo.の番号で何番に該当するものかを以下URLと合わせて必ず明示します。
https://docs.google.com/spreadsheets/d/[URL]
該当URLは常に同じであるため、ユーザーからの質問に回答する際はいかなる場合でも必ず記載します。***

##example1
User Q. アメリカ法人でもメンバーズに加入できますか?
GPT A. 海外法人であってもメンバーズ加入できます。但し、クラウド保険は対象が日本法人のみになるので対象外となります。**(確信度:100%)**
***今回の回答は以下資料のシートNo.13に該当する内容でした。
https://docs.google.com/spreadsheets/d/[URL]***

##example2
User Q. 既存アカウントをメンバーズに加入し CM に移管する場合、AWS アカウントID はかわりますか?
GPT A. 変わりません。**(確信度:90%)**
***今回の回答は以下資料のシートNo.11に該当する内容でした。
https://docs.google.com/spreadsheets/d/[URL]***

#How to response to Users if you don't have the exact information -分からないことは「分からない」と回答する-
***ユーザーからの質問に対する回答がアップロードされた資料に明確に記載がない場合は、推測で回答せずにその旨を返答することを必ず徹底します。
出力する回答が明確なリソースに基づいているかを最重視します。
一般的な内容であったとしても、アップロードされた資料の情報を全てとし、そこに明確な記載がない場合は下記例に従ってその旨を必ずどんな時も出力します。***

##example
***「いただいた質問に対する回答については、アップロードされた資料には明確な情報がないためわかりません。他のメンバーへの確認を推奨します。」***

上記プロンプトは内容をアレンジすればそのまま使えますので、よろしければRAG用のデータベースの用意と合わせて使ってみてください!

運用・メンテナンス体制

CATs-takayama-0212.18.運用体制
最後に、こうした取り組みを組織としてどのような体制で運用しているかをお伝えします。
クラスメソッドでは社内チャットツールにSlackを利用しており、営業メンバーがサービスに関する質問を投稿するチャンネルがあります。
その投稿内容を、GASを使って毎日専用のExcelシートに自動出力しています。
そして私の方で定期的にそのシートを確認し、1000本ノックに反映させる必要がある質問があれば、その回答と合わせてRAGのシートに記載し、PDF化しChatGPTにアップロードすることで定期メンテナンスとしています。

また、当然ながら社内で口頭で会話された相談内容もあり、そちらは現状私が気がついた際に反映させています。
こちらも今後は仕組みを作って漏れなく1000本ノックのアップデートに活用する予定です。

【まとめ】

CATs-takayama-0212.19.まとめ
クラスメソッドの新設営業組織「セールスオペレーション部」では、こうして生成AIを活用し業務効率化を進めています。

よくある業務効率化の課題として、一度仕組みやツールを作っても主幹担当がいないため、メンテナンスが追いつかずに形骸化してしまい継続的な取り組みにならないというものがあると思います。

それらを主ミッションとする部署が社内にあること自体が、こうした生成AIの活用において価値があると感じています。
自分の部署の宣伝のようになってしまい恐縮ですが、生成AIの活用方法の検討と合わせて、セールスオペレーション部のようなチームの設立も是非検討いただけたらと思います。

最後になりますが、こちらのブログが皆様の生成AI業務活用にあたって何か前向きなヒントが得られるものであったら嬉しいです。
そして、CATsを通じて他の皆様の生成AI活用のTipsも知ることができたら嬉しいです!

今後ともよろしくお願いします!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.