Media > AI活用ユースケース > カスタマーサポート > コインランドリーの無人店舗で、QRコードから届く機械のトラブルの問い合わせに機種ごとの取扱説明書をもとにチャットで一次対応する

コインランドリーの無人店舗で、QRコードから届く機械のトラブルの問い合わせに機種ごとの取扱説明書をもとにチャットで一次対応する

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

無人のコインランドリーの機械ごとに貼った QR コードからチャットを開き、利用者のトラブルの問い合わせに答えます。QR コードの機械から機種を引き、その機種の取扱説明書と店舗の案内だけを検索して、手順を出典付きで返します。

サマリー
生成AI
Azure OpenAI Service/ChatGPT/Claude
対象業界
その他/宿泊/小売
対象部門
カスタマーサポート
対象業務
問い合わせ対応/情報検索
主な課題
人手が足りない/問い合わせが多い/情報が見つからない
AIで行う処理
対話
主な効果
対応スピード向上/工数削減/検索時間短縮
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
60h/月
AI導入後
20h/月
想定削減
67%
年間削減
480h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 利用者が店内の掲示の番号に電話をかける。当番の携帯に転送される
  2. 当番が、どの店舗の、何番の機械かを聞く。利用者が番号を見つけられないときは、機械の場所や色を聞く
  3. 機械の台帳を開き、その番号の機種を確かめる
  4. その機種の取扱説明書を共有のドライブで探す。PDF が無ければ、記憶か過去の対応のメモで答える
  5. 表示や症状を聞き、手順を電話で説明する。解決しなければ、遠隔の監視カメラで店内を見る
  6. 返金が要るときは、日時・機械・金額を聞き、後日の返金の手配をする
  7. 対応の内容を対応記録のスプレッドシートに書く
導入後(After)
  1. 【利用者】 機械に貼った QR コードを読み取り、チャットの画面を開く。店舗と機械の番号は QR コードから入る
  2. 自動チャットの画面の裏の小さなサーバーが、機械の台帳から機種を引く
  3. 自動利用者の最初の文に、返金・閉じ込め・水漏れ・煙・火・焦げなどの言葉があるかを規則で見る。あれば決めた文面を返し、当番の担当へ通知する
  4. 【AI】 問い合わせを「操作の手順」「表示の意味」「料金・支払い」「人の対応が要る」に分類させる
  5. 【AI】 「操作の手順」「表示の意味」「料金・支払い」なら、その機種の取扱説明書と店舗の案内だけを file_search で検索し、手順を出典付きで答えさせる
  6. 【利用者】 解決したかを「解決した」「まだ困っている」のボタンで返す
  7. 自動「まだ困っている」が2回続いたもの、AIが「人の対応が要る」としたものは、やり取りの要約を付けて当番の担当へ通知する
  8. 人当番の担当が通知を見て、電話をかけ直すか、遠隔の監視カメラで確かめる
  9. 人週に1回、チャットの記録から、答えられなかった問い合わせと出典の当たり方を見直す
各工程の詳しい説明を読む
  1. 利用者が店内の掲示の番号に電話をかける。当番の携帯に転送される
  2. 当番が、どの店舗の、何番の機械かを聞く。利用者が番号を見つけられないときは、機械の場所や色を聞く
  3. 機械の台帳を開き、その番号の機種を確かめる
  4. その機種の取扱説明書を共有のドライブで探す。PDF が無ければ、記憶か過去の対応のメモで答える
  5. 表示や症状を聞き、手順を電話で説明する。解決しなければ、遠隔の監視カメラで店内を見る
  6. 返金が要るときは、日時・機械・金額を聞き、後日の返金の手配をする
  7. 対応の内容を対応記録のスプレッドシートに書く

(a)機種を特定するまでに時間がかかる。 利用者は機械の番号の札を見つけられないことが多く、「入口から3つ目の白いの」といった説明から台帳を引きます。1件の電話の3分の1が、機種を決めるまでの時間です。

(b)説明書を探す時間がかかる。 紙しかない機種は、夜間の当番には手が届きません。記憶で答えて違っていた場合、利用者は二度目の電話をかけてきます。

(c)答え方が当番によって違う。 同じエラー表示に、ある当番は「扉を開け閉めしてもう一度」と答え、別の当番は「返金するので使わないで」と答えます。どちらが正しいかは説明書に書いてありますが、確かめる時間がありません。

