こんにちは、こんです🦊
今日は、ECの問い合わせ対応業務(CS)における「テンプレ選定の自動化」に挑戦してみました。
100日チャレンジの中で私は、
「お客様からの問い合わせに対して、ChatGPTが返信文を自動で作成してくれる仕組み」を構築してきました(Day5の記事はこちら)。
ただ最近、このツールの“頭脳”部分にあたる「テンプレート選定ロジック」に大きな課題を感じるようになったんです。
実験のきっかけ:文脈を読まない返信になってしまう…
CS対応では、「納期」「与信」「返品」「重複注文」など、さまざまなカテゴリの問い合わせが日々発生します。
問い合わせの内容に応じて適切なテンプレを選び、それを土台にGPTが返信文を生成する……
という構造自体はうまく機能していました。
が、実際の運用ではこんなケースが頻発していました:
「決済が2回引き落とされた気がする」と書かれた問い合わせに「発送は明日です」と返信しそうになる
「キャンセルしたのに請求された」と書いてあるのに「納期案内」のテンプレが選ばれてしまう
GPT自体は優秀なのですが、その“素材”となるテンプレ選びにミスがあると、返信全体がズレてしまう。
やりたかったこと:テンプレート選定もGPTに任せたい!
そこで今回は、思い切って「どのテンプレを使うべきか?」の判断もGPTに委ねてみることにしました。
人間であれば、
「これは“再与信エラー”の話だな」
「これは“キャンセル済なのに請求が来た”という文脈だな」
と察することができます。
これを、GPTの文脈理解能力とEmbedding(ベクトル検索)を活かして、再現できないか試してみました。
作ってみたもの(システムの概要)
今回はこんな仕組みを組み込みました:
✅ 事前に全テンプレートを自然文に変換しEmbedding(ベクトル化)して保存
✅ 問い合わせ文もEmbedding化し、類似度が高いテンプレを5件ほど抽出
✅ ChatGPTに「この中で一番合っているテンプレートIDを選んで」と依頼
✅ そのテンプレを土台に、返信文案を自動生成
✅ Streamlit UI側は一切改変せず、テンプレート読込用スクリプトで裏側から制御する設計に
実感したメリット
1. 「意味が伝わる」テンプレ選定が可能に
「決済タイミング」「再与信」「二重引き落とし」といった曖昧で似た表現にも、GPTは正確に文脈を理解して判断してくれました。
2. 誤選定のストレスが激減
従来のキーワードマッチでは50%以上の確率で「微妙にズレた」テンプレが選ばれていましたが、今回の仕組みによって精度は大幅に向上しました。
3. メインのチャットアプリは「そのまま」で済んだ
UIは改変せず、裏で処理を入れ替える“透過的制御”を採用。
仕組み全体がスッキリ保たれ、今後のアップデートにも強い構造になりました。
機能構成
【チャットルーム入力】
問い合わせ文を入力し、メッセージ種別を選択(例:GPTに返信文作成)【テンプレ選定処理】
裏でベクトル検索+GPT判定 → 最適TemplateIDが選ばれる【自動返信文生成】
選定テンプレをもとに、GPTが自然な敬語の返信文案を生成
次回予告:テンプレ更新時の自動再Embeddingを整備します!
今回は選定精度を向上させましたが、次は運用面にも踏み込みます:
ステップ1:テンプレ一覧の更新を検知
ステップ2:Embeddingファイル(pickle)の自動再生成
ステップ3:アプリ側でホットリロード(再起動不要)
「テンプレ修正したら即反映」できるCS体制を目指します。
まとめ:AIと“意図のすれ違い”をなくす仕組みへ
CS対応におけるテンプレ選定は、「人間なら判断できる曖昧さ」こそが難所です。
それをGPTとEmbeddingの力で補うことで、より自然で一貫性のある返信作成が実現できました。
しかも、アプリ本体は一切いじらずに済んだというのもポイント。
“やさしい自動化”を目指すうえで、非常に有効な手段だと実感しました。
それでは、また次の実験で!🦊
#100日チャレンジ #ChatGPT #CS対応自動化 #Embedding検索 #Streamlit #業務改善 #DX初心者