こんにちは、バクラク事業部 MLエンジニアの白井(@yakipudding)です。
7月はLayerX エンジニアブログを活発にする期間でして、ぜひ左記のリンクを辿って気になる記事を見ていただけるとありがたいです!
この記事は社内向けのLLM活用プロダクト LayerX Biz Boost について紹介します!
What’s LayerX Biz Boost?
LayerX Biz Boostは、LLMを活用した業務効率化機能を搭載した社内向けのプロダクトです。
LLMの波に乗って爆速PoCを行うことで、多数の機能がLayerX BizBoostに搭載されてきました!具体的には、
- 社内向けChatGPT
- セールスチーム向けの商談の文字起こし&要約
- セキュリティチェックシート一次回答
など多数の機能があります!(ここで紹介していないものもあります!)
社内向けChatGPT
APIを使用しており、GPTの学習データには使用されていないため、仕事の悩み相談にも積極的に活用できます!!
商談文字起こし&要約
お客様との商談の音声データから文字起こしと要約を行ってくれる機能です。
セキュリティチェックシート一次回答
お客様からは、バクラクのセキュリティ対策について質問されたり、お客様が用意したセキュリティチェックシートに回答するよう求められることもあります。
セキュリティチェックシートの一次回答は、フォーマットや質問形式が異なるセキュリティチェックシートにも、LLMが一次回答してくれる機能になっています!こちらは過去に回答したセキュリティチェックシートのデータを参照し、類似質問には回答し、そうでない場合は回答しないように工夫しています。(ただし、それでも一次回答結果を人手で確認して修正、提出しています)
詳細については、来週開催されるイベントで紹介する予定です。まだ参加枠がありますので、ぜひ今からでも参加をご検討ください!
Why LayerX Biz Boost?
LayerX Biz Boostが誕生したきっかけは、LayerXとしてLLM活用に一定のリソースを割いて知見を貯めていこうという意思決定があり、まずは社内の業務改善からPoCを回していくことになったからでした。
私は当時LayerXに転職してきたばかりでしたが、この意思決定のスピード感には驚きつつ、非常にワクワクしていたことを覚えています。
また、全社員に対してLLMの活用を推進するため、社内勉強会も開催されました。
勉強会の一番の目的は、全社員が必要に応じてChatGPTなどのAIアプリを手段として取りうる状態にすること。そのためにデモを通じてWowを感じてもらう。
— Yuya Matsumura (@yu__ya4) 2023年3月4日
あと最近のLLMの潮流を簡単な技術背景とともに話し、そのなかのいちアプリケーションとしてのChatGPTの紹介を利用上の注意点とともに紹介した。 https://t.co/hzaC6PIJls
今となっては多くの人が当たり前のようにChatGPTなどを使っていますが、まだそこまで浸透していなかった頃から、社内で使ってもらえるような動きを先取りしていました。
構成
LayerX Biz Boostは、GCPのCloud RunでWebAppとして社内限定公開しています。音声処理や数百件のレコードを一気に処理するバッチ処理はCloud Run JobsやGCP Batchを起動し、非同期で実行して完了したらSlack通知されるようにしています。
爆速PoCを実現するための工夫
多くの機能をLayerX Biz Boostで提供してきましたが、様々な工夫をすることで爆速PoCを実現してきました。
適切な課題を選択する
LayerX Biz Boostに実装する機能を選ぶ時、まず社内で「LLMでなんとかできそうな要望」を集めました。そして、実現した場合に効果が高そうなものや実現可能性が見込めるもの、そしてLLMが解決手段として有効なものを中心に選びました。
ここでポイントとなるのは、「LLMが解決の手段として有効ではないもの」を正しく見極めることです。以下の記事でも言及されていますが、必ずしもLLMによる解決がすべてのケースで有効になるわけではないため、そもそも対応するかどうかの見極めが重要です。
LLM活用のPoCでは、データの加工・プロンプト作成・後処理など、試行錯誤に時間がかかることが多いです。ただ「LLMで解決できそう」とか「とりあえず要望が来たから」と手を出すと、時間をかけて作ったのに全然使ってもらえないという悲しい結果になることがあります。
PoCに着手する前に、それは本当にLLMが解決手段として適切な課題なのか?を考えることで、効果の薄いものに無駄な時間を費やすことを回避しました!
LayerXの羅針盤には「使われないものを作らいない」という言葉があり、まさしくそれを体現したということになります!
ミニマムに実装して素早くFBサイクルを回す
LLMで改善する課題を選択した後も、極力ミニマムな実装で出力結果に対するフィードバックを早くもらうことが大事です。
発案者の方に「PoCできたので見てください!使ってください!」とふんわり伝えてしまうと、UXの観点から「この機能もあると嬉しいよね」といったフィードバックをもらいがちです。しかし、LLMの出力結果が使い物にならなければそもそも使ってもらえないため、まずは「LLMの出力結果が使えそうかどうか、使えなければどんな情報を足せば改善できそうか」というポイントに絞ってフィードバックをもらうことが大事です。
もちろん最終的にはUX改善も大事ですが、まずは実運用に耐えうる精度の出力結果を出せるようにすることが大事です。改善すべきポイントの優先度を決めてフィードバックをもらうことで、素早く改善サイクルを回すことができました!
テンプレート化して素早くPoCが実装できるようにする
LLMを活用した機能は似たような解決手段を用いることが多いため、ある程度テンプレート化することができます。
具体的にはOpenAI APIとの接続部分や大量のレコードを処理する箇所を共通化したり、Cloud Run Jobsのテンプレートを作ったりしました。
このように、よく使われる機能に関しては汎用的なモジュールを作成することで、最低限の実装だけでLLMを活用した機能が公開できるようになり、爆速でPoC開発ができるようになりました!
とはいえ課題も山積み、、、
爆速PoCといっても、まだまだ課題が残っています。
アップデートが早くて追いつけない
各種ライブラリやAPIのアップデートが激しすぎて、対応が間に合いません。function callingとか全然使えていません。
LayerX Biz BoostではAzure OpenAI Serviceを利用していますが、本家OpenAI APIとの機能差が色々と出てきました。現状は用途に応じて切り替えて使っていますが、どちらにも検証したい機能が多く、対応が間に合っていません。
UX改善に手が回らない
先述の通り、優先度が下がってしまい、人手も足りないため、UX改善に時間をかけることができません。
「LLMでやってみた」の一発屋で終わらせるのではなく、使い続けてもらうためにはUX改善が必要です。なんとかUX改善にも取り組みたいのですが、なかなか手が回らず、チカラが…チカラがほしい…と呻いています。笑
一緒にLLMを活用した機能の開発をしませんか?
ちょっと楽しそうだな…と思ったそこのあなた!一緒にLLMを活用した開発を行いませんか?
興味がある方は、是非カジュアル面談でも良いのでお話させてください! *1
カジュアル面談ページはこちら!
採用情報はこちら!
再掲ですが、イベントも是非参加してください!
*1:ちなみに、LayerXでは「LLM Labs」というLLMに関する研究・開発を行う事業部がありますが、私はバクラク事業部の所属で、それぞれ異なった活動をしています。LLM Labsとも連携しながら、バクラク事業部でもLLMを活用した機能の開発に取り組んでいます。