(d)夜間の電話が重なる。 夕方から夜は利用が多く、別の店から続けて電話が来ると、2件目は待たせることになります。

  1. 【利用者】 機械に貼った QR コードを読み取り、チャットの画面を開く。店舗と機械の番号は QR コードから入る
  2. 【自動】 チャットの画面の裏の小さなサーバーが、機械の台帳から機種を引く
  3. 【自動】 利用者の最初の文に、返金・閉じ込め・水漏れ・煙・火・焦げなどの言葉があるかを規則で見る。あれば決めた文面を返し、当番の担当へ通知する
  4. 【AI】 問い合わせを「操作の手順」「表示の意味」「料金・支払い」「人の対応が要る」に分類させる
  5. 【AI】 「操作の手順」「表示の意味」「料金・支払い」なら、その機種の取扱説明書と店舗の案内だけを file_search で検索し、手順を出典付きで答えさせる
  6. 【利用者】 解決したかを「解決した」「まだ困っている」のボタンで返す
  7. 【自動】 「まだ困っている」が2回続いたもの、AIが「人の対応が要る」としたものは、やり取りの要約を付けて当番の担当へ通知する
  8. 【人】 当番の担当が通知を見て、電話をかけ直すか、遠隔の監視カメラで確かめる
  9. 【人】 週に1回、チャットの記録から、答えられなかった問い合わせと出典の当たり方を見直す

3番目を、AIより前に置いています。 煙や水漏れのように急ぐものは、AIが分類や検索をしている数秒も惜しいからです。規則で拾い、決めた文面を即座に返します。 AIの判断の外に置くことで、言い回しの揺れで取りこぼすことを防ぎます。

7番目の「2回続いたら人へ」は、利用者を待たせ続けないためです。 同じ手順を繰り返し答えても解決しないときは、説明書の範囲を超えています。店にいる利用者は、洗濯物を入れたまま待っています。

02今回想定するシステム構成

構成図
機械に貼った QR コード(店舗の番号・機械の番号を持つ URL)
   │  利用者がスマートフォンで読み取る
   ▼【トリガー】チャットの画面での最初の書き込み
チャットの画面と裏の小さなサーバー
   ├──▶ 機械の台帳 ── 店舗と機械の番号から機種を引く
   ├──▶ 規則:返金・閉じ込め・水漏れ・煙・火・焦げ → 決めた文面+当番へ通知
   ▼
OpenAI API(Responses API)
   ├── 1回目:問い合わせの分類(構造化出力)
   └── 2回目:file_search で、その機種の取扱説明書と店舗の案内だけを検索して回答
         │  vector store:機種ごとの取扱説明書・店舗の案内・よくある質問
         │  attributes:機種・店舗・文書の種類 で絞り込み
   ▼
チャットの画面 ── 出典付きの回答 → 「解決した」「まだ困っている」
   ▼
【まだ困っている×2/人の対応が要る】→ 当番の担当への通知(要約付き)
   ▼
対応記録(やり取り・分類・出典・通知の有無)
役割想定する製品代替候補
処理OpenAI API(Responses API の file_search と構造化出力)Claude API、Azure OpenAI(Microsoft Foundry)
画面自社の Web のチャットの画面と裏の小さなサーバー既製のチャットの画面の部品
台帳機械の台帳(店舗・機械の番号・機種)機械のメーカーの管理の画面
通知当番の担当のスマートフォンへの通知(業務用のチャット)SMS、メール

新しく作るのは、チャットの画面と裏の小さなサーバー、そして OpenAI API の vector store です。 機械の台帳は今のスプレッドシートを使い、QR コードは機械ごとに1枚ずつ作って貼ります。最初の準備は、機種ごとの取扱説明書を文字の読める PDF にそろえることです。

file_search は、あらかじめアップロードしたファイルの知識の中から情報を取り出すための道具です。 公式の案内では、ファイルを File API にアップロードし、vector store を作ってファイルを加え、file_search の道具に vector_store_ids を渡す、という手順が示されています。モデルが使うと判断したときに、自動で道具を呼ぶとされています。

絞り込みには、ファイルに付けた属性を使います。 公式の案内では、ファイルのメタデータで検索結果を絞り込めるとされ、属性は最大16個のキーを持てます。比較の種類は eq・ne・gt・gte・lt・lte・in・nin で、and・or で組み合わせられます。機種の属性で eq、文書の種類で in を使えば、「この機種の説明書と、この店舗の案内」だけが検索に当たります。

