管理物件の入居者対応の記録から、オーナーへの月次報告の下書きを物件ごとに作る
管理システムに残った1か月分の入居者対応・修繕・入退去の記録を物件ごとに読み、オーナーへ送る月次報告の下書きを作ります。担当者は下書きを直して送るだけになり、報告の書き方も物件をまたいでそろいます。
- 生成AI
- ChatGPT/Claude/Gemini
- 対象業界
- 不動産
- 対象部門
- カスタマーサポート/営業
- 対象業務
- 書類作成/要約
- 主な課題
- 属人化している/引き継ぎができていない/書類作成に時間がかかる
- AIで行う処理
- 要約
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月初に、入出金の締めが終わるのを待つ
- 管理システムで物件を選び、前月分の対応履歴を開いて1件ずつ読む
- 修繕の画面で手配中・完了の案件と金額、見積の承認待ちを確かめる
- 契約の画面で退去予定・新規入居・募集中の部屋を確かめる
- 入出金の画面から滞納の有無と金額を写す
- Wordのひな形に要約を書き、数字を表に打ち込む
- オーナーに判断してほしいこと(見積の承認、家賃の見直し、設備の更新)を文章にする
- 上長が目を通し、PDFにしてメールで送る
- 人月初に入出金の締めが終わったら、管理システムから前月分の記録をCSVで出力する
- 自動スクリプトがCSVを物件ごとにまとめ、入居者の氏名・連絡先を落とし、部屋番号を仮の番号に置き換える
- 自動物件ごとの設定(部屋番号を報告に出すか)を読み込む
- 自動120物件分のリクエストを Message Batches API にまとめて投入する
- 自動Claude API が物件ごとに5つの欄の文章をJSONで返す
- 自動スクリプトが結果を物件コードで突き合わせ、文章に数字が混ざっていないか、禁止語が無いかを確かめる
- 自動管理システムの数字の表と文章をひな形に流し込み、下書きを作る
- 人担当者が下書きを読み、事実の誤りと書きすぎを直す
- 人上長が目を通し、担当者がPDFにして送る
各工程の詳しい説明を読む
- 月初に、入出金の締めが終わるのを待つ
- 管理システムで物件を選び、前月分の対応履歴を開いて1件ずつ読む
- 修繕の画面で手配中・完了の案件と金額、見積の承認待ちを確かめる
- 契約の画面で退去予定・新規入居・募集中の部屋を確かめる
- 入出金の画面から滞納の有無と金額を写す
- Wordのひな形に要約を書き、数字を表に打ち込む
- オーナーに判断してほしいこと(見積の承認、家賃の見直し、設備の更新)を文章にする
- 上長が目を通し、PDFにしてメールで送る
(a)読む時間が書く時間より長い。 1か月に20件の連絡があった物件では、履歴を読み返すだけで10分を超えます。大半は「鍵をなくした」「ごみの出し方」のような、報告では1行に縮まる連絡です。
(b)載せる範囲が担当者で違う。 ある担当者は「203号室の方から騒音の苦情」と書き、別の担当者は「入居者間の生活音について1件」と書きます。前者は入居者を特定できる書き方で、オーナーと入居者の関係に影響しかねません。
(c)判断してほしいことが埋もれる。 見積の承認待ちが本文の途中に書かれ、オーナーが気づかないまま1か月たつことがあります。修繕が遅れた入居者からの苦情は、窓口に戻ってきます。
(d)担当替えで経緯が切れる。 前の担当者が「来月また様子を見る」と書いた件が、引き継ぎの後に報告から消えます。
- 【人】 月初に入出金の締めが終わったら、管理システムから前月分の記録をCSVで出力する
- 【自動】 スクリプトがCSVを物件ごとにまとめ、入居者の氏名・連絡先を落とし、部屋番号を仮の番号に置き換える
- 【自動】 物件ごとの設定(部屋番号を報告に出すか)を読み込む
- 【自動】 120物件分のリクエストを Message Batches API にまとめて投入する
- 【自動】 Claude API が物件ごとに5つの欄の文章をJSONで返す
- 【自動】 スクリプトが結果を物件コードで突き合わせ、文章に数字が混ざっていないか、禁止語が無いかを確かめる
- 【自動】 管理システムの数字の表と文章をひな形に流し込み、下書きを作る
- 【人】 担当者が下書きを読み、事実の誤りと書きすぎを直す
- 【人】 上長が目を通し、担当者がPDFにして送る
8番目を省く設計にはしません。 オーナーへ出る文書で、しかも入居者のことが書かれているからです。減らすのは「読んで書く」時間で、「読んで直す」時間は残します。
2番目で氏名を落としてから外へ出すのも、意図してのことです。オーナー報告に氏名は要らないので、AIにも要りません。
02今回想定するシステム構成
賃貸管理システム │ 【トリガー】月初、入出金の締めの後に担当者がCSVを出力 │ 対応履歴/修繕/契約(入退去・募集)/入出金(滞納) ▼ 月次スクリプト(社内で用意) ├── 物件ごとにまとめる ├── 氏名・電話・メールを落とす/部屋番号を仮番号に置換 ├── 物件ごとの設定(部屋番号を出すか)を読む ▼ Claude API(Message Batches API で120物件をまとめて投入) │ 構造化出力(JSON)で5つの欄の文章だけを返す ▼ 月次スクリプト ├── custom_id(物件コード)で結果を突き合わせる ├── 文章に金額・件数が混ざっていないかを検査 ├── 管理システムの数字の表を差し込む ▼ 報告書の下書き(ひな形) ▼ 【人が確認・修正】担当者 → 上長 ▼ オーナーへ送付(メール)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Claude API(物件ごとの記録の要約と報告文の下書き) | OpenAI API、Gemini API |
賃貸管理システムとメールは、新しく足すものではありません。 管理システムからはCSVを出力するだけで、この構成から管理システムへ書き込むことはありません。月次スクリプトは、CSVを読んでAPIを呼び、結果をひな形に流し込む程度の小さなものです。 社内の情報システム担当か外部の開発者が用意します。
土台になるのは、Claude API の構造化出力です。 公式ドキュメントでは、応答を指定したスキーマに従わせ、後段の処理でそのまま読める有効なJSONにする機能とされています。output_config.format に json_schema を指定する形で、必須の項目と型が守られるため、5つの欄のどれかが抜けた下書きは出てきません。
ただし、スキーマで縛れないものもあります。 数値の最小値・最大値(minimum、maximum)や文字列の長さ(minLength、maxLength)は対応しておらず、オブジェクトの additionalProperties は false にする必要があります。「1欄200字まで」はスキーマではなく、指示とスクリプトの検査で守ります。
月に1回まとめて流すので、Message Batches API を使います。 大量のリクエストを非同期で処理する仕組みで、料金は通常の50%、多くのバッチは1時間以内に終わるとされています。月初の報告は即時の応答が要らないため、この用途に合います。1回のバッチは10万件または256MBまでで、120物件なら余裕があります。
03どうやって実装するのか
処理の起点を決める
月初、入出金の締めが終わったことを起点にします。 滞納の有無は締めの後でないと確定しないため、日付で自動起動させず、担当者がCSVを出力した時点で始めます。 締めの前に動かすと、月末に入金された家賃が滞納として報告に載ります。
CSVを決められたフォルダに置くと、スクリプトが動きます。出力する期間は前月1日から末日までで、スクリプトは期間が1か月分であることを最初に確かめます。 期間を取り違えたCSVで120物件分を作ると、全件を作り直すことになります。
報告を出さない物件(オーナーの意向で四半期ごとにしている物件など)は、物件ごとの設定で外します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 対応履歴 | 受付日時、部屋、分類(設備/騒音/鍵/ごみ等)、内容、対応結果、未完了か | 管理システムのCSV |
| 修繕 | 案件、部屋、手配日、業者、状況、金額、オーナーの承認が要るか | 管理システムのCSV |
| 契約 | 退去予定、新規入居、募集中の部屋と募集開始日 | 管理システムのCSV |
| 入出金 | 滞納の有無、滞納額、滞納月数 | 管理システムのCSV |
| 物件ごとの設定 | 部屋番号を出すか、報告の宛名、報告を出すか | 設定の一覧(表計算) |
| 前月の報告 | 前月に「様子を見る」「来月報告」とした事項 | 前月分の出力JSON |
いちばん下の「前月の報告」が、第3章の(d)を防ぎます。 前月に持ち越した事項を今月の入力に入れ、今月の記録で片付いたか、まだ続いているかを書かせます。 担当者が替わっても、持ち越しは機械の側で引き継がれます。
入出金は、AIに渡しても文章には使わせません。 滞納の有無を「あり/なし」だけ渡し、金額は数字の表の側にだけ入れます。
データの取得方法を決める
管理システムの画面から、対応履歴・修繕・契約・入出金の4種類をCSVで出力します。出力の項目と順序を固定したテンプレートを管理システム側に保存しておきます。 担当者ごとに出力の設定が違うと、スクリプトが読めません。
| 取るもの | 出力の単位 | スクリプトでの扱い |
|---|---|---|
| 対応履歴 | 1連絡1行 | 物件コードでまとめ、受付日順に並べる |
| 修繕 | 1案件1行 | 状況(手配中/完了/見積待ち)で分ける |
| 契約 | 1部屋1行 | 退去予定・入居・募集中の3区分に分ける |
| 入出金 | 1部屋1行 | 滞納ありの部屋だけを残す |
管理システムにAPIがある場合は、CSVの代わりにAPIで取る構成もできます。ただし、その可否と取れる項目は管理システムごとに違うため、個別の確認が必要です。 本記事ではCSVの出力を前提にします。
AIへ渡す前に整形する
- 期間の確認 … CSVの受付日が前月の範囲に収まっているかを見ます。外れた行があれば止めます
- 物件ごとにまとめる … 物件コードで4種類のCSVを1つにまとめます
- 氏名と連絡先を落とす … 入居者の氏名、電話番号、メールアドレスの列を削除します。内容の欄に書き込まれた氏名や電話番号も、パターンで探して伏せます
- 部屋番号を仮番号に置き換える … 「203号室」を「部屋R3」のように置き換え、対応表はスクリプトの手元だけに持ちます
- 分類ごとに件数を数える … 連絡の件数、修繕の件数と金額、空室数はここで数え、AIへ渡す前に数字の表を作っておきます
- 記録が多い物件を確かめる … 連絡が極端に多い物件は、分類ごとに並べ直してから渡します
- 前月の持ち越し事項を付ける … 前月の出力JSONから
carry_overを読み、入力に加えます
3番目の「内容の欄」を軽く見ないでください。 窓口は「田中様より、203の上の階がうるさいと」のように内容の欄へ書きます。列を消すだけでは、氏名は外へ出ます。
5番目で数字を先に作るのは、AIに数えさせないためです。 件数を数え間違えた報告は、数字の表と本文で食い違います。数字はスクリプトが数え、AIは文章だけを受け持ちます。
入力の並べ方は、長い資料の扱いに関する公式の指針に合わせます。 長い資料は指示より前、プロンプトの上のほうに置き、問い(指示)は最後に置くと、複雑な複数の資料で応答の質が最大30%上がったとされています。資料は <document> タグで包み、<source> などの情報を付けます。記録の多い物件ほど効きます。
AIに処理させる
させるのは、5つの欄それぞれについて、記録から言えることだけを短く書くことです。
| 欄 | 書かせること | 書かせないこと |
|---|---|---|
| 入居者からの連絡 | 分類ごとの傾向と、対応の結果。未完了のもの | 件数(表に出る)、誰からの連絡か |
| 修繕 | 手配した内容と状況。承認待ちの見積があること | 金額(表に出る)、業者の評価 |
| 入退去・募集 | 退去予定、入居、募集の状況 | 退去の理由のうち個人の事情 |
| 滞納 | 滞納がある/ないこと、督促の対応状況 | 金額、滞納している人の事情 |
| 判断してほしいこと | 承認待ちの見積、設備の更新の相談など、オーナーが決める事項 | 管理会社としての推奨を断定すること |
それぞれの文には、根拠にした記録の番号(record_ids)を付けさせます。 担当者は下書きを読みながら、その番号の記録だけを開けば確かめられます。公式の指針でも、長い資料では先に関係する部分を引用させてから本題に入ると、関係のない部分を無視しやすくなるとされています。
| させないこと | 理由 |
|---|---|
| 金額・件数を文中に書く | 表の値と食い違う。数字は管理システムの値だけにする |
| 入居者を特定できる書き方 | 氏名は渡していないが、事情の書き方で特定できてしまう |
| 記録にない推測(「おそらく」「近く退去か」) | オーナーの判断を誤らせる |
| 修繕の要否を判断する | 要否は現地を見た担当者と業者が決める |
| 前月の持ち越し事項を黙って消す | 片付いたなら片付いたと書かせる |
指示内容を固定する
<documents>
<document index="1">
<source>対応履歴({property_code}/{period})</source>
<document_content>{inquiries}</document_content>
</document>
<document index="2">
<source>修繕</source>
<document_content>{repairs}</document_content>
</document>
<document index="3">
<source>契約(退去予定・入居・募集)</source>
<document_content>{leases}</document_content>
</document>
<document index="4">
<source>滞納の有無(あり/なしのみ)</source>
<document_content>{arrears_flags}</document_content>
</document>
<document index="5">
<source>前月からの持ち越し事項</source>
<document_content>{carry_over}</document_content>
</document>
</documents>
あなたは賃貸管理会社の担当者として、物件のオーナーへ送る月次報告の文章を書きます。
上の記録だけを根拠に、5つの欄の文章を作ってください。
【欄】
1. inquiries ...... 入居者からの連絡の傾向と対応の結果、未完了のもの
2. repairs ........ 修繕の手配の内容と状況、オーナーの承認待ちの見積
3. leasing ........ 退去予定、入居、募集の状況
4. arrears ........ 滞納があるかないか、督促の対応状況
5. owner_decisions オーナーに判断してほしい事項
【厳守事項】
- 金額・件数・日数などの数字を文章に書かないでください。
数字は別の表に入ります。「複数」「いくつか」とも書かず、事実だけを書いてください。
- 部屋は「部屋R3」のような仮の番号のまま書いてください。
号室に直したり、階や位置を補ったりしないでください。
- 入居者の家族構成、体調、勤め先、近隣とのもめごとの相手など、
人を特定できる事情は書かないでください。「入居者間の生活音」のように書きます。
- 記録にないことを推測で書かないでください。
「おそらく」「〜と思われる」「近く退去の可能性」は使わないでください。
- 記録が無い欄は「今月の記録はありません」と書いてください。空にしないでください。
- 修繕が必要かどうか、どの業者がよいかを判断しないでください。
- 前月からの持ち越し事項は、今月の記録で片付いたものは resolved、
続いているものは open として carry_over_status に必ず全件を書いてください。
- 各文には、根拠にした記録の番号を record_ids に入れてください。
根拠の番号が無い文は書かないでください(「今月の記録はありません」だけは空で可)。
- 1つの欄は200字以内、です・ます調で書いてください。
「数字を書かない」は、「複数とも書かない」まで言わないと守られません。 数字を禁じると「3件」の代わりに「複数件」と書き、表の件数が1件のときに食い違います。
記録を先に、指示を後に置いているのは、公式の指針に合わせたものです。 記録の多い物件では、欄の定義が記録の後ろにあるほうが、どの欄に何を書くかを取り違えにくくなります。
出力形式を固定する
構造化出力で、次の形のJSONを受け取ります。
{
"property_code": "P-0412",
"sections": {
"inquiries": [{ "text": "", "record_ids": [""] }],
"repairs": [{ "text": "", "record_ids": [""] }],
"leasing": [{ "text": "", "record_ids": [""] }],
"arrears": [{ "text": "", "record_ids": [""] }],
"owner_decisions": [{ "text": "", "record_ids": [""] }]
},
"carry_over_status": [
{ "item_id": "", "status": "resolved | open", "note": "" }
],
"needs_attention": false,
"attention_reason": ""
}
スキーマでは5つの欄と carry_over_status をすべて required にし、オブジェクトは additionalProperties: false にします。status は enum で resolved と open に限ります。
1つ目の理由は、欄が抜けないことです。 必須の項目と型が守られるため、「修繕の欄を書き忘れた下書き」は出てきません。記録が無い欄にも「今月の記録はありません」が入ります。
2つ目は、文と根拠を1対1で持てることです。 record_ids があるので、担当者は下書きの1文ごとに元の記録へ戻れます。自由文で受け取ると、どの記録から書いたのかを探し直すことになります。
3つ目は、スクリプトが検査しやすいことです。 各欄の text を取り出して、数字、「号室」、禁止語を探せます。スキーマで守れない文字数と数字の混入は、ここで検査します。 なお、公式ドキュメントでは、応答の拒否や stop_reason が max_tokens の場合にはスキーマに合わない出力になりうるとされているため、stop_reason も必ず見ます。
needs_attention は、AIが「この物件は担当者がよく読むべき」と判断したときに立てます。 記録どうしが矛盾している、持ち越し事項の扱いが分からない、といった場合です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 賃貸管理システム | CSVの出力(人) | 4種類の記録を出力する。書き込みはしない |
| Claude API | Message Batches API | 120物件分を1回で投入し、結果を受け取る |
| 報告書のひな形 | スクリプトで流し込み | 文章と、管理システムの数字の表を合わせる |
| 共有フォルダ | ファイルの保存 | 物件ごとの下書きを担当者別のフォルダへ置く |
| メール | 担当者が送る | PDFにして送付。自動送信はしない |
バッチの結果は、投入した順に返ってくるとは限りません。 公式ドキュメントでも、結果は作成時の順序と一致しないことがあり、custom_id で突き合わせるよう書かれています。custom_id には物件コードを入れます。 使えるのは英数字とハイフン、アンダースコアで1〜64文字なので、物件コードに日本語が入る管理システムでは、スクリプト側で変換表を持ちます。
部屋の仮番号は、ひな形に流し込むときに戻します。 物件ごとの設定で「部屋番号を出す」としている物件だけ、R3を203号室に置き換えます。「出さない」物件では、仮番号の表記を消して文を整えます。
人が確認する
needs_attentionの物件と、検査で止まった物件を先に読む … ここに時間を使います- 判断してほしいことの欄を確かめる … 見積の承認待ちが漏れていないかを、修繕の画面の「承認が要る」案件と見比べます
- 書きすぎを消す … 入居者を特定できる書き方が残っていないかを読みます。部屋番号を出す物件では特に
- 持ち越し事項の扱いを確かめる …
resolvedにされたものが本当に片付いたか - 上長が目を通して送る … 送信は担当者が行います
2番目を省かないでください。 オーナーにとって報告書でいちばん大事なのは、自分が何を決めればよいかです。承認待ちが漏れると、修繕が1か月遅れます。
目標は1物件12分です。 記録を読み返す時間が無くなり、下書きを読んで直す時間だけが残ります。
例外に対処する
| 起きること | 対応 |
|---|---|
| CSVの期間が前月と違う | 全体を止める。1件も投入しない |
| 物件ごとの設定が無い物件 | 部屋番号を出さない側で作り、担当者へ知らせる |
バッチの結果が errored | その物件だけ、通常のAPI呼び出しで作り直す |
バッチが24時間以内に終わらず expired | 課金はされない。残りを通常のAPI呼び出しで作る |
stop_reason が max_tokens | 記録を分類ごとに分けて、もう一度投入する |
| 文章に数字や「号室」が混ざる | その欄を消して needs_attention にする |
| 記録が1件も無い物件 | AIに投げず、「今月の記録はありません」のひな形で作る |
持ち越し事項が carry_over_status に無い | 下書きを止め、担当者が書く |
| 内容の欄に氏名が残っていた | 投入前の検査で止め、伏せ字の規則を足す |
バッチには24時間の期限があります。 多くは1時間以内に終わるとされていますが、需要によっては遅れ、24時間を過ぎた分は expired になります。月初の数日で報告を出すなら、締めの当日に投入します。
記録を残す
- 出力したCSVと、前処理の後にAIへ渡した入力(氏名を落とした後のもの)
- 部屋番号と仮番号の対応表(社内だけに置く)
- バッチのIDと、物件ごとの結果のJSON全文
- 検査で止まった物件と、その理由
- 担当者が直す前の下書きと、送った報告書のPDF
- 担当者が直した箇所の記録 … どの欄を、どう直したか
バッチの結果は作成から29日で取り出せなくなります。 公式ドキュメントにあるとおり、バッチ自体は見られても結果はダウンロードできなくなるため、結果のJSONは受け取った時点で自社の保存先へ移します。 翌月の持ち越し事項は、このJSONから読みます。
最後の行は、指示を直す材料です。 毎月同じ欄で同じ直しが入るなら、プロンプトに1行足します。
04実装レベルの3段階
本記事が想定するのは半自動化です。 CSVの出力は人が行いますが、それは締めを確かめるための一手間でもあります。記録を探して読み、書き、写していた40分が、下書きを直す12分になります。 本格構成は、管理システムのAPIが使える場合に限ります。 取れる項目が管理システムごとに違うため、個別の確認が要ります。半自動化を半年回して、直しの記録が減ってから考えれば足ります。
05工数削減シミュレーション
導入後 120件 × 12分 ÷ 60 = 24 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 賃貸管理を受託し、オーナーごと・物件ごとに毎月の報告書を出している管理会社。報告を出す物件が月に100件前後あり、担当者が管理システムの対応履歴を読み返して文章にまとめている場合。担当者によって報告の書き方や載せる範囲がばらばらで、担当替えのたびにオーナーから「前の人のほうが詳しかった」と言われる場合。
- 管理物件が数十件で、担当者が一人ひとりのオーナーと電話で話して済ませている場合。入居者対応の記録が紙の受付簿や担当者の手帳にしかなく、管理システムから出力できない場合。報告の数字(送金額・滞納額・修繕費)そのものの作成を任せたい場合は、この構成では扱いません。数字は管理システムの値を使います。
07最小構成で試す方法
- 先月報告を出した物件から5件を選ぶ(連絡が多い物件と、見積の承認待ちがあった物件を入れる)
- 5件の記録を出力し、氏名・連絡先の列を消し、部屋番号を仮番号に置き換える
- 手元のAIサービスの画面に1物件ずつ貼り、第7章のプロンプトの【厳守事項】を付けて下書きを作らせる
- 実際に送った報告書と並べ、漏れと書きすぎを数える
5件は必ず手で伏せ字をしてください。 試す段階でも、入居者の氏名を外部のサービスへ出さないという約束は変わりません。
| 出てきた内容 | 判断 |
|---|---|
| 送った報告書と同じ事項が拾えた | スクリプトとバッチの構成に進む |
| 文中に数字や「複数件」が出た | 指示の書き方で直る。構成は有効 |
| 承認待ちの見積が拾えない | 修繕の記録に「承認が要る」が付いていない。 記録の付け方が先 |
3行目は珍しくありません。 担当者が頭の中で覚えている「この見積はオーナー判断」が記録に無ければ、AIには拾えません。その場合は、修繕の記録の付け方を先に決めてください。
08実装時につまずきやすいポイント
| つまずきやすい点 | 対策 |
|---|---|
| 文章に件数や金額が入り、表と食い違う | 指示で禁じ、スクリプトで数字を検査する |
| 「複数件」と書いて件数をにおわせる | 「複数」「いくつか」も禁じる |
| 内容の欄に書かれた氏名が外へ出る | 列を消すだけでなく、内容の欄をパターンで伏せる |
| 事情の書き方で入居者が特定できる | 分類名で書かせる。担当者の確認項目に入れる |
| 締めの前に動かし、滞納を誤って載せる | 日付で自動起動させず、締めの後のCSV出力を起点にする |
| 見積の承認待ちが拾えない | 修繕の記録に「承認が要る」の項目を持たせる |
| 前月の持ち越しが消える | carry_over_status を必須にし、欠けたら止める |
| バッチの結果の順序がずれる | custom_id の物件コードで突き合わせる |
物件コードに日本語が入り custom_id にできない | 英数字の変換表をスクリプトで持つ |
| 結果が29日で取り出せなくなる | 受け取った時点で自社の保存先へ移す |
| 文字数の上限をスキーマで縛ろうとする | 文字列の長さは対応していない。指示と検査で守る |
| 下書きをそのまま送る担当者が出る | 上長の確認を残し、直した箇所を記録する |
上の3行が、この構成の失敗のほとんどです。 どれも「AIに渡すもの」と「AIに書かせるもの」の境目の問題で、数字と氏名をAIの手前で止めているかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 入居者からの連絡の内容、修繕の状況、入退去の予定、滞納の有無、そして記録の中に書き込まれた入居者の生活の事情です。
- 入居者の氏名・部屋番号・人を特定できる事情をオーナー報告に出さない … オーナーは物件の持ち主ですが、入居者の生活の事情まで知る立場ではありません。どこまで出すかは物件ごとの設定で決め、既定は「部屋番号を出さない」にします
- AIに氏名を渡さない … 報告に要らない情報は、外部のAPIにも渡しません。伏せ字は列の削除と内容の欄の置換の2段で行います
- 部屋番号と仮番号の対応表を社内から出さない … この表があれば仮番号から部屋が分かります。スクリプトの手元だけに置きます
- 滞納の金額と事情をAIに渡さない … 渡すのは「あり/なし」だけです。滞納している人の事情は、報告書に書く理由がありません
- オーナーの判断をAIに代わらせない … 見積を承認するか、家賃を見直すか、設備を更新するかはオーナーが決めることです。 AIは判断が要る事項を並べるだけで、推奨を断定させません
- 送るのは人が行う … 下書きの自動送信は作りません。入居者のことが書かれた文書が、確認なしで外へ出る経路をなくします
誤りが起きた場合のリスクは、入居者を特定できる書き方がオーナーへ届くことと、承認待ちの見積が漏れることの2つです。 前者は伏せ字と担当者の確認で、後者は修繕の記録の項目と required の欄で防ぎます。
10まず何から始めるか
1週目:物件ごとの設定の一覧を作る
120物件について、部屋番号を報告に出すか、報告を毎月出すかを一覧にします。決まらない物件は「出さない」にしておきます。
2週目:5件で試す
先月の5物件の記録を伏せ字にして、手元のAIサービスで下書きを作らせます。送った報告書と並べ、承認待ちの見積が拾えているかを最優先で見ます。
3週目:修繕の記録の付け方をそろえる
見積に「オーナーの承認が要る」の項目を付けることを、窓口と管理営業で決めます。これが無いと、判断してほしいことの欄は埋まりません。
4週目:スクリプトを作る
CSVのまとめ、伏せ字、バッチの投入、結果の突き合わせ、数字の検査、ひな形への流し込みまで作ります。最初の月は全物件を担当者が手で書いた報告と並べます。
2か月目以降: 下書きから送る形に切り替え、担当者が直した箇所を毎月数えます。直しが減り、1物件12分に近づいた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
構造化出力が応答を指定のスキーマに従わせ有効なJSONにすること。output_config.format に json_schema を指定すること。required と enum に対応し、additionalProperties は false が必要なこと。minimum/maximum と minLength/maxLength は非対応なこと。拒否や max_tokens で停止した場合はスキーマに合わない出力になりうること | Claude Docs: Structured outputs | 2026-09-28 |
Message Batches API が非同期の一括処理で料金が通常の50%であること。多くは1時間以内に終わり、24時間で期限切れになること。1バッチ10万件または256MBまでであること。結果は29日で取り出せなくなること。結果の順序は保証されず custom_id(英数字・ハイフン・アンダースコアの1〜64文字)で突き合わせること。errored/expired の分は課金されないこと | Claude Docs: Batch processing | 2026-09-28 |
長い資料は指示より前に置き、問いを最後に置くと複雑な複数資料で応答の質が最大30%上がったこと。資料を <document>・<document_content>・<source> のタグで包むこと。先に関係する部分を引用させてから本題に入ること | Claude Docs: Prompting best practices(Long context prompting) | 2026-09-28 |
賃貸管理システムからのCSVの出力項目とAPIの有無は、利用している製品ごとに確認してください。 本記事は Claude の公式ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0262)についてのご相談はこちらから。
