Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TonyTonyKun
February 05, 2024
Technology
0
970
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI Service を活用した話/jazug46
第46回 Tokyo Jazug Night のセッション資料です。
TonyTonyKun
February 05, 2024
Tweet
Share
More Decks by TonyTonyKun
See All by TonyTonyKun
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
180
これでバッチリ!Azure マルチテナントアーキテクチャ設計のコツ/jat06
thara0402
0
650
Azure Load Testing を使って Azure Functions Flex Consumption の HTTP Trigger のパフォーマンスとコストを最適化してみよう/global-azure2025
thara0402
0
230
Prompty を使って生成 AI アプリケーション開発のプロンプトを管理する/jat03
thara0402
0
65
Azure OpenAI Service で意図せず PTU モデルをデプロイして高額請求されてしまった件/jat04
thara0402
0
77
「Durable Task Scheduler」をチョイ見せ!/jat05
thara0402
0
55
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
1.3k
Microsoft Ignite 2023 現地参加レポート/ignite2023
thara0402
0
310
Azure Container Apps で .NET 7 アプリを Blue-Green デプロイしてみよう!/jazug12
thara0402
0
1.8k
Other Decks in Technology
See All in Technology
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
520
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
3.1k
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
360
Context Engineeringの取り組み
nutslove
0
340
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
180
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.2k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
380
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Making Projects Easy
brettharned
120
6.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
57
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Marketing to machines
jonoalderson
1
4.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
180
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Site-Speed That Sticks
csswizardry
13
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
Transcript
サイクルガードサービス AlterLock の 問い合わせ対応業務に Azure OpenAI Service を活用した話 2024.2.7 第46回
Tokyo Jazug Night
自己紹介 名前 原 敏之 個人 Twitter : @TonyTonyKun ROMANCE DAWN
for the new world • https://gooner.hateblo.jp/ Microsoft MVP for Microsoft Azure 2017 〜 仕事 株式会社ネクストスケープ Copyright© 2024, JAZUG All Rights Reserved. 2
このセッションでお話しすること 社内データをもとに回答する問い合わせ対応業務について、 弊社で提供しているサイクルガードサービス AlterLock を題材に、 Azure OpenAI Service を導入した事例を話します Azure
OpenAI や AI Search の概要や機能については説明しません 実際にプロダクトを作ってみて分かったことや苦労したことを エンジニアの観点でお話しします 3 Copyright© 2024, JAZUG All Rights Reserved.
アジェンダ AlterLock とは RAG による社内データ検索システム 回答精度を向上させるために改善したこと まとめ 4 Copyright© 2024,
JAZUG All Rights Reserved.
Product AlterLock とは 5 Copyright© 2024, JAZUG All Rights Reserved.
AlterLock(オルターロック)とは 6 Copyright© 2024, JAZUG All Rights Reserved. 自転車用の盗難防止アラーム& GPS
追跡デバイスです スマホアプリと連携し、離れた場所からでも愛車を見守ります https://alterlock.net/
ユーザー問い合わせ対応業務の課題 7 Copyright© 2024, JAZUG All Rights Reserved. 顧客の感情や知識レベル、購入時期などを判断しながら回答を考える必要がある 過去の問い合わせ履歴から適切な回答を見つけるのが困難
メール返信文の作成に時間がかかるので返信用テンプレートを用紙しているが、 更新が追いついていない 休業期間中に問い合わせ対応ができないことが、返金などの問題に発展する 可能性がある 英語や他言語での問い合わせ対応を翻訳しながら回答しているので、 対応に手間がかかる
生成 AI を導入した目的 8 Copyright© 2024, JAZUG All Rights Reserved.
AlterLock 問い合わせ担当者の対応工数と属人性を下げ、 QA とその評価の履歴を蓄積できるシステムを構築し、 継続的に回答精度を改善できるようにする
QA チャットボット 9 Copyright© 2024, JAZUG All Rights Reserved.
QA チャットボット 10 Copyright© 2024, JAZUG All Rights Reserved.
Architecture RAG による社内データ検索システム 11 Copyright© 2024, JAZUG All Rights Reserved.
システム構成 12 Copyright© 2024, JAZUG All Rights Reserved. Retrieval Augmented
Generation(RAG)
シーケンス 13 Copyright© 2024, JAZUG All Rights Reserved.
構築して分かったこと 14 Copyright© 2024, JAZUG All Rights Reserved. RAG に取り込むデータの準備に想定していたよりも多くのコストがかかった
既存業務プロセスからデータ抽出 • 取り込みに足るデータか目視の個別判定が必要なケースもあった 非構造化データのフォーマット整理 個人情報の取り扱い • 個人情報保護法 • AOAI で個人情報を取り扱うことはできるが、技術面ではなく法務的ハードルが結構高い • 個人情報(氏名、メールアドレス、電話番号など)の抽出 • 普通の文章に個人情報が入ってくるため、ルールベースでの抽出が難しい • Azure AI Language の PII(Personally Identifiable Information)を利用した • マスキング • 氏名は仮名に変更 • メールアドレスは後からユーザー識別できるような仮アドレスに変更 • 最終確認は目検(手動)
構築して分かったこと 15 Copyright© 2024, JAZUG All Rights Reserved. プロンプトの書き方にはテクニックがいる 返答フォーマットを指定する
• 明示しないと意図したフォーマットで返ってこない、後続の処理で取得したい情報が取れない 場合がある 指示が多い場合は手順を明示する • 1回のプロンプトで多くの指示(文章を作成や推敲)をすると忘れられてしまうことがあるので、 できればプロンプトを分けた方が良い 曖昧な言葉を使わない • 表現のゆらぎをなくす 係り受け構造が伝わりやすい文章を意識する • 主語、述語、修飾語、否定、指示語
プロンプトの例 16 Copyright© 2024, JAZUG All Rights Reserved.
Improvement 回答精度を向上させるために改善したこと 17 Copyright© 2024, JAZUG All Rights Reserved.
回答精度が悪い原因 18 Copyright© 2024, JAZUG All Rights Reserved. ① データソース
② 検索結果 ③ OpenAI の回答
原因①:データソース 19 Copyright© 2024, JAZUG All Rights Reserved. そもそも類似する問い合わせメールが過去に存在しないため、欲しい回答が得られない 類似する問い合わせはあるが、古い回答が得られてしまう
類似する問い合わせはあるが、回答が統一化されていないため、欲しいフレーズが回答 に含まれない場合がある • 得たい回答を含んだデータを追加する • データソース内のメールの回答を統一化、最新化する • AI Search のスコアプロファイリング機能で情報の新しさで重みづけする • 検索スコアの閾値を設定して、類似する問い合わせがデータソース内に存在しない場合は 回答生成時に参照させないようにする
原因②:検索結果 20 Copyright© 2024, JAZUG All Rights Reserved. 類似する問い合わせメールはあるが検索時にヒットしない 1つの問い合わせに複数の質問や現象の説明が含まれていて、一部の質問の回答しか
検索結果として得られない • 検索する前に問い合わせ文の意図を明確化する • 問い合わせ文を質問や話題ごとに分割してから、それぞれ検索する
原因③:OpenAI の回答 21 Copyright© 2024, JAZUG All Rights Reserved. OpenAI
が余計なアレンジを加えてしまう 参照元メールや FAQ に記載のない文を付け加える 問い合わせの回答文としておかしい。 製品の交換が必要な旨の説明なしにいきなり交換手順案内をする ユーザーの問い合わせ文の内容を復唱しているだけの場合がある 代理店がユーザーの代わりに問い合わせしている場合、宛先や主語がおかしくなったり、 問い合わせ内容を復唱するだけのことがある 「お客様がXXという質問をしている」という問い合わせなので、立ち位置を理解できていない可能性がある • プロンプトエンジニアリングでの対応 • データソースに書いてあること以外は言及しないようにプロンプトに追記する • 立場(ペルソナ)の説明をプロンプトに追加する • 回答を返す前に問い合わせ文に対する回答として正しいか確認させる
どこが悪いといいきれないパターン 22 Copyright© 2024, JAZUG All Rights Reserved. 類似する問い合わせメールはヒットするが、その回答文が欲しい内容と異なる ヒットした問い合わせ文の類似度は全体的に高いが、回答内容を左右する重要な部分が類似しておらず、
回答の類似度が低くなる 1つの問い合わせに複数の質問が含まれていて、すべての質問に類似度の高い問い合わせ文が検索結果として 得られているが、回答としてはすべての質問に答える必要がない
どこが悪いといいきれないパターン 23 Copyright© 2024, JAZUG All Rights Reserved. • フローチャートを利用する
• 製品の現象と解決方法のパターンがある程度決まっているため、OpenAI に問い合わせ文を もとにフローチャートで状況を判断させる • 判断結果をもとに検索を行い、同様の状況の問い合わせメールを取得し回答生成する。 チャートを辿れない場合は質問する文章を作成する
Conclusion まとめ 24 Copyright© 2024, JAZUG All Rights Reserved.
まとめ AOAI を活用して社内データをもとに回答するシステムを作って分かったこと 回答精度の向上のためには、継続的な改善が重要となる • 開発と運用のフィードバックループを回していくアジャイル開発との相性が良さそう とりあえずデータは量を渡しておくから、いい感じに回答生成させるには限界がある • RAG では検索結果をもとに生成
AI で文章生成するため、検索精度の向上が重要となる • いくらデータ量を増やしても、質の高いデータでないと精度に限界がある • データソースにない情報には回答できない、欲しい情報をまんべんなく入れておく 検索する側の文章の意図を明確化したり、複数の意図が含まれる場合は分割しておく • フローチャートで判断される状況に応じた回答文を整備しておく など 25 Copyright© 2024, JAZUG All Rights Reserved.