検索の結果は、既定では返ってきません。 公式の案内では、include に file_search_call.results を足すと結果が返り、回答の本文には file_citation の注釈で file_id と filename が付くとされています。出典を利用者に見せ、記録に残すために、この2つを使います。

03どうやって実装するのか

Step1

処理の起点を決める

利用者が QR コードからチャットの画面を開き、最初の文を書き込んだ時点を起点にします。 QR コードの URL には店舗の番号と機械の番号が入っていて、画面を開いた時点で裏のサーバーが機械の台帳を引きます。利用者は機械の番号を入力しません。

QR コードは、機械1台ごとに1枚貼ります。 店に1枚だけ貼る形にすると、利用者がどの機械のことかを書く必要があり、Before の①がそのまま残ります。扉の近く、操作の画面の横など、困ったときに目に入る場所に貼ります。

同じ画面の中では、2回目以降の書き込みも同じ機械の話として扱います。 利用者が「隣の乾燥機も」と書いたときは、その機械の QR コードを読み直してもらう案内を返します。1つのチャットに2つの機種を混ぜません。

Step2

入力データを集める

データ中身取得元
利用者の書き込み困っていること、表示されている文字や番号チャットの画面
店舗と機械の番号QR コードの URL に入っている番号QR コード
機種メーカー、型番、機械の種類(洗濯乾燥機・乾燥機・両替機)機械の台帳
取扱説明書機種ごとの操作の手順、表示の意味、注意事項vector store
店舗の案内営業時間、支払いの方法、両替、洗剤の自動投入、店ごとの決まりvector store
よくある質問過去の対応から作った、機種ごとの問いと答えvector store

質を決めるのは、取扱説明書が文字として読めるかどうかです。 紙をスキャンしただけの PDF は、画像のままでは検索に当たりません。公式の案内には、PDF の中の画像を読むかどうかの記載が見当たりません。スキャンした説明書は、文字を起こした PDF かテキストにしてから入れます。

店舗の案内は、説明書とは別のファイルにします。 同じ機種でも、店によって料金、洗剤の自動投入の有無、両替機の場所が違います。店舗の案内に店舗の属性を付け、説明書には付けないことで、機種の話と店の話を分けて検索できます。

Step3

データの取得方法を決める

機械の台帳は、裏のサーバーが読みます。 店舗の番号と機械の番号の組から、機種の型番と種類を引きます。台帳に無い組み合わせなら、AIに回さず、当番の担当の連絡の案内を返します。

取るものどこから何に使うか
機種機械の台帳検索の絞り込みの属性
取扱説明書の該当の箇所vector store(機種で絞る)手順と表示の意味
店舗の案内の該当の箇所vector store(店舗で絞る)料金・支払い・店の決まり
検索の結果include の file_search_call.results出典の確認と記録
出典file_citation の注釈利用者への表示と記録

ファイルに付ける属性は、次の4つで足ります。

属性のキー値の例使い方
model洗濯乾燥機の型番機種で eq
store店舗の番号(説明書は all)店舗で in(その店舗と all)
doc_typemanual / store_guide / faq文書の種類で in
revised改訂日(数値)古い版を外すときに gte

検索の件数は max_num_results で絞ります。 公式の案内では、件数を絞るとトークンと待ち時間が減る一方で、答えの質が下がりうるとされています。最初は5件ほどから始め、答えられなかった記録を見て調整します。

Step4

AIへ渡す前に整形する

  1. 取扱説明書を文字にする … スキャンした PDF は文字を起こします。表示の一覧の表は、行ごとに文字として読めるかを確かめます
  2. 説明書を機種ごとのファイルに分ける … 複数の機種をまとめた説明書は、機種ごとに分けるか、該当の機種の属性を付けます
  3. 店舗の案内を店ごとに作る … 料金、支払いの方法、洗剤、両替機、営業時間を1店1ファイルにします
  4. 利用者の書き込みから個人の情報を外す … 電話番号やメールアドレスが書かれていたら、AIに渡す前に伏せます
  5. 緊急の言葉を規則で拾う … 返金、閉じ込め、水漏れ、煙、火、焦げ、においなどの言葉を、AIに渡す前に見ます
  6. 書き込みの長さを確かめる … 極端に長い書き込みや、URL だけの書き込みは、AIに渡さず定型の案内を返します

1番目がいちばん手間のかかる準備です。 公式の画像入力の案内でも、日本語のように非ラテン文字の文字が入った画像は最適に扱えないことがあるとされています。画像のまま入れて読ませるより、文字にしてから入れるほうが確実です。

