墓石店がお客様や霊園から届く墓石の写真を Gemini で見て、汚れ・傾き・目地の傷みの目安と、クリーニングと補修の見積の下書きを作る
お客様や霊園から届く墓所の写真を Gemini API で見て、汚れ・目地の傷み・ずれて見える箇所の候補を枠つきで返します。店の決まりで工事の目安を付け、見積の下書きと、現地で確かめる事項の一覧を作ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- その他/建設
- 対象部門
- 営業
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/属人化している/書類作成に時間がかかる
- AIで行う処理
- 画像認識
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 依頼のメールや問い合わせの欄を開き、写真と依頼の内容を確かめる
- 霊園と区画の番号から、顧客の台帳で前回の工事を探す
- 写真を1枚ずつ拡大し、汚れ・目地の割れ・文字の色の抜け・ずれて見える所を探す
- 単価表を開き、墓所の大きさと工事の種類から概算を計算する
- 見積の書式に工事の項目と金額を書き、現地で確かめる点をメモする
- お客様への返事の文を書き、見積を付けて送る
- 写真が足りなければ、撮り直しをお願いする連絡を書く
- 人お客様が問い合わせの欄から写真と依頼の内容を送る。霊園は区画の番号と写真をメールで送る
- 自動サーバーが依頼を受け取り、依頼の番号を付けて写真を保存する
- 自動写真の向きと大きさを整え、人の顔やお墓参りの方の持ち物が写っていれば塗りつぶす
- 自動Gemini API が、写真ごとに写っている部位と、汚れ・目地の傷み・ずれて見える箇所の候補を枠で返す
- 自動プログラムが、店の決まりで工事の目安を付け、単価表から概算の下書きを作る
- 自動現地で確かめる事項と、足りない写真の一覧を作る
- 人受付の担当が、候補を写真で確かめ、「確認済み」「該当なし」を選ぶ
- 人据え直しや石の割れの候補がある依頼は、店主か職人が写真を見る
- 自動確定した内容から、お客様への返事の文の下書きを作る
- 人受付の担当が下書きを読み直し、見積を付けて送る
各工程の詳しい説明を読む
- 依頼のメールや問い合わせの欄を開き、写真と依頼の内容を確かめる
- 霊園と区画の番号から、顧客の台帳で前回の工事を探す
- 写真を1枚ずつ拡大し、汚れ・目地の割れ・文字の色の抜け・ずれて見える所を探す
- 単価表を開き、墓所の大きさと工事の種類から概算を計算する
- 見積の書式に工事の項目と金額を書き、現地で確かめる点をメモする
- お客様への返事の文を書き、見積を付けて送る
- 写真が足りなければ、撮り直しをお願いする連絡を書く
(a)見られる人が限られる。 3番目の見分けは、店主と古参の1名にしかできません。2人が現場に出ると、依頼は受付にたまります。 お彼岸やお盆の前は、依頼が増える時期と、職人が現場に出る時期が重なります。
(b)写真の撮り方がばらばら。 正面から1枚だけ、近すぎて全体が分からない、逆光で文字の面が真っ黒、といった写真が多く届きます。どの写真がどの石を写しているかを読み解くところから始まります。
(c)現地で確かめる点が伝わらない。 写真で「ずれて見える」と思っても、それを職人に伝えるのは受付のメモだけです。職人が現地に着いてから、据え直しが要ると分かることがあり、見積を出し直すことになります。
(d)1件20分が積み重なる。 月180件を3名で見ると、月60時間です。店主の時間の多くが、見積の下書きに使われています。
(e)返事が遅れると、依頼は他の店に移ります。 遠方のお客様は、何軒かの店に同じ写真を送って見積を比べることがあります。お彼岸の前の週に数日返事が遅れると、その間に別の店に決まってしまいます。 慣れた2人の手が空くのを待つ形のままでは、忙しい時期ほど依頼を逃します。
- 【人】 お客様が問い合わせの欄から写真と依頼の内容を送る。霊園は区画の番号と写真をメールで送る
- 【自動】 サーバーが依頼を受け取り、依頼の番号を付けて写真を保存する
- 【自動】 写真の向きと大きさを整え、人の顔やお墓参りの方の持ち物が写っていれば塗りつぶす
- 【自動】 Gemini API が、写真ごとに写っている部位と、汚れ・目地の傷み・ずれて見える箇所の候補を枠で返す
- 【自動】 プログラムが、店の決まりで工事の目安を付け、単価表から概算の下書きを作る
- 【自動】 現地で確かめる事項と、足りない写真の一覧を作る
- 【人】 受付の担当が、候補を写真で確かめ、「確認済み」「該当なし」を選ぶ
- 【人】 据え直しや石の割れの候補がある依頼は、店主か職人が写真を見る
- 【自動】 確定した内容から、お客様への返事の文の下書きを作る
- 【人】 受付の担当が下書きを読み直し、見積を付けて送る
7番目と8番目が、この設計の分かれ目です。 AIが返すのは候補までで、どれを見積に入れるかは人が決めます。 慣れた2人の時間は、8番目の「店主か職人が見る」依頼だけに使います。
5番目を規則で決めているのも、意図してのことです。 どの傷みならクリーニング、どこからが目地の補修かは店の決まりで、単価の改定や材料の変更で変わります。
霊園からの依頼も、同じ流れに乗せます。 違うのは返す先だけで、霊園には区画ごとの結果をまとめて返し、お客様への案内は霊園から出してもらいます。 店がお客様の連絡先を持っていない区画でも、見積の下書きまでは同じ手順で作れます。
02今回想定するシステム構成
ホームページの問い合わせの欄 / 霊園からのメール ▼【トリガー】依頼が届いたとき Python のサーバー ├── 写真と依頼の内容を依頼ごとのフォルダに保存 ├── 写真の向き・大きさを整える、人の顔を塗りつぶす ▼ Gemini API(画像の理解・構造化出力)── 依頼1件分の写真 │ 写っている部位、汚れ・目地の傷み・文字の色の抜け・ずれて見える箇所の候補と枠 │ 見えない部位、足りない写真 ▼ Python ── 店の決まりで工事の目安 → 単価表から概算 ▼ 見積の下書きと返事の文の下書き ▼ 【人】受付の担当が確かめる(必要なら店主・職人)→ 返事を送る
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(墓所の写真から部位と傷みの候補を返し、返事の文の下書きを作る) | Claude API、OpenAI API |
| 連携 | Python(受付の受け取り、前処理、呼び出し、目安の規則、概算の計算) | Google Apps Script |
| 単価表 | 店の単価表と見積の書式(スプレッドシート) | - |
| 受付 | ホームページの問い合わせの欄、受付のメールアドレス | - |
新しく足すのは、Python のサーバーと Gemini API の契約です。 単価表と見積の書式は今のものを使い、問い合わせの欄の送り先をサーバーに変えます。
写真を見る土台は、Gemini API の画像の理解です。 公式の案内では、対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、画像を直接入れる場合は、指示の文と合わせたリクエスト全体が20MBまでです。1回のリクエストに複数の画像を入れられます。
位置は枠で返させます。 枠は [ymin, xmin, ymax, xmax] の順で、画像の大きさに対して0〜1000に正規化されます。サーバーが元の大きさに戻して写真に印を描き、受付の担当が写真のどこを見ればよいかを分かるようにします。
出力は構造化出力で受けます。 /v1beta/interactions に送り、response_format で mime_type を application/json にし、schema にスキーマを入れます。文字列は enum で決まった値に絞れます。値が正しいかはアプリ側で検証するよう公式に書かれています。
03どうやって実装するのか
処理の起点を決める
依頼が届いたときに、1件ごとに動きます。 問い合わせの欄からの依頼はサーバーが直接受け取り、霊園からのメールは受付のメールアドレスに届いたものを定期的に取り込みます。どちらも取り込んだら依頼の番号を付け、そこから先は区別しません。
霊園からまとめて届いた依頼は、区画ごとに1件に分けます。 1通のメールに複数の区画の写真が入っていても、区画の番号ごとに依頼の番号を分けて呼び出します。 まとめて渡すと、どの写真の傷みがどの区画かが混ざります。
見積の依頼を受け付けるのは、18歳以上の方に限ります。 問い合わせの欄に「工事を依頼する18歳以上の方」と書き、年齢の確認の欄を置きます。Gemini API の規約は、18歳以上であることを利用の条件とし、18歳未満の人に向けた、または使う見込みのあるアプリでの利用を認めていません。AIの結果を見るのは店の担当だけで、お客様に返すのは担当が確かめた返事だけです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 墓所の写真 | 正面の全体、左右の横、外柵の四隅、傷みの近く | 問い合わせの欄・メールの添付 |
| 依頼の内容 | 霊園と区画の番号、希望の工事、前回の工事の時期、希望の時期 | 問い合わせの欄・メールの本文 |
| 前回の工事 | 前回の工事の内容と日付、墓所の大きさ | 顧客の台帳 |
| 部位の一覧 | 竿石、上台、中台、芝台、外柵、花立て、香炉、水鉢、墓誌、灯籠、玉砂利・敷石 | サーバーに持たせる |
| 傷みの種類の一覧 | 苔・藻、水あか、黒ずみ、さび色のしみ、鳥のふん、目地の割れ・欠け・抜け、石の欠け、ひびのように見える線、文字の色の抜け、ずれて見える、すき間、雑草 | サーバーに持たせる |
| 店の決まり | 工事の目安の付け方、単価表 | スプレッドシート |
質を決めるのは、写真の頼み方です。 問い合わせの欄に、「正面から全体を1枚」「左右の横から1枚ずつ」「外柵の角を1枚」「気になる所の近くを1枚」と例の写真を載せます。正面からの1枚だけでは、ずれも外柵の傷みも分かりません。
前回の工事は、顧客の台帳から引きます。 目地を数年前に打ち直していれば、目地の割れは別の原因かもしれません。台帳に無い墓所は「初めての依頼」として扱い、前回の工事の欄を空にします。
データの取得方法を決める
写真はサーバーが受け取り、依頼の番号のフォルダに保存してから AI を呼びます。 呼び出しに失敗しても写真が残り、後から同じ写真で呼び直せます。
霊園からのメールは、区画の番号と写真を取り出します。 霊園ごとに区画の番号の書き方が決まっているので、霊園ごとの書き方の例を持たせて取り出します。 取り出せなかったものは、受付の担当が埋めます。
Gemini API へは、依頼1件ごとに1回、写真をまとめて渡します。 正面と横と近くの写真を一緒に渡すと、近くの写真の傷みが、どの部位のものかを全体の写真と結び付けて返せます。
前回の工事のときに店が撮った写真があれば、それも一緒に渡します。 工事の前後の写真を台帳に残している店なら、「前回は無かった目地の割れ」「前回より広がった黒ずみ」を比べて返させられます。比べるときは、写真の番号で「前回の工事のあと」「今回」を伝え、角度が違う写真どうしでずれを比べさせないようにします。
有料の利用枠で使い、store を false にします。 Gemini API の規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API は既定でやり取りを保存し(有料の枠で55日)、store=false で保存しない動きにできると案内されています。
AIへ渡す前に整形する
- 向きの補正 … スマートフォンの写真の向きの情報で回転しているだけのものは、画素を回転させます
- 縮小 … 長い辺を1,600ピクセル程度に縮めます。近くの写真は、目地の割れが分かるよう大きめに残します
- 塗りつぶし … お墓参りの方の顔、隣の区画の方、車の番号を塗りつぶします
- 明るさの確認 … 逆光で石の面が真っ黒な写真は、AIに渡さずに撮り直しの候補にします
- 写真の種類の振り分け … 問い合わせの欄で選んだ写真の種類(正面・横・角・近く)を、指示の文で番号とあわせて伝えます
- 大きさの確認 … 写真と指示の文を合わせて20MBを超えないかを見ます
刻まれた文字は塗りつぶしません。 文字の色の抜けは見積の項目なので、文字の面は渡す必要があります。そのかわり、指示の文で文字を読ませず、記録に書き写させないようにします(第13章)。
AIに処理させる
させるのは、写真ごとに写っている部位と、傷みの候補を枠で返すこと、見えない部位と足りない写真を返すことだけです。
| 返すもの | 中身 | 判断できないときの扱い |
|---|---|---|
| 写っている部位 | 写真ごとに、竿石・外柵などのどの部位が写っているか | 分からなければ unknown_part |
| 汚れの候補 | 写真の番号、枠、部位、種類(苔・水あか・黒ずみ・さび色のしみ・鳥のふん) | 汚れか石の模様か分からなければ unclear |
| 目地と石の傷み | 目地の割れ・欠け・抜け、石の欠け、ひびのように見える線の位置 | 影か傷みか分からなければ unclear |
| 文字の色の抜け | 色が抜けて見える文字の面の位置(文字そのものは書かない) | 光の加減で分からなければ unclear |
| ずれて見える箇所 | 竿石と台石、外柵の継ぎ目がずれて見える位置 | 写真の角度で分からなければ angle_dependent |
| 見えない部位・足りない写真 | 写っていない部位と、撮り足してほしい写真 | - |
ずれの判断できないときを angle_dependent に分けているのが、この構成の要です。 斜めから撮った写真では、まっすぐの竿石も傾いて見えます。写真の角度で変わりうるものは、ずれの候補ではなく「角度しだい」として返させ、現地で確かめる事項に必ず入れます。
| させないこと | 理由 |
|---|---|
| 傾きの角度やずれの大きさを数字で書くこと | 写真の角度とレンズで変わる。現地で測る |
| 据え直しが要るか、倒れるおそれがあるかの判断 | 現地で職人が確かめる。安全に関わる |
| ひびの深さや、石が割れているかの判断 | 表面の線か割れかは写真では分からない |
| 工事の種類(クリーニング・補修・据え直し)を決めること | 店の決まりで、規則の側で決める |
| 石の種類や産地を言い当てること | 写真では分からない。見積は単価表の名前だけを使う |
| 刻まれた文字を読むこと | 故人と建立した方の名前が刻まれている |
| 金額の計算 | 単価表とプログラムで行う |
2行目がいちばん起きやすい失敗です。 ずれて見える写真を渡すと、AIは「倒壊の危険があります」「早急な据え直しが必要です」と書きたがります。その言葉が返事の文に入ると、お客様を不必要に不安にさせ、店の見立てのように受け取られます。 返すのは「ずれて見える」までにし、判断は職人が現地で行います。
工事の目安は、プログラムが次のように付けます。
| 目安 | 付け方の例(店で決める) |
|---|---|
| クリーニング | 汚れの候補が確認済み |
| 目地の補修 | 目地の割れ・欠け・抜けが確認済み |
| 文字の色入れ | 文字の色の抜けが確認済み、かつお客様が希望している |
| 据え直しは現地で確かめる | ずれて見える箇所が確認済み、または angle_dependent が残る |
| 職人に回す | 石の欠け・ひびのように見える線が確認済み |
指示内容を固定する
あなたは墓石店の受付で、お客様や霊園から届いた墓所の写真を見る手伝いをする係です。
写真の番号と種類は次のとおりです。
{1: 正面の全体, 2: 左の横, 3: 外柵の角, 4: 気になる所の近く ...}
【やること】
1. 写真ごとに、写っている部位を一覧から選ぶ。
竿石, 上台, 中台, 芝台, 外柵, 花立て, 香炉, 水鉢, 墓誌, 灯籠, 玉砂利・敷石
2. 次の傷みの候補を探し、写真の番号と枠を [ymin, xmin, ymax, xmax] の順で、
0〜1000 に正規化して返す。部位と種類、見え方を短く書く。
苔・藻、水あか、黒ずみ、さび色のしみ、鳥のふん、
目地の割れ・欠け・抜け、石の欠け、ひびのように見える線、
文字の色の抜け、ずれて見える箇所、すき間、雑草
3. 写真の角度でずれて見えるだけかもしれないものは、angle_dependent とする。
4. 写っていない部位と、撮り足してほしい写真を書く。
【厳守事項】
- 刻まれている文字を読まないでください。名前、戒名、日付、
建立した方の名前などを、どこにも書き写さないでください。
文字の色の抜けは「文字の面の右側」のように位置だけで書いてください。
- 傾きの角度やずれの大きさを数字で書かないでください。
- 据え直しが必要か、倒れるおそれがあるかを書かないでください。
- ひびの深さや、石が割れているかを書かないでください。
「ひびのように見える線」までにしてください。
- クリーニング・補修・据え直しのどれがよいかを書かないでください。
- 石の種類や産地を書かないでください。金額を書かないでください。
- 汚れか石の模様か分からないものは、kind を unclear にして候補に入れてください。
- 写っていない部位について「傷みなし」と書かないでください。
- 人、車、隣の区画については何も書かないでください。
「刻まれている文字を読まない」を最初に置いているのは、いちばん守りたい線だからです。 何も言わないと、AIは傷みの説明のついでに「〇〇家の竿石」「平成〇年建立」と書きます。その一文が記録に残ると、故人と建立した方の名前が、見積の下書きと一緒に保存されます。
返事の文の下書きは、別の呼び出しで作ります。 受付の担当が候補を確かめたあと、確定した傷み、目安、概算、現地で確かめる事項だけを渡し、お客様向けの言葉に直させます。指示には「渡した金額と目安の言葉を変えない」「倒れる・危険と書かない」「金額は現地で確かめたあとに確定すると書く」を入れます。
出力形式を固定する
依頼1件ごとに、次の形の JSON で受け取ります。 part、kind は enum で決まった文字列に絞ります。
{
"request_id": "R-20261027-031",
"photos": [ { "photo": 1, "parts": ["竿石", "上台", "中台", "外柵"] } ],
"findings": [
{ "photo": 4, "box_2d": [520, 300, 610, 480], "part": "中台",
"kind": "joint_crack | joint_missing | moss | water_stain | blackening | rust_stain | bird_dropping | chip | crack_like_line | letter_fade | misaligned | angle_dependent | gap | weeds | unclear",
"note": "中台と上台のあいだの目地が、右側で途切れて見える" }
],
"not_visible": ["外柵の奥の左角", "竿石の裏"],
"retake": ["右の横から全体を1枚"]
}
1つ目の理由は、findings をそのまま受付の担当の確認の一覧にできることです。 サーバーは写真に印を描き、一覧を部位の順に並べます。受付の担当は上から順に印の所を見て、「確認済み」「該当なし」を選びます。
2つ目は、目安の規則と概算の計算が、確定した findings と台帳だけを読めばよいことです。 概算の下書きは、次の形で見積の書式に書き込みます。
| 工事 | 範囲 | 単価 | 概算 |
|---|---|---|---|
| クリーニング | 墓所の大きさ(台帳の値) | 単価表の値 | 計算 |
| 目地の補修 | 確認済みの目地の箇所 | 単価表の値 | 計算 |
| 据え直し | 現地で確かめてから | - | 現地のあと |
| 現地で確かめる事項 | 竿石のずれ/外柵の奥の左角/ひびのように見える線 | - | - |
3つ目は、retake をそのまま撮り直しのお願いにできることです。 足りない写真があるときは、見積を出す前に撮り足しをお願いするか、見積に「現地で確かめる」と書くかを受付の担当が選びます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| ホームページの問い合わせの欄 | サーバーが受け取る | 写真と依頼の項目 |
| 受付のメールアドレス | サーバーが定期的に取り込む | 霊園からの本文と添付 |
| Gemini API | API呼び出し(/v1beta/interactions、store=false) | 部位と傷みの候補、見えない部位、足りない写真。2回目で返事の文の下書き |
| 単価表と見積の書式 | 読み取りと書き込み | 単価を読み、概算の下書きを書く |
| 顧客の台帳 | 読み取りと書き込み | 前回の工事を読み、依頼の番号と返事の日時を書く |
| メール | 下書きの作成 | 返事の文の下書き。送信は人が行う |
返事のメールは、下書きまでにします。 受付の担当が写真と下書きを見比べてから送ります。概算の金額が自動で届くと、写真の見落としがそのまま金額の約束になります。
霊園への返事は、区画ごとの結果をまとめて1通にします。 霊園はお客様に案内を出す側なので、区画の番号と、確認済みの傷みと、現地で確かめる事項だけを返します。
人が確認する
- 候補を写真で確かめる … 一覧の上から順に、印の所を見て「確認済み」か「該当なし」を選びます
- 足りない写真を決める … 撮り直しをお願いするか、現地で確かめる事項にするかを選びます
- 店主か職人に回す依頼を選ぶ … ずれて見える箇所、
angle_dependent、石の欠け、ひびのように見える線がある依頼です - 返事の文を読み直す … 金額と目安の言葉、現地で確かめる事項がそろっているかを見て、直して送ります
- 外した候補を記録する … 石の模様を黒ずみと言った、花立ての影をすき間と言った、などの理由を残します
3番目を省かないでください。 ずれと割れは安全に関わり、写真からは本当の状態が分かりません。 店主か職人が写真を見て、現地で見る点を書き添えます。
目標は、180件をならして1件5分です。 汚れだけの依頼は、候補を見て返事を読み直すだけで済みます。店主か職人に回す依頼と、霊園からのまとまった依頼は時間がかかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 逆光・暗い写真 | 撮り直しのお願いを返事の下書きに入れる |
| 正面の1枚しかない | ずれは angle_dependent。横と角の写真をお願いする |
| 区画の番号が分からない | 受付の担当が霊園に問い合わせる |
| 台帳に無い墓所 | 初めての依頼として扱い、墓所の大きさは現地で測る |
| 地震の後で大きく倒れている | AIに渡さず、店主が直接見る |
| 霊園の決まりで工事の届け出が要る | 現地で確かめる事項に「霊園への届け出」を入れる |
| お客様と墓所の名義の方が違う | 受付の担当が、工事を頼める方かを確かめる |
| 文字を書き写した出力が返る | その出力を保存せずに捨て、呼び直す |
JSON の値が enum に無い | 候補を出さず、受付の担当が写真を見る |
上から2行目までが大半を占めます。 どれもAIの精度の問題ではなく、写真の頼み方の問題です。 問い合わせの欄の例の写真を直すほうが、指示の文をいじるより効きます。
6行目は、サーバーで機械的に見ます。 出力の note に、台帳にある姓や「〇〇家」の形、年号が入っていないかを調べ、入っていれば保存せずに捨てます。
記録を残す
- 依頼ごとの元の写真と、塗りつぶして AI に渡した写真
- Gemini API が返した JSON(文字の書き写しが無いことを確かめたもの)
- 候補ごとに受付の担当が付けた「確認済み」「該当なし」と、足した箇所
- そのときの店の決まりと単価表の版、付けた目安、概算
- 送った返事の文と、現地で確定した工事と金額
最後の行が、目安の決まりを直す材料です。 写真で付けた目安と現地で確定した工事を並べると、「クリーニングで出したが目地の補修も要った」依頼がどの傷みのときに多いかが分かります。
04実装レベルの3段階
最小構成では件数がさばけません。 1件ずつ貼り付けるので、180件には使えません。確かめるための段階です。 半自動化で、1件20分が11分程度になります。 写真を拡大して探す作業は減りますが、台帳を探す作業、概算の計算、返事の文が残ります。本格構成で5分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、どの傷みの候補を人が外すことが多いかが分かります。それを指示と規則に入れてから本格構成に進みます。 半自動化の1か月は、写真の頼み方を直す期間でもあります。 angle_dependent と撮り直しの件数を霊園ごと、問い合わせの欄からの依頼ごとに数えると、どの経路の写真が足りていないかが見えます。霊園の管理事務所に撮り方をお願いし直すのは、この数字を見せてからのほうが通ります。
05工数削減シミュレーション
導入後 180件 × 5分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- お墓の清掃・補修の依頼を、ホームページや電話で遠方のお客様から受けている墓石店。提携する霊園の管理事務所から、傷みの目立つ区画の写真が届く店。写真を見て見積を出せるのが店主や古参の職人だけで、返事に数日かかることがある場合。見積の依頼を受けるのを18歳以上の方に限れる場合。
- 依頼の多くが新しいお墓の建立で、必ず現地で採寸してから見積を出す場合。依頼が月に数件で、店主がその場で見て返せば足りる場合。地震の後の倒壊や大きな傾きの依頼が中心で、現地の調査なしに金額を伝えられない場合。なお、石の割れの深さ、据え直しが要るかの最終の判断、地震に対する安全性、工事の金額の確定は、この構成では代替できません。
07最小構成で試す方法
- 去年の依頼から30件を選ぶ(うち数件は、現地で見積が変わったものを入れる)
- その30件について、当時の見積と、現地で確定した工事を書き出す
- 30件の写真を、手元の Gemini の画面に1件ずつ貼り付ける
- 「この墓所の写真で、苔・水あか・黒ずみ・目地の割れ・文字の色の抜け・ずれて見える所を、部位と位置で挙げてください。写真の角度でずれて見えるだけかもしれないものは分けてください。刻まれた文字を読まないでください。傾きの角度や据え直しの要否は書かないでください」と指示する
- 出てきた候補を、当時の見積と現地の結果と突き合わせる
30件は必ずやってください。 サーバーを作る前に、「届く写真から、見積に要る傷みが候補に出るのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 現地で見つかった傷みが候補に出た | サーバーと規則の作成に進む |
| 文字を書き写した、据え直しの要否を書いた | 指示の書き方で直る。構成は有効 |
| 正面の1枚だけで、ずれも外柵も分からない | 写真の頼み方が先。 AIの問題ではない |
3行目が出ることは珍しくありません。 失敗ではなく、現地で見積が変わっていた理由が1つ分かったということです。 問い合わせの欄に例の写真を載せてから、次の30件で見直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 刻まれた文字を書き写す | 指示で禁じ、出力に姓や年号が入っていないかをサーバーで見る |
| 「倒れる危険」と書く | 指示で禁じ、返事の文の下書きでも禁じる |
| 斜めの写真でまっすぐの竿石をずれと言う | angle_dependent に分け、現地で確かめる事項に入れる |
| 石の模様を黒ずみと言う | unclear を許し、外した理由を記録する |
| 正面の1枚しか届かない | 問い合わせの欄に例の写真を載せ、写真の種類を選ばせる |
| 霊園からの複数の区画が混ざる | 区画ごとに依頼の番号を分ける |
| 見積を自動で送ってしまう | 下書きまでにする。 送信は人が行う |
| 隣の区画やお墓参りの方が写る | 塗りつぶしてから渡す |
| 石の種類や等級を見積に書く | 単価表の名前だけを使い、写真から言い当てさせない |
| 前回と今回の写真を角度違いで比べる | ずれは比べさせず、汚れと目地だけを比べる |
| 目安の決まりが店主の頭の中にしかない | 1週目に書き出し、規則の表にしてから AI をつなぐ |
上の3行が、この構成の失敗のほとんどです。 どれも、写真から分かること以上を AI に書かせることから出ています。文字は読まない、危険は書かない、角度しだいは角度しだいとして返すという線を、指示と規則の両方で守ります。
下の行も、早く効いてきます。 目安の決まりが言葉になっていないまま AI をつなぐと、受付の担当は候補の一覧を見ても、どの工事で出せばよいかを結局店主に聞くことになります。 決まりを書き出す作業は、AIを入れる前の準備であると同時に、受付の担当が見積を出せるようになるための教材にもなります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: お客様の名前と連絡先、霊園と区画の番号、墓所の写真、前回の工事の記録です。写真には、刻まれた名前や日付、お墓参りの方が写り込みます。
- 刻まれた文字を、生存する方の情報として扱う … 個人情報保護委員会のガイドラインは、死者に関する情報が、同時に、遺族等の生存する個人に関する情報でもある場合には、その生存する個人に関する情報に当たるとしています。墓石には建立した方の名前が刻まれていることもあり、区画の番号とお客様の名前は台帳で結び付きます。AIに文字を読ませず、記録に書き写させません
- 写真を店の外に広げない … 元の写真は店のフォルダにだけ残し、閲覧できる人を受付・店主・職人に限ります
- この構成は安全の判断を代替しません … ずれや割れが倒れるおそれにつながるか、据え直しが要るかは、職人が現地で確かめることです。 この構成が出すのは、写真にどう見えたかという候補だけです
- お客様の気持ちに配慮した言葉にする … 返事の文には、「危険」「放置」「劣化が進んでいる」のような強い言葉を使わせません
- 18歳以上の方の依頼に限る … Gemini API の規約の条件です。AIの結果を見るのは店の担当だけにします
- AI側にやり取りを残さない … 有料の利用枠で使い、
store=falseを付けます
誤りが起きた場合のリスクは、傷みを見落として見積が変わることと、写真の見え方でお客様を不安にさせることの2つです。 前者は見えない部位を「傷みなし」と扱うと起き、後者は「ずれて見える」を事実として伝えると起きます。どちらも、写真で分かることの範囲から出ているので、そこを設計で守ります。
10まず何から始めるか
1週目:目安の決まりを書き出す
店主と古参の受付で、どの傷みならクリーニング、どこからが目地の補修か、どんなときに現地で確かめるかを書き出します。単価表の項目と1対1に結び付けます。
2週目:30件で試す
去年の依頼から30件を選び、手元の Gemini の画面に貼って候補を挙げさせます。文字を書き写していないか、ずれを角度しだいと分けているかを最優先で見ます。
3週目:写真の頼み方を決める
問い合わせの欄に、正面・左右の横・外柵の角・気になる所の近く、の例の写真を載せます。霊園の管理事務所にも、同じ撮り方をお願いします。 あわせて、18歳以上の確認の欄を足します。
4週目:まとめて候補を出す
受付が1日分の依頼の写真をまとめて API に渡し、印の付いた写真と候補の一覧を作るところまで作ります。この時点では見積の下書きを出さず、候補だけを見ます。
2か月目: 外されやすい候補を指示と規則に入れ、目安と概算の下書きを足します。3か月目以降: 依頼の受け取りから自動で動かし、返事の文の下書きまで出して、1件20分が何分になったかを実測します。写真で付けた目安と現地で確定した工事を並べて、決まりを直すようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
対応する画像の形式が PNG・JPEG・WEBP・HEIC・HEIF であること。画像を直接入れる場合は指示の文と合わせたリクエスト全体が20MBまでであること。1回のリクエストに複数の画像を入れられること。物の位置が [ymin, xmin, ymax, xmax] の順で0〜1000に正規化されて返ること。384ピクセル以下の画像が258トークン、それより大きい画像は768×768のタイルごとに258トークンであること | Google AI for Developers: Image understanding | 2026-10-27 |
構造化出力を /v1beta/interactions の response_format(mime_type に application/json、schema)で指定すること。文字列の enum が使えること。値はアプリ側で検証するよう書かれていること | Google AI for Developers: Structured output | 2026-10-27 |
Interactions API が既定でやり取りを保存し(有料の枠で55日)、store=false で保存しない動きにできること | Google AI for Developers: Interactions API | 2026-10-27 |
| 利用には18歳以上であることが必要で、18歳未満の人に向けた、または使う見込みのあるアプリでの利用を認めていないこと。有料のサービスではプロンプトと応答が製品の改善に使われないこと | Gemini API Additional Terms of Service | 2026-10-27 |
| 死者に関する情報が、同時に、遺族等の生存する個人に関する情報でもある場合には、その生存する個人に関する情報に当たること | 個人情報保護委員会: 個人情報の保護に関する法律についてのガイドライン(通則編) | 2026-10-27 |
どの傷みをどの工事の目安にするか、どこから現地で確かめるかは、店の職人の見立てに合わせて決めてください。 本記事は上の公式の情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2031)についてのご相談はこちらから。
