ハウスクリーニングの Web の依頼を Make で受け、場所・広さ・汚れの写真から作業の時間と料金の目安を整えて、日程の候補を添えた返信を作る
ハウスクリーニングの Web の依頼の文と汚れの写真から、AIが掃除する場所・数量・広さ・汚れの程度の目安を項目ごとに抜き出します。料金と作業の時間は単価表で計算し、作業班の予定の空きから日程の候補を選んで、返信の下書きを作ります。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- その他/不動産
- 対象部門
- 営業
- 対象業務
- データ入力・転記/書類作成
- 主な課題
- 営業フォローが追いつかない/属人化している/書類作成に時間がかかる
- AIで行う処理
- 抽出
- 主な効果
- 品質標準化/対応スピード向上/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 依頼の通知メールを受け、依頼の一覧に依頼者・場所・希望の日を写す
- 写真を開き、場所ごとの汚れの程度と数量を見る
- 単価表を見て、場所ごとの料金と作業の時間を足し合わせる
- 作業班のカレンダーを見比べ、作業の時間が収まる空きを探す
- 料金の目安と日程の候補を書いた返信を作って送る
- 依頼者が日程を選んだら、作業班のカレンダーに予定を入れる
- 自動依頼フォームが送られると、Make のシナリオがすぐに動く
- 自動添付の写真を取り込み、形式と大きさを確かめる
- 自動Claude API が、依頼の文と写真から、場所・数量・広さ・汚れの程度の目安・特別な条件・エアコンの型番を項目ごとに抜き出し、足りない情報を挙げる
- 自動単価表で、場所ごとの料金の目安の幅と作業の時間を計算し、出張費を足す
- 自動作業班のカレンダーの空きを Get Free/Busy Information で引き、希望の日と時間帯の中で作業の時間が収まる枠を3つ選ぶ
- 自動料金の目安の内訳、追加の料金がかかりうる条件、日程の候補、足りない情報の質問を並べた返信の下書きを作る
- 人事務の担当が内訳と写真を確かめ、返信の下書きを直して送る
- 人依頼者が日程を選んだら、担当が作業班のカレンダーに予定を入れる
各工程の詳しい説明を読む
- 依頼の通知メールを受け、依頼の一覧に依頼者・場所・希望の日を写す
- 写真を開き、場所ごとの汚れの程度と数量を見る
- 単価表を見て、場所ごとの料金と作業の時間を足し合わせる
- 作業班のカレンダーを見比べ、作業の時間が収まる空きを探す
- 料金の目安と日程の候補を書いた返信を作って送る
- 依頼者が日程を選んだら、作業班のカレンダーに予定を入れる
(a)返信が遅れる。 依頼は夜と週末に集中します。事務の担当は日中に順に返すので、夜に届いた依頼への返信が翌日の午後になることがあります。 その間に依頼者は他社にも頼んでいて、返信を送った時には決まっていた、という依頼が少なくありません。
(b)担当によって料金の目安が違う。 同じ「浴室のカビがひどい」写真を、ある担当は加算なし、別の担当は重めの加算で返します。単価表に加算の基準はあっても、写真のどこを見て「重め」とするかが担当の目に任されています。
(c)作業の時間の見込みが外れる。 場所を足し合わせるときに、汚れの加算による時間の延びを入れ忘れると、午前の枠に入れた作業が昼をまたぎ、午後の依頼者を待たせます。 作業班からは「事務が入れる時間が短い」という声が出ています。
(d)足りない情報の聞き直しが往復になる。 エアコンの型番、浴室の広さ、駐車場の有無が分からないまま料金を出せず、聞き直しのメールを送り、返事を待ってから見積を作ることになります。1回で聞けていれば、往復が1回で済んだ依頼です。
- 【自動】 依頼フォームが送られると、Make のシナリオがすぐに動く
- 【自動】 添付の写真を取り込み、形式と大きさを確かめる
- 【自動】 Claude API が、依頼の文と写真から、場所・数量・広さ・汚れの程度の目安・特別な条件・エアコンの型番を項目ごとに抜き出し、足りない情報を挙げる
- 【自動】 単価表で、場所ごとの料金の目安の幅と作業の時間を計算し、出張費を足す
- 【自動】 作業班のカレンダーの空きを Get Free/Busy Information で引き、希望の日と時間帯の中で作業の時間が収まる枠を3つ選ぶ
- 【自動】 料金の目安の内訳、追加の料金がかかりうる条件、日程の候補、足りない情報の質問を並べた返信の下書きを作る
- 【人】 事務の担当が内訳と写真を確かめ、返信の下書きを直して送る
- 【人】 依頼者が日程を選んだら、担当が作業班のカレンダーに予定を入れる
4番目と5番目を規則にしているのが、この設計の要です。 料金と時間はAIの出力ではなく単価表から決まるので、第3章の(b)と(c)が同じ表で止まります。 汚れの加算による時間の延びも、表に書いておけば入れ忘れません。
6番目で足りない情報の質問を最初の返信に入れるのは、第3章の(d)を止めるためです。 型番が無ければ「エアコンの本体の右側面に貼られたラベルの写真をお送りください」と、料金の目安と一緒に聞きます。 往復が1回で済みます。
02今回想定するシステム構成
依頼(自社サイトの依頼フォーム+汚れの写真) ▼【トリガー】Webhooks:Custom webhook(フォームの送信先) Make のシナリオ ├──▶ 写真を取り込む(形式・大きさの確認) ├──▶ Anthropic Claude:Make an API Call(場所・数量・汚れの程度の目安・型番・足りない情報) ├──▶ Google Sheets:Search Rows(単価表・出張費の地域) ├──▶ 料金の目安の幅と作業の時間を計算 ├──▶ Google Calendar:Get Free/Busy Information(作業班の空き) ├──▶ 日程の候補を3つ選ぶ ├──▶ Gmail:Create a draft email(返信の下書き) └──▶ Google Sheets:Add a Row(依頼の一覧) 【人が確かめて送る】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Webhooks、Google Sheets、Google Calendar、Gmail) | n8n、Zapier、Power Automate |
| 生成AI | Claude API(Messages API の画像入力、構造化出力) | OpenAI API |
| 保管 | Google スプレッドシート(単価表・出張費の地域・依頼の一覧) | Airtable |
| 予定表 | Google カレンダー(作業班ごとの予定) | Microsoft Outlook の予定表 |
| メール | Gmail(依頼者への返信の下書き) | Microsoft Outlook |
新しく足すのは、シナリオと、単価表の「汚れの程度による時間の加算」の列だけです。 依頼フォームと作業班のカレンダーは今のまま使います。この構成が書き込むのは、依頼の一覧と Gmail の下書きだけで、カレンダーには予定を入れません。 予定を入れるのは、依頼者が日程を選んだ後に担当が行います。
入口は Make の Webhooks の Custom webhook です。 依頼フォームの送信先に、Make で発行した Webhook の URL を指定します。公式のページでは、即時の Webhook は URL にリクエストが届いた直後にシナリオが動くとされています。夜と週末に届く依頼にも、その場で下書きまで作っておけます。
作業班の空きは、Google Calendar のアプリの Get Free/Busy Information で引きます。 Make の Google Calendar のアプリには、Search Events や Create an Event のほかに、この Get Free/Busy Information があります。5つの作業班のカレンダーを並べて引き、予定の入っていない時間を出します。
読み取りは Claude API の画像入力で行います。 公式のページでは、対応する形式は JPEG・PNG・GIF・WebP で、1枚は Claude API で base64 にして10MBまでとされています。Make の Anthropic Claude のアプリには Make an API Call があり、この構成ではそれで Messages API を呼び、output_config.format に JSON スキーマを書いて受けます。 公式のアプリのページには、画像の入力と構造化出力の記載がありません。
03どうやって実装するのか
処理の起点を決める
依頼フォームが送られた時点を起点にします。 返信の早さが、依頼者が他社に決める前に選んでもらえるかを分けます。定時にまとめて処理すると、夜に届いた依頼の下書きが翌朝まで作られません。
下書きまでは夜でも作りますが、送るのは担当です。 夜の間に下書きを作っておけば、担当は朝一番に確かめて送るだけで済みます。夜に自動で送る形にしないのは、料金の目安が会社の約束の一部になるからです。
受信の返事は、Webhook response のモジュールで返します。 公式のページでは、このモジュールを途中に置くと後のモジュールの誤りがシナリオを止めず、通知に気づけないことがあり、最後に置けばどこで誤りが起きても通知されるとされています。依頼者の画面には「ご依頼を受け付けました。担当から料金の目安と日程の候補をお送りします」とだけ返します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼の内容 | 選んだ場所と自由記述、間取り、住所の市区町村、希望の日と時間帯(3つまで)、駐車場の有無、依頼者の名前と連絡先 | 依頼フォーム(Webhook) |
| 写真 | 1件につき最大6枚 | フォームの保存先 |
| 単価表 | 場所ごとの基本の料金、標準の作業時間、汚れの程度による料金の加算と時間の加算、数量による割引 | 単価表のシート |
| 出張費の地域 | 市区町村ごとの出張費と、駐車場が無いときの加算 | 出張費のシート |
| 作業班の予定 | 班ごとのカレンダーの予定の入っている時間 | Google カレンダー |
| 作業班の決まり | 1日の作業の時間の上限、午前と午後の枠の時刻、班ごとの得意な作業(エアコンの分解など) | 作業班のシート |
質を決めるのは、単価表の「汚れの程度」の決め方です。 例えば次のような表です。
| 場所 | 汚れの程度 | 見分けの目安(写真で見るところ) | 料金の加算 | 時間の加算 |
|---|---|---|---|---|
| レンジフード | 軽め | ファンの羽根の形が見え、油の垂れが無い | なし | なし |
| レンジフード | 重め | 羽根の溝が油で埋まっている、油が垂れて固まっている | あり | 30分 |
| 浴室 | 軽め | カビが目地の一部だけ | なし | なし |
| 浴室 | 重め | カビが天井・壁の広い範囲、ゴムのパッキンが黒い | あり | 30分 |
| エアコン(壁掛け) | 重め | 吹き出し口の奥のファンに黒い点が多い | あり | 20分 |
「見分けの目安」の列を、AIへの指示にもそのまま渡します。 AIにも担当にも同じ基準を見せることで、写真のどこを見て重めとするかが、担当の目から表に移ります。 第3章の(b)は、この列で止めます。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 依頼の内容 | 依頼フォーム | Custom webhook の出力 |
| 写真 | フォームの保存先 | 保存先の URL から取り込む |
| 料金と時間 | 単価表のシート | Search Rows(AIが返した場所の区分と汚れの程度) |
| 出張費 | 出張費のシート | Search Rows(市区町村、駐車場の有無) |
| 作業班の空き | 作業班のカレンダー | Get Free/Busy Information(希望の日の範囲) |
| 作業班の決まり | 作業班のシート | Search Rows |
単価表は、AIの出力を受けた後に引きます。 AIには料金を見せません。AIに渡すのは、場所の区分の一覧と「見分けの目安」の列だけです。 料金を見せると、汚れの程度を料金に寄せて書くことがあります。
空きは、希望の日の範囲だけを引きます。 3つの希望の日を含む範囲で作業班のカレンダーを引き、作業の時間に移動の時間(地域ごとの目安)を足した長さが収まる枠を探します。 お掃除機能付きのエアコンが含まれる依頼は、作業班のシートで分解に慣れた班だけを候補にします。
AIへ渡す前に整形する
- 写真の形式の確認 … JPEG・PNG・GIF・WebP 以外(HEIC など)は、フォームの側で変換して送るよう設定します
- 大きさの確認 … 1枚が base64 で10MBを超えるものは縮小します
- 選んだ場所と写真の数の確認 … 選んだ場所の数より写真が少なければ、写真の無い場所を AI に渡す前に一覧にしておきます
- AIに渡す範囲を絞る … 依頼者の名前、住所の番地、電話番号は渡しません。依頼の文、選んだ場所、間取り、写真だけにします
3番目を前に置くのは、写真の無い場所の汚れの程度を AI が推測しないようにするためです。 写真の無い場所は、最初から unknown として渡します。料金は「軽め」と「重め」の両方の幅で示し、写真を頼む質問を返信に入れます。
4番目で番地を外しても、出張費は市区町村で決まります。 写真に表札や郵便物が写り込んでいることもあるので、写真の中の文字は、型番のラベル以外は写さないよう指示します。
AIに処理させる
させるのは、依頼の文と写真から、場所ごとの項目を抜き出すことです。
| 項目 | 区分 | 判断できないときの扱い |
|---|---|---|
| 場所 | range_hood/kitchen/bath/toilet/washroom/aircon_wall/aircon_auto_clean(お掃除機能付き)/window/floor/other | 迷えば other |
| 数量 | 台数・か所の数 | 書かれていなければ1とし、missing に入れる |
| 広さ | 浴室の大きさの区分、窓の枚数、床の畳数 | 書かれていなければ空 |
| 汚れの程度の目安 | light/heavy/unknown | 写真が無ければ unknown。迷えば unknown |
| 特別な条件 | 高い所の作業、ペットの毛、壁のカビの広がり、室外機の位置 | 書かれていなければ空 |
| エアコンの型番 | ラベルの写真から写す | 写っていなければ空で missing に入れる |
| 足りない情報 | 型番、浴室の広さ、駐車場の有無、写真の無い場所 | - |
汚れの程度は「迷えば unknown」にさせます。 heavy と書けば料金が上がり、light と書けば作業の時間が足りなくなります。どちらに倒しても誰かが困るので、迷ったら両方の幅で示し、担当と依頼者に確かめてもらう形にします。
お掃除機能付きかどうかは、写真と文の両方から見ます。 依頼者が「普通のエアコン」と書いていても、写真の前面に自動の掃除の機能の表示が見えることがあります。その場合は aircon_auto_clean にし、根拠の文を evidence に書かせます。 料金も時間も大きく変わるので、担当が必ず型番で確かめます。
| させないこと | 理由 |
|---|---|
| 料金を出す | 単価表で計算する。担当による差を無くす |
| 作業の時間を見積もる | 標準の作業時間と加算で計算する |
| エアコンを分解できるかを判断する | 機種ごとの手順は担当と作業班が型番で確かめる |
| 日程を決める | 作業班の空きと規則で候補を出し、依頼者が選ぶ |
| 写真の中の表札や郵便物の文字を写す | 依頼に要らない個人の情報 |
3行目は、国民生活センターの助言とも重なります。 エアコンのクリーニングはクリーニングの方法も含めて確かめ、必要に応じてメーカーに問い合わせるとよいとされています。分解の可否はAIの判断に置かず、担当が型番で確かめてから返信に書きます。
指示内容を固定する
あなたはハウスクリーニングの会社の事務の補助として、依頼の文と写真
から、掃除する場所ごとの項目を抜き出します。料金、作業の時間、
日程、エアコンを分解できるかは決めません。
【すること】
1. 依頼の文と写真から、場所を下の区分の一覧から選び、数量・広さ・
特別な条件を書く。
2. 写真がある場所は、「見分けの目安」に照らして汚れの程度を
light か heavy から選ぶ。根拠にした写真の番号と、見えたものを
evidence に短く書く。
3. エアコンの写真に型番のラベルが写っていれば、型番をそのまま写す。
4. 料金の計算に足りない情報を missing に並べる。
【厳守事項】
- 写真の無い場所の汚れの程度は unknown にする。依頼の文の
「ひどい」だけで heavy にしない。
- 迷ったら unknown にする。light にも heavy にも寄せない。
- 書かれていない数量や広さを推測で埋めない。
- 料金、作業の時間、日程、分解できるかを書かない。
- 写真に写った表札、郵便物、書類の文字を写さない。型番のラベル
だけを写す。
- 写真の人物について何も書かない。
- 依頼がハウスクリーニングの依頼でなければ、場所を other にし、
notes に一言で書く。
【場所の区分の一覧】{places}
【見分けの目安】{dirt_criteria}
【選んだ場所と間取り】{selected}
【写真の無い場所】{no_photo}
【依頼の文】{request_text}
【写真】Image 1: {image_1} Image 2: {image_2} ...
「依頼の文の『ひどい』だけで heavy にしない」を書くのは、依頼者の言葉と写真が食い違うことが多いからです。 依頼者が「ひどい」と書いた浴室の写真が、目地の一部だけのカビということはよくあります。汚れの程度の根拠を写真に置くことで、料金の目安が依頼者の言葉の強さで変わらなくなります。
出力形式を固定する
次の形の JSON を返させます。
{
"request_id": "",
"items": [
{
"place": "range_hood | kitchen | bath | toilet | washroom | aircon_wall | aircon_auto_clean | window | floor | other",
"quantity": 1,
"size": "",
"dirt_level": "light | heavy | unknown",
"conditions": [""],
"model_number": "",
"evidence": [ { "image_no": 1, "text": "" } ]
}
],
"missing": ["エアコンの型番", "駐車場の有無"],
"notes": ""
}
構造化出力にする1つ目の理由は、単価表をそのまま引けることです。 place と dirt_level で単価表の行を引き、quantity を掛けて料金と時間を足し合わせます。Claude API の構造化出力は、スキーマを output_config.format に渡し、オブジェクトには additionalProperties: false を付けます。place と dirt_level は enum にして、一覧の外の値が返らないようにします。 公式のページでは数値の minimum などの制約は使えないとされているので、quantity が0や極端に大きい値なら、ワークフローの側で担当に回します。
料金と時間の計算は、ワークフローが次の規則で行います。
dirt_level | 料金の目安 | 作業の時間 |
|---|---|---|
light | 基本の料金 | 標準の作業時間 |
heavy | 基本の料金+加算 | 標準の作業時間+時間の加算 |
unknown | 「基本の料金〜加算込み」の幅 | 加算込みの時間で枠を探す |
unknown のときに長いほうの時間で枠を探すのが、第3章の(c)への答えです。 短いほうで枠を取ると、現地で重めだったときに後の予定が崩れます。
2つ目の理由は、応答の終わり方を確かめられることです。 公式のページでは、stop_reason が refusal や max_tokens のときは出力がスキーマに合わないことがあるとされています。そのときは計算をせず、担当に回します。
返信の下書きは、表から引いた次のものを並べます。 場所ごとの料金の目安の内訳、出張費、合計の目安の幅、日程の候補3つ、足りない情報の質問、そして「最終の料金は作業の前に現地で汚れの状態を確かめてからお伝えし、ご了承をいただいてから作業します」「写真で分からない汚れや、追加のご依頼があった場合は料金が変わることがあります」の2文です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 依頼フォーム | Make の Custom webhook と Webhook response | 依頼を受け、受付済みを返す |
| Claude API | Anthropic Claude の Make an API Call | 場所ごとの項目と足りない情報 |
| 単価表・出張費・作業班の決まり | Google Sheets の Search Rows | 料金・時間・出張費・班の条件を引く(読むだけ) |
| 作業班のカレンダー | Google Calendar の Get Free/Busy Information | 予定の入っている時間を引く(読むだけ) |
| 依頼の一覧 | Google Sheets の Add a Row | 項目・計算の結果・候補・返信の状態を残す |
| 依頼者 | Gmail の Create a draft email | 料金の目安と日程の候補の返信の下書き |
カレンダーへは書き込みません。 候補の枠を仮で押さえる形にすると、依頼者が選ばなかった枠が残り、別の依頼者に出す候補が減ります。 依頼者が選んだ後で担当が Create an Event で入れる手順は、2か月目以降に足します。
同じ枠を2件の依頼者に候補として出すことは起きます。 先に返事をくれた依頼者に枠を渡し、後の依頼者には担当が別の候補を出します。返信の下書きに「先にご返信いただいた方から日程を確定します」と書いておきます。
人が確認する
全件、事務の担当が内訳と写真を確かめてから送ります。
- お掃除機能付きのエアコンを見る …
aircon_auto_cleanがあれば、型番で分解の手順を確かめ、引き受けられるかを決めます - 汚れの程度と写真を見る …
evidenceを読み、写真の該当する部分を見て、heavyとunknownが妥当かを確かめます - 料金の目安の幅を見る … 内訳と合計の幅が単価表どおりかを確かめます。値引きや特別な対応は担当が書き足します
- 日程の候補を見る … 候補の枠に、カレンダーに入っていない予定(作業班の休み)が無いかを確かめます
- 送る … 返信の下書きを直して送り、依頼の一覧の状態を「送付済み」にします
目安は、下書きを見てから送るまでが1件5分です。 場所が1つで写真のそろった依頼は数分で送れ、エアコンの型番を調べる依頼は時間がかかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真が無い・場所の写真が足りない | 汚れの程度を unknown にし、両方の幅で示して写真を頼む |
| 写真の形式が対応していない(HEIC など) | 担当へ回し、JPEG か PNG での送り直しを頼む |
| お掃除機能付きで型番が分からない | ラベルの写真を頼み、料金は機能付きの幅で示す |
| 希望の日に収まる枠が無い | 希望の日の前後1週間で枠を探し、担当が候補を確かめる |
| 対応地域の外 | 出張費のシートに無ければ担当へ回し、お断りの文を担当が書く |
| 依頼の場所が単価表に無い(屋根、外壁など) | other として担当へ回し、現地の見積を案内する |
quantity が0や極端に大きい | 担当へ回し、数量を確かめる |
| Claude API が応答しない | 依頼の一覧に残して担当へ回し、担当が今までどおり見積を作る |
| 依頼者が値引きを求める | AIの下書きは単価表どおり。値引きは担当が決める |
1行目と3行目が大半を占めます。 どちらもフォームの側で減らせるので、選んだ場所ごとに写真の欄を分け、エアコンを選んだらラベルの写真の欄が出るようにフォームを直します。
記録を残す
- 依頼の内容と写真、受付の時刻
- 返ってきた JSON の全文と
stop_reason - 引いた単価表の行と版、計算した料金の目安と作業の時間、日程の候補
- 担当が直した汚れの程度・料金・候補と、送った時刻
- 依頼者が選んだ日程と、現地で確定した料金と作業の時間
最後の行を残すのは、目安と実際の差を見るためです。 light と見立てた浴室が現地で重めだった件が続くなら、「見分けの目安」の列の書き方を直す時期です。 作業の時間の差が大きい場所は、単価表の標準の作業時間を見直します。
04実装レベルの3段階
最小構成は、項目の抜き出しと見分けの目安が当時の判断を再現できるかを確かめる段階です。 夜と週末の依頼には使えません。 半自動化で、1件15分が5分になり、この段階が本記事の想定です。 人に残るのは、エアコンの型番の確認、汚れの程度と写真の確かめ、値引きなどの書き足し、送信です。
05工数削減シミュレーション
導入後 360件 × 5分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- キッチン・浴室・エアコンなどの家庭向けの清掃を複数の作業班で請け負い、自社サイトの依頼フォームから月に数百件の見積の依頼を受けて、事務の担当が写真を見ながら料金と日程を1件ずつ返している会社。作業の種類ごとの単価と標準の作業時間を表にできる場合。返信が遅れて、依頼者が他社に決めてしまうことが多い場合。
- 依頼が月に数十件で、社長が自分で電話で見積を伝えている場合。料金がすべて現地を見てからの見積で、目安の単価を出していない場合(先に単価表を作る必要があります)。なお、最終の料金の確定、作業を引き受けるかどうか、エアコンの機種ごとの分解の可否の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の依頼から30件を選ぶ(場所が1つのもの、複数の組み合わせ、お掃除機能付きのエアコン、写真の少ないものを混ぜる)
- 30件について、当時の担当が返した料金の目安と、現地で確定した料金を書き出す
- 場所の区分の一覧と「見分けの目安」と第7章の指示を、手元の Claude の画面に貼る
- 30件の依頼の文と写真を1件ずつ貼り、項目の JSON を書かせる
- 項目を単価表に当てはめて料金を計算し、当時の目安と現地の料金と比べる
30件は必ずやってください。 シナリオを組む前に、写真の無い場所の汚れの程度を推測で埋めないか、依頼者の言葉の強さに引きずられないかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 現地の料金に当時と同じか、より近い | シナリオの組み立てに進む |
依頼の文の「ひどい」で heavy にする | 指示の書き方で直る。構成は有効 |
| 見分けの目安で担当どうしの判断が割れる | 目安の書き方を見直す。 AIではなく表の問題 |
3行目は、担当ごとの差が表に出てきたということです。 担当3名と作業班の班長で割れた写真を持ち寄り、見分けの目安の言葉を、写真のどこを見るかが分かる書き方に直します。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 写真の無い場所の汚れを推測する | 写真の無い場所を先に unknown で渡す |
依頼者の言葉の強さで heavy にする | 汚れの程度の根拠を写真に置き、指示に明記する |
| AIが料金を書く | 単価表を渡さず、項目だけを返させる |
| 作業の時間が短く見積もられる | unknown は加算込みの時間で枠を探す |
| お掃除機能付きを見落とす | 写真と文の両方から見させ、担当が型番で確かめる |
| 同じ枠を2件に候補として出す | 先に返事をくれた依頼者に渡す旨を返信に書く |
| 表札や郵便物の文字が記録に残る | 型番のラベル以外の文字を写さない |
| 単価表が古い | 表に見直した日を持たせ、料金を改定したら直す |
上の2行が、この構成の失敗のほとんどです。 どちらも料金の目安が実際とずれ、現地で料金を伝え直すことになります。 汚れの程度の根拠を写真と見分けの目安に置くことで、両方を止めます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 依頼者の名前・住所・電話・メール、住まいの中の写真です。住まいの中の写真には、間取り、在宅の様子、表札や郵便物が写り込むことがあります。
- AIに渡す範囲を絞る … 名前、番地、電話番号は渡しません。依頼の文、選んだ場所、間取り、写真だけにします
- 写真の中の個人の情報を写さない … 型番のラベル以外の文字を記録に残さないよう指示します
- 料金の約束を自動で送らない … 返信は下書きまでにし、担当が確かめてから送ります
- 最終の料金は現地で確定する … 返信に「作業の前に現地で確かめ、ご了承をいただいてから作業する」ことと、追加の料金がかかりうる条件を必ず書きます。 国民生活センターは、追加の料金の可能性を事前に確かめるよう呼びかけています
- エアコンの分解の可否は人が決める … 型番と作業班の経験で決め、引き受けられない機種は正直に返信に書きます
- 写真の保存の期間を決める … 作業が終わった後、いつまで住まいの中の写真を残すかを先に決めます
誤りが起きた場合のリスクは、料金の目安が実際とずれて現地でもめることと、住まいの中の情報を必要以上に残すことの2つです。 前者は単価表で計算して幅と条件を示すことで、後者は渡す範囲と写す範囲を絞ることで止めます。
10まず何から始めるか
1週目:表を作る
単価表に「見分けの目安」と「時間の加算」の列を足します。担当3名と作業班の班長で、場所ごとに写真のどこを見て重めとするかを決めます。 作業班のシートに、1日の上限と枠の時刻、エアコンの分解に慣れた班を書きます。
2週目:30件で試す
先月の依頼から30件を選び、手元の Claude の画面で項目を書かせます。写真の無い場所を推測で埋めないかと、依頼者の言葉の強さに引きずられないかを最優先で見ます。
3週目:フォームを直す
依頼フォームの送信先を Make の Webhook にし、選んだ場所ごとに写真の欄を分け、エアコンを選んだらラベルの写真の欄が出るようにします。
4週目:受付から返信の下書きまでをつなぐ
Make で項目の抜き出し、料金と時間の計算、空きの候補、返信の下書きまでを作ります。この時点では担当が今までどおり自分でも見積を作り、下書きとの違いを依頼の一覧に残します。
2か月目: 下書きを前提にした返信に切り替え、依頼者が選んだ日程を担当がカレンダーに入れる手順を足します。3か月目以降: 現地で確定した料金と目安の差を見て、見分けの目安と標準の作業時間を直します。夜に届いた依頼への返信が朝一番に送れるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 即時の Webhook が URL にリクエストが届いた直後にシナリオを動かすこと。Webhook response を途中に置くと後の誤りで通知されないことがあり、最後に置くとどこで誤りが起きても通知されること | Make: Webhooks | 2026-10-26 |
| Google Calendar のアプリに Search Events・Create an Event・Get Free/Busy Information などがあること | Make: Google Calendar | 2026-10-26 |
| Google Sheets のアプリに Search Rows・Add a Row などがあること | Make: Google Sheets modules | 2026-10-26 |
| Gmail のアプリに Create a draft email などがあること | Make: Gmail modules | 2026-10-26 |
| Anthropic Claude のアプリに Make an API Call があり、アプリのページに画像の入力と構造化出力の記載が無いこと | Make: Anthropic Claude | 2026-10-26 |
| 画像の対応形式が JPEG・PNG・GIF・WebP であること。1枚の大きさが Claude API で base64 にして10MBまでであること | Claude: Vision | 2026-10-26 |
構造化出力が output_config.format(type: json_schema)で使え、オブジェクトに additionalProperties: false が必要なこと。enum が使え、数値の minimum などの制約が使えないこと。stop_reason が refusal・max_tokens のときに出力がスキーマに合わないことがあること | Claude: Structured outputs | 2026-10-26 |
| ハウスクリーニングの相談の事例。広告の料金でできる作業の範囲や追加の料金の可能性を事前に確かめること、補償の内容や保険の加入を確かめること、エアコンはクリーニングの方法も含めて確かめ必要に応じてメーカーに問い合わせるとよいこと(2025年2月28日公表) | 国民生活センター: ハウスクリーニングのトラブルにご注意 | 2026-10-26 |
料金の決め方、エアコンの機種ごとの引き受けの可否、現地での料金の確定の手順は、自社の責任者が決めてください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1884)についてのご相談はこちらから。