チャンクの大きさは、既定のままで始めます。 公式の案内では、既定で max_chunk_size_tokens は800、chunk_overlap_tokens は400とされています。表示の一覧が途中で切れるようなら、その章を別のファイルに分けます。

Step5

AIに処理させる

1回目は、問い合わせを4つの区分に分けさせます。 2回目は、その機種の説明書と店舗の案内だけを根拠に、手順を答えさせます。

見るもの判定の仕方判断できないときの扱い
問い合わせの区分操作の手順/表示の意味/料金・支払い/人の対応が要る迷えば「人の対応が要る」
表示の意味利用者が書いた表示の文字や番号を、説明書の表示の一覧で探す一覧に無ければ答えず人へ
操作の手順説明書の手順を、目の前の機械で分かる言葉で並べる説明書に無ければ答えず人へ
料金・支払い店舗の案内の料金・支払いの方法を答える返金の話なら人へ
注意事項説明書と店舗の案内の注意事項に当たるものを添える無ければ添えない

1行目の「迷えば人の対応が要る」がいちばん大事です。 「ドアが開かない」は、運転中でロックされているだけのこともあれば、故障で洗濯物が取り出せないこともあります。答えで済むかが分からないものは、手順を1回答えたうえで、解決しなければすぐに人に回る形にします。

乾燥の話には、油の付いた洗濯物の注意を必ず添えます。 NITE(製品評価技術基盤機構)は、美容オイル・食用油・動物油などが付いたものを乾燥機で乾燥させないよう注意を促しています。油は水による洗濯でも完全には落ちず、乾燥中に酸化熱で発火するおそれ、乾燥後に取り出して放置した後でも発火するおそれがあるとされています。店舗の案内にこの注意を入れ、乾燥の問い合わせのときに添えます。

させないこと理由
返金の約束返金するかは会社が決める。チャットでは受け付けの案内までにする
機械の分解・内部の操作の案内説明書に利用者向けとして書いてある範囲だけを答える
説明書に無い手順の推測違う手順で故障や事故につながる。答えず人へ
緊急のときの判断煙・火・水漏れは規則で拾い、決めた文面を返す
他の店舗・他の機種の手順属性で絞り、目の前の機械のことだけを答える
利用者の個人の情報を聞く返金の連絡先は別のフォームで受け、AIに渡さない

3行目がいちばん起きやすい失敗です。 説明書に書いていない症状を聞かれると、一般的な洗濯機の知識から手順を作ろうとします。別の機種では正しい手順が、この機種では扉の故障につながることがあります。 検索の結果に根拠が無ければ、答えないことを指示に書きます。

Step6

指示内容を固定する

1回目(分類)の指示

あなたはコインランドリーの無人店舗で、利用者の問い合わせを分ける係です。
利用者の書き込みを読み、次の区分のどれか1つを選んでください。

【区分】
- operation ...... 機械の操作の手順を知りたい
- error_display .. 機械に表示された文字や番号の意味を知りたい
- payment ........ 料金・支払い・両替・ポイントの方法を知りたい
- staff_needed ... 返金、洗濯物が取り出せない、機械の故障、水漏れ、煙、におい、けが、
                   その他 店の担当が対応すべきこと

【厳守事項】
- 迷ったら staff_needed を選んでください。
- 利用者の書き込みに表示の文字や番号があれば、display_code にそのまま写してください。
- 書き込みを要約して summary に1文で書いてください。個人の情報は書かないでください。

2回目(回答)の指示

あなたはコインランドリーの無人店舗で、利用者に機械の使い方を案内する係です。
この利用者が使っている機械は {machine_type}(型番 {model})です。店舗は {store} です。

【答え方】
- file_search で見つかった、この機種の取扱説明書と、この店舗の案内に書いてあることだけで答えてください。
- 手順は番号を付けて、1つの番号に1つの動作を書いてください。
- 機械の表示やボタンの名前は、説明書の書き方のまま書いてください。
- 乾燥機の使い方の問い合わせでは、店舗の案内にある「油の付いた洗濯物」の注意を必ず添えてください。
- 最後に「解決しましたか」と聞いてください。

