Media > AI活用ユースケース > 総務 > 管理物件の空室を定期に巡回して撮った写真から、通水・換気の跡、郵便物やチラシのたまり、汚れや設備の異常の候補を見分けて、巡回記録とオーナーへの報告を作る

管理物件の空室を定期に巡回して撮った写真から、通水・換気の跡、郵便物やチラシのたまり、汚れや設備の異常の候補を見分けて、巡回記録とオーナーへの報告を作る

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

空室の巡回で撮った写真から、通水・換気をした跡、郵便物やチラシのたまり、天井や床のしみなど異常の候補を部屋ごとに拾います。巡回記録の下書き、修繕の手配が要る部屋の一覧、オーナーへの月次の報告の下書きを作ります。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Google Apps Script/Make/Power Automate
対象業界
不動産/建設
対象部門
総務
対象業務
内容確認・チェック/記録・議事録作成
主な課題
人手が足りない/書類作成に時間がかかる/確認ミスが多い
AIで行う処理
画像認識
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
100h/月
AI導入後
30h/月
想定削減
70%
年間削減
840h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 巡回の担当が、その日の空室を回り、通水・換気・郵便物の回収をして、写真を撮る
  2. 気になる点を手帳にメモし、事務所に戻って写真をフォルダに入れる
  3. 事務の担当が、写真を部屋ごとに分け直し、巡回記録の部屋の行に書き写す
  4. 事務の担当が、前回の写真と比べて、しみや破損が増えていないかを見る
  5. 異常がありそうな部屋は、管理の担当に修繕の手配を相談する
  6. 月末に、オーナーごとに空室の巡回の状況を報告書の文面にまとめる
導入後(After)
  1. 人巡回の担当が、決めた撮り場所で写真を撮り、ファイル名に部屋の番号を付けて巡回のフォルダに入れる
  2. 自動Google Apps Script が1時間ごとにフォルダを見て、部屋ごとに写真をまとめ、台帳から物件・部屋・オーナーを引く
  3. 自動Gemini API が、撮り場所ごとに作業の跡と異常の候補、写真の上の位置を返す
  4. 自動スクリプトが、前回の答えと比べて部屋ごとの区分を付け、巡回記録の下書きを書く
  5. 人管理の担当が、「要確認」「撮り漏れ」の部屋だけ写真で確かめ、修繕の手配に回すかを決める
  6. 自動月末に、確定した記録からオーナーごとの報告の下書きを作る
  7. 人事務の担当が、報告の下書きを確かめてオーナーに送る
各工程の詳しい説明を読む
  1. 巡回の担当が、その日の空室を回り、通水・換気・郵便物の回収をして、写真を撮る
  2. 気になる点を手帳にメモし、事務所に戻って写真をフォルダに入れる
  3. 事務の担当が、写真を部屋ごとに分け直し、巡回記録の部屋の行に書き写す
  4. 事務の担当が、前回の写真と比べて、しみや破損が増えていないかを見る
  5. 異常がありそうな部屋は、管理の担当に修繕の手配を相談する
  6. 月末に、オーナーごとに空室の巡回の状況を報告書の文面にまとめる

(a)写真の整理と書き写しが多い。 1日に十数室を回ると、写真は100枚を超えます。どの写真がどの部屋かを分け直すところから始まり、「異常なし」の部屋も異常なしであることを記録に書いています。

(b)異常の見落としが後で分かる。 前回の写真との比較は、忙しい週に省かれます。天井のしみが2回前の巡回から写っていたことに、上の階の入居者から苦情が来て初めて気づくことがあります。

(c)作業をしたかが確かめられない。 巡回記録の「通水済」「換気済」の印は、担当が付けたものです。臭いの苦情が出たとき、本当に水を流していたかを写真で確かめる手がかりがありません。

