賃貸管理会社が外国籍の入居者に出す断水・設備点検・ごみの出し方の変更のお知らせを Gemini で多言語に訳し、日時と注意事項の取り違えを点検する
断水、設備の点検での入室、ごみの出し方の変更などの臨時のお知らせを、Gemini で英語・中国語・ベトナム語・ネパール語などに訳します。訳文に入った日付・曜日・時刻・部屋番号を、入力した値とプログラムで突き合わせ、合わない箇所を担当に返します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- その他/不動産/建設
- 対象部門
- カスタマーサポート/総務
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 問い合わせが多い/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 翻訳
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 点検の業者や自治体から日程を受け取り、日本語の原稿を書く
- 物件の台帳で、添える言語を確かめる
- 無料の翻訳サイトに原稿を貼り、1言語ずつ訳す
- 訳文を掲示用の書式に貼り、日付と時刻を目で探して、原稿と合っているかを見る
- 掲示板に貼る紙を印刷し、一斉のメールの文面にも貼る
- 当日までに来た問い合わせに、電話かメールで答える
- 人担当がお知らせの入力のフォームに、種類、物件、対象の棟と部屋、日付、開始と終了の時刻、入居者にしてほしいこと、問い合わせ先を欄ごとに入れ、本文の下書きを書く
- 自動フォームの送信でスクリプトが動き、日付から曜日を計算し、物件の台帳から添える言語を引く
- 自動欄の値と本文、用語集を Gemini API に渡し、言語ごとの訳文と、訳文に入れた日時・部屋番号の書き抜きを受け取る
- 自動スクリプトが書き抜きを欄の値と突き合わせ、合わない箇所に印を付ける
- 自動別の呼び出しで、訳文を日本語に訳し戻した文を受け取る
- 人担当が、印の付いた箇所と、訳し戻した文を原稿と並べて確かめる
- 人担当が、掲示の紙と一斉のメールに訳文を入れて出す
各工程の詳しい説明を読む
- 点検の業者や自治体から日程を受け取り、日本語の原稿を書く
- 物件の台帳で、添える言語を確かめる
- 無料の翻訳サイトに原稿を貼り、1言語ずつ訳す
- 訳文を掲示用の書式に貼り、日付と時刻を目で探して、原稿と合っているかを見る
- 掲示板に貼る紙を印刷し、一斉のメールの文面にも貼る
- 当日までに来た問い合わせに、電話かメールで答える
(a)1言語ずつ訳すのに時間がかかる。 3番目と4番目の手順を4言語で4回くり返します。原稿を1か所直すと、4言語ぶん訳し直しです。
(b)訳文の日付と時刻を見つけられない。 ネパール語やベトナム語の訳文の中で、どこに日付があるかを目で探すのは難しく、数字が合っていれば良しとしています。 午前と午後、24時間制と12時間制の取り違えは、数字だけ見ても分かりません。
(c)原稿の誤りが全部の言語に広がる。 日本語の原稿で曜日を間違えると、訳文にも同じ誤りが入り、4言語で同じ誤りのお知らせが出ます。
(d)言葉がそろわない。 同じ「断水」が、お知らせごとに違う訳語になります。入居者から見ると、前回と同じ種類のお知らせだと分かりません。 「受水槽」「排水管の高圧洗浄」のような言葉は、翻訳サイトでは意味の通らない訳になることがあります。
- 【人】 担当がお知らせの入力のフォームに、種類、物件、対象の棟と部屋、日付、開始と終了の時刻、入居者にしてほしいこと、問い合わせ先を欄ごとに入れ、本文の下書きを書く
- 【自動】 フォームの送信でスクリプトが動き、日付から曜日を計算し、物件の台帳から添える言語を引く
- 【自動】 欄の値と本文、用語集を Gemini API に渡し、言語ごとの訳文と、訳文に入れた日時・部屋番号の書き抜きを受け取る
- 【自動】 スクリプトが書き抜きを欄の値と突き合わせ、合わない箇所に印を付ける
- 【自動】 別の呼び出しで、訳文を日本語に訳し戻した文を受け取る
- 【人】 担当が、印の付いた箇所と、訳し戻した文を原稿と並べて確かめる
- 【人】 担当が、掲示の紙と一斉のメールに訳文を入れて出す
4番目と6番目が、この設計の分かれ目です。 日時と部屋番号の点検はプログラムが欄の値と突き合わせ、注意事項の意味が伝わっているかは担当が訳し戻した文で確かめます。 読めない言語の訳文を、担当が読める日本語に戻して見ます。
2番目で曜日を計算するのは、原稿の誤りを最初に止めるためです。 担当が本文に曜日を書いても、スクリプトは日付の欄から計算した曜日で置き換え、食い違っていれば担当に知らせます。
02今回想定するシステム構成
点検の業者・自治体からの日程 ▼ 担当がお知らせの入力のフォームに欄ごとに入れる Google フォーム(種類・物件・棟と部屋・日付・時刻・してほしいこと・問い合わせ先・本文) ▼【トリガー】フォームの送信 Google Apps Script ├── 日付から曜日を計算、物件の台帳から添える言語を引く ├── 用語集(言語ごとの訳語)を読む ▼ Gemini API(構造化出力)── 1回目:言語ごとの訳文と、日時・部屋番号の書き抜き ▼ Google Apps Script ── 書き抜きと欄の値を突き合わせ、合わない箇所に印 ▼ Gemini API(構造化出力)── 2回目:訳文を日本語に訳し戻す ▼ お知らせの一覧(スプレッドシート)── 原稿・訳文・印・訳し戻した文を並べる ▼ 【人】担当が確かめ、掲示の紙と一斉のメールに入れて出す
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(用語集にそろえた訳文と書き抜き、訳し戻し) | Claude API、OpenAI API |
| 連携 | Google Apps Script(フォームの受け取り、曜日の計算、突き合わせ、一覧への書き込み) | Python |
| 入力 | Google フォーム(お知らせの欄ごとの入力) | - |
| 台帳 | Google スプレッドシート(物件と添える言語、用語集、お知らせの一覧) | - |
新しく足すのは、入力のフォームとスクリプト、Gemini API の契約、そして用語集です。 物件の台帳、掲示用の書式、一斉のメールの仕組みは、すでにあるものです。点検の日程の決め方と、入居者への出し方は変えません。
訳文は構造化出力で受けます。 /v1beta/interactions に送り、response_format で mime_type を application/json にし、schema にスキーマを入れます。enum で値を決まった文字列に絞れます。値はアプリ側で検証するよう書かれています。書き抜きの値を突き合わせるのは、スクリプトの仕事です。
用語集は、国土交通省の多言語の資料を手がかりに作ります。 国土交通省は、賃貸人や管理会社の実務の手引きとして「外国人の民間賃貸住宅入居円滑化ガイドライン」を公開し、日本語のほか13の言語で、契約のときのチェックシートや契約書の見本を載せています。外国人向けの「部屋探しのガイドブック」も14の言語で、入居後の注意点を含みます。管理会社の言葉と、入居者が入居のときに読んだ資料の言葉をそろえておくと、お知らせが同じ種類のものだと伝わりやすくなります。
03どうやって実装するのか
処理の起点を決める
担当が入力のフォームを送信したときに動きます。 Google Apps Script のインストール型のトリガーには、フォームの送信で動く種類があります。送信のたびに、そのお知らせの1件だけを処理します。 原稿を直したときは、同じお知らせの番号を選んでフォームを送り直し、全部の言語を一度に訳し直します。
インストール型のトリガーは、作った人のアカウントで動きます。 担当それぞれのアカウントで作るのではなく、入居者対応の係の共用のアカウントで1つだけ作ります。 作った人の異動で止まらないよう、作り直しの手順を用語集のシートの隅に書いておきます。
断水の当日の朝に出す追加のお知らせ(「本日の断水は予定どおり行います」)も、同じフォームで出します。前のお知らせの番号を選ぶと、欄の値を引き継ぎ、変わったところだけを直せます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| お知らせの欄 | 種類(断水、入室を伴う点検、エレベーターの停止、ごみの変更、工事)、物件、対象の棟と部屋、日付、開始と終了の時刻、入居者にしてほしいこと、問い合わせ先 | 入力のフォーム |
| 本文の下書き | 担当が書く日本語の本文。欄の値は {日付} のような差し込みで入れる | 入力のフォーム |
| 添える言語 | 物件ごとの言語の一覧 | 物件の台帳 |
| 用語集 | 「断水」「受水槽」「排水管の高圧洗浄」「入室」「粗大ごみ」などの、言語ごとの決まった訳語 | 用語集のシート |
| 決まった言い回し | 「ご協力をお願いします」「ご不在の場合は」などの、言語ごとに確かめ済みの訳 | 用語集のシート |
質を決めるのは、欄の分け方です。 日付と時刻を本文の中に書いてしまうと、突き合わせる相手がいなくなります。 本文には {日付} {開始時刻} のような差し込みだけを書き、値は欄に入れます。差し込みが無い本文は、送信のときに担当に戻します。
入居者にしてほしいことも、欄に分けます。 「断水の前に水を汲み置いてください」「点検の日にご不在の場合は、前日までに連絡してください」のように、入居者の行動に関わる文を1つずつ欄にします。訳し戻しで確かめるのは、主にこの欄です。
用語集は、最初に30語ほどで始めます。 断水と点検の種類、設備の名前、ごみの種類です。言語ごとの訳語は、その言語を読める社員か、社宅を借り上げている企業の担当に一度見てもらって決めます。
データの取得方法を決める
フォームの回答から、欄の値と本文を取ります。 スクリプトは回答の行を読み、日付の欄の値から曜日を計算して、本文の {曜日} に入れます。 担当が本文に曜日を直接書いていたら、計算した曜日と比べ、違えば送信者にメールで知らせて処理を止めます。
物件の台帳から、添える言語を引きます。 物件のコードで行を探し、言語の一覧を取ります。台帳に言語の書かれていない物件は、日本語だけで出すか担当に確かめます。
Gemini API へは、お知らせごとに2回送ります。 1回目で、全部の言語の訳文と書き抜きを受け取ります。2回目で、1回目の訳文を日本語に訳し戻させます。2回目には、元の日本語の原稿を渡しません。 原稿を見せると、訳文ではなく原稿をなぞった日本語が返り、訳し戻しの意味がなくなります。
有料の利用枠で使い、store を false にします。 Gemini API の規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API は既定でやり取りを保存し(有料の枠で55日)、保存しないときは store=false を付けると案内されています。
AIへ渡す前に整形する
- 差し込みの確認 … 本文に
{日付}{開始時刻}{終了時刻}{対象}の差し込みがあるかを確かめます - 曜日の計算 … 日付の欄から曜日を計算し、本文に入れます
- 時刻の書き方の統一 … 時刻は24時間制の「9:00」「13:30」で欄に持ちます。「午後1時半」のような書き方は欄に入れません
- 部屋番号の書き方の統一 … 「203号室」「2階の全室」のように、台帳と同じ書き方にします
- 個人の情報の除外 … 本文に入居者の名前が入っていないかを確かめます。部屋番号だけで対象を示します
- 用語集の付け足し … その種類のお知らせに出る語の訳語だけを、言語ごとに指示に入れます
3番目を軽く見ないでください。 欄の時刻が「1:30」なのか「13:30」なのか分からないと、訳文が午前と午後のどちらで書かれていても、突き合わせで正しいと判定してしまいます。 欄は24時間制に固定し、訳文の側には午前・午後か24時間制かをその言語の書き方で書かせます。
AIに処理させる
させることは2つです。1回目は、用語集にそろえて訳し、訳文の中に入れた日時と部屋番号をその言語のまま書き抜くこと。2回目は、訳文を日本語に訳し戻すことです。
| 呼び出し | させること | 判断できないときの扱い |
|---|---|---|
| 1回目(翻訳) | 言語ごとに件名と本文を訳す。用語集の訳語を使う | 用語集に無い語は訳して、new_terms に挙げる |
| 1回目(書き抜き) | 訳文の中の日付、曜日、開始と終了の時刻、対象の棟と部屋、問い合わせ先を、訳文に書いたとおりに書き抜き、数字の値を添える | 訳文に入れられなかった値は missing |
| 2回目(訳し戻し) | 訳文だけを見て、日本語に訳す。入居者にしてほしいことの欄ごとに分ける | 意味が取れない箇所は「意味が取れない」と書く |
1回目の書き抜きは、AIに点検させるためのものではありません。 訳文の中の「November 5 (Wed) 9:00–13:00」を、{"date": "2026-11-05", "weekday": "Wed", "start": "09:00", "end": "13:00"} の形で返させ、欄の値と同じかどうかはスクリプトが比べます。 AIに「合っていますか」と聞くと、合っていると答えます。
| させないこと | 理由 |
|---|---|
| 日時や部屋番号の正しさの判定 | 欄の値と、スクリプトが機械的に比べる |
| 曜日を書くこと(日本語の原稿の側) | 日付からスクリプトが計算する |
| 原稿に無い注意事項を足す | 足した一文が、決まりに無い約束になる |
| 「〜しなければなりません」を強める、弱める | 入居者の行動の求め方は、日本語の原稿のとおりにする |
| 訳し戻しで原稿を参照する | 訳文の誤りが見えなくなる |
| 入居者の名前や国籍についての記述 | お知らせに要らない |
3行目と4行目がいちばん起きやすい失敗です。 断水のお知らせを訳させると、AIは「浴槽にも水を溜めておくと便利です」のような親切な一文を足したがります。善意の一文でも、管理会社が決めていない案内です。 逆に「必ず連絡してください」を「できれば連絡してください」に弱めると、点検の日の不在が増えます。求め方の強さは、原稿のとおりに訳させます。
指示内容を固定する
1回目(翻訳と書き抜き)
あなたは賃貸管理会社が入居者に出すお知らせを翻訳する係です。
次の日本語のお知らせを、{言語の一覧} に訳してください。
【お知らせの欄】
種類:{断水} 物件:{物件名} 対象:{A棟 全室}
日付:{2026-11-05} 曜日:{水} 開始:{09:00} 終了:{13:00}
入居者にしてほしいこと:
1. {断水の前に、飲み水とトイレ用の水を汲み置いてください。}
2. {断水のあいだは、蛇口を閉めておいてください。}
問い合わせ先:{管理部 03-xxxx-xxxx(平日 9:00〜18:00)}
【本文】{差し込みの入った本文}
【用語集】{この種類のお知らせに出る語の、言語ごとの訳語}
【やること】
1. 言語ごとに、件名と本文を訳す。用語集の訳語を必ず使う。
2. 時刻は、その言語でふつうに使う書き方で書く。午前・午後を取り違えないこと。
3. 訳文の中に書いた日付、曜日、開始と終了の時刻、対象、問い合わせ先を、
訳文に書いたとおりの文字列で書き抜き、数字の値を添える。
4. 用語集に無い語を訳したときは new_terms に挙げる。
【厳守事項】
- 日本語のお知らせに無い注意事項や助言を足さないでください。
- 「〜してください」「必ず〜」の求め方の強さを変えないでください。
- 日付、曜日、時刻、部屋番号を、欄の値から変えないでください。
- 訳文に入れられなかった値は、書き抜きで missing にしてください。
2回目(訳し戻し)
次の文は、入居者向けのお知らせを {言語} に訳したものです。
この文だけを見て、日本語に訳してください。
元の日本語の文は渡していません。推測で補わないでください。
入居者にしてほしいことは、文ごとに分けて番号を付けてください。
意味が取れない箇所は「意味が取れない」と書いてください。
1回目の「助言を足さない」を明記しないと、ほぼ毎回足されます。 お知らせの文は短く、AIは読み手に親切にしようとして補います。補われた一文は、日本語の原稿にも、ほかの言語の訳文にも無いので、言語によって案内が違うお知らせになります。
2回目の「元の文は渡していない」は、手順の上でも本当に渡しません。 指示の文に書くだけでなく、スクリプトが1回目の訳文だけを送ります。
出力形式を固定する
1回目は、次の形の JSON で受け取ります。 lang と status は enum で決まった文字列に絞ります。
{
"notice_id": "N-2026-1105-A",
"translations": [
{ "lang": "en | zh-Hans | vi | ne",
"title": "",
"body": "",
"extracted": {
"date": { "text": "November 5", "value": "2026-11-05", "status": "found | missing" },
"weekday": { "text": "Wednesday", "value": "Wed", "status": "found | missing" },
"start": { "text": "9:00 a.m.", "value": "09:00", "status": "found | missing" },
"end": { "text": "1:00 p.m.", "value": "13:00", "status": "found | missing" },
"target": { "text": "All units in Building A", "value": "A棟 全室", "status": "found | missing" },
"contact": { "text": "", "value": "", "status": "found | missing" }
},
"new_terms": [ { "ja": "", "translated": "" } ] }
]
}
1つ目の理由は、extracted の value を欄の値と機械的に比べられることです。 スクリプトは、言語ごとに value が欄の値と同じかを見て、違えば mismatch、missing ならそのまま印を付けます。 さらに text がその言語の訳文の中に本当にあるかを文字列で探し、無ければ書き抜きが訳文と食い違っているとして印を付けます。
2つ目は、text を残すことで、担当が訳文のどこを見ればよいか分かることです。 印が付いたとき、担当は text の文字列で訳文の中を検索し、その箇所だけを確かめます。
3つ目は、new_terms で用語集を育てられることです。 用語集に無い語の訳が毎回並ぶので、月に一度まとめて見て、決まった訳語として用語集に足します。
お知らせの一覧の行は、次の形です。
| お知らせ | 言語 | 日付 | 時刻 | 対象 | 問い合わせ先 | 訳し戻した「してほしいこと」 | 担当の確認 |
|---|---|---|---|---|---|---|---|
| N-2026-1105-A | en | ok | ok | ok | ok | 1. 断水の前に飲み水とトイレの水を… | (担当が選ぶ) |
| N-2026-1105-A | ne | ok | mismatch(終了) | ok | ok | 2. 意味が取れない | (担当が選ぶ) |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google フォーム | フォームの送信のトリガー | お知らせの欄と本文 |
| 物件の台帳 | スプレッドシートの読み取り | 添える言語。書き込まない |
| 用語集 | スプレッドシートの読み取り | 言語ごとの訳語と決まった言い回し。書き込まない |
| Gemini API | URL の取得(/v1beta/interactions、store=false) | 1回目の訳文と書き抜き、2回目の訳し戻し |
| お知らせの一覧 | スプレッドシートへの書き込み | 原稿、訳文、突き合わせの印、訳し戻した文。担当の確認の欄には書かない |
掲示の紙と一斉のメールには、スクリプトから出しません。 担当が確認の欄で「出してよい」を選んだ訳文だけを、担当が掲示の書式とメールに入れます。印の付いた訳文がそのまま入居者に届く経路を作りません。
用語集にも書き込みません。 new_terms は一覧に並べるだけで、用語集に足すのは担当が確かめてからです。
人が確認する
- 曜日の食い違いの知らせを見る … 送信のときに知らせが来たら、日付の欄と本文を直して送り直します
- 印の付いた箇所を確かめる …
mismatchとmissingの付いた言語の訳文を、textで検索して見ます。直せないときは、その言語の訳文を1回目からやり直します - 訳し戻した文を原稿と並べる … 入居者にしてほしいことの欄ごとに、意味が同じか、求め方の強さが同じかを見ます。「意味が取れない」と出た箇所は、その文を短く書き直して送り直します
- 出すかどうかを選ぶ … 言語ごとに「出してよい」「直す」を選びます
- 入室を伴う点検のお知らせは、もう1人が見る … 日付と対象の部屋を、点検の業者からの日程と照らします
3番目で見るのは、意味と強さです。 訳し戻した日本語が原稿と同じ言葉である必要はありません。「汲み置いてください」が「水を準備してください」に戻ってくれば意味は通っていますが、「水を準備すると便利です」に戻ってきたら、求め方が弱くなっています。
目標は、40件をならして1件30分です。 印の無いお知らせは、訳し戻した文を読んで数分で終わり、入室を伴う点検で印の多いものは1時間近くかかります。同じ言語で同じ種類の印が続くなら、用語集か本文の書き方を直します。
例外に対処する
| 起きること | 対応 |
|---|---|
| 本文に曜日を直接書き、日付と食い違う | 処理を止め、送信者に知らせる |
| 本文に差し込みが無く、日時が本文に直接書かれている | 処理を止め、差し込みで書き直してもらう |
書き抜きの value が欄の値と違う | mismatch の印。担当が訳文を確かめ、直せなければ訳し直す |
書き抜きの text が訳文の中に無い | 書き抜きと訳文が食い違っている印。その言語を訳し直す |
| 訳し戻しで「意味が取れない」が出る | 原稿のその文を短く書き直し、送り直す |
| 台帳に言語の書かれていない物件 | 日本語だけで出すか担当に確かめる |
| 日程が変わって、お知らせを出し直す | 前のお知らせの番号を選び、欄の値を直して送る。前の訳文は一覧に残す |
JSON の値が enum に無い | そのお知らせを一覧に書かず、担当に回す |
| Gemini API が応答しない | 一覧に「未処理」と書き、担当に知らせる。急ぎのものは日本語で先に掲示する |
上から4行目までが大半を占めます。 どれもAIの訳の質の問題ではなく、原稿の書き方と、書き抜きの突き合わせで見つかる誤りです。 欄と差し込みの書き方を守るほうが、指示の文をいじるより効きます。
記録を残す
- お知らせごとの欄の値、本文、計算した曜日
- 1回目と2回目の呼び出しが返した JSON の全文
- そのときの用語集の版
- 突き合わせで付いた印と、担当がどう直したか
- 担当が「出してよい」を選んだ日時と、出した訳文
- お知らせの後に来た問い合わせの件数と内容(どの言語の入居者からか)
4つ目の行が、訳の誤りの傾向を見る材料です。 ある言語で終了の時刻の mismatch が続くなら、その言語の時刻の書き方の指示を足します。
最後の行は、この構成の目的に直接つながります。 多言語のお知らせを出した物件で「知らなかった」の問い合わせと、点検の日の不在が減ったかを、お知らせの種類ごとに見ます。
04実装レベルの3段階
最小構成では件数がさばけません。 月40件、4言語を手で渡して手で突き合わせる時間はありません。確かめるための段階です。 半自動化で、1件90分が50分程度になります。 翻訳は一度に済みますが、訳文の日時を探して見比べる作業が残ります。本格構成で30分になり、この段階が本記事の想定です。 差が大きいのは、日時と部屋番号の見比べがプログラムに移り、担当が見るのが印の付いた箇所と訳し戻した文だけになるからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、new_terms によく出る語と、訳し戻しで意味の取れない原稿の書き方が分かります。用語集と原稿の書き方を直してから本格構成に進むほうが、印の数が減ります。
05工数削減シミュレーション
導入後 40件 × 30分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 管理戸数が数千戸で、外国籍の入居者が多い物件(社宅として借り上げられている物件、留学生や技能実習生の住む物件)を持つ賃貸管理会社。断水や点検のお知らせを日本語だけで掲示していて、当日に「知らなかった」という問い合わせや、点検の日に不在の部屋が多く出る場合。担当が無料の翻訳サイトで1言語ずつ訳していて、日付や時刻の誤りに気付けない場合。お知らせを Google Workspace で作っている場合。
- 外国籍の入居者がほとんどおらず、日本語のお知らせで足りている場合。訳す文書が賃貸借契約書や重要事項説明書のように、法的な効果を持つ書類の場合(翻訳の専門家と確かめる領域です)。なお、断水や点検の日時の決定、入室の可否、ごみの分別の決まりの内容、入居者との契約上の扱いの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月出した断水と点検のお知らせから5件を選ぶ(うち1件は、当日に問い合わせが多かったもの)
- 5件の日時と対象と、入居者にしてほしいことを、欄に分けて書き直す
- Gemini API の有料の利用枠で、欄と本文を渡し、2言語に訳させて書き抜きを返させる
- 書き抜きの値を、欄の値と手で突き合わせる
- 訳文だけを別の呼び出しに渡して日本語に訳し戻させ、原稿と並べる
5件は必ずやってください。 フォームとスクリプトを組む前に、「書き抜きが訳文と合っているか」と「訳し戻しで意味の違いが見えるか」の2つを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 書き抜きが訳文と合い、訳し戻しで意味が通った | フォームとスクリプトの作成に進む |
| 原稿に無い助言を足した、求め方を弱めた | 指示の書き方で直る。構成は有効 |
| 訳し戻しで「意味が取れない」が多く出る | 日本語の原稿の書き方が先。 AIの問題ではない |
3行目が出ることは珍しくありません。 失敗ではなく、日本語の原稿が、日本人にしか通じない省略で書かれていたことが分かったということです。 1文を短くし、主語と時刻をはっきり書いた原稿で、もう一度試してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 訳文の日時が合っているかをAIに聞いてしまう | 書き抜きだけを返させ、比べるのはスクリプトにする |
| 原稿の曜日の誤りが全部の言語に広がる | 曜日は日付から計算し、本文の曜日と食い違えば止める |
| 午前と午後を取り違える | 欄は24時間制に固定し、書き抜きの value で比べる |
| 原稿に無い助言が足される | 指示で禁じ、訳し戻しで見つける |
| 求め方が弱くなる | 訳し戻した文で強さを確かめる |
| 訳し戻しに原稿を渡してしまう | スクリプトで訳文だけを送る |
| 同じ語の訳がお知らせごとに違う | 用語集を指示に入れ、new_terms を月に一度まとめる |
| 本文に入居者の名前が入る | 部屋番号だけで対象を示す |
| 印の付いた訳文がそのまま出る | 掲示とメールには担当が選んだものだけを入れる |
上の2行が、この構成の失敗のほとんどです。 どちらも、日時の正しさを文章の中で確かめようとする失敗です。日時を欄で持ち、比べるのをプログラムに置くかどうかで、出す前に誤りが止まるかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 物件名、棟と部屋番号、点検や断水の日時、管理会社の問い合わせ先です。入居者の名前、国籍、連絡先は、お知らせの文に入れません。 ただし、物件名と部屋番号と日時の組み合わせは、その日に部屋が不在になりやすいことを示す情報でもあります。
- 有料の利用枠で、保存させない … 規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API の
storeをfalseにします - 入居者の名前と国籍を送らない … 対象は部屋番号で示します。どの部屋に外国籍の入居者がいるかの一覧を、AIに渡しません
- 使うのは管理会社の担当だけにする … Gemini API の規約は18歳以上での利用を条件にし、18歳未満が使う(使いうる)サービスでの利用を認めていません。この構成で Gemini に触れるのは管理会社の担当だけで、入居者が直接使う窓口にはしません
- 訳文を出す前に人が確かめる … 印の有無にかかわらず、訳し戻した文を担当が読みます。断水と入室のお知らせは、誤りがそのまま入居者の生活と防犯に関わります
- 契約の書類には使わない … 賃貸借契約書や重要事項説明書の訳は、この構成の対象外です。国土交通省の各言語の見本や、翻訳の専門家と確かめる領域です
- 外国籍であることを理由に扱いを変えない … 多言語のお知らせは、日本語のお知らせに添えるものです。日本語のお知らせと同じ日に、同じ内容で出します
誤りが起きた場合のリスクは、訳文の日時の取り違えで断水の最中に水が使えない入居者が出ることと、足された助言や弱められた求め方で、言語によって案内が違うお知らせが出ることの2つです。 前者は日時を本文の中で確かめようとすると起き、後者は訳し戻しを省くと起きます。どちらも、欄の値との突き合わせと、訳し戻しの確認で防げます。
10まず何から始めるか
1週目:お知らせの欄を決める
断水、入室を伴う点検、エレベーターの停止、ごみの変更の4種類について、日付、時刻、対象、入居者にしてほしいこと、問い合わせ先の欄を決めます。本文の差し込みの書き方も決めます。
2週目:5件で試す
先月のお知らせ5件を欄に分けて書き直し、Gemini API に2言語で訳させて、書き抜きと訳し戻しを見ます。書き抜きが訳文と合っているか、助言を足していないかを最優先で見ます。
3週目:用語集を作る
断水と点検の種類、設備の名前、ごみの種類の30語ほどを、言語ごとに決めます。国土交通省の多言語の資料の言葉を手がかりにし、その言語を読める社員か、社宅を借り上げている企業の担当に一度見てもらいます。
4週目:フォームから一覧までをつなぐ
フォームの送信で動き、曜日を計算し、全部の言語を訳して一覧に書き出すところまで作ります。この時点では突き合わせを手で行い、担当が書き抜きの読み方に慣れます。
2か月目: 書き抜きと欄の値の突き合わせと、訳し戻しを足します。印の数を毎週数えます。3か月目以降: new_terms を用語集に足し、1件90分が何分になったかと、お知らせの後の問い合わせの件数を実測します。日時の取り違えが出す前に止まり、多言語のお知らせが日本語のお知らせと同じ日に出せるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
構造化出力が /v1beta/interactions に response_format で mime_type を application/json にし、schema にスキーマを入れて送る形であること。enum が使えること。値はアプリ側で検証するよう書かれていること | Gemini API: Structured output | 2026-10-26 |
Interactions API が既定でやり取りを保存し、有料の枠で55日保持すること。store=false で保存しないようにできること | Gemini API: Interactions | 2026-10-26 |
| 有料のサービスではプロンプトと応答が製品の改善に使われないこと。18歳以上であることが利用の条件であること。18歳未満が使う(使いうる)サービスでの利用を認めていないこと | Gemini API Additional Terms of Service | 2026-10-26 |
| インストール型のトリガーにフォームの送信で動く種類があること。インストール型のトリガーは作った人のアカウントで動くこと | Apps Script: Installable triggers | 2026-10-26 |
| 国土交通省が、賃貸人・仲介業者・管理会社の実務対応マニュアルとして「外国人の民間賃貸住宅入居円滑化ガイドライン」を作成し、日本語のほか13言語(計14言語)でチェックシートや入居申込書・重要事項説明書・標準契約書の見本を載せていること。外国人向けの「部屋探しのガイドブック」が14言語で、入居後の注意点を含むこと | 国土交通省: 外国人の民間賃貸住宅への円滑な入居について | 2026-10-26 |
入居者へのお知らせの出し方と、契約の書類の訳し方は、最新の法令と国土交通省の資料、物件の管理の契約に沿って決めてください。 本記事は公開の資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1793)についてのご相談はこちらから。