【厳守事項】
- 検索の結果に根拠が無いときは、手順を作らずに「この内容は店の担当がご案内します」と書いてください。
- 他の機種や一般的な洗濯機の知識で手順を補わないでください。
- 返金するとも、返金しないとも書かないでください。返金の受け付けの案内だけをしてください。
- 機械の扉や内部を工具で開ける、電源を抜くといった、説明書で利用者向けとされていない操作を案内しないでください。
- 煙、火、水漏れ、焦げたにおいの話が出たら、手順を答えずに「すぐに機械から離れてください」と書き、
  店の担当の連絡の案内をしてください。
- 利用者の名前、電話番号、メールアドレスを聞かないでください。

「迷ったら staff_needed」を分類の指示に入れるのは、取りこぼしの向きをそろえるためです。 分類を誤ったときに、手順を答えるはずのものが人に回るのは、当番の手間が少し増えるだけです。逆に、人の対応が要るものに手順を答えると、洗濯物を入れたまま待つ利用者が、解決しない手順を繰り返すことになります。

回答の指示に、緊急の言葉への対応を重ねて書いているのは、規則の取りこぼしに備えるためです。 規則は決めた言葉しか拾いません。「なんか黒いのが出てる」のような書き方は規則をすり抜けます。規則とAIの2段で拾います。

Step7

出力形式を固定する

1回目の分類は、構造化出力で受け取ります。 Responses API で text.format に json_schema を指定し、strict を有効にする形です。

{
  "category": "operation | error_display | payment | staff_needed",
  "display_code": "",
  "summary": "",
  "urgent_hint": false
}

1つ目の理由は、裏のサーバーが分岐を機械的に決められることです。 category が staff_needed なら回答を作らずに通知へ、urgent_hint が true なら決めた緊急の文面へ進みます。分岐をAIの文章の読み取りに頼りません。

2つ目は、display_code で検索を助けられることです。 利用者が書いた表示の番号を、2回目の検索の問いに足します。表示の一覧の表から、その番号の行が当たりやすくなります。

安全上の理由で答えが拒否された場合は、refusal が返ります。 公式の案内では、拒否のときは refusal という種類の内容が返るとされています。JSON として読む前に refusal を確かめ、拒否なら人の対応へ回します。

2回目の回答は、文章と出典で受け取ります。

【利用者に見せる形】
1. 扉を閉め、取っ手の部分を「カチッ」と音がするまで押してください。
2. 表示が「スタート待ち」に変わったら、コースのボタンを押してください。
3. 硬貨の投入口の横の「スタート」を押してください。
(出典:洗濯乾燥機 取扱説明書 第3章「運転のしかた」)
解決しましたか? [解決した][まだ困っている]

出典の行は、file_citation の注釈の filename から作ります。 ファイル名を「機種の種類 取扱説明書 章の名前」の形にそろえておけば、そのまま利用者に見せられます。利用者が「説明書のどこに書いてあるか」を店の掲示で確かめられることも、信頼につながります。

Step8

システムへ連携する

つなぎ先方式内容
QR コード店舗と機械の番号を持つ URLチャットの画面を開く
機械の台帳裏のサーバーが読む機種と種類を引く
OpenAI APIResponses API の呼び出し分類(構造化出力)と回答(file_search)
vector storeAPI でファイルと属性を登録説明書・店舗の案内・よくある質問
当番の担当業務用のチャットへの通知要約、店舗と機械、分類、やり取り
返金の受け付け別のフォーム日時・機械・金額・連絡先(AIに渡さない)
対応記録裏のサーバーが書き込むやり取り・分類・出典・通知の有無

返金の受け付けは、チャットとは別のフォームにします。 返金には連絡先が要りますが、連絡先をAIのやり取りに入れる理由はありません。 チャットは返金のフォームへの案内を出すまでにし、フォームの入力は当番の担当だけが見ます。

vector store の中身は、説明書の改訂と店舗の案内の変更のたびに差し替えます。 公式の案内では、vector store は API かダッシュボードで消さない限り残り続けるとされています。古い版を消す手順を決めておかないと、改訂前の手順が検索に当たり続けます。

Step9

人が確認する

利用者への回答は、その場では人が確かめません。 確かめるのは、通知が来たときと、週に1回の見直しのときです。

  1. 通知が来たら、要約と店舗・機械を見る … 当番の担当は、要約で状況をつかんでから電話をかけ直すか、遠隔の監視カメラで店内を見ます。機種を聞き直す必要がありません
  2. 緊急の通知は最優先にする … 煙・火・水漏れの言葉で拾ったものは、店内の様子をすぐに監視カメラで確かめます
  3. 週に1回、「まだ困っている」が付いたやり取りを読む … 回答が説明書の範囲で正しかったか、検索の結果に該当の箇所が当たっていたかを見ます
  4. 答えられなかった問い合わせを、よくある質問に足す … 当番の担当が電話で答えた内容を、機種ごとのよくある質問として vector store に入れます