(d)オーナーへの報告の文面に時間がかかる。 1人のオーナーが複数の空室を持つことも多く、部屋ごとの記録を拾い集めて文面にする作業が、月末に集中します。

  1. 【人】 巡回の担当が、決めた撮り場所で写真を撮り、ファイル名に部屋の番号を付けて巡回のフォルダに入れる
  2. 【自動】 Google Apps Script が1時間ごとにフォルダを見て、部屋ごとに写真をまとめ、台帳から物件・部屋・オーナーを引く
  3. 【自動】 Gemini API が、撮り場所ごとに作業の跡と異常の候補、写真の上の位置を返す
  4. 【自動】 スクリプトが、前回の答えと比べて部屋ごとの区分を付け、巡回記録の下書きを書く
  5. 【人】 管理の担当が、「要確認」「撮り漏れ」の部屋だけ写真で確かめ、修繕の手配に回すかを決める
  6. 【自動】 月末に、確定した記録からオーナーごとの報告の下書きを作る
  7. 【人】 事務の担当が、報告の下書きを確かめてオーナーに送る

5番目が、この設計の分かれ目です。 管理の担当が写真を開くのは、区分が「要確認」と「撮り漏れ」の部屋だけです。「異常なし」の部屋は一覧で確かめます。全部の写真を開き直す設計にすると、①②の時間はほとんど減りません。

現地での確認は、これまでどおり残します。 臭い、水の流れの悪さ、床のきしみは写真に写りません。巡回の担当が気づいたことは、メモの欄に書いてもらい、AIの答えと並べます。

02今回想定するシステム構成

構成図
巡回の担当(スマートフォン)
   │  決めた撮り場所で撮影。ファイル名に部屋の番号と撮り場所
   ▼ Google ドライブの巡回のフォルダ
【トリガー】Apps Script の時間主導型トリガー(1時間ごと)
Google Apps Script
   ├── フォルダのファイルを部屋ごとにまとめる
   ├── 部屋の台帳 ── 物件・部屋・オーナー・設備
   ├──▶ UrlFetchApp で Gemini API を呼ぶ
   ▼
Gemini API ── 撮り場所ごとの作業の跡・異常の候補・位置(box_2d)
   ▼
Apps Script ── 前回の答えとの比較 → 部屋ごとの区分
   ▼
巡回記録の下書き / 修繕の相談の一覧 /(月末)オーナーへの報告の下書き
   ▼
【管理の担当が「要確認」「撮り漏れ」の部屋を写真で確かめる】
役割想定する製品代替候補
処理Gemini API(空室の写真から作業の跡と異常の候補を判定)Claude API、OpenAI API
連携Google Apps Script(写真のまとめ、呼び出し、比較、下書きの作成)Make、Power Automate
連携Google スプレッドシート(部屋の台帳の写し、巡回記録、修繕の相談の一覧)Microsoft Lists
保管Google ドライブ(巡回のフォルダと、部屋ごとの写真の保管)社内のファイルサーバー
撮影巡回の担当のスマートフォンタブレット

つなぎには Google Apps Script を使います。 インストール型のトリガーのうち時間主導型のトリガーは、1分ごとから月1回までの間隔で動かせます。この構成では1時間ごとに動かし、フォルダの中のファイルを Folder の getFiles() で一覧にします。Gemini API は UrlFetchApp.fetch() で、method に post、contentType に JSON、payload に本文を入れて呼びます。インストール型のトリガーは、作った人のアカウントで動きます。 担当が異動しても止まらないよう、業務用のアカウントで作ります。

写真を見る土台は、Gemini API の画像理解です。 対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、1回のリクエストに複数の画像を入れられます。 画像を直接入れる場合は、指示などと合わせたリクエスト全体が20MBまでです。位置は [ymin, xmin, ymax, xmax] の形で、0から1000に正規化した座標で返せます。

03どうやって実装するのか

Step1

処理の起点を決める

時間主導型のトリガーで、1時間ごとに巡回のフォルダを見ます。 巡回は昼間に行われ、写真は担当が部屋を出るたびに入ります。夕方には、その日の部屋の下書きがそろいます。

