カーシェアの運営会社が利用者から届く傷・汚れ・忘れ物の報告を Make で受け、写真と内容から区分して担当に回し、次の予約の前に確かめる車を拾う
利用者がアプリから送る傷・汚れ・忘れ物の報告を Make で受け、Claude が文と写真から区分と走行への影響の目安を付けて担当へ回します。次の予約までに人が確かめるべき車を、予約の時刻順に一覧の上に出します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- その他
- 対象部門
- カスタマーサポート
- 対象業務
- 分類・仕分け/問い合わせ対応
- 主な課題
- 判断に時間がかかる/問い合わせが多い/期限・対応漏れが起きる
- AIで行う処理
- 分類
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- アプリの報告が、サポートの受付の一覧に届く
- 担当が報告を開き、文と写真を読む
- 車両の台帳を開き、報告の傷が既知の傷かどうかを写真で見比べる
- 予約の仕組みで、その車の次の予約の時刻を確かめる
- 区分を決め、整備・清掃・忘れ物の担当のどこへ回すかを決める
- Slack の担当のチャンネルに、車両・ステーション・報告の要点・写真を書いて回す
- 走行に関わりそうなものは、運営の責任者に相談し、次の予約の前に止めるかを決める
- 自動アプリの報告が、自社のサーバーから Make のカスタム webhook に送られる
- 自動Make が車両の台帳から既知の傷の一覧を引き、予約の仕組みから次の予約の時刻を引く
- 自動Claude が報告の文と写真を読み、区分・走行への影響の目安・既知の傷との重なり・担当への要点を返す
- 自動Router が区分と影響の目安で道を分け、整備・清掃・忘れ物・傷の台帳の担当へ Slack で回す
- 自動走行に関わる可能性があるものと、判断がつかなかったものは、次の予約の時刻順に「確認待ち」の一覧の上に載せ、運営のチャンネルにも知らせる
- 人運営の担当が確認待ちの一覧を上から見て、写真と報告を確かめ、次の予約の前に車を止めるかを決める
- 人各担当は回ってきた報告を見て、手配する。区分が誤っていれば一覧で直す
各工程の詳しい説明を読む
- アプリの報告が、サポートの受付の一覧に届く
- 担当が報告を開き、文と写真を読む
- 車両の台帳を開き、報告の傷が既知の傷かどうかを写真で見比べる
- 予約の仕組みで、その車の次の予約の時刻を確かめる
- 区分を決め、整備・清掃・忘れ物の担当のどこへ回すかを決める
- Slack の担当のチャンネルに、車両・ステーション・報告の要点・写真を書いて回す
- 走行に関わりそうなものは、運営の責任者に相談し、次の予約の前に止めるかを決める
(a)走行に関わる報告が、ほかの報告に埋もれる。 受付の一覧は届いた順に並びます。朝の数十件の中に警告灯の報告が1件あっても、前から順に読む担当がそこに着くのは何十分も後です。 その間に次の利用者が乗っていく、ということが起こりえます。
(b)利用者の選んだ区分が当てにならない。 5番の区分は、結局担当が写真を見て決め直しています。区分のとおりに自動で回すことができないので、全件を人が開くことになります。
(c)既知の傷の見比べに時間がかかる。 3番は、車両の台帳の写真と報告の写真を並べて、同じ傷かを見る作業です。1台に既知の傷が10か所あると、どれと同じかを探すだけで数分かかります。 見比べきれずに整備に回すと、整備の担当が既知の傷を見に行くことになります。
(d)次の予約の時刻を毎回確かめに行く。 4番のために予約の仕組みを開くのは、次の予約が近い車ほど急ぐ必要があるからです。 しかし一覧は届いた順なので、予約の近い車の報告を先に読むことができません。
- 【自動】 アプリの報告が、自社のサーバーから Make のカスタム webhook に送られる
- 【自動】 Make が車両の台帳から既知の傷の一覧を引き、予約の仕組みから次の予約の時刻を引く
- 【自動】 Claude が報告の文と写真を読み、区分・走行への影響の目安・既知の傷との重なり・担当への要点を返す
- 【自動】 Router が区分と影響の目安で道を分け、整備・清掃・忘れ物・傷の台帳の担当へ Slack で回す
- 【自動】 走行に関わる可能性があるものと、判断がつかなかったものは、次の予約の時刻順に「確認待ち」の一覧の上に載せ、運営のチャンネルにも知らせる
- 【人】 運営の担当が確認待ちの一覧を上から見て、写真と報告を確かめ、次の予約の前に車を止めるかを決める
- 【人】 各担当は回ってきた報告を見て、手配する。区分が誤っていれば一覧で直す
6番目が、この設計の分かれ目です。 車を止めるかどうかは、AIの目安ではなく人が決めます。AIの役割は、人が見るべき報告を、見るべき順に並べることです。 確認待ちの一覧が予約の時刻順になっているので、担当は上から順に見れば、間に合わせるべきものから見ることになります。
4番目で自動で回すのは、走行に関わらない区分だけです。 汚れの報告は清掃の担当へ、忘れ物は忘れ物の担当へ、既知の傷と重なるものは傷の台帳の担当へ、そのまま回します。回った先で区分の誤りに気づいたら、担当が一覧で直します。 直した数を毎週数えます。
02今回想定するシステム構成
利用者のアプリ(報告フォーム:区分・文・写真) │ 自社のサーバーが JSON で送る(写真は期限付きの URL) ▼【トリガー】Make のカスタム webhook Make ├──▶ Google Sheets:車両の台帳から既知の傷の一覧 ├──▶ HTTP:予約の仕組みから次の予約の時刻 ▼ Claude API(Anthropic Claude アプリの Make an API Call) │ 区分/走行への影響の目安/既知の傷との重なり/要点 ▼ Router ├─ 走行に関わる可能性・判断不能 ──▶ 確認待ちの一覧(予約の時刻順)+運営のチャンネル ├─ 汚れ・臭い ──────────▶ 清掃の担当のチャンネル ├─ 忘れ物 ────────────▶ 忘れ物の台帳+担当のチャンネル ├─ 外装・内装の傷 ────────▶ 傷の台帳の担当のチャンネル └─ フォールバック ────────▶ サポートの受付の一覧
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(カスタム webhook、Router、Google Sheets、Slack、HTTP) | Zapier、n8n、Power Automate |
| 生成AI | Claude API(画像の読み取り、構造化出力) | OpenAI API、Gemini API |
| 台帳 | Google スプレッドシート(車両の台帳・傷の台帳・忘れ物の台帳・確認待ちの一覧) | Airtable |
| 通知 | Slack(担当ごとのチャンネル) | Microsoft Teams |
アプリ・予約の仕組み・車両の台帳は、新しく足すものではありません。 新しく足すのは、アプリの報告を Make へ送る処理と、Make のシナリオと、確認待ちの一覧です。この構成は予約の仕組みに書き込みません。 車を止めると決めたら、運営の担当がこれまでどおり予約の仕組みで手続きします。
報告は Make のカスタム webhook で受けます。 公式のページでは、webhook ごとに待ち行列があり、即時に処理する設定ではリクエストが届いた時点でシナリオが動くとされています。届いた順に処理したいときは「Process data in order」を有効にできます。10秒あたり300件を超えると429が返るので、アプリの側では送り直しの処理を持たせます。
Claude の呼び出しには、Make の Anthropic Claude アプリの Make an API Call を使う想定です。 アプリの公式のページには Create a Prompt などのモジュールが並んでいますが、画像の入力と構造化出力の扱いは書かれていません。 そのため、Messages API の本文を自分で組んで呼ぶ形にします。Make an API Call も公式のページに説明が無いので、組んで動かないときは HTTP の Make a request で Messages API を直接呼びます。
写真は URL のまま Claude に渡せます。 公式のドキュメントでは、画像は base64 のほか、インターネット上の画像の URL を指定する形でも渡せるとされています。アプリの写真を期限付きの URL で送れば、Make で写真を取り込み直す必要がありません。
03どうやって実装するのか
処理の起点を決める
利用者がアプリで報告を送ったことを起点にします。 自社のサーバーが報告を受け取った時点で、Make のカスタム webhook に JSON を送ります。定時にまとめて取りに行く形にはしません。 走行に関わる報告は、次の予約までの時間との勝負だからです。
webhook は即時に処理する設定にします。 公式のページでは、即時の webhook は既定で並行して動くとされています。同じ車の報告が数分の間に2件来ることがある(乗る前の傷と、乗った後の警告灯など)ので、確認待ちの一覧への書き込みは車両の番号で探してから足す形にし、2件目は同じ車の行に追記します。
サーバーからの送信が失敗したときの扱いを決めておきます。 公式のページでは、待ち行列がいっぱいのときは400、上限を超えたときは429が返るとされています。アプリの側では、200以外が返ったら時間をおいて送り直し、一定回数失敗したらサポートの受付の一覧へ直接入れます。 報告が Make に届かないまま消えることを防ぎます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 報告 | 報告の番号、利用者が選んだ区分、文、写真の URL(1〜5枚)、報告の日時、乗る前か乗った後か | アプリから webhook へ |
| 予約の情報 | 報告した予約の番号、車両の番号、ステーション | アプリから webhook へ |
| 既知の傷の一覧 | 車両ごとの傷の番号、位置(例:右後ドア)、種類、大きさの目安、写真の URL | 車両の台帳(Google スプレッドシート) |
| 次の予約の時刻 | その車の次の予約の開始時刻 | 予約の仕組み(HTTP) |
| 区分の決まり | 区分ごとの例と、走行に関わる可能性として扱う項目の一覧 | 運営の担当が作る文書 |
質を決めるのは、既知の傷の一覧と区分の決まりです。 既知の傷の一覧が無ければ、外装の傷の報告はすべて「新しい傷」として傷の台帳の担当へ回ります。区分の決まりが無ければ、何を走行に関わる可能性として扱うかがAIの一般的な知識で決まり、運営の考える範囲とずれます。
利用者の名前と連絡先は、Claude に渡しません。 会員の番号もサーバーの側で置き換えた番号にします。区分に要るのは報告の中身と写真だけです。 利用者への返答は、サポートの担当が予約の仕組みの側で行います。
データの取得方法を決める
| 取るもの | どこから | Make のモジュール |
|---|---|---|
| 報告と写真の URL | アプリのサーバー | Webhooks のカスタム webhook |
| 既知の傷の一覧 | 車両の台帳のシート | Google Sheets の Search Rows(車両の番号で絞る) |
| 次の予約の時刻 | 予約の仕組みの API | HTTP の Make a request |
| 区分の決まり | 決まった文書 | シナリオに固定の文として持つ |
予約の仕組みに、車両の番号で次の予約の時刻を返す API を用意します。 自社開発の仕組みなので、次の予約の開始時刻だけを返す、読み取り専用の窓口を作ります。予約者の名前や連絡先は返させません。用意できないときは、時刻の欄を空にして確認待ちの一覧に載せ、担当が予約の仕組みで確かめます。
既知の傷の写真は、多すぎると渡しません。 1台の既知の傷が多い車では、報告の写真と同じ位置(右後ドアなど)の傷の写真だけを選んで渡します。公式のドキュメントでは、1回のリクエストに20枚を超える画像を入れると、1枚ごとの寸法の上限が厳しくなるとされています。報告の写真と既知の傷の写真を合わせて20枚以内に収めます。
AIへ渡す前に整形する
- 必須の項目の確認 … 報告の番号、車両の番号、文か写真のどちらかがあるかを確かめる。無ければサポートの受付の一覧へ
- 重複の確認 … 同じ報告の番号が確認待ちの一覧や台帳にあれば処理しない(アプリの送り直しで2回届くことがある)
- 写真の枚数と形式の確認 … JPEG・PNG・GIF・WebP 以外の写真は、アプリの側で変換して送る決まりにする
- 既知の傷の絞り込み … 利用者が選んだ位置、または報告の文に出てくる位置の語で、既知の傷を絞る
- 画像の名前付け … 報告の写真を「報告1」「報告2」、既知の傷の写真を「既知K03」のように名前を付けて並べる
- 次の予約までの時間の計算 … 次の予約の開始時刻から、報告の日時を引いた時間を出す
5番目の名前付けで、AIの返答と写真を結び付けます。 公式のドキュメントでも、複数の画像を送るときは「Image 1:」のような短いラベルを付けると、プロンプトや返答の中で名前で指せるとされています。「報告2 は 既知K03 と同じ位置の傷に見える」と返させれば、担当は2枚を並べて開くだけで確かめられます。
6番目は、AIには計算させません。 時刻の引き算は Make の関数で行い、確認待ちの一覧の並び順に使います。
AIに処理させる
させるのは、報告ごとに区分を1つ選び、走行への影響の目安と既知の傷との重なりを返し、担当への要点を書くことだけです。
| させること | 選ぶ値 | 判断できないときの扱い |
|---|---|---|
| 区分 | exterior_damage 外装の傷/interior_damage 内装の傷/dirty 汚れ・臭い/lost_item 忘れ物/malfunction 不具合/other | 写真と文が食い違えば other |
| 走行への影響の目安 | possible 走行に関わる可能性/unlikely 関わらなさそう/unknown 判断できない | 写真が暗い・遠いなら unknown |
| 既知の傷との重なり | likely_known 既知と重なりそう/likely_new 新しそう/not_applicable 傷でない | 同じ位置の既知の傷が無ければ likely_new |
| 該当の決まり | 区分の決まりのうち、当てはまった項目の番号 | 当てはまらなければ空 |
| 担当への要点 | 位置・様子・写真の名前を1〜2文で | 文と写真の食い違いも書く |
走行への影響を possible にする範囲は、区分の決まりの一覧で決めます。 「警告灯の点灯」「タイヤの空気・損傷」「ガラスのひび・割れ」「ライトの破損」「ブレーキ・ハンドルの違和感の訴え」のように、運営が「次の予約の前に人が見る」と決めた項目の一覧です。AIはこの一覧に当てはまるかを見るだけで、走れるかどうかを判断しません。
| させないこと | 理由 |
|---|---|
| 車を止めるか走らせるかの判断 | 安全に関わる。運営の担当が決める |
| 前の利用者の責任かの判断 | 費用の請求につながる。人が経緯を確かめて決める |
| 修理費の見積り | 写真から金額は決められない |
| 写真に写った人や書類の書き写し | 忘れ物の財布・免許証などの中身を記録に残さない |
| 既知の傷と同じだと断定 | 写真の見比べは目安。重なりの確認は人が行う |
1行目と2行目がいちばん大事な線引きです。 報告の写真から「軽い傷なので走行に支障なし」と書かせると、担当はその一文を読んで確認を省きます。 AIの役割は、決まりの一覧に当てはまるかどうかの印までにします。
指示内容を固定する
あなたはカーシェアの運営会社のサポート担当で、利用者から届いた報告を担当に振り分ける立場です。
渡された報告の文と写真、その車の既知の傷の一覧だけを見て、決まった形で返してください。
【区分の決まり】
{category_rules}
※ 走行に関わる可能性として扱う項目:{safety_items}
【報告】
利用者が選んだ区分:{user_category} 乗る前か後か:{timing}
文:{report_text}
写真:報告1〜報告{n}(画像の前に名前を付けています)
【この車の既知の傷(同じ位置のもの)】
{known_damages}(写真は 既知K01 などの名前で付けています)
【すること】
1. category を1つ選ぶ。利用者が選んだ区分ではなく、写真と文から選ぶ
2. safety を選ぶ。走行に関わる可能性として扱う項目に当てはまるものがあれば possible
3. known_match を選ぶ。傷の報告で、同じ位置に似た既知の傷があれば likely_known とし、
matched_known_ids に既知の傷の番号を書く
4. rule_ids に、当てはまった区分の決まりの番号を書く
5. summary に、担当が写真を開く前に読む要点を1〜2文で書く。写真の名前を入れる
【厳守事項】
- 車を走らせてよいか、止めるべきかを書かないでください。
- 「軽微」「問題なし」「支障なし」といった、安全を請け合う言葉を使わないでください。
- 前の利用者の責任や、費用の負担について書かないでください。
- 写真が暗い、遠い、ぼけていて判断できないときは、safety を unknown にしてください。
分からないことを unlikely にしないでください。
- 文と写真が食い違うとき(文は「汚れ」で写真は警告灯など)は、写真に写っているものを優先し、
summary に食い違いを書いてください。
- 写真に写った人の顔、免許証・カード・書類の文字や番号を書き写さないでください。
忘れ物は「財布」「カード類」のように品目だけを書いてください。
- 既知の傷と同じだと断定しないでください。likely_known は「重なりそう」という目安です。
「安全を請け合う言葉を使わない」を書いているのは、要点に「軽微な傷で走行に支障なし」と書かれると、担当がそこで判断を終えるからです。 走行への影響は safety の3つの値だけで表し、文章では評価させません。
「分からないことを unlikely にしない」は、この構成の向きを決める一文です。 夜の駐車場で撮った暗い写真の警告灯は、判断できないのが普通です。判断できないものは、走行に関わる可能性と同じ道に流し、人の目に入れます。
出力形式を固定する
構造化出力で、次の形のJSONを返させます。
{
"report_id": "",
"category": "exterior_damage | interior_damage | dirty | lost_item | malfunction | other",
"safety": "possible | unlikely | unknown",
"known_match": "likely_known | likely_new | not_applicable",
"matched_known_ids": [],
"rule_ids": [],
"summary": "",
"photo_notes": [
{ "photo": "報告2", "note": "" }
]
}
公式のドキュメントでは、Messages API の output_config.format に type: "json_schema" とスキーマを置き、オブジェクトには additionalProperties: false を付けるとされています。category・safety・known_match は enum で縛ります。
1つ目の理由は、Router の条件をそのまま値で書けることです。 自由な文で返されると、Router の条件に「警告灯」「ひび」といった語を並べることになり、言い回しが変わるたびに漏れます。safety が possible か unknown なら確認待ちへ、という条件は値の一致で書けます。
2つ目は、区分の誤りを数えられることです。 担当が直した区分と、AIの category を並べて残せば、どの区分の取り違えが多いかを毎週数えられます。
Router の道と条件は次のとおりです。
| 道 | 条件 | 行き先 |
|---|---|---|
| 1. 確認待ち | safety が possible または unknown、または category が malfunction | 確認待ちの一覧(次の予約の時刻順)と運営のチャンネル |
| 2. 清掃 | category が dirty | 清掃の担当のチャンネル |
| 3. 忘れ物 | category が lost_item | 忘れ物の台帳と担当のチャンネル |
| 4. 傷 | category が exterior_damage または interior_damage | 傷の台帳の担当のチャンネル(likely_known は印を付けて) |
| フォールバック | どれにも当たらない | サポートの受付の一覧 |
公式のページでは、Router の道は1つずつ順に処理され、どの条件にも当たらないものを受けるフォールバックの道を置けるとされています。1番目の道に条件の広い確認待ちを置き、走行に関わる可能性のあるものが清掃や傷の道にだけ流れることを防ぎます。 確認待ちに流れたものも、区分に応じて2〜4の道へ重ねて流します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| アプリのサーバー | Make のカスタム webhook | 報告を受ける |
| 車両の台帳 | Google Sheets の Search Rows | 既知の傷を引く |
| 予約の仕組み | HTTP の Make a request(読み取り専用の窓口) | 次の予約の時刻を引く |
| Claude API | Anthropic Claude の Make an API Call | 区分と目安と要点 |
| 確認待ちの一覧・忘れ物の台帳 | Google Sheets の Add a Row/Update a Row | 行を足し、同じ車の報告を追記する |
| 担当のチャンネル | Slack の Send a Message | 要点と写真の URL と一覧の行へのリンク |
Slack への投稿には、ボットの接続を使います。 公式のページでは、Send a Message はボットの接続で使え、ボットが投稿先のチャンネルのメンバーでないと「Channel Not Found」のエラーになるとされています。担当ごとのチャンネルに、先にボットを入れておきます。
予約の仕組みには書き込みません。 車を止めると決めたら、運営の担当が予約の仕組みで車を使えない状態にし、次の利用者への連絡を行います。止める操作を自動にしないのは、止めた結果、次の利用者が駐車場で車に乗れなくなるからです。 その連絡と代わりの車の手配は、人が行います。
人が確認する
確認待ちの一覧に載ったものは、運営の担当が全件見ます。
- 一覧の上から見る … 次の予約の時刻が近い順に並んでいます。予約まで2時間を切った車は、一覧の上で色を変えます
- 写真を開いて確かめる …
summaryとphoto_notesを読んでから写真を開きます - 止めるかを決める … 止めるなら予約の仕組みで手続きし、整備の手配と次の利用者への連絡をします。止めないなら理由を一覧に書きます
- 区分の誤りを直す … AIの区分が違っていれば、一覧で直します
確認待ち以外の道に流れたものは、回った先の担当が手配のときに見ます。 清掃の担当は汚れの報告を見て清掃を手配し、写真に走行に関わりそうなものが写っていれば、確認待ちの一覧に移します。 確認待ち以外の道に流れたものを、サポートの担当が全件開くことはしません。
利用者への返答は、サポートの担当が行います。 お礼と、対応の目安を伝える定型の返答で足りるものが多く、前の利用者の責任に触れる返答はしません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真の URL の期限が切れている | 文だけで区分し、safety は unknown として確認待ちへ |
| 写真が無く文だけ | 文だけで区分する。警告灯・タイヤなどの語があれば確認待ちへ |
| 次の予約の時刻が取れない | 時刻の欄を空にして確認待ちの一覧の最上段に載せる |
| 既知の傷の一覧が無い車 | known_match を使わず、傷はすべて新しい傷として回す |
| Claude の呼び出しが失敗する | 2回まで送り直し、だめならサポートの受付の一覧へ |
| 返ってきた JSON の区分が決まりに無い値 | フォールバックの道へ流す |
| 同じ車の報告が短い間に続く | 確認待ちの一覧の同じ行に追記し、運営のチャンネルにまとめて知らせる |
| 報告が事故や人のけがに関わる | 文に事故・けがの語があれば、区分にかかわらず確認待ちとし、運営の責任者に直接知らせる |
| webhook の待ち行列があふれる | アプリの側で送り直し、だめならサポートの受付の一覧へ |
事故やけがの報告は、そもそもアプリの報告フォームではなく電話で受けるべきものです。 アプリの報告に紛れ込んだときに見落とさないよう、語で拾って区分にかかわらず人へ回します。 利用者には、アプリの画面で緊急時の連絡先を示しておきます。
記録を残す
- 受け取った報告の JSON と、受け取った日時
- Claude に渡した入力(報告の文、写真の名前、既知の傷の番号)と、返ってきた JSON の全文
- Router がどの道に流したか
- 確認待ちの一覧での判断(止めた・止めなかった・その理由・判断した人・時刻)
- 担当が直した区分と、AIの区分
- 写真の URL ではなく、写真そのものの保存先(アプリの側の保存の決まりに従う)
4つ目の判断の記録が、いちばん大事なログです。 止めなかった車で後から不具合が分かったとき、いつ誰が何を見て判断したかを追えるようにします。
5つ目は、区分の決まりと指示を直す材料です。 dirty と interior_damage の取り違えのように、同じ取り違えが続くなら、区分の決まりの例を足します。
04実装レベルの3段階
本記事の想定は本格構成です。 ただし、本格構成でも車を止めるかどうかと、区分の最終の確かめは人に残ります。 半自動化で、1件10分が6分程度になります。 区分と要点は出ますが、担当が台帳と予約を開いて回す作業は残ります。本格構成で3分になるのは、既知の傷と次の予約の時刻が最初から並び、振り分けが自動になるからです。 半自動化を1か月回し、safety の見落としが無いことを確かめてから、自動の振り分けに切り替えます。
05工数削減シミュレーション
導入後 600件 × 3分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 数百台規模のカーシェアを運営していて、利用者がアプリから写真付きで送る傷・汚れ・忘れ物の報告が月に数百件届き、サポートの担当が1件ずつ写真を開いて担当へ回している場合。報告の中に、走行に関わる不具合(警告灯、タイヤ、ガラスのひび)が混ざり、次の予約までに確かめられずに貸し出してしまうことがある場合。アプリの報告を自社のサーバーから外部へ送れる場合。
- 車両が数十台で、報告が月に数十件の運営者。報告を電話だけで受けていて、写真と文が電子で残らない場合。報告をきっかけに前の利用者へ費用を請求する判断まで自動にしたい場合。なお、車を止めるか、前の利用者に費用を求めるか、利用者にどう返答するかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の報告から50件を選ぶ(走行に関わる報告を必ず5件以上入れる)
- その50件について、担当が最終的に決めた区分と、確認待ちにしたかどうかを書き出しておく
- 区分の決まりと、走行に関わる可能性として扱う項目の一覧を作る
- 社内で契約している Claude の画面に、決まりと報告の文と写真を貼り、第7章の指示文を渡す
- 出てきた区分と
safetyを、2番の当時の判断と突き合わせる
利用者の名前や連絡先が写っていないかを、貼る前に確かめてください。
| 出てきた内容 | 判断 |
|---|---|
走行に関わる5件がすべて possible か unknown | webhook と Router の組み立てに進む |
区分の取り違えが多いが、safety は漏れない | 区分の決まりの例を足す。構成は有効 |
走行に関わる報告が unlikely になる | 区分の決まりの一覧が先。 一覧に無い項目が無いかを見る |
3行目が出たら、組み立てに進みません。 この構成で見落としてはいけないのは、走行に関わる報告が確認待ちに載らないことだけです。区分の取り違えは担当が直せますが、確認待ちから漏れたものは誰も見ません。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
暗い写真の警告灯が unlikely になる | 判断できないものは unknown と指示し、確認待ちへ流す |
| 要点に「走行に支障なし」と書かれる | 安全を請け合う言葉を禁じ、影響は値だけで表す |
| 利用者の選んだ区分で道を分けてしまう | AIの区分で分ける。 利用者の区分は参考として渡すだけ |
| 既知の傷の写真が多すぎてエラーになる | 同じ位置の傷に絞り、20枚以内に収める |
| Slack に投稿できない | ボットをチャンネルのメンバーに入れる |
| 同じ報告が2回届く | 報告の番号で重複を確かめる |
| 同じ車の報告が並行して処理される | 確認待ちの一覧は車両の番号で探してから追記する |
| 画像の入力がモジュールで組めない | Make an API Call で本文を組む。だめなら HTTP で直接呼ぶ |
| 前の利用者の責任を要点に書く | 指示で禁じ、費用の判断は人が経緯を確かめて行う |
| 忘れ物の免許証の番号が記録に残る | 品目だけを書かせ、文字や番号を写させない |
上の2行が、この構成の失敗のほとんどです。 どちらも、走行に関わる報告が人の目から外れる誤りです。分からないものを人へ寄せる向きを、指示と Router の条件の両方で守ってください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 報告の文と写真、車両の番号とステーション、次の予約の時刻です。写真には、車内の忘れ物(財布、カード、書類)や、周りの人・車のナンバーが写ることがあります。
- 利用者の名前と連絡先を外部に渡さない … 会員の番号は置き換え、名前と連絡先は Claude にも Make の Slack の投稿にも載せません
- 写真の中の書類や番号を書き写させない … 忘れ物は品目だけを記録します。写真そのものの保存は、アプリの側の保存の決まりに従います
- 写真の URL は期限付きにする … Slack に貼る URL も期限付きにし、チャンネルの外に写真が残り続けないようにします
- 車を止める判断をAIに委ねない … 走行の安全に関わる判断は運営の担当が行い、判断の記録を残します
- 前の利用者への費用の請求に使わない … 報告とAIの区分は、手配のための材料です。費用を求めるかは、人が経緯を確かめて決めます
- webhook の URL を守る … カスタム webhook の URL を知っていれば誰でも送れるので、アプリのサーバーからだけ送る形にし、URL を公開しません
誤りが起きた場合のリスクは、走行に関わる報告を見落として次の利用者に貸し出すことと、AIの区分を根拠に利用者に不当な費用を求めることの2つです。 前者は判断できないものを人へ寄せる向きで、後者は費用の判断を構成の外に置くことで防ぎます。
10まず何から始めるか
1週目:区分の決まりを作る
整備の担当と運営の責任者で、「次の予約の前に人が見る」項目の一覧を作ります。区分ごとに、過去の報告から例を2〜3件ずつ書き添えます。
2週目:50件で試す
先月の報告50件を AI の画面に貼り、区分と safety を出させます。走行に関わる報告が1件も unlikely にならないことを最優先で確かめます。
3週目:アプリから webhook へ送る
アプリのサーバーから Make のカスタム webhook へ報告を送る処理を作ります。この時点では、AIの区分と要点をサポートの受付の一覧に書き込むだけにします。
4週目:既知の傷と予約の時刻をつなぐ
車両の台帳の検索と、予約の時刻を返す読み取り専用の窓口をつなぎ、確認待ちの一覧を予約の時刻順に並べます。
2か月目: Router で担当のチャンネルへの振り分けを始めます。担当が直した区分を毎週数えます。3か月目以降: 区分の決まりの例を足し、写真の大きさと費用を見直します。走行に関わる報告が漏れなく確認待ちに載り、予約の時刻順に人が判断する流れが定着した時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| カスタム webhook で外部から呼べる URL を作れること。webhook ごとに待ち行列があり、即時の設定では届いた時点でシナリオが動き、既定で並行して動くこと。Process data in order を有効にできること。10秒あたり300件を超えると429が返り、待ち行列がいっぱいだと400が返ること。webhook のログが3日間保存されること | Make Help: Webhooks | 2026-10-27 |
| Router が道を1つずつ順に処理し、どの条件にも当たらないものを受けるフォールバックの道を置けること。道ごとにフィルターで条件を付けられること | Make Help: Router | 2026-10-27 |
| Anthropic Claude アプリに Create a Prompt、ファイル、スキルのモジュールと Make an API Call があること。画像の入力と構造化出力についての記載が無いこと | Make Apps: Anthropic Claude | 2026-10-27 |
| Google Sheets に Search Rows、Add a Row、Update a Row などのモジュールがあること | Make Apps: Google Sheets | 2026-10-27 |
| Slack の Send a Message がボットの接続で使え、ボットが投稿先のチャンネルのメンバーでないと Channel Not Found のエラーになること | Make Apps: Slack | 2026-10-27 |
| HTTP の Make a request で任意のサーバーへ要求を送れること。タイムアウトが1〜300秒で、HTTPS の URL だけが使えること | Make Apps: HTTP | 2026-10-27 |
| 画像を base64・URL・Files API の file_id で渡せること。対応する形式が JPEG・PNG・GIF・WebP であること。1回に20枚を超える画像を送ると1枚ごとの寸法の上限が厳しくなること。複数の画像に「Image 1:」のような名前を付けると指せること。低画質・回転・小さな画像で誤りうること。画像の人物の名前を挙げることに使えないこと。画像が28×28ピクセルの区画ごとに数えられること | Claude Docs: Vision | 2026-10-27 |
構造化出力を output_config.format に type: "json_schema" で指定し、オブジェクトの additionalProperties を false にすること。enum が使えること | Claude Docs: Structured outputs | 2026-10-27 |
車を止めるか、前の利用者に費用を求めるかは、運営の担当と責任者が決めてください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。区分の決まりと走行に関わる項目の一覧は、各社が整備の担当と決めるものです。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1960)についてのご相談はこちらから。