3番目で、出典の当たり方を見るのが大事です。 回答が外れたとき、原因は「検索で違う箇所が当たった」か「当たった箇所を読み違えた」のどちらかです。前者はファイルの分け方か属性の問題、後者は指示の問題で、直す場所が違います。

Step10

例外に対処する

起きること対応
台帳に無い店舗と機械の番号AIに回さず、当番の担当の連絡の案内を返す。QR コードの貼り違いを疑う
返金・閉じ込め・水漏れ・煙・火・焦げの言葉規則で拾い、決めた文面を返して当番へ通知する
分類で staff_needed回答を作らず、要約を付けて当番へ通知する
検索の結果に根拠が無い手順を作らず、当番の担当の案内を返す
「まだ困っている」が2回続く要約を付けて当番へ通知する
別の機械の話を書いてきたその機械の QR コードを読み直す案内を返す
refusal が返った人の対応へ回す
API が応答しない決めた文面で当番の担当の連絡の案内を返す
外国語の書き込み同じ言語で答える。説明書の手順は訳して示し、ボタンの名前は日本語の表示のまま添える
機械と関係の無い書き込み店の利用に関することだけを受け付ける旨を返す

上から2行は、AIを通さずに処理します。 台帳に無い番号は、QR コードの貼り違いか、機械の入れ替えで台帳が古いかのどちらかです。AIに推測させると、別の機種の説明書で答えることになります。

Step11

記録を残す

  • やり取りの全文(個人の情報を伏せた後のもの)と、店舗・機械の番号・機種
  • 分類の結果(category・display_code・urgent_hint)
  • 検索の結果(file_search_call.results)と出典(file_citation)
  • 「解決した」「まだ困っている」のボタンの記録
  • 当番への通知の時刻と、当番の担当の対応の結果
  • vector store のファイルの版と、差し替えの記録

3つ目で検索の結果を残すのは、外れた回答の原因を分けるためです。 回答の文だけを残すと、検索が外れたのか、読み違えたのかが分かりません。

API の側の保存の扱いも決めておきます。 公式の案内では、API に送ったデータは既定で学習に使われず、不正利用の監視のためのログは法律で長い保存が求められない限り最長30日保持されるとされています。Responses API はアプリケーションの状態を既定で30日保持するとされているため、前のやり取りを API の側に持たせる必要が無ければ store を false にします。 やり取りの記録は、自社の対応記録の側で持ちます。

04実装レベルの3段階

最小構成:当番の担当が、電話を受けながら OpenAI API の検索の画面で機種を指定して説明書を引く / 説明書を探す時間
半自動化:上記+店に1枚の QR コードからチャットを開き、利用者が機械の番号を選ぶ / 利用者への一次回答
本格構成:上記+機械1台ごとの QR コードで機種を自動で決め、規則と分類で人へ回し、記録と見直しまで回す / 一次対応と切り分けの全体

最小構成では、電話の件数は減りません。 ②の説明書を探す時間が短くなるだけです。確かめるための段階です。 半自動化で、利用者は電話をかけずに答えを得られるようになります。 ただし、利用者が機械の番号を選ぶので、選び間違いで別の機種の手順を答えることがあります。本格構成で1件9分が3分になり、この段階が本記事の想定です。 機械1台ごとの QR コードで機種を決めることで、①の時間がまるごと無くなります。 段階を飛ばさないでください。 説明書のそろい方を確かめないまま QR コードを貼ると、利用者の前で答えられない機種が出ます。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
3 名
月間件数
400 件
1件あたり現在時間
9 分
1件あたり導入後時間
3 分
現在  400件 × 9分 ÷ 60 = 60 時間/月
導入後 400件 × 3分 ÷ 60 = 20 時間/月
月間削減時間
40h
削減率
67%
年間削減時間
480h
年間金額換算(時間単価3,000円)
144万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. コインランドリーを無人で10店舗以上営み、店内に貼った電話番号へのトラブルの電話を当番の担当が夜間・休日も受けている会社。洗濯機・乾燥機・両替機のメーカーや年式が店舗ごとに違い、電話を受けた担当がそのつど取扱説明書を探している場合。問い合わせの多くが、操作の手順や表示の意味で答えられる場合。ホテル・旅館の宿泊客向けのランドリーコーナーや、商業施設の中のランドリーにも同じ形で使える。
向いていない
  1. 店舗が1〜2店で、オーナーが電話を受ければ足りる場合。機械の取扱説明書が手元に無く、メーカーからも取り寄せられない場合(先に文書をそろえる必要がある)。店舗に常駐のスタッフがいて、その場で対応できる場合。なお、返金するかどうか、機械を止めて点検するかどうかの判断は会社が行うもので、この構成では代替できません。