1つの部屋の写真がそろってから処理します。 撮り場所は「郵便受けとドアの前」「玄関」「キッチンの流し(水を流している様子)」「浴室の排水口(同)」「洗面台(同)」「トイレ」「各居室(窓を開けた様子)」「ベランダ」「給湯器のリモコン」です。ファイル名を「部屋の番号_撮影日_撮り場所」とし、同じ部屋で「郵便受けとドアの前」と「キッチンの流し」がそろった部屋から処理します。 最後の撮り場所が入ってから30分たっても足りない撮り場所は、「撮り漏れ」として下書きに出します。

その月の巡回予定と照らし、予定日を過ぎても写真が1枚も無い部屋を一覧にします。 写真の無い部屋は、巡回されていない部屋かもしれません。点検の結果より先に、この一覧を管理の担当に見せます。

台風や大雨の後には、臨時の巡回をします。 臨時の巡回の写真はファイル名に「臨時」を付け、区分を通常の巡回より先に並べます。 窓からの雨の吹き込みやベランダの排水口の詰まりを、先に見るためです。

Step2

入力データを集める

データ中身取得元
空室の写真撮り場所ごとの写真。部屋の番号、撮影日、撮った担当巡回のフォルダ
部屋の台帳物件、部屋の番号、間取り、水まわりの設備の一覧、給湯器の種類、オーナー、空室になった日賃貸管理のシステムから写した台帳
前回の記録同じ部屋の前回の答え、確定した区分、手配した修繕巡回記録
担当のメモ臭い・水の流れなど、写真に写らない気づき巡回記録のメモの欄

質を決めるのは、部屋の台帳の「水まわりの設備の一覧」です。 洗濯機の排水口がある部屋、浴室が2か所ある部屋、ベランダに排水口が2つある部屋。どこに水を流すべきかが台帳に無いと、撮り漏れが決まりません。 撮り場所の決まりは、この一覧から部屋ごとに作ります。

撮り場所の名前は、AIに渡します。 写真の中の何を見ればよいかが分かり、キッチンの写真で「水が流れているか」を、浴室の写真で「排水口のまわり」を見させられます。 一方、前回の答えはAIに渡しません。前回「天井にしみ」と渡せば、今回も見つけようとして、照明の影をしみと答えることがあります。

Step3

データの取得方法を決める

スクリプトが、次の順に集めます。

取るものどこから何に使うか
写真巡回のフォルダ(getFiles)AIに渡す
部屋の番号・撮影日・撮り場所ファイル名台帳の引き当てと、撮り漏れの判定
設備の一覧・オーナー部屋の台帳撮り場所の決まりと、報告の宛先
前回の答えと区分巡回記録変化の判定
担当のメモ巡回記録のメモの欄AIの答えと並べて管理の担当に見せる

写真はファイルの中身を取り出して base64 にし、撮り場所の名前と合わせて本文に入れます。 1部屋で8〜12枚になるため、縮めた写真でもリクエスト全体20MBの上限に近づくことがあります。 上限を超えそうな部屋は、水まわりと居室の2回に分けて呼びます。本文の response_format に後で示すスキーマを入れ、API キーはスクリプトのプロパティに持たせて、コードには書きません。

部屋の台帳は、賃貸管理のシステムから毎晩書き出したものを写します。 スクリプトから賃貸管理のシステムへ直接は書き込みません。入居の申込みが入った部屋は、翌日の写しから巡回の予定を外します。

Step4

AIへ渡す前に整形する

  1. 枚数と名前の確認 … 部屋の番号が台帳にあるか、撮り場所の名前が決まりのとおりかを見ます
  2. 向きの補正 … 写真の向きの情報で、横倒しの写真を正しくします
  3. 写りの確認 … 暗くて何も見えない写真、ぶれた写真は「撮り直し」とします
  4. 人の写り込みの確認 … 人が写った写真は、AIに送らず担当に返します
  5. 郵便物の写真の扱い … 宛名が読める大きさで写っていないかを見て、読める写真は縮めるか撮り直しにします
  6. 大きさの調整 … 長辺が大きすぎる写真は縮めます。天井のしみや排水口のまわりが潰れない大きさを残します

