外国人の入居希望者から外国語で届く物件の問い合わせを訳して条件を台帳にそろえ、日本語で書いた返事を相手の言語に直して返す
外国語で届く物件の問い合わせを日本語に訳し、予算・入居希望日・人数・在留資格・保証の条件を問い合わせ台帳の欄にそろえます。営業担当が日本語で書いた返事は相手の言語に直し、金額や日付の食い違いを点検してから下書きにします。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 不動産
- 対象部門
- カスタマーサポート/営業
- 対象業務
- データ入力・転記/問い合わせ対応
- 主な課題
- 問い合わせが多い/属人化している/確認ミスが多い
- AIで行う処理
- 翻訳
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 受付用のアドレスに届いた問い合わせを開き、外国語のものを外国語が読める担当者に回す
- 担当者が本文を読み、読めない言語のものは翻訳サイトに貼って日本語にする
- 物件名や物件番号から、問い合わせの物件と空室の状況を確かめる
- 予算、入居希望日、人数、在留資格、勤務先や学校、保証人の有無を本文から拾い、台帳に書く
- 足りない条件を聞き返す返事を日本語で考え、相手の言語で書く(または翻訳サイトで訳す)
- 返事を送り、相手から返信が来たら1番から同じことを繰り返す
- 条件がそろったら、内見の日程を調整する
- 自動受付用のアドレスに届いた問い合わせをワークフローが拾い、本文を取り出す
- 自動生成AIが言語を判定し、日本語のものは対象外にする。外国語のものは日本語に訳し、条件を欄に分ける
- 自動問い合わせ台帳に1行を足す。同じ送り主の前のやり取りがあれば、その行に書き足す
- 自動足りない条件を「聞き返す項目」として日本語で並べる
- 人担当者が台帳の日本語訳と条件を読み、空室と条件を確かめて、日本語で返事を書く
- 自動返事を翻訳APIで相手の言語に直す。不動産の言葉は用語集で訳をそろえる
- 自動生成AIが訳文を日本語の返事と見比べ、金額・日付・否定・物件名の食い違いを点検する
- 自動点検を通った訳文と日本語の原文を並べて、Gmail の下書きをスレッドに作る
- 人担当者が下書きと点検の結果を見て、送信する
各工程の詳しい説明を読む
- 受付用のアドレスに届いた問い合わせを開き、外国語のものを外国語が読める担当者に回す
- 担当者が本文を読み、読めない言語のものは翻訳サイトに貼って日本語にする
- 物件名や物件番号から、問い合わせの物件と空室の状況を確かめる
- 予算、入居希望日、人数、在留資格、勤務先や学校、保証人の有無を本文から拾い、台帳に書く
- 足りない条件を聞き返す返事を日本語で考え、相手の言語で書く(または翻訳サイトで訳す)
- 返事を送り、相手から返信が来たら1番から同じことを繰り返す
- 条件がそろったら、内見の日程を調整する
(a)読める人に問い合わせが集まる。 英語と中国語が読める2名に外国語の問い合わせが全部回り、2名が内見に出ている間は返事が止まります。 夜に届いた問い合わせが翌日の夕方まで置かれ、その間に相手は別の会社に問い合わせています。
(b)聞き返しが何往復も続く。 1通目で予算は分かったが入居日が無い、2通目で入居日は分かったが保証人の有無が無い、と1つずつ聞き返していると、内見の日程まで3往復、4往復かかります。 最初の返事で足りない条件をまとめて聞けば1往復で済みますが、それには本文から条件を漏れなく拾う必要があります。
(c)翻訳サイトで訳した返事の誤りに気づけない。 「礼金はありません」が「礼金があります」に、「4月1日から」が「4月1日まで」に、否定と日付の向きが逆になった返事を、読めない担当者は確かめようがありません。 敷金を「deposit」とだけ訳すと、退去時にどれだけ戻るかの理解がずれます。
(d)台帳の欄が空のまま残る。 外国語の本文は台帳に貼られず、読んだ担当者が見落とした条件は、台帳のどこにも残りません。
- 【自動】 受付用のアドレスに届いた問い合わせをワークフローが拾い、本文を取り出す
- 【自動】 生成AIが言語を判定し、日本語のものは対象外にする。外国語のものは日本語に訳し、条件を欄に分ける
- 【自動】 問い合わせ台帳に1行を足す。同じ送り主の前のやり取りがあれば、その行に書き足す
- 【自動】 足りない条件を「聞き返す項目」として日本語で並べる
- 【人】 担当者が台帳の日本語訳と条件を読み、空室と条件を確かめて、日本語で返事を書く
- 【自動】 返事を翻訳APIで相手の言語に直す。不動産の言葉は用語集で訳をそろえる
- 【自動】 生成AIが訳文を日本語の返事と見比べ、金額・日付・否定・物件名の食い違いを点検する
- 【自動】 点検を通った訳文と日本語の原文を並べて、Gmail の下書きをスレッドに作る
- 【人】 担当者が下書きと点検の結果を見て、送信する
5番目と9番目が、この設計の分かれ目です。 条件を確かめて返事の中身を決めるのも、送るのも人です。AIは、外国語を読む時間と、訳す時間と、訳の誤りを探す時間だけを引き受けます。 外国語が読めない担当者でも、日本語の台帳と日本語の返事だけで同じ対応ができるようにします。
7番目の点検を訳と別の処理にしているのも、意図してのことです。 訳した本人に誤りを探させても、同じ思い込みで見落とします。訳す製品と点検する製品を分け、点検は数字と否定に絞ります。
02今回想定するシステム構成
問い合わせ(自社サイトのフォーム/物件ポータルの反響メール) │ ▼【トリガー】受付用アドレスへのメールの着信(ラベルで絞る) Make ├──▶ Claude API ── 言語の判定・日本語への翻訳・条件の欄分け(JSON) ├──▶ Google スプレッドシート(問い合わせ台帳)に書く ▼ 【人】担当者が日本語で返事を書き、台帳の「返事」欄に入れる ▼【トリガー】15分ごとに「訳す」になった行を探す Make ├──▶ DeepL API ── 日本語の返事を相手の言語へ(不動産の用語集) ├──▶ Claude API ── 訳文と原文の見比べ(金額・日付・否定・物件名) ▼ Gmail の下書き(スレッドへの返信、訳文の下に日本語の原文) ▼ 【人】担当者が確かめて送信
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make | Zapier、n8n、Power Automate |
| 生成AI | Claude API(問い合わせの翻訳と条件の欄分け、返事の訳文の点検) | OpenAI API |
| 翻訳 | DeepL API(用語集を当てた返事の翻訳) | Google Cloud Translation |
| 台帳 | Google スプレッドシート(問い合わせ台帳) | Airtable |
| メール | Gmail(問い合わせ受付用のアドレス) | Outlook |
問い合わせ台帳と受付用のアドレスは、いま使っているものをそのまま使います。 台帳に足すのは「原文」「日本語訳」「言語」「聞き返す項目」「返事(日本語)」「訳文」「点検の結果」「状態」の列です。足りない列を足すことが、最初の準備作業です。
入ってくる問い合わせの翻訳を Claude API に、出ていく返事の翻訳を DeepL API に分けているのには理由があります。 入ってくるほうは、何語で来るか分からず、訳すのと同時に条件を欄に分けたい処理です。Claude API には、JSON スキーマを output_config.format に渡して決まった形の JSON を返させる構造化出力があり、訳文と条件を1回の呼び出しで決まった欄に受け取れます。 出ていくほうは、元が日本語と決まっていて、敷金・礼金のような言葉の訳をいつも同じにしたい処理です。DeepL API は glossary_id で用語集を指定でき、用語集を使うには元の言語の指定が要りますが、返事の元は必ず日本語なので条件を満たします。
Make には DeepL のアプリ(Translate a Text と Make an API Call)と Anthropic Claude のアプリ(Create a Prompt と Make an API Call など)があります。 Anthropic Claude のアプリの説明には構造化出力の設定が書かれていないため、この構成では Make an API Call で Messages API を呼び、output_config.format を自分で書きます。 返ってきた本文は JSON のアプリの Parse JSON で欄に分け、後のモジュールに当てます。
03どうやって実装するのか
処理の起点を決める
入ってくる側は、受付用アドレスへのメールの着信を起点にします。 Make の Gmail の Watch emails は、見張るフォルダやラベル、送信元、件名、含む語で絞り込め、1回の実行で取り込む件数の上限を500以下で設定します。物件ポータルの反響メールと自社フォームの通知メールは、Gmail のフィルタで「反響」のラベルを付けておき、そのラベルだけを見張ります。 受付用アドレスには業者からの営業メールも届くため、全部を見張ると関係のないメールまで訳すことになります。
見張る間隔は15分にします。 1日1回では遅すぎ、数分ごとにしても返事を書く人の手前で待つだけです。
出ていく側は、台帳の「状態」が「訳す」になった行を15分ごとに探して起点にします。 Google スプレッドシートには Watch Changes というセルの変更で動くモジュールがありますが、新しく足された行を見ないこと、スクリプトや API による変更では動かないことが書かれています。担当者が画面で状態を変える運用には合いますが、行の追加と変更が混ざる台帳では取りこぼしが読みにくいため、Search Rows で「訳す」の行を探す定時の実行にします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 問い合わせのメール | 件名、本文、送り主のアドレス、受け取った日時、スレッドの ID | Gmail |
| 反響メールの定型部分 | ポータルの名前、物件番号、物件名、問い合わせの種類(空室確認・内見希望など) | 反響メールの本文 |
| 前のやり取り | 同じ送り主の台帳の行(これまでに分かった条件、聞き返した項目) | 問い合わせ台帳 |
| 担当者が書いた返事 | 日本語の返事、返す相手の言語 | 問い合わせ台帳 |
| 不動産の用語集 | 敷金・礼金・更新料・保証会社・初期費用・管理費などの、言語ごとの決まった訳 | DeepL の用語集 |
質を決めるのは、いちばん下の用語集です。 用語集が無いと、同じ「礼金」が返事ごとに違う訳になり、相手は別の費用だと受け取ります。 用語集は、入居者に渡している英文・中文の契約の説明書があればそこから作ります。
前のやり取りを渡すのは、聞き返しを繰り返さないためです。 2通目の返信には予算しか書かれていなくても、1通目で入居日が分かっていれば、聞き返す項目から入居日を外せます。 送り主のアドレスで台帳を引き、同じ人の行があればその条件を一緒に渡します。
データの取得方法を決める
| 取るもの | どこから | どのモジュールで |
|---|---|---|
| 本文と送り主、スレッドの ID | 受付用アドレス | Gmail の Watch emails(ラベル「反響」) |
| 同じ送り主の前の行 | 問い合わせ台帳 | Google Sheets の Search Rows(送り主のアドレスで引く) |
| 訳文と条件 | Claude API | Anthropic Claude の Make an API Call |
| 「訳す」になった返事 | 問い合わせ台帳 | Google Sheets の Search Rows(状態で引く) |
| 返事の訳文 | DeepL API | DeepL の Make an API Call(/v2/translate) |
DeepL も Translate a Text ではなく Make an API Call で呼びます。 用語集の glossary_id と、訳には影響するが訳されない context を自分で指定したいためです。context には「賃貸住宅の仲介会社が、入居を希望する外国人に送る返事」と書いておきます。context の文字数は料金の計算に入りません。
AIへ渡す前に整形する
- 定型部分を分ける … 物件ポータルの反響メールは、物件番号や物件名などの定型部分と、入居希望者が書いた自由記述の部分に分かれています。ポータルごとの区切りの文字列で分け、AIに訳させるのは自由記述の部分だけにします。 定型部分の物件番号は、そのまま台帳に入れます
- 引用と署名を落とす … 返信のメールには前のやり取りが引用されています。引用を残すと、前に分かった条件をもう一度拾い、前の返事の日本語まで訳してしまいます。 引用の行と署名を落としてから渡します
- 日本語のものを外す … 本文に日本語の文字が一定以上含まれるものは、この先の処理に回しません。最終的な言語の判定は Claude API にさせます
- 添付ファイルを渡さない … 在留カードやパスポートの画像が添付されて届くことがあります。問い合わせの段階では受け取る必要が無いものなので、AIに渡しません。 台帳には「添付あり」とだけ記録し、扱いは担当者が決めます
- 重複を除く … 同じ人が複数のポータルから同じ物件に問い合わせることがあります。送り主のアドレスと物件番号が同じで、24時間以内の行があれば、新しい行を作らずに書き足します
AIに処理させる
入ってくる側で Claude API にさせるのは、言語の判定、日本語への翻訳、条件の欄分け、聞き返す項目の列挙の4つです。
| 欄 | 拾い方 | 書かれていないときの扱い |
|---|---|---|
| 言語 | 本文の言語を判定する | 複数の言語が混ざるなら、主な言語と「混在」 |
| 予算 | 家賃の上限、管理費込みか | 「不明」。外貨で書かれていれば外貨のまま |
| 入居希望日 | 日付または時期 | 「不明」。「来月」は受け取った日付と原文を並べる |
| 人数 | 入居する人数、続き柄 | 「不明」 |
| 在留資格 | 本人が書いた在留資格と在留期間 | 「不明」。職業や学校から推し量らない |
| 勤務先・学校 | 本人が書いた名前 | 「不明」 |
| 保証 | 日本にいる保証人の有無、保証会社の利用の希望 | 「不明」 |
| 内見 | 希望する日時、オンラインでの内見の希望 | 「不明」 |
| 連絡 | 日本の電話番号の有無、希望する連絡の手段 | 「不明」 |
右端の列が、この構成でいちばん大事な決まりです。 書かれていない条件を「不明」と残すから、聞き返す項目が正しく並びます。学校の名前が書かれているから在留資格は「留学」だろう、と埋めると、聞き返すべき項目が消えます。
出ていく側で Claude API にさせるのは、訳文の点検だけです。 日本語の返事と DeepL の訳文を並べて、金額、日付と期間、否定(「ありません」「できません」)、物件名と部屋番号、数(人数・部屋数)の5つが原文どおりかを見ます。訳文を直させるのではなく、食い違いの箇所を挙げさせます。 直すのは担当者が日本語の返事を直して、もう一度訳す形にします。
| させないこと | 理由 |
|---|---|
| 入居できるかどうかの判断 | 審査は管理会社と貸主と保証会社が決める |
| 在留資格による可否の判断 | 審査の基準は会社と貸主の取り決め。問い合わせの段階で判断しない |
| 返事の中身を考えること | 空室・条件・費用は担当者が物件の情報で確かめて書く |
| 外貨の予算を円に直すこと | 換算の日付と相場で変わる。原文の金額と通貨のまま残す |
| 点検で訳文を書き換えること | 直した訳文が正しいかを確かめる人がいない |
指示内容を固定する
あなたは賃貸住宅の仲介会社で、外国語で届いた問い合わせを日本語の担当者に
引き継ぐ係です。本文を日本語に訳し、入居の条件を決まった欄に分けてください。
【やること】
1. 本文の言語を判定し、ISO の言語コードで language に書く
2. 本文を日本語に訳し、translation_ja に書く(敬語は不要、意味を正確に)
3. 条件を conditions の各欄に分ける
4. 書かれていない条件を ask_back に日本語で並べる
【conditions の欄】
budget(家賃の上限と通貨、管理費込みか)/move_in(入居希望日または時期)/
occupants(人数と続き柄)/residence_status(在留資格と在留期間)/
work_or_school(勤務先または学校)/guarantor(日本にいる保証人の有無、
保証会社の利用の希望)/viewing(内見の希望日時、オンラインの希望)/
contact(日本の電話番号の有無、希望する連絡の手段)
【厳守事項】
- 本文に書かれていない条件は「不明」とし、推測で埋めないでください。
- 在留資格を、職業・学校・国籍から推し量らないでください。
本人が書いていなければ「不明」です。
- 金額は原文の数字と通貨のまま書いてください。円に換算しないでください。
- 「来月」「春から」のような時期は、原文の言い方をそのまま書き、
日付に直さないでください。
- 入居できるか、審査に通りそうかを書かないでください。
- 各欄の evidence には、根拠にした原文の箇所をそのまま写してください。
- 前のやり取りで分かっている条件は {previous_conditions} にあります。
今回の本文に新しい記載が無ければ、前の値を残してください。
前の値と今回の記載が違うときは、両方を書き、changed を true にしてください。
- 本文が物件の問い合わせでない(営業メール・迷惑メールなど)と判断したら、
inquiry を false にして、それ以外の欄を空にしてください。
【物件の定型部分】{portal_fixed_fields}
【本文】{body}
【受け取った日時】{received_at}
「推し量らない」を在留資格だけ別に書いているのは、いちばん埋めたくなる欄だからです。 「〇〇大学に通っています」と書かれていれば、何も言わなければ「留学」と埋めます。埋めた値が当たっていても、本人に確かめていないという事実が消えます。
前のやり取りとの食い違いを changed で残させるのは、予算や入居日が途中で変わることが多いためです。 新しい値だけを上書きすると、担当者は変わったことに気づかないまま、前の条件で物件を探し続けます。
返事の点検に使う指示は短くします。「日本語の原文と訳文を比べ、金額・日付と期間・否定・物件名と部屋番号・数が原文と違う箇所だけを挙げてください。訳の自然さや言い回しには触れないでください。訳文を書き直さないでください」。言い回しまで見させると指摘が増え、数字の食い違いが埋もれます。
出力形式を固定する
入ってくる側は、次の形の JSON を構造化出力で受け取ります。
{
"inquiry": true,
"language": "en",
"mixed_language": false,
"translation_ja": "",
"conditions": {
"budget": { "value": "", "evidence": "", "changed": false },
"move_in": { "value": "", "evidence": "", "changed": false },
"occupants": { "value": "", "evidence": "", "changed": false },
"residence_status": { "value": "", "evidence": "", "changed": false },
"work_or_school": { "value": "", "evidence": "", "changed": false },
"guarantor": { "value": "", "evidence": "", "changed": false },
"viewing": { "value": "", "evidence": "", "changed": false },
"contact": { "value": "", "evidence": "", "changed": false }
},
"ask_back": ["入居を希望する時期", "日本にいる保証人の有無"]
}
1つ目の理由は、台帳の列にそのまま当てられることです。 Parse JSON で欄に分ければ、conditions の8つの value を台帳の8つの列に書けます。自由文で受け取ると、どこからどこまでが予算かをもう一度切り出す処理が要ります。
2つ目は、evidence で担当者が原文に戻れることです。 台帳の日本語訳だけでは、訳が正しいかを確かめられません。根拠の原文の箇所が並んでいれば、外国語が読めない担当者でも、数字と固有名詞だけは原文と見比べられます。
スキーマには使えない書き方があります。 数値の minimum や文字列の maxLength は対応していないため、欄の値はすべて文字列にし、長さの制限はワークフローの側で見ます。
出ていく側の点検は、issues の配列で受け取ります。要素は type(amount / date / negation / property / count)、source_ja(日本語の原文の箇所)、target(訳文の箇所)、note の4つです。issues が空なら下書きを作り、1件でもあれば台帳の状態を「要確認」にして下書きを作りません。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Gmail | Watch emails | ラベル「反響」の付いたメールを拾う |
| Claude API | Anthropic Claude の Make an API Call | 翻訳と条件の欄分け、訳文の点検 |
| 問い合わせ台帳 | Google Sheets の Search Rows / Add a Row / Update a Row | 前の行を引く、新しい行を足す、訳文と点検の結果を書く |
| DeepL API | DeepL の Make an API Call | 用語集を当てて返事を訳す |
| Gmail | Create a draft email | スレッドの ID を指定して、返信の下書きを作る |
Gmail へは送信しません。下書きまでです。 Make の Gmail には Send an email と Reply to an email もありますが、この構成では使いません。 下書きは Create a draft email で、受け取ったメールのスレッドの ID を指定して作ります。下書きの本文は、訳文の下に区切り線を入れ、日本語の原文を並べます。 相手が日本語の分かる知人に確かめてもらうこともあるためです。
台帳の Add a Row と Update a Row は、列の ID を使う設定にします。 列の ID を使わない設定では、列の名前を変えても動きますが、列を足したり並べ替えたりすると動かなくなるとされています。運用しながら列を足していく台帳なので、列の位置に頼らない設定にします。
人が確認する
人が見るのは、すべての問い合わせの日本語訳と条件、そしてすべての返事の下書きです。 入ってくる側も出ていく側も、人を通さずに外へ出るものはありません。
- 台帳の日本語訳と条件を読む …
evidenceの原文と見比べ、金額と日付だけは原文の数字を目で確かめます - 空室と条件を確かめて、日本語で返事を書く …
ask_backの項目をまとめて1通で聞きます。状態を「訳す」にします - 点検の結果を見る …
issuesが出た返事は、日本語の原文の言い方を変えてからもう一度訳します。よくあるのは、主語の無い否定の文です - 下書きを開いて送信する … 宛先、件名、物件名を確かめてから送ります
目標は、360件をならして1件4分です。 台帳の確認に1分、返事を書くのに2分、下書きの確認と送信に1分という内訳で、訳す時間と、条件を拾う時間がまるごと無くなる想定です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 物件の問い合わせでないメール | inquiry が false。台帳に「対象外」と書き、訳さない |
| 複数の言語が混ざる | mixed_language を true にし、返事の言語を担当者が選ぶ |
| 用語集の無い言語 | DeepL の対応表で用語集を使えない言語(ネパール語など)は、用語集なしで訳し、台帳に「用語集なし」と残す |
| DeepL が対応していない言語 | 返事を英語で書くかを担当者が決める。勝手に英語に切り替えない |
| 前の値と今回の記載が違う | changed が true。台帳のその欄を色で目立たせる |
| 添付ファイルがある | AIに渡さず「添付あり」と記録。担当者が扱いを決める |
| 訳文の点検で食い違いが出た | 状態を「要確認」にし、下書きを作らない |
| Claude API が JSON を返さない・失敗する | 台帳に原文だけを書き、状態を「未処理」にする。次の実行で再試行 |
| 同じ問い合わせが複数のポータルから届く | 送り主と物件番号で照合し、同じ行に書き足す |
3行目と4行目を分けているのは、DeepL の対応の度合いが言語によって違うためです。 公式の対応言語の表では、たとえばネパール語は訳せても用語集には対応していません。用語集が無いまま訳すと、礼金や敷金の訳が返事ごとに揺れます。 その言語の返事は、点検の結果をいつもより丁寧に見ます。
記録を残す
- 受け取ったメールの ID、受け取った日時、ポータルの名前、物件番号
- 原文、日本語訳、Claude API が返した JSON の全文
- 担当者が書いた日本語の返事、DeepL の訳文、使った用語集の版
- 点検の結果(
issues)と、担当者が日本語の返事を直した記録 - 下書きを作った日時と、送信した日時
- 言語ごとの件数と、点検で食い違いが出た件数
3つ目で「用語集の版」を残すのは、用語集を後から直すためです。 礼金の訳を直したとき、どの返事が古い訳で送られたかが分からないと、相手に訂正の連絡をする範囲が決まりません。
04実装レベルの3段階
最小構成では件数がさばけません。 1件ずつ貼り付けるので、確かめるための段階です。 半自動化で、1件12分が7分程度になります。 本文を読んで条件を拾う時間は無くなりますが、返事を相手の言語に訳す作業が残ります。本格構成で4分になり、この段階が本記事の想定です。 差が大きいのは、返事の翻訳と、その訳が正しいかの確認が、外国語の読めない担当者にとって最も時間のかかる作業だからです。 段階を飛ばさないでください。 半自動化の台帳を1か月見て、多い言語と書かれにくい条件から用語集と返事のひな形を作ってから本格構成に進みます。
05工数削減シミュレーション
導入後 360件 × 4分 ÷ 60 = 24 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 留学生や外国人の会社員の入居が多い地域の賃貸仲介会社・管理会社で、自社サイトの問い合わせフォームと物件ポータルの反響メールに外国語の問い合わせが毎日届き、返事を書けるのが外国語の得意な一部の営業担当に限られている場合。予算や入居日、保証の条件を聞き返すやり取りが何往復も続き、その間にほかの物件に決まってしまうことがある場合。問い合わせの受付アドレスが Gmail で、問い合わせ台帳を Google スプレッドシートで持てる場合。
- 外国語の問い合わせが月に数十件以下で、担当者が直接読めば足りる場合。問い合わせを物件ポータルの管理画面の中だけで受け、メールに本文が届かない場合。来店や電話でのやり取りが中心で、文面のやり取りがほとんど無い場合。なお、入居の可否、在留資格や在留期間による審査の判断、保証会社の審査の見込みは、この構成では代替できません。
07最小構成で試す方法
- 先月届いた外国語の問い合わせから20件を選ぶ(英語のほかに、中国語・韓国語・ベトナム語を数件ずつ入れる)
- その20件について、担当者が台帳に書いた条件と、聞き返した回数を確かめる
- 本文を1件ずつ手元の生成AIの画面に貼り、第7章の指示を少し短くして渡す
- 出てきた日本語訳と条件を、台帳の記録と見比べる
- 過去の返事から10通を選び、日本語の原文を翻訳サービスで訳して、金額・日付・否定が原文どおりかを生成AIに点検させる
20件は必ずやってください。 ワークフローを組む前に、「条件を漏れなく拾えるか」と「推し量って埋めないか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 台帳より多くの条件が拾えた | ワークフローに進む。 台帳の空欄の多くは読み落としだった |
| 在留資格などを推し量って埋めた | 指示の書き方で直る。構成は有効 |
| 返事の点検で、過去の誤訳が見つかった | 用語集の整備を先に行う |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 在留資格や予算を推し量って埋める | 「不明」と書かせ、在留資格は別に禁じる |
| 引用された前のやり取りまで訳して条件を拾い直す | 引用の行と署名を落としてから渡す |
| 礼金・敷金の訳が返事ごとに揺れる | DeepL の用語集を当てる。 用語集には元の言語の指定が要る |
| 用語集を使えない言語がある | 対応表で確かめ、その言語の返事は点検を丁寧に見る |
| 否定と日付の向きが逆になった訳に気づかない | 訳と点検を別の製品に分け、点検は数字と否定に絞る |
| 点検が言い回しまで指摘して埋もれる | 指示で「言い回しに触れない」と書く |
| 列を足したら台帳への書き込みが止まる | 列の ID を使う設定にする |
| 画面での変更で動く Watch Changes が行の追加を拾わない | 「訳す」の行を Search Rows で探す定時の実行にする |
| 外貨の予算が円に換算されて記録される | 換算を禁じ、原文の通貨のまま残す |
| 返事が自動で送られる | Create a draft email までにする。 送信は人が行う |
上の2行が、この構成の失敗のほとんどです。 どちらも「条件を拾う」処理が、書かれていないものまで拾ってしまう型です。「不明」が残っていることを、正しい出力として扱えるかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 入居希望者の名前、メールアドレス、電話番号、勤務先や学校、在留資格と在留期間、予算です。
- AIに渡すのは本文の自由記述までにする … 添付された在留カードやパスポートの画像は渡しません。問い合わせの段階で受け取る必要の無い情報を、外部のサービスに送らない設計にします
- 在留資格を判断の材料として書かせない … 台帳には本人が書いた在留資格を記録するだけにし、「難しい」「可能性が低い」のような評価を、AIにも担当者のメモにも書かない運用にします。審査の基準は、管理会社と貸主の取り決めとして別に持ちます
- 返事を自動で送らない … 出すのは下書きまでです。家賃や入居日を取り違えた返事は、入居希望者の住まい探しの判断を誤らせます
- 台帳の閲覧範囲を絞る … 在留資格と勤務先が並ぶ一覧です。共有の設定を、賃貸営業課の担当者に限ります
- 使う API の契約を確かめる … 生成AIと翻訳APIのそれぞれで、送った文が学習に使われるか、どれだけ保存されるかを、導入前に利用規約と契約の条件で確かめてください
- 問い合わせが来なくなった人の行を残し続けない … 一定の期間で台帳から消すか、個人を特定できる欄を消す決まりを作ります
誤りが起きた場合のリスクは、条件を推し量って埋めることと、誤った訳の返事を送ることの2つです。 前者は聞き返すべき条件を消し、後者は相手の判断を誤らせます。前者は「不明」を残す指示で、後者は訳と点検を分けることで防ぎます。
10まず何から始めるか
1週目:台帳に列を足し、用語集の候補を集める
問い合わせ台帳に「原文」「日本語訳」「言語」「聞き返す項目」「返事(日本語)」「訳文」「点検の結果」「状態」の列を足します。あわせて、入居者向けに渡している外国語の資料から、敷金・礼金・更新料・保証会社・初期費用・管理費の訳を言語ごとに書き出します。
2週目:20件で試す
先月の問い合わせから20件を選び、手元の生成AIの画面で訳と条件の欄分けをさせます。台帳の記録と見比べ、推し量って埋めた欄が無いかを最優先で見ます。
3週目:入ってくる側をつなぐ
Make で受付用アドレスのラベルを見張り、Claude API の翻訳と欄分けを台帳に書き込むところまで作ります。この時点では返事は人が今までどおり書き、台帳の欄がどれだけ埋まるかを見ます。
4週目:用語集を DeepL に登録する
1週目に書き出した訳で DeepL の用語集を作り、過去の返事10通を訳して点検させます。点検の食い違いが出た文の書き方を、返事のひな形に反映します。
2か月目: 出ていく側をつなぎ、Gmail の下書きまでを作ります。点検の食い違いの件数を毎週数えます。3か月目以降: 1件12分が何分になったかと、内見までの往復の回数を実測します。外国語の読めない担当者だけの日にも返事が止まらなくなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Watch emails がフォルダ・ラベル、送信元、件名、含む語で絞り込め、1回の上限を500以下で設定し、取り込んだメールを既読にする設定があること。Create a draft email にスレッドの ID の指定があり、フォルダを選ばないと下書きに入ること。Send an email と Reply to an email があること | Make: Gmail modules | 2026-10-13 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call があり、接続に API キーを使うこと。構造化出力の設定がページに書かれていないこと | Make: Anthropic Claude | 2026-10-13 |
| DeepL のアプリに Translate a Text と Make an API Call があり、接続に DeepL API のアカウントと API キーが要ること | Make: DeepL | 2026-10-13 |
| Add a Row・Update a Row・Search Rows があること。列の ID を使わない設定では列の追加・削除・並べ替えで動かなくなること。Watch Changes がユーザーによる画面での変更だけで動き、スクリプトや API の変更では動かず、新しく足された行を見ないこと | Make: Google Sheets modules | 2026-10-13 |
| Parse JSON がデータの構造で JSON を分け、項目を後のモジュールに当てられること | Make: JSON | 2026-10-13 |
/v2/translate で元の言語を省くと自動で判定すること。glossary_id で用語集を指定でき、用語集には source_lang の指定が要ること。context が訳に影響するが訳されず、料金の計算に入らないこと。依頼の大きさの上限が128KiBであること。show_billed_characters で請求の対象の文字数が返ること | DeepL API: Translate text | 2026-10-13 |
| 中国語(簡体・繁体)・韓国語・ベトナム語が訳す先の言語として用語集に対応し、ネパール語は用語集に対応しないこと | DeepL: Supported languages | 2026-10-13 |
構造化出力が output_config.format に json_schema を渡す形で一般提供されていること。数値・文字列の制約や additionalProperties を false 以外にすることが対応していないこと | Claude: Structured outputs | 2026-10-13 |
入居の可否と審査の基準は、管理会社・貸主・保証会社の取り決めに従ってください。 本記事は上の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1320)についてのご相談はこちらから。