07最小構成で試す方法

  1. いちばん問い合わせの多い店舗を1つ選び、その店の機械の機種(3〜4機種)の取扱説明書を文字の読める PDF にそろえる
  2. 過去3か月の対応記録から、その店の問い合わせを30件選ぶ(うち数件は、当番が返金や訪問で対応したものを入れる)
  3. OpenAI API の vector store に説明書と店舗の案内を入れ、機種の属性を付ける
  4. 30件の問い合わせの文を、機種を指定して1件ずつ投げ、回答と出典を記録する
  5. 回答を、当時の当番の対応と突き合わせる

30件は必ずやってください。 QR コードを作って貼る前に、「説明書だけで、当番と同じ答えが出るのか」と「人に回すべきものを回せるのか」を確かめます。

出てきた内容判断
操作の手順と表示の意味が当番の答えと同じQR コードとチャットの画面に進む
返金や訪問の件で手順を答えようとした分類と規則の言葉を足す。構成は有効
表示の番号の意味が引けない説明書の表示の一覧が文字になっていない。前処理が先
別の機種の手順が出典に出た属性の付け方を直す

3行目が出ることは珍しくありません。 表示の一覧は表になっていることが多く、スキャンの PDF では文字として読めていないことがあります。

08実装時につまずきやすいポイント

問題対策
別の機種の手順を答える属性で機種を eq で絞る。利用者に機種を選ばせない
説明書に無い手順を作る根拠が無ければ答えないことを指示に書く
表示の番号の意味が引けないスキャンの説明書を文字にする。表示の一覧は別のファイルに分ける
改訂前の手順が当たるvector store は消さない限り残る。古い版を消す手順を決める
返金の約束をする返金するとも、しないとも書かないことを指示に書く
煙や水漏れの言い回しを取りこぼす規則とAIの2段で拾う
出典が利用者に分かりにくいファイル名を「機種の種類 取扱説明書 章の名前」にそろえる
検索の結果が記録に残っていない既定では返らない。include に file_search_call.results を足す
連絡先がやり取りに入る返金の受け付けを別のフォームにし、書き込みの電話番号は伏せる
QR コードの貼り違い台帳に無い組み合わせはAIに回さない。貼るときに1台ずつ確かめる
油の付いた洗濯物の注意が抜ける店舗の案内に入れ、乾燥の問い合わせで必ず添える指示にする

上の2行が、この構成の失敗のほとんどです。 どちらも、AIが「目の前の機械の説明書」以外の知識で答えようとして起きます。絞り込みと、根拠が無ければ答えない指示の2つで、目の前の機械のことだけに閉じ込めます。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 利用者の書き込み、店舗と機械の番号、機種、取扱説明書と店舗の案内、そして書き込みに入りうる電話番号、メールアドレス、名前です。返金の連絡先は別のフォームで受け、AIには渡しません。

  1. 個人の情報をAIに渡さない … チャットでは名前や連絡先を聞きません。書き込みに入っていたら伏せてから渡します。返金の連絡先は別のフォームで受けます
  2. API のデータの扱いを確かめる … 公式の案内では、API に送ったデータは既定で学習に使われず、不正利用の監視のログは最長30日保持されるとされています。store を false にし、やり取りの記録は自社で持ちます
  3. 未成年が使いうることを前提にする … 店は誰でも使えます。公式の案内では、未成年が使いうるアプリは、内容を安全で年齢に合ったものにする合理的な措置をとり、リスクの高いやり取りの報告と引き継ぎの道筋を用意することが求められ、13歳未満の個人データは、API のデータの保持をゼロにする設定を入れる前に処理しないとされています。この構成は個人の情報を受け取らず、店の機械の使い方だけに話を閉じます
  4. 緊急のときの判断をAIに任せない … 煙・火・水漏れは規則で拾い、決めた文面を返します。決めた文面は、消防と自社の緊急の連絡の手順に沿って、会社が書きます
  5. 乾燥機の事故の注意を店の案内に入れる … NITE は、油の付いた洗濯物を乾燥機で乾燥させないよう注意を促しています。店内の掲示と同じ文を、チャットでも添えます
  6. 返金の判断を会社に残す … チャットは受け付けの案内までです。返金するかは、当番の担当が記録と監視カメラで確かめてから決めます