5番目は、この題材で特に大事です。 空室の郵便受けには、前の入居者あての郵便物や、宛名のある通知が入っていることがあります。 見るのは「たまっているか」だけで、宛名は要りません。郵便受けは扉を開けて少し離れて撮る決まりにし、1通ずつ並べて撮りません。

3番目の暗さは、電気の止まった空室で起きます。 空室でも照明を使えるようにしているか、担当が携帯の照明を持つ決まりにします。暗い写真では、しみも水の流れも見えません。

Step5

AIに処理させる

させるのは、撮り場所ごとに、次の答えを返すことだけです。

見るもの答え方判断できないときの扱い
水を流している様子(流し・浴室・洗面)shown / not_shown / uncertain水の流れが見分けられなければ uncertain
窓を開けた様子(居室)同上窓が写っていなければ not_shown
郵便物・チラシのたまりfound / none / not_visible / uncertain扉が閉じていれば not_visible
天井・壁・床のしみ同上暗くて見えなければ not_visible
水まわりの汚れ・かび・虫同上同上
窓・建具・設備の破損同上同上
給湯器のリモコンの表示display_on / display_off / not_visible反射で読めなければ not_visible

found と uncertain のときは、写真の番号と box_2d を返させます。 管理の担当は、印の付いた位置を見るだけで済みます。

させないこと理由
修繕が要るかの判断前回からの変化と現地の確認で管理の担当が決める
漏水や故障の原因の推測写真では確かめられない
給湯器の表示の意味の解釈型式ごとの取扱説明で確かめるもの
郵便物の宛名・差出人の読み取り巡回に要らない個人の情報
写っている人についての記述巡回に要らない

2行目がいちばん起きやすい失敗です。 天井のしみの写真を見せると、AIは「上の階からの漏水と考えられます」と書きます。それがオーナーへの報告に入れば、上の階の入居者を疑う文面になります。 原因は、管理の担当が現地と上の階の状況を確かめてから書きます。

Step6

指示内容を固定する

あなたは、賃貸住宅の空室を巡回して撮った写真を見て、巡回の作業の跡と、異常らしいものを書き出す立場です。
同じ部屋の写真を撮り場所の名前と一緒に渡します。写真に見えるものだけを答えてください。

【この部屋の情報】間取り:{layout}  撮り場所:{spots}

【撮り場所ごとに答えること】
- 流し・浴室・洗面:water_running(shown / not_shown / uncertain)
- 居室:window_open(shown / not_shown / uncertain)
- 郵便受けとドアの前:mail_pileup(found / none / not_visible / uncertain)
- すべての撮り場所:stain、dirt_mold_pest、damage(found / none / not_visible / uncertain)
- 給湯器のリモコン:heater_display(display_on / display_off / not_visible)
- found と uncertain のときは、photo_no と box_2d と、見えたものを短く note に
迷ったときに none を選ばないでください。

【厳守事項】
- 暗い・反射・画角の外で見えない部分は not_visible にしてください。見えない部分を none にしないでください。
- しみや汚れの原因、漏水の有無を推測しないでください。
- 修繕が要るかどうかを書かないでください。
- 郵便物の宛名、差出人、内容を書かないでください。たまっているかどうかだけを答えてください。
- 給湯器のリモコンの表示の意味を書かないでください。何か表示されているかだけを答えてください。
- 写真に写っている人について、何も書かないでください。

「郵便物の宛名を書かない」を明記しないと、AIは宛名を読み上げます。 写真に文字があれば、それを書き出すのが自然だからです。巡回記録に前の入居者の名前が残れば、それだけで個人の情報を不要に持つことになります。

「表示の意味を書かない」を入れているのは、誤った案内を防ぐためです。 リモコンの数字を見て、AIがもっともらしい故障の説明を書くことがあります。意味は型式ごとの取扱説明で、管理の担当が確かめます。

Step7

出力形式を固定する

構造化出力で、部屋ごとに次の形のJSONを受け取ります。

