飲食店で働く外国人アルバイトが、AIに客役をさせて日本語の接客を声で練習し、言い回しの直しを母語の説明付きで受ける
外国人のアルバイトが、店のタブレットでAIの演じる客と声で接客の練習をします。終わった会話から、店の接客用語と合わない言い回しを直し案にして本人の母語の説明を添え、店長が確かめて一言を足します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Python
- 対象業界
- 宿泊/小売/飲食
- 対象部門
- 人事
- 対象業務
- 内容確認・チェック/記録・議事録作成
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 対話
- 主な効果
- 品質標準化/工数削減/教育コスト削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 店長がアイドルタイムにアルバイトを呼び、その日に練習する場面を決める
- 店長が客役になり、入店や注文の場面を5分から10分ほど演じる
- アルバイトの言い回しで気になったところを、店長がその場で口頭で直す
- 伝わっていなさそうなときは、言い方を変えてもう一度説明する
- 練習した場面と気になった点を、店長がシフト表の備考に短く書く
- 人本部の教育の担当が、場面のカード(入店・注文・提供・会計など)と店の接客用語の一覧を用意する
- 人アルバイトがシフト中の練習の時間に、バックヤードのタブレットで練習用のページを開き、場面を選ぶ
- 自動AIが客役になり、声で話しかける。アルバイトはボタンを押して声で答える
- 自動アルバイトの声を文字に起こし、客役が次の発言を返す。これを場面の終わりまで繰り返す
- 人アルバイトが「練習を終える」を押す
- 自動別の指示で、会話の文字から店の接客用語と合わない言い回しを拾い、直し案と理由を作る
- 自動直し案の理由を、本人の母語とやさしい日本語の両方で書き、記録表に書き出す
- 人店長が記録表で直し案を確かめ、違うと思うものを消し、自分の一言を足す
- 人アルバイトが直し案を読み、次の練習で同じ場面をもう一度行う
各工程の詳しい説明を読む
- 店長がアイドルタイムにアルバイトを呼び、その日に練習する場面を決める
- 店長が客役になり、入店や注文の場面を5分から10分ほど演じる
- アルバイトの言い回しで気になったところを、店長がその場で口頭で直す
- 伝わっていなさそうなときは、言い方を変えてもう一度説明する
- 練習した場面と気になった点を、店長がシフト表の備考に短く書く
(a)店長の時間がそのまま練習の回数の上限になる。 1回の練習に店長が20分かかり、月192回で64.0時間です。アイドルタイムに仕込みや発注が重なると、練習から先に削られます。
(b)直した理由が本人に伝わらない。 店長は日本語で「その言い方は失礼に聞こえる」と説明しますが、なぜ失礼なのかを日本語で理解するのは、言い回しそのものより難しいことがあります。 本人はうなずき、次のシフトで同じ言い方をします。
(c)直す基準が店長の頭の中にある。 接客マニュアルの一覧とは別に、店長それぞれの「好きな言い方」があります。店を移ったアルバイトが、前の店で直された言い方を、次の店でまた直されます。
- 【人】 本部の教育の担当が、場面のカード(入店・注文・提供・会計など)と店の接客用語の一覧を用意する
- 【人】 アルバイトがシフト中の練習の時間に、バックヤードのタブレットで練習用のページを開き、場面を選ぶ
- 【自動】 AIが客役になり、声で話しかける。アルバイトはボタンを押して声で答える
- 【自動】 アルバイトの声を文字に起こし、客役が次の発言を返す。これを場面の終わりまで繰り返す
- 【人】 アルバイトが「練習を終える」を押す
- 【自動】 別の指示で、会話の文字から店の接客用語と合わない言い回しを拾い、直し案と理由を作る
- 【自動】 直し案の理由を、本人の母語とやさしい日本語の両方で書き、記録表に書き出す
- 【人】 店長が記録表で直し案を確かめ、違うと思うものを消し、自分の一言を足す
- 【人】 アルバイトが直し案を読み、次の練習で同じ場面をもう一度行う
8番目が、この設計の分かれ目です。 店長は客役をしなくなりますが、直し案をそのまま本人に渡すことはしません。 AIが店の用語集の外の言い方を「正しい」として出すことがあり、それを店の基準として覚えさせないために、店長が一度見ます。
7番目で母語の説明を付けるのは、第3章の(b)のためです。 「お客様の行動に『ください』と命令する形は、強く聞こえます」という説明は、日本語で聞くより母語で読むほうが確実に伝わります。ただし、直し案の日本語そのものは訳しません。 覚えてほしいのは日本語の言い方だからです。
02今回想定するシステム構成
本部の教育の担当 ── 場面のカードと接客用語の一覧(スプレッドシート)
│
アルバイト ── 練習用のページ(バックヤードのタブレット)
│ ボタンを押して話す(1発言ずつ録音)
▼
練習用のサーバ(Python)
├──▶ OpenAI API 文字起こし(gpt-transcribe)── アルバイトの発言を文字に
├──▶ OpenAI API Responses ── 客役(カードの範囲で次の発言を返す)
└──▶ OpenAI API 読み上げ(gpt-4o-mini-tts)── 客役の発言を声に
▼
「練習を終える」
▼
OpenAI API Responses ── 添削役(別の指示・構造化出力)
│ 直し案3つまで、理由(母語とやさしい日本語)
▼
記録表(スプレッドシート) ── 店長が確かめて一言を足す| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | ChatGPT(OpenAI API の Responses API と、音声の文字起こし・読み上げ) | Claude API、Gemini API |
| 連携 | Python(練習用のページと、音声・記録表のやり取り) | Google Apps Script、Make |
| 記録表 | Google スプレッドシート | Microsoft 365 のオンラインの表計算 |
最小構成では、声も連携も要りません。 ChatGPT の画面に客役の指示とカードを貼り、文字で接客の会話をし、終わったら添削の指示を別の会話に貼ります。半自動化で、声で話せる練習用のページと記録表への書き出しを作ります。 本記事の想定はこの段階です。
声の扱いは、文字起こし・文字での応答・読み上げの3段に分けます。 文字起こしは /v1/audio/transcriptions に音声ファイルを送り、推奨のモデルは gpt-transcribe とされています。入力は mp3、mp4、mpeg、mpga、m4a、wav、webm で、1ファイル25MBまでです。gpt-transcribe では prompt、keywords、languages で語句と言語の手がかりを渡せます。メニューの名前を keywords に入れ、languages は日本語に絞ります。
3段に分けるのは、間に文字が残るからです。 添削に使うのは、アルバイトが何と言ったかの文字です。声のまま応答する仕組みにすると、何を直すべきかの根拠が手元に残りにくくなります。
読み上げは /v1/audio/speech で、gpt-4o-mini-tts に instructions で話し方を指示できます。 対応言語は Whisper に準じ、日本語が含まれます。公式の利用ポリシーとして、聞いている人にその声がAIで作られたもので人の声ではないことを、はっきり示す必要があるとされています。 練習用のページの最初に表示します。
03どうやって実装するのか
処理の起点を決める
アルバイトが練習用のページで場面を選び、「練習を始める」を押したときに始まります。 決まった時刻に動く処理ではありません。ただし、練習はシフトの中で行います。 押せるのは、シフト管理のシステムで「練習」の枠が入っている時間だけにします。
会話の途中は、アルバイトがボタンを押して話し、離したところで1発言とします。離すたびに文字起こし、客役の応答、読み上げを1回ずつ動かします。押して話す形にするのは、厨房の音や他のスタッフの声を拾わないためです。 開きっぱなしのマイクにすると、バックヤードの雑音がアルバイトの発言として文字になります。
添削は、「練習を終える」を押したときに1回だけ動かします。 10分たっても終わらない練習は自動で終えて添削します。画面を閉じただけの練習も記録表の「未添削」に残し、閉店後にまとめて添削します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 場面のカード | 場面(入店・注文・提供・会計など)、客の人数と様子、客が言うこと・頼むこと、場面の終わり方 | 記録表の「カード」シート |
| 接客用語の一覧 | 場面ごとの決まった言い方と、言ってはいけない言い方 | 記録表の「用語」シート(接客マニュアルから転記) |
| メニューの名前 | 料理名、セット名、サイズの呼び方 | 記録表の「メニュー」シート |
| アルバイトの発言 | 1発言ずつの音声と、その文字起こし | 練習用のページ |
| アルバイトの情報 | 呼び名、母語、入店した月、これまでに直された言い回し | 記録表の「スタッフ」シート |
質を決めるのは、2行目の「言ってはいけない言い方」です。 「〜のほうお持ちしました」「よろしかったでしょうか」「1万円からお預かりします」のように、店として使わないと決めている言い方を並べておきます。一覧が無いと、添削役は一般の日本語の感覚で直すかどうかを決め、店長の基準とずれます。
カードには「アレルギーを聞かれる」場面を必ず1枚入れます。 そこで練習するのは食材の答え方ではなく、「確認してまいりますので、少々お待ちください」と言って、社員に代わることです。 この場面の正しい言い回しは、用語の一覧に店の決まりとして書いておきます。
データの取得方法を決める
カード、用語、メニュー、スタッフの情報は、練習用のサーバがスプレッドシートを読むだけです。アルバイトの画面に出すのは、場面の名前と「お客様は2名です」程度の状況だけにし、客が何を頼むかは出しません。先に見えると、練習が台本の読み上げになります。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| カードの公開してよい部分 | 「カード」シートの場面・状況の列 | アルバイトが場面を選ぶ画面 |
| カードの客の台本と終わり方 | 「カード」シートの台本の列 | 客役への指示 |
| 場面に対応する用語 | 「用語」シートを場面で絞ったもの | 添削役への指示 |
| メニューの名前 | 「メニュー」シート | 文字起こしの keywords |
| 会話の全文 | 会話の状態として持っている発言の並び | 添削役に渡す会話の記録 |
| 前回までの直し | 「結果」シートの同じスタッフの行 | 同じ直しが続いていないかの確認 |
会話の状態は、OpenAI API の会話の仕組みで持たせます。 Responses API には、過去の発言を自分で並べて送る方法、直前の応答の previous_response_id を渡す方法、conversations.create() で会話のオブジェクトを作る方法があります。会話のオブジェクトは、セッションや端末、処理をまたいで使えるとされています。タブレットの電池が切れても、続きから戻れます。
会話の全文は、添削の前に番号を振った形に並べ直します。 アルバイトの発言に A1、A2、客役の発言に C1、C2 と付け、添削役には直す発言を番号で答えさせます。 店長が記録表で確かめるとき、その番号の行だけを読めば済みます。
AIへ渡す前に整形する
- 用語の一覧の点検 … カードの場面に対応する用語が「用語」シートにあるかを確かめます。無い場面は選べない状態にします
- 録音の長さの確認 … 1秒未満の録音は押し間違いとして捨て、30秒を超える録音は「短く区切って話してください」と表示します
- 文字起こしの手がかり … メニューの名前を
keywordsに、languagesを日本語に、店の業態をpromptに入れます - 文字起こしの確認表示 … 文字になった発言を画面に1行で見せ、本人が「違う」を押せるようにします
- 会話の番号付け … 添削の前に、発言に
AとCの番号を振ります - 短すぎる練習の除外 … アルバイトの発言が3つ未満で終わった練習は添削せず、「練習として短すぎる」と記録します
4番目を省かないでください。 添削が見るのは文字であって声ではありません。文字起こしが聞き取りを誤れば、本人が言っていない言い回しを直すことになります。 また、文字起こしが聞き取った音を自然な文に寄せて書く可能性もあり、そのときは本人の言い間違いが文字に残りません。「違う」が押された発言は、添削の対象から外します。
同じ理由で、この構成は発音を評価しません。 文字起こしの結果から分かるのは、言い回しの選び方までです。発音の練習が必要な人には、店長か日本語学校の先生が別に付きます。
AIに処理させる
客役にさせるのは、カードの台本の範囲で客を演じ、アルバイトの言ったことに自然に反応することです。 添削役にさせるのは、会話の全文を読み、店の接客用語と合わない言い回しを拾い、用語の一覧から直し案を選び、理由を書くことです。
| 役 | させること | 判断できないときの扱い |
|---|---|---|
| 客役 | カードの人数・様子・注文で話し、アルバイトの発言に客として反応する | 通じない発言には「えっと、もう一度いいですか」と聞き返す |
| 添削役 | 直す発言ごとに not_understood(通じない)/impolite(失礼に聞こえる)/not_store_style(店の言い方と違う)を付ける | 用語の一覧に直し案が無いものは no_store_phrase として店長に回す |
| 添削役 | 直し案を、用語の一覧の言い方から選ぶ | 一覧に無い言い方を作らない |
| 添削役 | 理由を、やさしい日本語と本人の母語で1文ずつ書く | 母語の説明に自信がないときは、やさしい日本語だけにする |
| 添削役 | うまく言えた発言を1つ選び、番号で返す | 無ければ null |
右端の no_store_phrase が、この構成でいちばん大事な区別です。 店の一覧に無い言い方を添削役が作って直すと、その言い方が店長の確認を経ないまま、店の基準として覚えられます。 一覧に無いものは直さず、店長に「この場面の言い方が一覧に無い」と知らせます。一覧のほうを足すきっかけになります。
最後の行の「うまく言えた発言」も意図して入れています。 直しだけを返すと、本人には自分が何をできているのかが分かりません。次の練習で何を続ければよいかも、直しと同じくらい要ります。
| させないこと | 理由 |
|---|---|
| 直しを4つ以上返す | 1回で覚えられる数を超え、話すこと自体をためらうようになる |
| 発音や声の大きさの評価 | 文字しか見ていない。根拠が無い |
| 点数や合否を付ける | 練習の記録であり、時給や評価の査定の材料にしない |
| アレルギーや食材について答え方を教える | 店の決まりでは社員に代わる。中身を答える練習をさせない |
| 客役が途中で言い方を教える | 練習の相手が答えを言うと、自分で言う練習にならない |
指示内容を固定する
客役への指示です。
あなたは、和食の定食屋に来たお客様です。下のカードの人物として話してください。
相手は、日本語を勉強中のお店のスタッフです。これは接客の練習です。
【カード】{card_script}
【この場面の終わり方】{card_ending}
【守ること】
- カードに書かれた人数、様子、注文、質問の範囲で話してください。
- 1回の発言は短く、1文か2文にしてください。ふつうの速さの、ふつうの日本語で話してください。
- スタッフの言ったことが分からなかったときは、「えっと、もう一度いいですか」と聞き返してください。
分かったふりをして先に進めないでください。
- スタッフの日本語を直したり、言い方を教えたりしないでください。
- カードに無い注文や質問を自分から増やさないでください。
- アレルギーについて聞く場面では、スタッフが「確認します」と言ったら、
「お願いします」と答えて待ってください。食材についての答えを求めないでください。
- 場面の終わり方まで進んだら、最後に「ありがとう」と言って終えてください。
添削役への指示です。
あなたは飲食店の接客教育の担当です。下の会話は、日本語を勉強中のスタッフ(A)と、
練習のお客様役(C)の会話です。スタッフの言い回しを、店の接客用語に合わせて直してください。
【この場面の店の接客用語(使う言い方/使わない言い方)】{store_phrases}
【スタッフの母語】{native_language}
【会話(発言に番号付き)】{numbered_transcript}
【直す発言の選び方】
- 次の順で、多くて3つまで選んでください。
1) not_understood …… お客様に通じなかった(お客様が聞き返した、話がかみ合わなかった)
2) impolite ………… お客様に失礼に聞こえる、強く聞こえる
3) not_store_style … 意味は通じるが、店の接客用語の言い方と違う
- 店の接客用語の「使わない言い方」に当たるものは、必ず候補に入れてください。
【厳守事項】
- 直し案は、上の店の接客用語の「使う言い方」から選んでください。
一覧に合う言い方が無いときは、直し案を作らず、type を no_store_phrase にしてください。
- 一覧より丁寧な言い方や、一覧に無い敬語に直さないでください。
- 発音、声の大きさ、話す速さについては書かないでください。文字しか見ていません。
- 理由は、やさしい日本語で1文、スタッフの母語で1文にしてください。
母語の文に自信がないときは、母語の欄を空にしてください。
- 直し案の日本語そのものは訳さないでください。
- うまく言えた発言を1つ選び、番号で返してください。
- 点数や合否は書かないでください。
「一覧より丁寧な言い方に直さない」を明記しないと、直しが止まりません。 添削役は、通じている発言にも「より丁寧な言い方があります」と付け足します。直しが多いほど親切だという思い込みを、指示で断ちます。
「母語の文に自信がないときは空にする」も効きます。 言語によっては、説明の訳がぎこちなくなることがあります。誤った訳で理由を伝えるより、やさしい日本語だけのほうが害が少なく、店長が確かめるときにも、空欄の行から読めば済みます。
出力形式を固定する
添削役からは、次の形のJSONで受け取ります。
{
"session_id": "",
"card_id": "",
"staff_id": "",
"corrections": [
{ "turn": "A3", "type": "not_understood | impolite | not_store_style | no_store_phrase",
"said": "", "suggested": "", "reason_easy_ja": "", "reason_native": "" }
],
"good_turn": "A5",
"customer_asked_again": 0
}
corrections は最大3つです。said には文字起こしの文をそのまま、suggested には用語の一覧の言い方をそのまま入れます。
1つ目の理由は、形を固定できることです。 Responses API では text: { format: { type: "json_schema", strict: true, schema: ... } } でスキーマを渡し、required と additionalProperties: false で項目を固定します。type は enum で4つに絞り、corrections の要素数も上限を決めます。記録表の列に、そのまま書き出せます。
2つ目は、直し案が一覧の言い方かどうかを機械で確かめられることです。 サーバが次の規則で点検します。
| 点検 | 条件 | 結果 |
|---|---|---|
| 一覧との一致 | suggested が「用語」シートの使う言い方と一致しない | その直しを no_store_phrase に変えて店長へ |
| 本人の訂正 | turn の発言に「違う」が押されている | その直しを捨てる |
| 繰り返し | 同じ said を前回も直している | 店長の一言の欄に「前回も同じ直し」と印を付ける |
3つ目は、customer_asked_again で「通じた度合い」を数えられることです。 客役が聞き返した回数で、同じ場面を繰り返したときに減っていくかを見ます。 点数ではなく、本人の進み具合を本人が確かめるための数です。
拒否で答えが返らなかったときは refusal が返り、出力の上限で切れたときは status が incomplete になるとされています。どちらも記録表の「未添削」に残し、閉店後にもう一度動かします。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 練習用のページ | 練習用のサーバ(Python)が配信 | 場面の選択、押して話すボタン、文字の確認表示 |
| OpenAI API 文字起こし | API呼び出し | 1発言ずつの音声を文字に |
| OpenAI API Responses | API呼び出し | 客役の応答と、終わった後の添削 |
| OpenAI API 読み上げ | API呼び出し | 客役の発言を声にしてタブレットで再生 |
| 記録表 | スプレッドシートの読み書き | カード・用語の読み取りと、添削の結果の書き出し |
| シフト管理のシステム | 練習の枠の確認(読み取りのみ) | 練習の枠がない時間は始められない |
API のキーはサーバの側だけに置き、タブレットには渡しません。 ページから直接 API を呼ぶ形にすると、キーがブラウザから見えます。
読み上げの返却の形式は、既定が mp3 です。 すぐ再生したいときは wav や pcm が速いとされています。ピークの合間の短い練習なので、客役の声が返ってくるまでの間が長いと練習が途切れます。 形式を変えて待ち時間を見ます。
人が確認する
店長は、記録表で自分の店のスタッフの行だけを見ます。 見る順番を決めておきます。
no_store_phraseを先に見る … 一覧に言い方が無かった場面です。店長が言い方を決めて一言の欄に書き、本部の教育の担当に一覧への追加を頼みますimpoliteを見る … 失礼に聞こえると判定された発言です。その番号の行だけを読み、本当に直すべきかを決めます- 母語の説明の欄が空の行を見る … やさしい日本語の説明だけで伝わりそうかを確かめます
- 一言を足す … 「注文の繰り返しが上手になった」など、
good_turnを見て、できたことを1つ書きます
3番目は、店長が母語を読めなくても構いません。 母語の説明の正しさまでは確かめられないので、直しの中身はやさしい日本語の欄で確かめます。 母語の説明で混乱した様子があれば、次の練習のときに直接聞きます。
目標は、1回の練習を5分で見ることです。 直しは3つまで、確かめるのは番号の行だけ、という形にしてあるのは、この5分に収めるためです。会話の全文を頭から読むと、10分を超えます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 文字起こしが空、または雑音だけ | 「もう一度話してください」と表示し、その発言を会話に入れない |
| 本人が文字起こしに「違う」を押した | その発言は会話に残すが、添削の対象から外す |
| 音声ファイルが25MBを超える | 起きない長さ(30秒)で切っているが、超えたら録音し直す |
| 客役がカードに無い注文をした | 会話の記録に印を付け、カードの台本の書き方を見直す |
| 添削役が一覧に無い言い方を直し案にした | 規則で no_store_phrase に変えて店長へ |
| 練習の途中でタブレットが止まった | 会話のオブジェクトから続きを再開する |
添削が返らない(refusal/incomplete) | 「未添削」に残し、閉店後に再実行 |
| 練習の枠の外で始めようとした | 始められない。店長にシフトの枠を入れてもらう |
| 練習中に本物の客の声が入った | 押して話す形で防ぐ。入った発言は本人が「違う」を押す |
上から2行目までが大半を占めます。 どちらもAIの判断ではなく、バックヤードの雑音と、タブレットのマイクの位置の問題です。 練習する場所を決めるほうが、指示を書き直すより効きます。
記録を残す
- 練習ごとの、カードの番号・開始と終了の時刻・会話の全文(番号付き)
- 1発言ごとの文字起こしの結果と、本人が「違う」を押したかどうか
- 添削役が返したJSONの全文と、規則で
no_store_phraseに変えた記録 - 店長が消した直し案と、足した一言
no_store_phraseから用語の一覧に追加した言い方と、その日付- 音声ファイルそのものは残さない(文字起こしが済んだら消す)
最後の行は、意図して決めています。 声は、文字よりも本人と結びつきやすい情報です。添削に使うのは文字だけなので、音声を持ち続ける理由がありません。 練習用のサーバの一時ファイルも、添削が済んだら消します。
04実装レベルの3段階
最小構成は文字の練習なので、「直しの基準が店長と合うか」を確かめる段階です。 半自動化で、店長の時間は1回5分になります。 客役と添削と記録が自動になり、店長が行うのは直し案の確認と一言だけです。本記事の想定はこの段階です。 本格構成は、記録が3か月たまってから考えます。 スタッフごとに not_understood が多い場面が見えると、次に勧める場面を規則で決められます。店をまたいだ no_store_phrase の集計は、本部が接客マニュアルを直す材料になります。
05工数削減シミュレーション
導入後 192件 × 5分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 居酒屋・定食・ファストカジュアルなどの飲食チェーンで、留学生などの外国人アルバイトが毎月のように入り、店長やトレーナーが客役になって接客の言い回しを教えているが、営業中は時間が取れず練習の回数が足りない場合。店で使う接客用語(入店・案内・注文・提供・会計の決まった言い方)が一覧になっている、または一覧にできる場合。バックヤードにタブレットを1台置ける場合。
- 日本語での日常会話がまだ難しく、接客の言い回しより先に基礎の日本語学習が必要な段階のスタッフ。発音そのものを細かく採点したい場合(この構成は文字に起こした言い回しを見るもので、発音は評価しません)。練習の記録を時給や評価の査定に直接使いたい場合。アレルギーや食材についての質問に、アルバイトが自分で答える運用にしている店。
07最小構成で試す方法
- 本部の教育の担当が、注文の場面のカードを1枚と、その場面の接客用語(使う言い方・使わない言い方)を用意する
- ChatGPT の画面を開き、第7章の客役の指示とカードを貼り付ける
- アルバイトが、タブレットで文字を打って5分ほど接客の会話をする
- 会話の全文をコピーし、別の会話を開いて添削役の指示と用語の一覧と一緒に貼る
- 出てきた直し案を、その練習を横で見ていた店長の直しと突き合わせる
これを、日本語の力の違う3名で行ってください。 同じカードで、直しの数と種類がどう違うかを見ます。
| 出てきた内容 | 判断 |
|---|---|
| 店長の直しとほぼ同じ直しが出た | 声で話せる練習用のページと記録表への書き出しに進む |
| 一覧より丁寧な言い方に直した | 指示と一覧の書き方で直る。構成は有効 |
| 店長が直したい言い方を拾えていない | 用語の一覧の「使わない言い方」が足りない。一覧を足す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 直しがどんどん丁寧な敬語になる | 直し案を用語の一覧から選ばせる。 一覧に無ければ no_store_phrase |
| 1回に十数か所の直しが付く | 1回3つまで。通じない・失礼・店の言い方の順に選ぶ |
| 言っていないことを直される | 文字起こしを画面に出し、本人が「違う」を押せるようにする |
| バックヤードの雑音が発言になる | 押して話す形にする。練習する場所を決める |
| メニューの名前が文字にならない | keywords にメニューの名前を入れる |
| 母語の説明が不自然 | 自信が無ければ空にし、やさしい日本語の説明を正にする |
| アレルギーの答え方を覚えてしまう | 社員に代わる言い方を正とする場面にする |
| 客役が言い方を教えてしまう | 客役と添削役を別の指示にし、客役の助言を禁じる |
| 練習がシフトの外で行われる | 練習の枠が無い時間は始められないようにする |
| 練習の記録が査定に使われる | 点数を出さない。査定に使わないことを最初に決める |
| 客役の声が返るまで待たされる | 返却の形式と、1発言の長さを見直す |
上の3行が、この構成の失敗のほとんどです。 どれも「直す基準が店の外にある」か「本人が言っていないことを直す」かのどちらかです。用語の一覧と、本人の「違う」という2つの歯止めで防ぎます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: スタッフの練習の音声と文字起こし、スタッフごとの直しの記録、母語、店長のコメントです。
- 練習の時間は労働時間として扱う … 厚生労働省のガイドラインでは、参加することが業務上義務づけられている研修・教育訓練の受講や、使用者の指示により業務に必要な学習等を行っていた時間は労働時間に該当するとされています。練習はシフトの中で行い、賃金の対象にします
- 留学生の就労時間の上限に含めて数える … 「留学」の在留資格の資格外活動の包括許可は、1週について28時間以内(教育機関の長期休業期間は1日について8時間以内)です。練習の時間も働いた時間なので、上限の中に入れてシフトを組みます
- 練習の記録を時給や評価の査定に使わない … 添削の判定は指示と文字起こしで揺れます。練習の振り返りに限ると、スタッフと店長に最初に伝えます
- 音声を残さない … 文字起こしの API は、公式の表で不正利用の監視のための保持が無いとされています。読み上げの API は30日とされています。自社の側でも、音声ファイルは文字起こしが済んだら消します
- 母語や出身を、練習以外の目的で使わない … 母語は説明の言語を選ぶためだけに持ちます。記録表の閲覧は、本人と店長と本部の教育の担当に限ります
- 声がAIであることを示す … 読み上げの声がAIで作られたもので人の声ではないことを、練習用のページの最初に表示します
- API 側の保存期間を自社で決める … Response のオブジェクトは既定で30日保存され、
storeをfalseにすると保存しません。会話のオブジェクトはこの期限の対象外とされています。添削が済んだら会話を消す処理を入れます
誤りが起きた場合のリスクは、店の基準でない言い方を正しいと覚えることと、言っていない言い方を直されて自信をなくすことの2つです。 前者は一覧との一致の点検と店長の確認で、後者は本人の「違う」で防ぎます。
10まず何から始めるか
1週目:注文の場面の用語をそろえる
接客マニュアルから注文の場面の言い方を写し、店長3名に「直している言い方」を聞いて「使わない言い方」の列を足します。 注文の場面のカードを2枚作ります。
2週目:3名で文字の練習を試す
ChatGPT の画面に客役の指示とカードを貼り、日本語の力の違う3名が文字で練習します。店長は横で見て、自分の直しと添削役の直し案を突き合わせます。 一覧より丁寧な言い方に直したら、指示と一覧を直します。
3週目:練習の枠と記録の扱いを決める
練習をシフトの枠として入れる決まりと、記録を査定に使わないことを、本部の人事と店長で決めます。母語の説明を付けるスタッフの言語を確かめます。
4週目:声で話せるページを1店舗で動かす
押して話す練習用のページを1店舗のバックヤードに置き、注文の場面だけで2週間動かします。 文字起こしの「違う」が押された回数を毎日数え、練習する場所とマイクの位置を決めます。
2か月目: 場面を入店・提供・会計・アレルギーの確認に広げ、他の店舗へ展開します。3か月目以降: no_store_phrase を店をまたいで集め、接客マニュアルの改訂に回します。店長の1回あたりの時間が5分前後に落ち着き、用語の一覧が店長たちの基準と合った時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
文字起こしが /v1/audio/transcriptions で、推奨モデルが gpt-transcribe であること。入力が mp3・mp4・mpeg・mpga・m4a・wav・webm で25MBまでであること。prompt・keywords・languages で手がかりを渡せること。言語の指定に ISO 639-1 の符号を使えること | OpenAI API: Speech to text | 2026-10-07 |
読み上げが /v1/audio/speech で gpt-4o-mini-tts に instructions を渡せること。既定の形式が mp3 で、速さを求めるなら wav か pcm が勧められること。対応言語が Whisper に準じ日本語を含むこと。声がAIで作られたことを利用者にはっきり示す必要があるとされること | OpenAI API: Text to speech | 2026-10-07 |
会話の状態を、過去の発言を並べる方法・previous_response_id・conversations.create() で扱えること。会話がセッション・端末・処理をまたいで使えること。Response が既定で30日保存され store: false で保存しないこと。会話のオブジェクトが30日の期限の対象外であること | OpenAI API: Conversation state | 2026-10-07 |
text: { format: { type: "json_schema", strict: true, schema: ... } } でスキーマを渡すこと。拒否が検出できること | OpenAI API: Structured Outputs | 2026-10-07 |
API に送ったデータが明示的に選ばない限り学習に使われないこと。/v1/audio/transcriptions の不正利用の監視の保持が None、/v1/audio/speech が30日とされていること | OpenAI API: Data controls in the OpenAI platform | 2026-10-07 |
| 「留学」の在留資格の資格外活動の包括許可が、1週について28時間以内(教育機関の長期休業期間は1日について8時間以内)であること | 出入国在留管理庁:「留学」の在留資格に係る資格外活動許可について | 2026-10-07 |
| 参加することが業務上義務づけられている研修・教育訓練の受講や、使用者の指示により業務に必要な学習等を行っていた時間が労働時間に該当すること | 厚生労働省: 労働時間の適正な把握のためのガイドラインの主なポイント(PDF) | 2026-10-07 |
練習の時間の扱いと留学生のシフトの組み方は、社会保険労務士と自社の人事で確かめてください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。API の料金とモデルごとの性能は、OpenAI の最新の案内を確認してください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0658)についてのご相談はこちらから。