誤りが起きた場合のリスクは、別の機種の手順で機械を壊すことと、緊急のときに手順を答えて時間を失うことの2つです。 前者は絞り込みを外すと起き、後者は緊急の言葉をAIの判断に任せると起きます。どちらも、AIの前に台帳と規則を置くことで防ぐ設計にしています。

10まず何から始めるか

1週目:説明書と台帳をそろえる

いちばん問い合わせの多い店舗の機種について、取扱説明書を文字の読める PDF にそろえます。機械の台帳に、店舗と機械の番号と型番の対応が正しく入っているかを確かめます。 あわせて、店舗の案内のファイルを1店分作り、油の付いた洗濯物の注意を入れます。

2週目:30件で試す

過去の対応記録から30件を選び、vector store に入れた説明書で回答と出典を確かめます。返金や訪問で対応した件で、手順を答えようとしていないかを最優先で見ます。

3週目:規則と通知を作る

緊急の言葉の規則と、当番の担当への通知、返金の受け付けのフォームを作ります。決めた緊急の文面は、自社の緊急の連絡の手順と合わせて会社が書きます。

4週目:1店舗に QR コードを貼る

機械1台ごとに QR コードを作り、台帳と照らしながら貼ります。最初の1か月は、全部のやり取りを当番の担当が翌日に読む運用にします。

2か月目: 「まだ困っている」が付いたやり取りから、よくある質問を足し、属性と検索の件数を調整します。3か月目以降: 店舗を順に広げ、1件9分が何分になったかを実測します。当番の携帯が鳴るのが、人の対応が要る問い合わせだけになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-26/最終更新:2026-10-26
確認した内容情報源確認日
file_search がアップロード済みのファイルの知識から情報を取り出す道具で、モデルが使うと判断したときに自動で呼ばれること。File API へのアップロード、vector store の作成と追加、vector_store_ids の指定の手順。max_num_results で件数を絞るとトークンと待ち時間が減る一方で質が下がりうること。検索の結果が既定では返らず、include に file_search_call.results を足すと返ること。回答に file_citation の注釈(file_id・filename)が付くこと。ファイルのメタデータで絞り込めることOpenAI API ドキュメント: File search2026-10-26
属性が最大16個のキー(各256文字まで)であること。比較の種類(eq・ne・gt・gte・lt・lte・in・nin)と and・or の組み合わせ。既定のチャンクの大きさが800トークン・重なりが400トークンであること。最大のファイルの大きさが512MB、1ファイル500万トークンまでであること。vector store の保存が合計1GBまで無料でそれを超えると1GB・1日あたりの料金がかかることOpenAI API ドキュメント: Retrieval2026-10-26
Responses API で text.format に json_schema と strict を指定して構造化出力を使うこと。安全上の拒否のときに refusal が返ることOpenAI API ドキュメント: Structured Outputs2026-10-26
API に送ったデータが既定で学習に使われないこと。不正利用の監視のログが最長30日保持されること。Responses API のアプリケーションの状態が既定で30日保持されること。vector store とファイルは消さない限り残ることOpenAI API ドキュメント: Your data2026-10-26
未成年が使いうるアプリに求められる措置(安全で年齢に合った内容、リスクの高いやり取りの報告と引き継ぎの道筋など)。13歳未満の個人データを、データの保持をゼロにする設定を入れる前に処理しないことOpenAI API ドキュメント: Under-18 API guidance2026-10-26
日本語や韓国語のような非ラテン文字の文字が入った画像を、モデルが最適に扱えないことがあることOpenAI API ドキュメント: Images and vision2026-10-26
美容オイル・食用油・動物油等の付いたものを乾燥機で乾燥させないこと。油は水による洗濯でも完全に除去できないこと。乾燥中の酸化熱による発火のおそれと、取り出した後に放置した場合の発火のおそれNITE 製品安全センター: 洗濯物から発煙・発火(PDF)2026-10-26

緊急のときの文面と返金の扱いは、自社の手順で決めてください。 本記事は OpenAI の公式ドキュメントと NITE の資料で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1788)についてのご相談はこちらから。

AI活用について相談する
目次