{
  "room_id": "B021-0203",
  "spots": [
    { "spot": "kitchen_sink",
      "checks": [
        { "item": "water_running | window_open | mail_pileup | stain | dirt_mold_pest | damage | heater_display",
          "status": "shown | not_shown | found | none | not_visible | uncertain | display_on | display_off",
          "photo_no": 3,
          "box_2d": [0, 0, 0, 0],
          "note": "" }
      ] }
  ],
  "retake_needed": false
}

項目と状態を enum にして、決めた値以外を返させません。 Gemini API の構造化出力は、/v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定し、enum と required が使えます。ただし、JSONとして正しくても値が正しいとは限らないため、アプリケーションの側で値を確かめるよう案内されています。 スクリプトで、撮り場所ごとに決めた項目がそろっているか、water_running に found のような組み合わせの合わない値が入っていないかを確かめ、合わなければ「確認が要る」にします。

区分は、スクリプトが前回の答えと比べて決めます。

区分条件の例
要確認(至急)しみ・破損が前回から新しく found。または窓・ドアの破損が found
要確認汚れ・かび・虫が found。給湯器が display_on
撮り漏れ決めた撮り場所の写真が無い。または水を流す様子が not_shown
郵便物郵便物・チラシのたまりが found(回収の写真の追加を担当に頼む)
異常なしすべて none で、作業の跡が shown

しみと破損を前回からの変化で「至急」にしているのは、空室では変化そのものが知らせだからです。 前回から写っているしみは、すでに相談した記録があるかを確かめるだけで済みます。規則の中身は管理部が決め、表として持ちます。

Step8

システムへ連携する

つなぎ先方式内容
Google ドライブApps Script の Folder(getFiles)写真の一覧と取り出し、処理済みのフォルダへの移動
Gemini APIUrlFetchApp.fetch(post)撮り場所ごとの判定
部屋の台帳・巡回記録Google スプレッドシート台帳の読み取りと、下書きの列への書き込み
修繕の相談の一覧Google スプレッドシート要確認の部屋の追加

巡回記録には、下書きの列だけに書きます。 確定の列は管理の担当が埋めます。修繕の手配も、工事業者への依頼は管理の担当が確定してから出します。 スクリプトから外へは何も送りません。

処理が終わった写真は、部屋ごとの保管のフォルダへ移します。 移すのは、答えを巡回記録に書けたときだけにします。巡回のフォルダに残っている写真の数が、そのまま未処理の数になります。

Step9

人が確認する

すべての部屋で、管理の担当の確定を通します。 写真を開く部屋は区分で絞ります。

  1. 「要確認(至急)」を最初に見る … 印の付いた位置を写真で確かめ、前回の写真と並べます。新しいしみなら、上の階や隣の部屋の状況を確かめる手配までを1つの手順にします
  2. 「撮り漏れ」を見る … 水を流していない撮り場所があれば、次の巡回を前倒しにするか、担当に確かめます
  3. 「要確認」と「郵便物」を見る … 清掃や回収の手配を決めます
  4. 「異常なし」は一覧で確定する … 下書きを流し見て、まとめて確定します

1番目を省かないでください。 空室のしみは、誰も住んでいないあいだに広がり続けます。 写真で確かめた時点で、現地の確認の手配まで進めます。

目標は、1,200件をならして1件1.5分です。 「異常なし」の部屋は一覧で数秒、「要確認(至急)」の部屋は写真を開いて数分かかります。月末のオーナーへの報告の確認も、この時間に含めています。

最初の1か月は、事務の担当がこれまでどおり写真を見て、AIの区分と並べます。 担当が異常と見た部屋に、AIが候補を出していたかを照らします。出していなかった部屋は、撮り場所か指示の書き方を直す材料です。

Step10

例外に対処する

起きること対応
部屋の番号が台帳に無い処理せず管理の担当に知らせる。番号の付け間違いを疑う
決めた撮り場所の写真が無い「撮り漏れ」として下書きに出す
暗い・ぶれで見えない「撮り直し」。次の巡回で撮り直す
人が写っているAIに送らず担当に返す
郵便物の宛名が読めるAIに送らず縮めるか撮り直し
1部屋の写真が多く上限に近い水まわりと居室の2回に分けて呼ぶ
入居の申込みが入った部屋台帳の写しで巡回の予定から外す
内装の工事中の部屋台帳で「工事中」にし、区分を付けない
Gemini API が応答しないその部屋は「未処理」。写真をフォルダに残し、次の回で処理する

