楽器店が修理の依頼を Make で受け、楽器の種類と症状を見分けて、店の工房と外部の修理先へ振り分け、預かる前に確かめることをそろえる
楽器店の Web の修理受付に届く依頼の文と写真から、AIが楽器の種類と症状を決めた区分に見分けます。回し先は振り分けの表で決め、預かる前にお客様へ確かめることと、修理先への引き継ぎの票を作ります。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- EC/その他/小売
- 対象部門
- カスタマーサポート
- 対象業務
- 分類・仕分け/問い合わせ対応
- 主な課題
- 判断に時間がかかる/問い合わせが多い/属人化している
- AIで行う処理
- 分類
- 主な効果
- 対応スピード向上/属人化解消/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 修理受付フォームの送信が、サポート窓口のメールに届く
- 担当者が依頼の文と写真を開き、楽器と症状を読む
- 型番や症状が足りなければ、お客様にメールで聞き直す
- 回し先が分からなければ、工房の職人に文と写真を見せて聞く
- 受付台帳に1行足し、回し先と預かりの店を書く
- 回し先に依頼の内容を転記したメールを送る
- お客様に、持ち込み先・必要なもの・概ねの流れを返信する
- 【お客様】 修理受付フォームから、文と写真で依頼する
- 自動フォームの送信で Make のシナリオが動き、受付番号を返す
- 自動写真の形式を確かめ、OpenAI API に文と写真を渡す
- 自動AIが楽器の種類・症状・電気まわりの有無・割れの有無を区分で返す
- 自動振り分けの表から回し先を引き、購入時期から保証の期間内かもしれない印を付ける
- 自動受付台帳に1行足し、確かめることの下書きと、修理先への引き継ぎの票を作る
- 人担当者が、確信の低いもの・要相談・メーカー行きのものだけを開いて確かめる
- 人お客様へ確かめることを送り、答えがそろったら修理先へ引き継ぐ
各工程の詳しい説明を読む
- 修理受付フォームの送信が、サポート窓口のメールに届く
- 担当者が依頼の文と写真を開き、楽器と症状を読む
- 型番や症状が足りなければ、お客様にメールで聞き直す
- 回し先が分からなければ、工房の職人に文と写真を見せて聞く
- 受付台帳に1行足し、回し先と預かりの店を書く
- 回し先に依頼の内容を転記したメールを送る
- お客様に、持ち込み先・必要なもの・概ねの流れを返信する
(a)回し先を決めるのに職人の手が要る。 4番目は、職人の作業を止めて画面を見てもらうことになります。職人が1人で工房にいる日は、受付の担当が答えを待つ間、依頼が止まります。
(b)受付の担当で回し先が違う。 管楽器に詳しい担当は管楽器を正しく回せますが、ギターしか知らない担当は「キィが重い」を店の工房に回してしまいます。回し先を間違えると、楽器が2つの工房を往復します。
(c)聞き直しが後から出る。 型番が無い、写真に割れが写っているのに文に書いていない、購入から1年以内なのに保証書の話をしていない。これらに気づくのが預かった後だと、メーカーや工房から差し戻され、お客様に二度手間をかけます。
(d)通販のお客様は店に来ない。 発送で修理を受けることも多く、送る前に確かめることが足りないと、送料をかけて送ってもらった楽器を送り返すことになります。 管楽器や弦楽器はケースごと送ってもらうため、往復の送料も梱包の手間も小さくありません。
(e)返事の速さが店ごとに違う。 各店の受付に届いた依頼は、その店の担当者が手の空いたときに見ます。同じ日に届いた依頼でも、店によって返事が翌日になったり3日後になったりします。 お客様から見れば同じ店の修理受付なので、遅い店の印象が店全体の印象になります。
- 【お客様】 修理受付フォームから、文と写真で依頼する
- 【自動】 フォームの送信で Make のシナリオが動き、受付番号を返す
- 【自動】 写真の形式を確かめ、OpenAI API に文と写真を渡す
- 【自動】 AIが楽器の種類・症状・電気まわりの有無・割れの有無を区分で返す
- 【自動】 振り分けの表から回し先を引き、購入時期から保証の期間内かもしれない印を付ける
- 【自動】 受付台帳に1行足し、確かめることの下書きと、修理先への引き継ぎの票を作る
- 【人】 担当者が、確信の低いもの・要相談・メーカー行きのものだけを開いて確かめる
- 【人】 お客様へ確かめることを送り、答えがそろったら修理先へ引き継ぐ
7番目が、この設計の分かれ目です。 AIの区分がはっきりしていて、店の工房へ回すものは、担当者は一覧で流し見るだけです。外へ出すもの、要相談、AIが迷ったものだけに時間を使います。 外へ出すと送料と日数がかかり、間違えたときの戻りが大きいからです。
職人に聞くのは、要相談のものだけになります。 職人の時間が戻ることが、この構成のもう一つの効果です。
各店の受付に届いていた依頼も、同じフォームと同じシナリオに集めます。 店ごとに受けていたときは、返事の速さも回し先の決め方も店で違いました。一つの台帳に集まれば、どの店の担当者が見ても同じ区分と同じ回し先が出ます。 預かりの店は、お客様の希望と振り分けの表の「預かりの店」の列で決めます。
02今回想定するシステム構成
お客様(修理受付フォーム:文・型番・写真3枚まで) │ ▼【トリガー】フォームの送信(Webhook) Make(シナリオ) ├──▶ Webhook response … 受付番号を返す ├──▶ 写真の形式の確認 ▼ OpenAI API(Responses API、画像入力、構造化出力) │ 楽器の種類/症状/電気まわり/割れ/確信の度合い ▼ Make ── Google スプレッドシート(振り分けの表)で回し先を引く │ 購入時期から保証の印 ▼ 受付台帳に1行、確かめることの下書き、引き継ぎの票 ▼ 【担当者が外へ出すもの・迷ったものだけ確かめる】 ▼ お客様へ確認 → 修理先へ引き継ぎ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Webhooks、HTTP、Google Sheets、ルーター) | n8n、Zapier、Power Automate |
| 生成AI | OpenAI API(Responses API の画像入力と構造化出力) | Claude API |
| 保管 | Google スプレッドシート(振り分けの表・受付台帳・修理先の一覧) | Airtable |
| メール | 店のメール(確かめることの送信と修理先への引き継ぎ) | 店の LINE 公式アカウント |
受け口は Make の Webhooks です。 カスタムの Webhook が作るURLにフォームの送信先を向け、既定では受けた時点でシナリオが動きます。届いたデータは Webhook ごとのキューにいったん入り、処理されると消されます。
AIの呼び出しは HTTP アプリの Make a request で Responses API を呼びます。 写真を渡す画像入力と、決めた形の JSON を返させる構造化出力(text.format に JSON スキーマ)を同じ呼び出しで使います。
03どうやって実装するのか
処理の起点を決める
修理受付フォームの送信を起点にします。 フォームの送信先を Make のカスタムの Webhook のURLにし、1件ずつシナリオを動かします。修理の依頼は、返事が早いほど他の店に流れません。 まとめて処理する理由がないので、届いたらすぐ動かします。
受付番号は Webhook response のモジュールで返し、フォームの完了画面に出します。 お客様が電話で問い合わせてきたときに、受付番号で台帳を引けます。ただし、途中に置くと後のモジュールのエラーでシナリオが止まらなくなるとされているので、エラーの通知は別に設けます。
同じお客様が送信を二度押すことがあります。 即時の Webhook は既定で並行して動くので、連絡先と送信の時刻で台帳を引き、5分以内の同じ依頼は1件にまとめます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼 | お客様の名前と連絡先、持ち込みか発送か、楽器の種類(お客様の選択)、メーカー・型番、症状の文、購入した店と時期 | 修理受付フォーム(Webhook) |
| 写真 | 3枚まで。全体・症状の箇所・型番のラベル | フォームのファイルの保管先(期限付きのURL) |
| 振り分けの表 | 楽器の区分 × 症状の区分 → 回し先、預かりの店、送る前の注意 | Google スプレッドシート |
| 修理先の一覧 | 回し先ごとの連絡先、引き継ぎに要る項目、受けない楽器 | Google スプレッドシート |
| 受付台帳 | 受付番号、依頼の要点、区分、回し先、状態 | Google スプレッドシート |
質を決めるのは、振り分けの表です。 職人がこれまで頭の中で決めていた「この楽器のこの症状はここ」を、表に書き出します。最初は、過去半年の受付台帳から回し先ごとに多い組み合わせを拾い、職人と30分ほどで埋めます。
修理先の一覧の「受けない楽器」の列も大事です。 提携の管楽器工房でも、古い楽器や特定のメーカーは受けないことがあります。表で回し先が決まっても、この列に当たれば要相談に回します。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 依頼の項目 | 修理受付フォーム | Custom webhook(項目を JSON で受ける) |
| 写真 | フォームのファイルの保管先 | 期限付きのURLをそのままAIに渡す |
| AIの区分 | OpenAI API | HTTP の Make a request(POST、JSON の本文) |
| 回し先 | 振り分けの表 | Search Rows(楽器の区分と症状の区分で引く) |
| 修理先の連絡先と注意 | 修理先の一覧 | Search Rows(回し先で引く) |
写真は、URLのまま Responses API に渡します。 画像入力は input_image で、完全なURL、Base64 のデータURL、Files API に上げたファイルのIDのどれかで渡せます。フォームの保管先が期限付きのURLを出せるなら、それがいちばん手軽です。 期限は、シナリオが終わるまでの数分で足ります。
Make a request の本文は「Data structure」で組みます。 JSON の予約文字が自動でエスケープされるので、症状の文に引用符や改行があっても壊れません。「Return error if HTTP request fails」を有効にし、4xx・5xx で止めて通知します。
AIへ渡す前に整形する
- 写真の形式の確認 … 画像入力が受けるのは PNG・JPEG・WEBP・アニメーションでない GIF です。スマートフォンの HEIC はフォームの側で JPEG にするか、受けられない旨を出します
- 写真の枚数の確認 … 0枚なら文だけで区分させ、確信を下げる前提で扱います
- 型番の表記をそろえる … 全角を半角に、空白とハイフンの揺れを落とします
- 購入時期を日付にする … 「去年の春」のようにあいまいなものは日付にせず、そのまま渡します
- AIに渡す範囲を絞る … 名前・連絡先・住所は渡しません。渡すのは楽器の種類の選択、メーカー・型番、症状の文、写真だけです
- 重複の確認 … 連絡先と送信の時刻で台帳を引き、二重の送信をまとめます
4番目で日付にしないのは、保証の印を表の式で付けるからです。 「去年の春」を日付に直すと、それだけで保証の期間内かが決まってしまいます。あいまいなものは「保証の確認が要る」として、お客様に保証書の有無を聞きます。
AIに処理させる
させるのは、依頼の文と写真から次の区分を選ぶことだけです。 どれも、表で回し先を引くための鍵です。
| 見るもの | 区分の例 | 判断できないときの扱い |
|---|---|---|
| 楽器の種類 | エレキギター、アコースティックギター、エレアコ、ベース、木管、金管、バイオリン属、アコースティックピアノ、電子ピアノ・キーボード、シンセサイザー、ドラム・打楽器、その他 | unknown |
| 症状 | 調整(弦高・ネック)、フレット、木部の割れ・剥がれ、配線・ノイズ、タンポ・キィ、へこみ・固着、鍵盤・アクション、電源・基板、外装の傷、その他 | unknown |
| 電気まわり | 電源・電池・配線・ピックアップの症状か | unclear |
| 割れ | 写真か文に、割れ・ひびが見えるか | unclear |
| お客様の選択との食い違い | お客様が選んだ種類と、AIの見立てが違うか | - |
楽器の種類で「エレアコ」を分けているのが、第2章の選び間違いへの答えです。 アコースティックギターでも、ピックアップが付いていれば配線の症状が起きます。写真に出力端子が写っているか、文に「アンプにつなぐと」とあるかで見分けさせます。
「割れ」を症状とは別に聞くのは、文に書かれないことが多いからです。 お客様は「音がビビる」と書き、割れには気づいていないことがあります。写真に割れが見えれば、症状の区分が何であれ担当者に回します。 割れは修理先と費用を大きく変えるからです。
| させないこと | 理由 |
|---|---|
| 回し先の決定 | 店と提携先の取り決め。表で決める |
| 修理できるか、費用の見立て | 職人が楽器を見て決める |
| 保証の期間内かの判断 | 購入時期と保証の条件は表の式で見る |
| 型番からの仕様の推測 | 知識で補うと、違う年式の情報が混ざる |
| お客様への返事の確定 | 担当者が確かめて送る |
2行目がいちばん起きやすい失敗です。 何も言わなければ、AIは「タンポの交換で直る見込みです」と書きます。その一文がお客様への返事に混ざると、職人が見る前に修理の内容を約束したことになります。
指示内容を固定する
あなたは楽器店の修理受付で、届いた依頼を区分に分ける立場です。
依頼の文と写真だけを見て、決めた区分から選んでください。
【楽器の種類】instrument から1つ選ぶ
- お客様が選んだ種類(customer_choice)は参考にとどめ、
文と写真から見立ててください。
- アコースティックギターでも、出力端子やピックアップが写っている、
または文に「アンプ」「ライン」とあれば acoustic_electric にしてください。
- 電子ピアノ・キーボードとアコースティックピアノは、
写真の形と文から分けてください。分けられなければ unknown です。
【症状】symptom から1つ選ぶ。複数あるときは、お客様が一番困っているものを選び、
ほかは other_symptoms に区分で並べてください。
【電気まわり】electrical:電源・電池・配線・ピックアップ・ジャックの症状なら yes
【割れ】crack:写真か文に、割れ・ひび・剥がれが見えれば yes。
文に書かれていなくても、写真に見えれば yes にしてください。
写真が無い、または見えにくいときは unclear です。
【確信の度合い】confidence:high / medium / low
- 写真が無い、文が短い、型番が無いときは high にしないでください。
【厳守事項】
- 修理の方法、直るかどうか、費用、期間を書かないでください。
- どこに回すかを書かないでください。
- 型番から年式や仕様を推測しないでください。
- 保証の期間内かどうかを判断しないでください。
- evidence には、区分の根拠にした文をそのまま写すか、
写真の何を見たかを短く書いてください(例:「2枚目、ボディのくびれ付近に線状のひび」)。
- 修理の依頼ではない内容(買取・購入の相談・苦情など)なら、
区分をせず request_type にその種類を書いてください。
- 確かめたいことがあれば、お客様に聞く形で questions に並べてください。
ただし、聞くのは型番・購入時期・症状の出る場面・写真の撮り直しに限ります。
【依頼】{request}
【お客様が選んだ種類】{customer_choice}
【写真】(input_image で添付)
「どこに回すかを書かない」を明記しないと、AIは親切に回し先を書きます。 書かれた回し先が表と違えば、担当者はどちらを信じるかで迷います。AIの出力に回し先の欄そのものを置かないのは、そのためです。
questions の範囲を絞っているのは、聞きすぎを防ぐためです。 制限しないと「普段どのくらい弾きますか」「保管の環境は」まで聞き、お客様の返事が遅れます。
出力形式を固定する
Responses API の text.format に JSON スキーマを渡し、strict: true で次の形を受け取ります。
{
"request_type": "repair",
"instrument": "electric_guitar | acoustic_guitar | acoustic_electric | bass | woodwind | brass | violin_family | acoustic_piano | digital_piano | synthesizer | drums | other | unknown",
"symptom": "setup | frets | wood_crack | wiring_noise | pads_keys | dent_stuck | keyboard_action | power_board | cosmetic | other | unknown",
"other_symptoms": [""],
"electrical": "yes | no | unclear",
"crack": "yes | no | unclear",
"mismatch_with_customer_choice": true,
"confidence": "high | medium | low",
"evidence": [""],
"questions": [""]
}
1つ目の理由は、区分を表の鍵として使えることです。 instrument と symptom の組で振り分けの表を Search Rows で引けば、回し先と預かりの店が決まります。自由文で「サックスのキィの不調」と返されても、表は引けません。
2つ目は、担当者に回す条件をルーターで書けることです。
| 条件 | 扱い |
|---|---|
confidence が low、または区分に unknown | 担当者が確かめる |
crack が yes か unclear | 担当者が確かめる(割れは費用と回し先を変える) |
| 回し先が外(管楽器工房・弦楽器工房・メーカー・調律師) | 担当者が確かめる |
| 回し先が要相談、または修理先の「受けない楽器」に当たる | 職人に回す |
| 上のどれにも当たらない(店の工房、high) | 一覧で流し見て返信 |
スキーマで気をつけることがあります。 構造化出力では、すべての項目を required にし、オブジェクトに additionalProperties: false を付ける必要があります。項目を任意にしたいときは、型を null との組み合わせにします。 スキーマの enum の値は全体で1,000個までで、この記事の区分は十分に収まります。新しいスキーマの最初の呼び出しは時間がかかるとされているので、試すときはそれを見込みます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 修理受付フォーム | Make の Custom webhook と Webhook response | 依頼を受け、受付番号を返す |
| OpenAI API | HTTP の Make a request | 文と写真から区分を返す |
| 振り分けの表・修理先の一覧 | Google Sheets の Search Rows | 回し先と注意を引く(読むだけ) |
| 受付台帳 | Google Sheets の Add a Row、Update a Row | 依頼と区分と回し先を書く |
| お客様・修理先 | 店のメール | 担当者が下書きを確かめて送る |
振り分けの表には書き込みません。 回し先を変えるのは職人と担当者で、シナリオは読むだけです。表を書き換える権限を持つ人を2〜3名に絞ります。
修理先への引き継ぎの票は、回し先ごとに項目を変えます。 修理先の一覧の「引き継ぎに要る項目」の列を読み、その項目だけを台帳から埋めます。
| 回し先 | 票に入れる項目(例) |
|---|---|
| 提携の管楽器工房 | メーカー・型番、症状の区分と文、写真、前回の調整の時期、預かりの店 |
| メーカーの修理窓口 | 型番・製造番号、購入時期、保証書の有無、症状の出る場面、付属品 |
| 調律師(出張) | 設置の場所、前回の調律の時期、鍵盤・アクションの症状、訪問の希望日 |
票の項目が欠けていれば、それがそのまま「お客様に確かめること」になります。 たとえばメーカーへ回す依頼で製造番号が無ければ、questions の下書きに「本体の裏のラベルの番号を写真でお送りください」を足します。修理先から聞き返される前に、受付の段階で埋めるための仕組みです。
人が確認する
担当者が開くのは、第7章の出力形式の表で「担当者が確かめる」になったものだけです。 店の工房へ回す、確信の高い依頼は、一覧で区分と回し先を流し見て返信します。
- 割れの印があるものを先に見る … 写真を開き、割れが本当に見えるかを確かめます
- 外へ出すものの回し先を確かめる … 型番と症状の文を読み、表の回し先でよいかを見ます
- 確かめることを直して送る …
questionsの下書きを整え、発送の場合は梱包の注意を足します - 要相談は職人に回す … 職人には、区分と写真と evidence をまとめて見せます
- 区分を直したら記録する … どの区分を、どれに変えたかを残します
5番目の記録は、振り分けの表を育てる材料です。 同じ組み合わせで何度も直すなら、表の行が足りていません。
目標は、300件をならして1件3分です。 外へ出すもの・迷ったものは4割前後という想定です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真が HEIC などの非対応の形式 | フォームの側で JPEG にする。できなければ文だけで区分し confidence を下げる |
| 写真のURLの期限が切れる | 期限をシナリオの所要時間より長くとる。切れたら写真なしで処理して担当者へ |
| 写真に楽器以外が写る(人・部屋) | 区分には使わない。担当者が見る前提で、写真の保存を台帳の外にする |
| 修理の依頼ではない | request_type を見て、買取・購入の窓口へ回す |
refusal が返る | スキーマに合わないことがある。区分を使わず担当者へ |
| 応答が途中で切れる | 出力の上限を上げて呼び直す |
| OpenAI API がエラー・応答なし | 台帳に「区分待ち」で残し、通知する |
| Webhook のキューが満杯・要求が多すぎる | 満杯は拒否、10秒あたり300件を超えると429。フォームにエラーを返す |
| 1件に複数の楽器(ギター2本など) | 楽器ごとに分けて台帳に行を作る。分けられなければ担当者へ |
| 他店で買った楽器・改造品 | 区分はそのまま。修理先の一覧の「受けない楽器」で要相談へ |
1行目は、思ったより多く起きます。 スマートフォンで撮った写真をそのまま上げてもらう形のため、フォームの側の変換があるかどうかで、写真を使える依頼の割合が大きく変わります。
記録を残す
- 依頼の全項目と受付番号、受け付けた時刻
- 写真(店のファイルの保管先に。AIへの受け渡しはURLだけ)
- AIの区分の JSON の全文と、プロンプトの版
- 振り分けの表で引いた回し先と、そのときの表の版
- 担当者が直した区分と回し先、職人に回した記録
- 修理先から差し戻された記録(回し先の間違い・確認の不足)
最後の行が、この構成の成績表です。 回し先の間違いで差し戻された件数が減っていれば、表とAIの区分が合っています。Make の実行の記録は3日(Enterprise は30日)しか残らないので、台帳の側に残します。
04実装レベルの3段階
最小構成では件数がさばけません。 区分が実際の回し先とどれくらい合うかを確かめる段階です。 半自動化で、1件8分が5分程度になります。 区分と台帳への記録は自動になりますが、表を引いて回し先を決めることと、下書きが手で残ります。本格構成で3分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の台帳を1か月見ると、表に無い組み合わせと、unknown になりやすい楽器が分かります。表を埋めてから振り分けを入れたほうが、担当者に回る件数が減ります。
05工数削減シミュレーション
導入後 300件 × 3分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- ギター・管楽器・弦楽器・電子楽器・ピアノなど複数の楽器を扱い、修理を店の工房と外部の工房・メーカー・調律師に分けて出している楽器店。Web やメールで写真付きの修理の依頼が月に数百件届き、どこへ回すかを工房の職人に聞かないと決められない場合。店舗が複数あり、受付の担当によって回し先が違ってしまう場合。
- 扱う楽器が1種類で、修理をすべて店の工房で受けている場合。依頼が月に数十件で、職人が受付を兼ねている場合。修理の受付をメーカーの窓口に一本化している場合。なお、修理できるか、いくらかかるかの見立ては職人が行うもので、この構成は代替しません。
07最小構成で試す方法
- 過去3か月の修理の依頼から30件を選ぶ(うち数件は、回し先を間違えて往復したものを入れる)
- その30件の回し先を、受付台帳から書き出す
- 手元のAIサービスの画面に、依頼の文と写真を1件ずつ貼り、第7章のプロンプトで区分させる
- 区分を手で振り分けの表に当て、回し先を出す
- 出てきた回し先を、実際の回し先と突き合わせる
往復したものを必ず入れてください。 この構成が役に立つのは、受付で見誤ったものを拾うところだからです。
| 出てきた内容 | 判断 |
|---|---|
| 往復したものを正しい回し先に当てた | シナリオを組む段階に進む |
| 区分は正しいが、表の回し先が違った | 表の行の問題。職人と表を直す |
| 写真の割れを拾えなかった | 写真の撮り方の問題。フォームに撮る場所の説明を足す |
| AIが修理の方法や費用を書いた | 指示の書き方で直る。構成は有効 |
2行目が出たら、AIは悪くありません。 職人の頭の中の決まりが、表にまだ書き出されていないということです。
30件のうち、写真の付いていない依頼も数件入れてください。 写真が無いと、エレアコと生のアコースティックギター、電子ピアノとアコースティックピアノの見分けが文だけに頼ることになります。写真なしでどの区分が崩れるかを見ておくと、フォームで写真を必須にする楽器を決められます。 全部の楽器で写真を必須にすると、写真を撮れないお客様が依頼をやめてしまうので、崩れる楽器だけに絞ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| お客様の選んだ種類のまま回してしまう | AIの見立てを使い、食い違いの印を出す |
| エレアコの配線の症状が木工に回る | 種類に acoustic_electric を置き、端子とピックアップで見分けさせる |
| 割れを見落として店の工房に回る | 割れを症状と別に聞き、yes か unclear なら担当者へ |
| AIが修理の方法や費用を書く | プロンプトで禁じ、出力に該当する欄を置かない |
| HEIC の写真が読めない | フォームの側で JPEG にする |
| 写真のURLの期限切れ | 期限をシナリオの所要時間より長くとる |
| 表に無い組み合わせで止まる | 要相談に回し、直した記録から表を足す |
| スキーマで任意の項目を作って弾かれる | 全項目を required にし、任意は null との組み合わせにする |
| 提携先が受けない楽器を回す | 修理先の一覧の「受けない楽器」の列で要相談へ |
questions が長くなりお客様が返事をしない | 聞くことを型番・購入時期・症状の場面・写真に限り、3つまでにする |
| 職人が表の更新をしなくなる | 区分を直した記録を月1回まとめて見せ、表に足す行を一緒に決める |
上の3行が、この構成の失敗のほとんどです。 どれも回し先の間違いにつながり、楽器が工房を往復する形で表に出ます。AIの精度より、区分の作り方と担当者に回す条件のほうが効きます。
下の2行は、運用が数か月続いてから効いてきます。 表は一度作って終わりではなく、新しい楽器や提携先の変化で古くなります。表が古くなると、要相談が増えて職人に聞く回数が元に戻ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: お客様の名前・連絡先・住所(発送の場合)、楽器のメーカーと型番、購入時期、症状の文、写真です。写真には、部屋の様子や人が写り込むことがあります。
- AIに渡す範囲を絞る … 名前・連絡先・住所は渡しません。区分に要るのは楽器と症状と写真だけです
- 写真の写り込みに気をつける … フォームに「楽器だけを写してください」と書き、撮る場所の例(全体・症状の箇所・型番のラベル)を示します
- データの扱いを確かめる … OpenAI API に送ったデータは、明示的に同意しない限り学習に使われないとされています。Responses API は既定で応答のデータを30日保持するので、
storeをfalseにして呼びます。 不正利用の監視のログは、既定で最大30日保持されるとされています - 修理の内容を約束しない … 返事の下書きに、直るかどうか・費用・期間を書かせません。それを言えるのは楽器を見た職人だけです
- 未成年のお客様 … 学生の楽器の修理も多いので、フォームの依頼者は保護者の名前で受ける形にしておきます
- 振り分けの表の変更を記録する … 誰がいつ回し先を変えたかが残らないと、間違いの原因が追えません
誤りが起きた場合のリスクは、回し先を間違えて楽器が往復することと、割れのような重い症状を見落とすことの2つです。 前者は表と区分で、後者は割れを別に聞くことで防ぎます。どちらも、外へ出すものを担当者が確かめる設計で最後に止まります。
10まず何から始めるか
1週目:振り分けの表を作る
過去半年の受付台帳から、回し先ごとに多い「楽器と症状」の組み合わせを拾い、職人と30分ほどで表にします。要相談に回すものも、表に書いておきます。
2週目:30件で試す
第8章の手順で30件を区分させ、往復したものを正しい回し先に当てられるかを最優先で見ます。
3週目:フォームを直す
写真の撮り方の説明、HEIC の扱い、依頼者の欄を直します。写真が使える依頼の割合が、この構成の効き目を決めます。
4週目:フォームから台帳への記録までをつなぐ
Make でフォームを受け、OpenAI API で区分させ、受付台帳に書くところまで作ります。この時点では回し先を出さず、区分だけを担当者が見ます。
2か月目: 振り分けの表で回し先を引き、担当者に回す条件で分けます。直した区分を毎週数えます。3か月目以降: 確かめることと引き継ぎの票の下書きを足し、1件8分が何分になったかを実測します。修理先から回し先の間違いで差し戻される件数が月に数件まで減り、職人に聞くのが要相談だけになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| カスタムの Webhook が外部からの HTTPS の要求を受けるURLを作り、既定では受けた時点でシナリオが動くこと。Webhook ごとのキュー。即時の Webhook が既定で並行して動くこと。キューが満杯のときの拒否と、10秒あたり300件を超えると429。Webhook response を途中に置くと後のエラーでシナリオが止まらないこと。記録の保持が3日(Enterprise は30日) | Make Help Center: Webhooks | 2026-10-28 |
| HTTP アプリの Make a request。本文の入力方法の Data structure(予約文字を自動でエスケープ)と JSON string。「Return error if HTTP request fails」で4xx・5xx のときに止められること | Make Apps: HTTP | 2026-10-28 |
| Google Sheets の Search Rows、Add a Row、Update a Row のモジュールがあること | Make Apps: Google Sheets modules | 2026-10-28 |
Responses API の構造化出力を text.format に json_schema・strict: true で指定すること。全項目を required にし、additionalProperties: false が必要なこと。任意の項目は null との組み合わせで表すこと。enum の値が全体で1,000個まで。refusal の扱い。新しいスキーマの最初の呼び出しに追加の時間がかかること | OpenAI API: Structured model outputs | 2026-10-28 |
画像入力が input_image で、URL・Base64 のデータURL・ファイルのIDで渡せること。対応する形式が PNG・JPEG・WEBP・アニメーションでない GIF であること。1回の要求に複数の画像を入れられ、画像ごとにトークンとして数えられること | OpenAI API: Images and vision | 2026-10-28 |
| API に送ったデータが、明示的に同意しない限り学習に使われないこと。不正利用の監視のログが既定で最大30日保持されること。Responses API の応答のデータが既定で30日保持されること | OpenAI API: Your data | 2026-10-28 |
回し先の6区分と、楽器・症状の区分は本記事の例です。 実際の区分は、店の工房の受けられる範囲と提携先との取り決めに合わせて置き換えてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2199)についてのご相談はこちらから。
