クリーニング店が受付で撮った衣類の写真を Gemini で見て、シミ・ほつれ・ボタンの欠けの候補を受付票に書き、お客様への確認事項を作る
受付のカウンターで、預かる衣類の表・裏・洗濯表示を撮り、シミ・変色・ほつれ・穴・ボタンの欠けの候補を位置付きで拾います。受付票の下書きと、お客様にその場で確かめる事項の一覧を作ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- その他/小売
- 対象部門
- カスタマーサポート
- 対象業務
- 内容確認・チェック/記録・議事録作成
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- お客様が衣類をカウンターに出す
- 店員が1点ずつ広げ、ポケットの中、シミ、ほつれ、ボタンを見る
- 洗濯表示を見て、品目と素材を確かめる
- 気付いた点をお客様に伝え、受付票に一言で書く
- レジで預かり番号を出し、タグを付ける
- 工場への申し送りの伝票に、気付いた点を書き写す
- 工場で、クリーニング師が衣類と伝票を見て処理方法を決める
- 人お客様が衣類をカウンターに出す。店員がポケットの中を確かめる
- 人店員がカウンターの撮影台に衣類を広げ、タブレットで表・裏・洗濯表示を撮る
- 自動受付のアプリが写真を Gemini API に渡し、シミ・ほつれ・ボタンの欠けなどの候補と位置、洗濯表示の記号の候補を受け取る
- 自動アプリが写真に印を描き、「お客様に確かめる事項」の一覧を画面に出す
- 人店員が画面と衣類を見比べ、候補の箇所をお客様と一緒に確かめる。お客様が気付いていた点も聞く
- 人確かめた結果を、候補ごとに「確認済み」「該当なし」で選ぶ。見落としていた箇所は店員が足す
- 自動確かめた結果だけを受付票の確定の欄に入れ、写真と一緒に預かり番号に結び付ける
- 自動工場への申し送りに、確定した箇所と写真が載る
- 人工場のクリーニング師が衣類と申し送りを見て、処理方法を決める
各工程の詳しい説明を読む
- お客様が衣類をカウンターに出す
- 店員が1点ずつ広げ、ポケットの中、シミ、ほつれ、ボタンを見る
- 洗濯表示を見て、品目と素材を確かめる
- 気付いた点をお客様に伝え、受付票に一言で書く
- レジで預かり番号を出し、タグを付ける
- 工場への申し送りの伝票に、気付いた点を書き写す
- 工場で、クリーニング師が衣類と伝票を見て処理方法を決める
(a)見落としが人によって違う。 袖口の黒ずみ、裏地のほつれ、襟の裏のシミは、慣れた人は見ますが、入ったばかりの人は見ません。同じ店の同じ日でも、立った人によって受付票の厚みが変わります。
(b)書き方がそろっていない。 「シミ」「汚れ」「しみあり」と、同じものが人によって違う言葉で書かれます。位置も「左袖」だけで、袖口なのか肘なのかが分かりません。 工場のクリーニング師は、衣類を全部広げて探し直します。
(c)お客様に伝えた証拠が残らない。 店員が口で伝えても、受付票にはその記録が残りません。仕上がりの後に申し出があったとき、伝えたかどうかで話がすれ違います。
(d)書き写しで抜ける。 受付票から工場への伝票に書き写すとき、混んでいる時間帯の分が抜けます。 工場ではそのシミを知らずに処理し、仕上がりの後に「落ちていない」と言われます。
- 【人】 お客様が衣類をカウンターに出す。店員がポケットの中を確かめる
- 【人】 店員がカウンターの撮影台に衣類を広げ、タブレットで表・裏・洗濯表示を撮る
- 【自動】 受付のアプリが写真を Gemini API に渡し、シミ・ほつれ・ボタンの欠けなどの候補と位置、洗濯表示の記号の候補を受け取る
- 【自動】 アプリが写真に印を描き、「お客様に確かめる事項」の一覧を画面に出す
- 【人】 店員が画面と衣類を見比べ、候補の箇所をお客様と一緒に確かめる。お客様が気付いていた点も聞く
- 【人】 確かめた結果を、候補ごとに「確認済み」「該当なし」で選ぶ。見落としていた箇所は店員が足す
- 【自動】 確かめた結果だけを受付票の確定の欄に入れ、写真と一緒に預かり番号に結び付ける
- 【自動】 工場への申し送りに、確定した箇所と写真が載る
- 【人】 工場のクリーニング師が衣類と申し送りを見て、処理方法を決める
5番目が、この設計の分かれ目です。 候補は、店員が衣類のどこを見ればよいかの順番です。お客様と一緒にその箇所を見て、確かめた結果だけが記録に残ります。 候補をそのまま受付票に入れると、お客様が見ていない記録が「伝えたこと」になってしまいます。
9番目の処理方法の決定は、これまでどおり工場に置きます。 写真と位置付きの申し送りが届くことで、クリーニング師が衣類を全部広げて探し直す手間が減ります。
02今回想定するシステム構成
受付のカウンター(撮影台と照明、タブレット) ▼ 店員が表・裏・洗濯表示を撮る 受付のアプリ(タブレット) ▼【トリガー】1点分の撮影を終えたとき Python のサーバー(店舗と工場で共通) ├── 写真の向き・大きさを整える ▼ Gemini API(画像の理解・構造化出力)── 1点分の写真(表・裏・洗濯表示) │ シミ・変色・ほつれ・穴・ボタンの欠けなどの候補と枠 │ 付属品(ベルト・フード・ライナーなど)の有無の候補 │ 洗濯表示の記号の候補 ▼ 受付のアプリ ── 印を描いた写真と「確かめる事項」の一覧 ▼ 【人】店員がお客様と確かめる → 確定の欄へ ▼ 受付票(預かり番号ごと)と工場への申し送り
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(衣類の写真から傷みの候補と洗濯表示の記号の候補を返す) | Claude API、OpenAI API |
| 連携 | Python(受付のアプリとの受け渡し、前処理、呼び出し、印の描画) | Google Apps Script |
| 端末 | 受付のタブレットと撮影台 | スマートフォン |
| 記録 | 受付票の記録(預かり番号・品目・確定した箇所・写真) | - |
新しく足すのは、撮影台とタブレット、Python のサーバー、Gemini API の契約です。 レジの預かり番号の出し方は変えず、預かり番号に写真と確定した箇所を結び付けます。
写真を見る土台は、Gemini API の画像の理解です。 公式の案内では、対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、1つのリクエストに複数の画像を入れられます。 1点分の表・裏・洗濯表示をまとめて渡します。画像を直接入れる場合は、リクエスト全体が20MBまでです。
位置は枠で返させます。 枠は [ymin, xmin, ymax, xmax] の順で、0〜1000に正規化されます。公式の案内には、物の輪郭を多角形で返させる例もあります。シミは小さいので枠で足ります。
出力は構造化出力で受けます。 /v1beta/interactions に送り、response_format で mime_type を application/json にし、schema にスキーマを入れます。enum で値を決まった文字列に絞れます。値はアプリ側で検証するよう書かれています。
03どうやって実装するのか
処理の起点を決める
1点分の撮影を終えたときに動きます。 店員が受付のアプリで表・裏・洗濯表示の3枚を撮り、「この1点を終える」を押すと、写真がサーバーに送られます。3枚がそろう前には動かしません。 表だけで呼ぶと、裏のシミが候補に出ず、店員が「候補が無い」と読み違えます。
お客様が待っている間に返る必要があります。 1点分の結果が返るまでの間に、店員は次の衣類を撮影台に広げ、ポケットの中を確かめます。一定の時間を過ぎても返らないときは、アプリが「手で確かめてください」と出し、これまでどおり目で見て受付票に書きます。 結果が後から返っても、確定の欄には入れません。
受付のアプリに入れるのは、18歳以上の店員のアカウントだけにします。 Gemini API の規約は、18歳未満の人が使う、または使う見込みのあるアプリでの利用を認めていません。高校生のアルバイトが受付に立つ時間帯は、アプリを使わず、これまでどおり目で見て受付票に書く流れにします。 店舗のシフト表で、どの時間帯にどちらの流れになるかを先に決めておきます。
仕上がりの引き渡しのときは動かしません。 引き渡しでは、受付のときの写真と確定した箇所を画面に出し、お客様と仕上がりを一緒に見る材料として使います。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 衣類の写真 | 1点分の表・裏・洗濯表示の3枚 | 受付のタブレット |
| 品目 | 店員が選ぶ品目(スーツの上、シャツ、コート、制服 など) | 受付のアプリ |
| 品目ごとの見どころ | 品目ごとに傷みの出やすい箇所(襟、袖口、脇、裾、ボタンの周り) | サーバーに持たせる一覧 |
| 候補の種類の一覧 | シミ、変色、ほつれ、穴、毛玉、テカリ、ボタンの欠け、ボタンの取れかけ、付属品の有無 | サーバーに持たせる |
| 撮影台の目印 | 撮影台の大きさと、写真の上の向き | 撮影台に印刷した目印 |
質を決めるのは、撮影台と照明です。 店舗の照明の下で、カウンターの上に衣類をくしゃっと置いて撮ると、しわの影がシミに見え、濃い色の衣類のシミは写りません。 撮影台に無地の明るい色の台紙を敷き、上から均一に照らす照明を付けます。
品目ごとの見どころは、指示の文に入れます。 シャツなら襟と袖口、スーツの上なら襟の裏と脇と裾、コートならポケットの口とボタンの周りです。見どころを渡しておくと、写真の端の小さな黒ずみを見落としにくくなります。
データの取得方法を決める
写真は、受付のアプリからサーバーに直接送ります。 アプリは預かり番号と品目を一緒に送り、サーバーは写真を預かり番号のフォルダに置いてから Gemini API を呼びます。写真を先に保存してから呼ぶのは、呼び出しに失敗しても写真が残るようにするためです。
Gemini API へは、1点ごとに1回、3枚をまとめて渡します。 表と裏を別々に呼ぶと、同じ箇所を2回候補にすることがあります。1点を1回の呼び出しにすると、どの写真のどの位置かを1つの JSON で受け取れます。
洗濯表示の写真は、記号を書き写すために渡します。 消費者庁の JIS L0001 の概要では、洗濯表示は洗濯、漂白、乾燥、アイロン仕上げ、商業クリーニングの5つの基本記号と、付加記号で表すとされています。令和6年8月20日以降の表示と、その前の表示で記号の一部が違うことも、消費者庁のページで分けて示されています。書き写させるのは、ラベルに見える記号の候補までです。
有料の利用枠で使い、store を false にします。 Gemini API の規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API は既定でやり取りを保存し(有料の枠で55日)、保存しないときは store=false を付けると案内されています。写真は自社のサーバーに残すので、AI側に残す必要はありません。
AIへ渡す前に整形する
- 形式と向き … タブレットの写真の向きの情報で回転しているだけのものは、画素を回転させます。向きが合っていないと、「右袖」と「左袖」が入れ替わります
- 縮小 … 表と裏は長い辺を1,600ピクセル程度に縮めます。洗濯表示は文字と記号がつぶれないよう、切り抜いて大きめに残します
- 撮影台の目印の確認 … 写真に撮影台の目印が写っているかを見ます。写っていなければ、衣類の上下と左右が分からないので撮り直しを促します
- 品目の付け足し … 店員が選んだ品目と、その品目の見どころを指示に入れます
- 写り込みの確認 … 名札、社員証、ポケットから出た紙などが写っていないかを店員が撮るときに見ます。写っていれば外してから撮り直します
- 大きさの確認 … 3枚と指示の文を合わせて20MBを超えないかを見ます
1番目を軽く見ないでください。 衣類の写真は、左右の取り違えがそのまま受付票の誤りになります。撮影台の目印で「お客様から見た左」か「衣類の左」かを決め、受付票の書き方もそれにそろえます。
AIに処理させる
させるのは、写真の中の傷みの候補を枠で返し、種類を付け、付属品が写っているかと、洗濯表示の記号の候補を返すことだけです。
| 返すもの | 中身 | 判断できないときの扱い |
|---|---|---|
| 傷みの候補 | 写真の番号、枠、種類(シミ、変色、ほつれ、穴、毛玉、テカリ) | しわの影か汚れか分からなければ unclear として候補に入れる |
| ボタン | 欠けている、取れかけている位置の候補 | 写真の角度で分からなければ unclear |
| 付属品 | ベルト、フード、ライナー、取り外しの襟などが写っているか | 写っていなければ not_visible(無いとは言わない) |
| 洗濯表示 | ラベルに見える記号の候補を左から順に | 読めない記号は unknown。ラベルが写っていなければ no_label_photo |
| 見えない範囲 | 折れ曲がりや影で見えない範囲 | 範囲がはっきりしなければ写真ごと「見えない範囲あり」 |
右端の列の考え方は、迷ったら店員とお客様が見る側に倒すことです。 しわの影か汚れか分からないものは候補に入れます。候補が多いのは、お客様の前で「ここは影でした」と数秒で済みますが、候補から落ちたシミは、仕上がりの後の申し出まで誰も見ません。
| させないこと | 理由 |
|---|---|
| シミの種類や原因(コーヒー、汗、油など) | 写真では分からない。工場のクリーニング師が見て決める |
| 落ちるかどうかの見込み | お客様には約束に聞こえる |
| 処理方法の決定 | 洗濯表示と素材を見て、クリーニング師が決める |
| 洗濯表示の記号の意味の解釈 | 記号の候補の書き写しまで。意味は工場が確かめる |
| 素材やブランドの判定 | 受付票に要らない。素材は洗濯表示と組成の表示で人が見る |
| 写っている人についての記述 | 受付に要らない |
1行目と2行目がいちばん起きやすい失敗です。 シミの写真を渡すと、AIは「コーヒーのようなシミ」「通常の処理で落ちる見込み」と書きたがります。受付の画面にこの言葉が出ると、店員がそのままお客様に伝えてしまいます。 返すのは「シミのように見える箇所」の位置と大きさまでにします。
4行目は、記号の表の扱いに理由があります。 JIS L0001 の概要では、5つの基本記号のどれかが記載されていないときは、その記号が意味するすべての処理が可能とされています。記号が写真に写っていないことと、記載されていないことを、AIは区別できません。「記号が無いから処理できない」とも「できる」とも書かせず、候補の書き写しにとどめます。
指示内容を固定する
あなたはクリーニング店の受付で、預かる衣類の状態を確かめる手伝いをする係です。
写真は同じ1点の衣類で、1枚目が表、2枚目が裏、3枚目が洗濯表示のラベルです。
衣類は撮影台の上に置かれ、撮影台の「上」の目印が写真の上にあります。
【この衣類の品目】{シャツ/スーツの上/コート/制服 ...}
【この品目の見どころ】{襟、袖口、脇、裾、ボタンの周り ...}
【やること】
1. 1枚目と2枚目で、次の候補を探す。
シミ、変色、ほつれ、穴、毛玉、テカリ、ボタンの欠け、ボタンの取れかけ。
見どころは特に注意して見る。
2. 候補ごとに、写真の番号と枠を [ymin, xmin, ymax, xmax] の順で、
0〜1000 に正規化して返す。種類と、見え方を短く書く。
3. ベルト、フード、ライナー、取り外しの襟が写っているかを返す。
4. 3枚目のラベルに見える洗濯表示の記号を、左から順に候補として返す。
5. 折れ曲がりや影で見えない範囲を返す。
【厳守事項】
- シミの種類や原因(飲み物、汗、油など)を書かないでください。
- 落ちるかどうか、どう処理すればよいかを書かないでください。
- 洗濯表示の記号の意味を書かないでください。見える記号の候補だけにしてください。
読めない記号は unknown にしてください。
- しわの影か汚れか分からないものは、kind を unclear にして候補に入れてください。
- 写っていない付属品を「無い」と書かないでください。not_visible にしてください。
- 見えない範囲について「傷みなし」と書かないでください。
- 素材、ブランド、写っている人については何も書かないでください。
「写っていない付属品を無いと書かない」を入れないと、受付票に「ベルトなし」と残ります。 お客様が別の袋に入れて持ってきたベルトが、受付票の上では「預かっていない」ことになります。 付属品の有無は、店員がお客様に聞いて決めます。
出力形式を固定する
1点ごとに、次の形の JSON で受け取ります。 kind、accessory_state は enum で決まった文字列に絞ります。
{
"item_no": "A1024-2",
"findings": [
{ "photo": 1, "box_2d": [610, 120, 680, 190],
"kind": "stain | discoloration | fraying | hole | pilling | shine | button_missing | button_loose | unclear",
"note": "右袖口の内側に直径1cmほどの濃い色の点" }
],
"accessories": [
{ "name": "belt", "accessory_state": "visible | not_visible" }
],
"care_label": { "symbols": ["140", "200", "unknown"], "label_state": "readable | partly_readable | no_label_photo" },
"not_visible": [ { "photo": 2, "area": "左の裾", "reason": "folded | shadow" } ]
}
1つ目の理由は、findings をそのまま「確かめる事項」の一覧にできることです。 アプリは findings を見どころの順に並べ、写真に印を描きます。店員は一覧の上から順に衣類のその箇所を指し、お客様と確かめます。
2つ目は、確定の欄と分けて記録できることです。 受付票の記録には、findings の各候補に店員が付けた「確認済み」「該当なし」と、店員が足した箇所が別の欄で残ります。後から見ると、AIが出した候補、店員とお客様が確かめた箇所、店員が足した箇所が区別できます。
3つ目は、care_label で工場の確認が速くなることです。 記号の候補は JIS L0001 の記号番号で受けます。工場のクリーニング師はラベルの写真と候補を並べて見て、自分の目で確かめます。 候補が unknown の記号は、写真で読み直します。
受付の画面に出す「確かめる事項」は、次の形です。
| 番号 | 写真 | 箇所 | 候補 | お客様と確かめた結果 |
|---|---|---|---|---|
| 1 | 表 | 右袖口の内側 | シミのように見える | 確認済み/該当なし |
| 2 | 裏 | 前の第2ボタン | ボタンの取れかけ | 確認済み/該当なし |
| 3 | - | ベルト | 写真に写っていない | お持ちか確かめる |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付のアプリ | サーバーとの受け渡し | 写真と預かり番号を受け、印を描いた写真と一覧を返す |
| Gemini API | API呼び出し(/v1beta/interactions、store=false) | 傷みの候補、付属品、洗濯表示の記号の候補、見えない範囲 |
| 受付票の記録 | 書き込み | 店員が確かめた結果と、足した箇所だけ |
| 工場への申し送り | 画面と印刷 | 確定した箇所と写真、洗濯表示の写真と記号の候補 |
| レジ | これまでどおり | 預かり番号とタグの発行(この構成からは書き込まない) |
受付票の確定の欄には、店員が選んだ結果しか入りません。 AIの候補は別の欄に残し、確定の欄に自動で移す経路を作りません。 お客様と確かめていない記録が、確かめたことにならないようにするためです。
クリーニング業法は、受取と引渡しのときに苦情の申出先を明示することも営業者に求めています。 受付票の控えに申出先を印字する決まりは、これまでどおりレジの側で守ります。この構成は申出先の明示を代わりに行いません。
人が確認する
- 候補をお客様と確かめる … 一覧の上から順に、衣類のその箇所を指して見せます。「確認済み」か「該当なし」を、お客様の前で選びます
- お客様が気付いている点を聞く … 「気になるところはありますか」と聞き、AIの候補に無い箇所を足します
- 付属品を確かめる …
not_visibleの付属品をお客様に聞き、預かるかを決めます - 工場のクリーニング師が確かめる … 申し送りの写真と衣類を見て、シミの種類、処理方法、洗濯表示の記号を自分の目で確かめます
- 外した候補を記録する … しわの影をシミと言った、柄をシミと言った、などの理由を残します
2番目を省かないでください。 AIの候補は写真に写ったものだけで、お客様が知っている「前に食べこぼした」「一度自分で洗った」という話は写真に写りません。 その話が、工場の処理方法を決める材料になります。
目標は、1,200件をならして1件3分です。 候補の少ない衣類は印の箇所を見せて数十秒、候補の多い衣類や付属品の多いコートは数分かかります。外す候補が1件で半分を超えるなら、撮影台の照明か、衣類の広げ方が崩れています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 結果が一定の時間を過ぎても返らない | 「手で確かめてください」と出し、目で見て受付票に書く |
| 撮影台の目印が写っていない | 撮り直しを促す。上下と左右が決まらないため |
| 濃い色の衣類でシミが写らない | 候補が少なくても「傷みなし」とは扱わない。見どころを目で確かめる |
| 柄物で柄をシミと言う | unclear が多くなる。お客様と確かめて外し、柄物の扱いを指示に足す |
| 洗濯表示のラベルが無い・読めない | no_label_photo / partly_readable。工場で衣類を見て確かめる |
| 毛皮・本革の製品 | 商業クリーニングの記号の対象外の製品として、専門の扱いの流れに回す |
| 名札や紙が写り込む | 外して撮り直す。写った写真は保存しない |
| ポケットに物が残っていた | 撮る前に店員が確かめる手順にする。写真ではポケットの中は分からない |
| 18歳未満の店員だけの時間帯 | アプリを使わず、目で見て受付票に書く流れにする |
JSON の値が enum に無い | 候補を出さず、手で確かめる流れに切り替える |
上から3行目までが大半を占めます。 どれもAIの精度の問題ではなく、撮影台と照明、待ち時間の決め方の問題です。 撮影台を整えるほうが、指示の文をいじるより効きます。
記録を残す
- 預かり番号ごとの写真3枚と、Gemini API が返した JSON の全文
- 候補ごとに店員が付けた「確認済み」「該当なし」と、店員が足した箇所
- 受付の日時、店舗、受付をした店員
- 工場のクリーニング師が確かめた洗濯表示の記号と、決めた処理方法
- 引渡しのときに、お客様と仕上がりを確かめた記録
2つ目が、仕上がりの後の申し出のときの材料です。 「このシミは預けたときには無かった」と言われたとき、受付の写真と、お客様と確かめた結果を一緒に見られます。 どちらが正しいかを決める材料ではなく、話をすれ違わせないための材料です。
保存の期間は、仕上がりの後の申し出を受け付ける期間に合わせて決めます。 お客様の衣類の写真なので、期間を過ぎたら消します。
04実装レベルの3段階
最小構成では、お客様の前で使えません。 結果を待つ間に手で写真を渡す時間はありません。確かめるための段階です。 半自動化で、1件6分が4分程度になります。 候補の拾い出しは自動になりますが、受付票への記入と工場への申し送りの書き写しが残ります。本格構成で3分になり、この段階が本記事の想定です。 差が大きいのは、確かめた結果がそのまま受付票と申し送りになり、書き写しが無くなるからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、柄物や濃い色で外す候補の多い品目が分かります。そこの撮り方と指示の文を直してから本格構成に進むほうが、お客様の前での確認が短くなります。
05工数削減シミュレーション
導入後 1,200件 × 3分 ÷ 60 = 60 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 取次の店舗を数店から十数店持ち、工場で洗って店舗で返す形のクリーニング店。受付の店員がパートやアルバイトで入れ替わりが多く、預かるときのシミや傷みの確かめ方と受付票の書き方が人によって違う場合。仕上がりの後に「このシミは預けたときには無かった」「ボタンが無くなった」という申し出が月に何件かあり、受付のときの記録が手書きの一言しか残っていない場合。受付にタブレットを置き、アプリを使う店員を18歳以上に限れる場合。
- 1店舗で店主が受付から仕上げまで見ていて、受付の記録の書き方がそろっている場合。宅配の受付が中心で、お客様とその場で確かめる場面が無い場合。毛皮や本革の製品、和服の専門の扱いが中心の場合。なお、シミの種類や原因の特定、落ちるかどうかの見込み、処理方法の決定、事故の責任や賠償の判断は、この構成では代替できません。
07最小構成で試す方法
- 1店舗を選び、閉店後に、店に残っている仕上がり待ちの衣類から30点を選ぶ(うち10点は、受付票にシミやほつれが書かれているもの)
- 撮影台の代わりに無地の台紙を敷き、表・裏・洗濯表示を撮る
- Gemini API の有料の利用枠で、1点ずつ3枚をまとめて渡す
- 「シミ・変色・ほつれ・穴・ボタンの欠けの候補を、写真の番号と枠で返してください。シミの種類や落ちるかどうかは書かないでください。洗濯表示は見える記号だけを書き写してください」と指示する
- 出てきた候補を、受付票の記載と、ベテランの店員が衣類を見て拾った箇所と突き合わせる
30点は必ずやってください。 アプリを組む前に、「自社の店の照明と撮り方で、シミが写るのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 受付票とベテランの店員が拾った箇所が、候補として出た | 撮影台とアプリの作成に進む |
| シミの種類や落ちる見込みを書いた | 指示の書き方で直る。構成は有効 |
| 濃い色の衣類の候補がほとんど出ない | 照明と撮影台が先。 AIの問題ではない |
3行目が出ることは珍しくありません。 失敗ではなく、ベテランの店員が衣類を光にかざして見ていた理由が1つ分かったということです。 照明を変えて同じ衣類を撮り直し、候補がどこまで変わるかを見てください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| シミの種類や落ちる見込みを書く | 指示で禁じる。 受付の画面に出さない |
| 候補がそのまま受付票の確定になる | 確定の欄は店員の選択だけ。自動で移さない |
| 写っていない付属品を「無い」と書く | not_visible にさせ、お客様に聞く |
| 左右が入れ替わる | 撮影台の目印で向きを決め、受付票の書き方もそろえる |
| しわの影や柄をシミと言う | 撮影台と照明を整え、unclear で候補に入れる |
| 濃い色の衣類でシミが写らない | 候補が少なくても目で見どころを確かめる |
| 洗濯表示の記号の意味まで書く | 書き写しまで。意味は工場が確かめる |
| 新旧の洗濯表示が混ざる | 記号の候補で受け、工場が新旧の表で確かめる |
| 結果を待って列が伸びる | 時間を過ぎたら手で確かめる流れに切り替える |
上の2行が、この構成の失敗のほとんどです。 どちらも、お客様と確かめていないことが、伝えたこととして残る失敗です。候補と確定を分け、写っている位置だけを返させるかどうかで、受付の記録が申し出のときに役立つかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: お客様の衣類の写真、預かり番号、受付の日時です。衣類には名札、刺しゅうの名前、社員証、ポケットの中の紙が付いていることがあり、写真に写り込みます。
- アプリを使う人を18歳以上に限る … Gemini API の規約は、18歳未満の人が使う、または使う見込みのあるアプリでの利用を認めていません。受付のアプリのアカウントは18歳以上の店員だけに発行し、高校生のアルバイトの時間帯は手で確かめる流れにします。 この線引きが難しい店では、代替候補の Claude API などで同じ構成を組むことを検討します
- 写り込みを外してから撮る … 名札や紙は外してから撮ります。写り込んだ写真は保存せず、撮り直します
- お客様の名前を渡さない … AIには写真と品目だけを渡します。預かり番号とお客様の名前の対応は、レジの側だけに置きます
- 有料の利用枠で、保存させない … 規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API の
storeをfalseにします。禁止された使い方の検知などのために限られた期間記録されることは書かれています - 説明の責任を AI に寄せない … クリーニング業法は、受取と引渡しのときに処理方法などを利用者に説明するよう努めることを営業者に求めています。説明するのは店員で、AIの候補はその材料です
- 写真の保存の期間を決める … 申し出を受け付ける期間に合わせて決め、過ぎたら消します
誤りが起きた場合のリスクは、シミを見落として仕上がりの後の申し出で話がすれ違うことと、写真から推した「落ちます」がお客様への約束になることの2つです。 前者は候補を確定に自動で移すか、目で見る手順を省くと起き、後者はシミの種類や見込みを書かせると起きます。どちらも、候補と確定を分け、写っている位置だけを返させる設計で防げます。
10まず何から始めるか
1週目:撮影台と照明を決める
1店舗のカウンターに、無地の台紙と上からの照明を置きます。撮影台に「上」と「お客様から見た左」の目印を印刷し、受付票の左右の書き方をそれにそろえます。
2週目:30点で試す
閉店後に、仕上がり待ちの衣類30点を撮り、Gemini API に渡します。受付票とベテランの店員が拾った箇所が候補に出るかと、シミの種類を書いていないかを最優先で見ます。
3週目:品目ごとの見どころと受付の言葉を決める
品目ごとの見どころの一覧と、お客様と確かめるときの言葉(「ここにシミのように見える箇所があります。お気付きでしたか」など)を決めます。落ちるかどうかを聞かれたときの答え方も決めます。
4週目:受付のアプリから一覧までをつなぐ
1点分を撮ると候補の一覧が画面に出るところまで作ります。この時点では受付票は手書きのまま続け、一覧と手書きを見比べます。
2か月目: 「確認済み」「該当なし」の選択と、預かり番号への写真の結び付けを足します。外した候補の理由を毎週数えます。3か月目以降: 工場への申し送りと引渡しの画面を足し、ほかの店舗に広げます。外した理由が撮影台と指示の文に反映され、受付の記録が写真付きで全店にそろった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合にリクエスト全体が20MBまでであること。1つのリクエストに複数の画像を入れられること。枠が [ymin, xmin, ymax, xmax] の順で0〜1000に正規化されること。輪郭を多角形で返させる例があること。画像のトークンの換算(768×768の区画ごとに258トークン) | Gemini API: Image understanding | 2026-10-15 |
構造化出力が /v1beta/interactions に response_format で mime_type を application/json にし、schema にスキーマを入れて送る形であること。enum が使えること。値はアプリ側で検証するよう書かれていること | Gemini API: Structured output | 2026-10-15 |
Interactions API が既定でやり取りを保存し、有料の枠で55日保持すること。store=false で保存しないようにできること | Gemini API: Interactions | 2026-10-15 |
| 有料のサービスではプロンプトと応答が製品の改善に使われないこと。禁止された使い方の検知などのために限られた期間記録されること。18歳以上であることが利用の条件で、18歳未満の人に向けた、または18歳未満の人が使う見込みのあるアプリでは使えないこと | Gemini API Additional Terms of Service | 2026-10-15 |
| 営業者は、洗濯物の受取及び引渡しをしようとするときは、あらかじめ利用者に対し洗濯物の処理方法等について説明するよう努めなければならないこと。受取及び引渡しに際し、利用者に苦情の申出先を明示しなければならないこと(第3条の2) | e-Gov 法令API: クリーニング業法 | 2026-10-15 |
| 洗濯表示が JIS L0001 に基づき、洗濯・漂白・乾燥・アイロン仕上げ・商業クリーニングの5つの基本記号と付加記号で構成されること。商業クリーニングの記号が本革と毛皮を除く繊維製品を対象とすること。基本記号のいずれかが記載されていないときはその記号が意味するすべての処理が可能とすること。令和6年8月20日以降の表示と、それより前の表示が別のページで示されていること | 消費者庁: 洗濯表示(令和6年8月20日以降) | 2026-10-15 |
受付のときの説明のしかた、苦情の申出先の示し方、事故のときの対応は、クリーニング業法と自治体の指導、加入している組合の取り決めに沿って決めてください。 本記事は公開の資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1688)についてのご相談はこちらから。