「未処理」と「撮り漏れ」を「異常なし」に混ぜないでください。 混ぜると、巡回されていない部屋が巡回された部屋と同じ記録になり、(c)の問題がそのまま残ります。

Step11

記録を残す

  • 部屋ごとの写真と、撮影日時、撮った担当
  • AIの答え(撮り場所ごとの状態・位置・メモ)
  • 区分と、そのとき使った規則の版
  • 管理の担当が直した区分と、確定した日
  • 手配した修繕・清掃と、その結果
  • オーナーへ送った報告の版と、送った日

オーナーへの報告の下書きは、たとえば次の形にします。

【空室の巡回のご報告】2026年10月分 ○○様
 B021-0203(1K) 巡回 10/03・10/17 通水・換気を実施
   10/17 浴室の天井に小さなしみを確認。原因を確認中です(写真2枚添付)
 B021-0305(1LDK) 巡回 10/03・10/17 通水・換気を実施 異常はありませんでした
 チラシの投函が多く、10/17 に回収しました

最後の行の報告の版は、管理業務報告書の材料になります。 賃貸住宅管理業法の施行規則は、管理受託契約を結んだ日から1年を超えない期間ごとに、報告の対象となる期間、管理業務の実施状況、入居者からの苦情の発生状況と対応状況を記載した管理業務報告書を交付して説明することを求めています。月次の報告を残しておけば、1年分の実施状況をそこから組めます。

04実装レベルの3段階

最小構成:写真と撮り場所を手でAIの画面に貼り、撮り場所ごとに答えさせる / 1室ごとの見直し
半自動化:上記+フォルダを起点に Apps Script で呼び出し、答えを巡回記録の下書きに書き出す / 全部の部屋の書き写し
本格構成:上記+前回の答えと比べて区分を付け、撮り漏れの一覧とオーナーへの報告の下書きまで出す / 書き写し・比較・報告の下書きまで

最小構成では、月1,200件をさばけません。 確かめるための段階です。 半自動化で、1件5分が3分程度になります。 写真の分け直しと書き写しは無くなりますが、前回との比較とオーナーへの報告が手で残ります。 本格構成で1.5分になり、この段階が本記事の想定です。 差が大きいのは、②の比較と③の報告の下ごしらえが規則で行われるためです。 段階を飛ばさないでください。 半自動化の下書きを1か月見ると、撮り漏れの多い撮り場所と、暗くて見えない物件が分かります。そこを直してから区分を付けるほうが、管理の担当が一覧を信用します。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
8 名
月間件数
1,200 件
1件あたり現在時間
5 分
1件あたり導入後時間
1.5 分
現在  1,200件 × 5分 ÷ 60 = 100 時間/月
導入後 1,200件 × 1.5分 ÷ 60 = 30 時間/月
月間削減時間
70h
削減率
70%
年間削減時間
840h
年間金額換算(時間単価3,000円)
252万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 数千戸の賃貸住宅の管理を受託し、空室を月に1〜2回巡回して通水・換気・郵便物の回収をしている賃貸管理会社。巡回の写真は集まっているが、部屋ごとの巡回記録への書き写しと、オーナーへの報告の文面づくりが事務の担当の手作業になっている場合。部屋ごとに撮る場所の決まりを巡回の担当にそろえられる場合。空室の管理を請け負う清掃・設備の会社にも当てはまります。
向いていない
  1. 管理戸数が少なく、空室が月に数室で、担当が記憶で報告できる場合。巡回で写真を撮っておらず、撮る決まりも作れない場合。内見の客や入居予定者が室内に入っている時間に巡回が重なり、人を写さずに撮る決まりを通せない場合。なお、修繕の要否と費用の判断、漏水や設備の故障の原因の特定は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の巡回から、修繕を手配した部屋と手配しなかった部屋を合わせて20室選ぶ
  2. その20室の写真を用意する(人が写っておらず、郵便物の宛名が読めないもの)
  3. 手元の Gemini の画面に、1室分の写真と撮り場所の名前を貼り付ける
  4. 「撮り場所ごとに、水を流している様子、窓を開けた様子、郵便物のたまり、しみ、汚れ・かび・虫、破損、給湯器の表示が見えるかを答え、見える場合は場所を示してください。原因や修繕の要否、郵便物の宛名は書かないでください。見えない部分は見えないと答えてください」と指示する
  5. 当時の記録と、修繕の手配の結果と突き合わせる

試すときも、会社で使ってよいと決めた有料の枠で行います。

出てきた内容判断
修繕を手配した部屋で異常の候補が出ている撮り場所の決まりとスクリプトに進む
原因や修繕の要否まで書いてしまう指示の書き方で直る。構成は有効
暗くて何も答えられない撮り方が先。 AIの問題ではない

3行目は、電気の止まった空室の写真でよく出ます。 写真で見えない部屋は、現地でも見落としやすい部屋です。照明の決まりを作ると、現地の点検の見方もそろいます。

08実装時につまずきやすいポイント

問題対策
見えない部分を「異常なし」と答えるnot_visible を用意し、迷ったらそれを選ばせる
しみの原因を推測して報告に入る原因を書かせない。原因は管理の担当が確かめて書く
郵便物の宛名を読み上げる宛名を書かせない。撮るときも離れて撮る
給湯器の表示をもっともらしく解釈する表示の有無だけを答えさせる
暗い部屋で何も見えない照明の決まりを作る
前回の答えを渡して、無いしみを答える前回の記録はAIに渡さず、比較はスクリプトで行う
1部屋の写真が多くて上限に近づく縮めて送り、水まわりと居室に分ける
トリガーが作った人の異動で止まる業務用のアカウントでトリガーを作る
申込みが入った部屋を巡回し続ける台帳の写しで毎日予定を外す
オーナーへの報告を自動で送る下書きまでにし、送るのは事務の担当

上の3行が、この構成の失敗のほとんどです。 どれも、写真に写っていないこと・要らないことまで書くことから起きます。見えるものだけを答えさせ、原因と宛名を書かせなければ、報告の文面で困ることはほとんどありません。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 空室の写真、部屋の台帳、オーナーの名前、巡回記録、修繕の手配の記録です。写真には、前の入居者あての郵便物、内見の客、隣の部屋の様子が写り込むおそれがあります。

  1. 郵便物の宛名と人を写さない、写った写真を送らない … 郵便受けは離れて撮り、宛名が読める写真と人が写った写真はAIに送りません。AIへの指示でも、宛名と人について何も書かせません
  2. 規約の年齢の条件を確かめる … Gemini API の規約は18歳以上の利用を条件とし、18歳未満を対象とする、または18歳未満が利用しうるサービスでの利用を禁じています。 この構成を使うのは社員と巡回の担当だけで、入居者やオーナーに使わせる仕組みではありません
  3. 有料の枠で使う … 無料の枠では送った内容が製品の改善に使われ、人が読むことがあるとされ、個人の情報を送らないよう案内されています。有料の枠では、プロンプトや応答を製品の改善に使わず、限った期間だけ記録するとされています
  4. 保存される場所を確かめる … 有料の枠でも、内容はどの国でも一時的に保存・キャッシュされうるとされています。オーナーとの管理受託契約で写真の扱いに条件があれば、先に確かめます
  5. 修繕の判断と報告の責任は管理会社に残る … 賃貸住宅管理業法は、管理業者が管理業務の実施状況などを定期的に委託者に報告することを求めています。AIの答えはその材料で、報告の中身を確かめて送るのは管理会社です。 原因の推測をそのまま報告に載せないでください
  6. 鍵と巡回の予定を写真と一緒に置かない … 空室の巡回の予定と鍵の保管場所が分かる情報は、写真のフォルダとは別に管理します

誤りが起きた場合のリスクは、しみや破損を見落とすことと、巡回していない部屋を巡回したことにしてしまうことの2つです。 前者は not_visible を none に混ぜると起き、後者は「未処理」や「撮り漏れ」を「異常なし」に混ぜると起きます。どちらも、見えないことと撮っていないことを記録に残すことで守ります。

10まず何から始めるか

1週目:撮り場所の決まりを作る

空室の多い物件を1つ選び、部屋の台帳の水まわりの設備から、部屋ごとの撮り場所の一覧を作ります。郵便受けは離れて撮る、暗い部屋は照明を持つ、という決まりも書き添えます。

2週目:20室で試す

先月の巡回の写真から20室を選び、手元の Gemini の画面で撮り場所ごとに答えさせます。当時の記録と修繕の手配の結果と突き合わせ、見えない部分を「異常なし」と答えていないか、宛名を読み上げていないかを最優先で見ます。

3週目:区分の規則を決める

管理部で、要確認(至急)・要確認・撮り漏れ・郵便物の規則の表を作ります。オーナーへの報告の文面の型も、ここで決めます。

4週目:フォルダから下書きまでをつなぐ

Apps Script で、時間主導型のトリガーから Gemini API の呼び出しまでをつなぎ、巡回記録の下書きに書き出すところまで作ります。 区分はまだ付けず、事務の担当の見直しと並べます。

2か月目: 前回の答えと比べて区分を付け、撮り漏れの一覧を出します。3か月目以降: 月末のオーナーへの報告の下書きを足し、1件5分が何分になったかを実測します。オーナーからの空室の問い合わせに、写真付きの記録でその場で答えられるようになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-12/最終更新:2026-10-13
確認した内容情報源確認日
管理業務に、賃貸住宅の居室などについて点検・清掃その他の維持を行い、必要な修繕を行う維持保全が含まれること(第2条)。賃貸住宅管理業者が管理業務の実施状況などを定期的に委託者に報告しなければならないこと(第20条)e-Gov 法令API: 賃貸住宅の管理業務等の適正化に関する法律2026-10-12
管理受託契約を締結した日から1年を超えない期間ごと、および契約期間の満了後遅滞なく、報告の対象となる期間、管理業務の実施状況、入居者からの苦情の発生状況と対応状況を記載した管理業務報告書を交付して説明すること。委託者の承諾を得て電磁的方法で提供できること(第40条)e-Gov 法令API: 賃貸住宅の管理業務等の適正化に関する法律施行規則2026-10-12
対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合、指示などと合わせたリクエスト全体が20MBまでであること。1回のリクエストに複数の画像を入れられること。位置を [ymin, xmin, ymax, xmax] の0〜1000の座標で返すことGemini API: Image understanding2026-10-12
構造化出力を /v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定すること。enum と required が使えること。JSONとして正しくても値はアプリケーションの側で検証するよう案内されていることGemini API: Structured output2026-10-12
18歳以上の利用を条件とし、18歳未満を対象とする、または利用しうるサービスでの利用を禁じていること。無料の枠では送った内容が製品の改善に使われ、人が読むことがあり、個人の情報を送らないよう案内されていること。有料の枠では製品の改善に使わず、限った期間だけ記録すること。どの国でも一時的に保存・キャッシュされうることGemini API Additional Terms of Service2026-10-12
時間主導型のトリガーが1分ごとから月1回までの間隔で動くこと。インストール型のトリガーは作った人のアカウントで動くことGoogle Apps Script: Installable triggers2026-10-12
UrlFetchApp.fetch で method(post など)、contentType、payload、headers、muteHttpExceptions を指定してリクエストを送れることGoogle Apps Script: Class UrlFetchApp2026-10-12
Folder の getFiles がフォルダ直下のすべてのファイルを返すことGoogle Apps Script: Class Folder2026-10-12

管理業務報告書の記載事項と報告の時期は、法令と国土交通省の解釈・運用の考え方で確かめてください。 本記事は法令の条文で確認できた範囲を扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1288)についてのご相談はこちらから。

AI活用について相談する
目次