朝礼で読む安全連絡と作業変更の連絡を、用語集をそろえて外国人作業者の母語に訳し、掲示用と配信用の文面を毎日作る
職長が朝礼の前にフォームへ入力した当日の安全連絡と作業変更を、社内の用語集どおりの訳語で外国人作業者の母語に訳します。掲示用の対訳シートと、チャットで配る短い文面を毎朝そろえて出します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/n8n
- 対象業界
- 建設/物流/製造
- 対象部門
- 生産
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 翻訳
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 職長が前の交替から引き継ぎを受け、当日の連絡をメモ帳に書き出す
- 個人のスマートフォンの翻訳アプリに日本語を入れ、4言語の訳文を1つずつ取り出す
- 訳文をコピーして、掲示用のシートに言語ごとに貼り付け、印刷して休憩所と詰所に貼る
- 同じ訳文を、言語ごとのチャットのグループに貼り付けて送る
- 時間があれば、母語のわかる先輩作業者に訳文を見せ、おかしなところがないか聞く
- 朝礼で日本語の連絡を読み上げ、身振りと指差しで補う
- 人職長が朝礼の30分前までに、当日の連絡をフォームに入力する(1件ずつ、区分と重要度を選ぶ)
- 自動フォームの送信をきっかけに Google Apps Script が動き、入力をスプレッドシートに記録する
- 自動数字・時刻・号機・場所の記号を取り出し、記号に置き換える
- 自動用語集を引き、連絡の中に出てくる社内用語の訳語だけを取り出す
- 自動Gemini API が4言語とやさしい日本語に訳し、あわせて各言語の訳文を日本語に戻した文を返す
- 自動置き換えた記号が、すべての訳文にそろって戻っているかを数える
- 自動原文と逆翻訳を並べた確認画面を、職長のチャットに送る
- 人職長が原文と逆翻訳を見比べ、意味がずれていなければ「発行」を押す
- 自動掲示用の対訳シートをドキュメントのテンプレートに差し込んでPDFにし、言語ごとのチャットに配信用の文面を送る
- 人職長がPDFを印刷して掲示し、朝礼で日本語の連絡を読み上げる
- 人各言語の先輩作業者が、配信された訳文に気になる点があればチャットで返す
各工程の詳しい説明を読む
- 職長が前の交替から引き継ぎを受け、当日の連絡をメモ帳に書き出す
- 個人のスマートフォンの翻訳アプリに日本語を入れ、4言語の訳文を1つずつ取り出す
- 訳文をコピーして、掲示用のシートに言語ごとに貼り付け、印刷して休憩所と詰所に貼る
- 同じ訳文を、言語ごとのチャットのグループに貼り付けて送る
- 時間があれば、母語のわかる先輩作業者に訳文を見せ、おかしなところがないか聞く
- 朝礼で日本語の連絡を読み上げ、身振りと指差しで補う
(a)毎朝の翻訳が、職長の朝礼前の時間を食う。 2番から4番だけで20分前後かかります。引き継ぎのあとの時間はもともと短く、翻訳が間に合わない日は、日本語の読み上げだけで済ませることになります。 その日に限って大事な変更があった、ということが起きます。
(b)訳語が職長ごとにばらばら。 同じ「第2通路」が、ある職長の訳では通路の番号として、別の職長の訳では「2番目の道」として出ます。「フルハーネス」「安全帯」「墜落制止用器具」も、原文の書き方しだいで別の語になります。同じ作業者が、ラインを移るたびに違う言葉で同じ注意を受けます。
(c)数字や場所の訳し間違いに気づけない。 翻訳アプリは「10時から12時」を別の書き方に直したり、号機の番号を落としたりすることがあります。職長は訳文を読めないので、間違いがあっても誰も気づかないまま掲示されます。 先輩に見てもらえるのは、時間に余裕のある日だけです。
(d)先輩に頼る確認が、特定の人に集まる。 母語がわかって日本語も読める作業者は、各言語に1〜2名しかいません。その人が休みの日は、確認そのものができません。 頼まれる側の作業時間も削られています。
- 【人】 職長が朝礼の30分前までに、当日の連絡をフォームに入力する(1件ずつ、区分と重要度を選ぶ)
- 【自動】 フォームの送信をきっかけに Google Apps Script が動き、入力をスプレッドシートに記録する
- 【自動】 数字・時刻・号機・場所の記号を取り出し、記号に置き換える
- 【自動】 用語集を引き、連絡の中に出てくる社内用語の訳語だけを取り出す
- 【自動】 Gemini API が4言語とやさしい日本語に訳し、あわせて各言語の訳文を日本語に戻した文を返す
- 【自動】 置き換えた記号が、すべての訳文にそろって戻っているかを数える
- 【自動】 原文と逆翻訳を並べた確認画面を、職長のチャットに送る
- 【人】 職長が原文と逆翻訳を見比べ、意味がずれていなければ「発行」を押す
- 【自動】 掲示用の対訳シートをドキュメントのテンプレートに差し込んでPDFにし、言語ごとのチャットに配信用の文面を送る
- 【人】 職長がPDFを印刷して掲示し、朝礼で日本語の連絡を読み上げる
- 【人】 各言語の先輩作業者が、配信された訳文に気になる点があればチャットで返す
8番目が、この設計の分かれ目です。 職長が確かめるのは訳文ではなく逆翻訳の日本語です。訳文そのものは読めなくても、自分が書いた原文と意味が同じかどうかは判断できます。 ここを省いて自動で発行する設計にはしません。
6番目を機械で数えているのも、意図してのことです。 数字や時刻が訳文に正しく入っているかは、逆翻訳を読んでも見落とします。記号の数という、読まなくても分かる基準で先に止めます。
02今回想定するシステム構成
職長の入力(Google フォーム:連絡の本文・区分・重要度)
│
▼【トリガー】フォーム送信時のインストール型トリガー
Google Apps Script
├──▶ スプレッドシートに記録(受付番号・ライン・交替)
├──▶ 数字・時刻・号機・場所の記号を {{T1}} {{T2}} … に置き換え
├──▶ 用語集(スプレッドシート)から該当する訳語だけを取り出す
▼
Gemini API ── 4言語+やさしい日本語に訳す/各訳文の逆翻訳を返す(JSON)
▼
Google Apps Script ── 記号の数を照合/未登録の用語を拾う
▼
職長のチャットへ確認カード(原文と逆翻訳を並べる)
▼【人が発行を押す】
├──▶ ドキュメントのテンプレートに差し込み → 掲示用PDF
└──▶ 言語ごとのチャットのスペースへ配信(着信 Webhook)| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(翻訳・逆翻訳・用語の適用) | Claude API、OpenAI API |
| 連携 | Google Apps Script(トリガー、記号の置き換えと照合、差し込み、配信) | Make、n8n |
| 入力 | Google フォーム | Microsoft Forms |
| 用語集・記録 | Google スプレッドシート | SharePoint リスト |
| 配信 | Google Chat(着信 Webhook) | Microsoft Teams、LINE WORKS |
| 掲示 | Google ドキュメントのテンプレートとPDF | 既存の掲示用の書式 |
新しく足すのは、Gemini API の利用だけです。 フォーム、スプレッドシート、ドキュメント、チャットは、Google Workspace の中ですでに使っているものです。最初の準備作業は、用語集を作ることです。 設備名、場所名、保護具、作業の呼び方を、4言語の訳語と一緒に一覧にします。
Gemini API は、テキストの生成に加えて、JSONスキーマを指定した構造化出力を返せます。 公式ドキュメントでは、mime_type を application/json にし、スキーマを渡すと、スキーマに沿ったJSONが返るとされています。文字列の型には enum で選択肢を決められるので、言語コードや判定の値を固定の語に限れます。一方で、非常に大きい、または深く入れ子になったスキーマは拒否されることがあること、JSONとして正しくても値はアプリケーション側で検証すべきことも明記されています。第7章の6番目の照合は、この「値の検証」に当たります。
指示の土台はシステム指示に置きます。 Gemini API では system_instruction でモデルの振る舞いを指定できます。訳してはいけないもの、用語集を優先すること、推測で補わないことは、毎回変わらないのでここに書きます。変わるのは当日の連絡と、そこに出てくる用語だけです。
03どうやって実装するのか
処理の起点を決める
フォームの送信を起点にします。 Apps Script のインストール型トリガーには、フォームへの回答で動くものがあります。職長が送信したその場で処理が始まるので、朝礼の30分前に入力すれば、数分後には確認カードが届きます。
時間主導型のトリガーは使いません。 公式ドキュメントでは、時間主導型のトリガーは毎分から月1回まで設定できる一方、時刻がわずかにランダム化されるとされ、午前9時に設定すると9時から10時の間のどこかで動く例が示されています。朝礼の開始時刻が決まっている業務で、1時間の幅は使えません。
インストール型トリガーは、作成した人のアカウントで動きます。 職長の誰かのアカウントで作ると、その人が異動した日に止まります。トリガーは製造部の共用のアカウントで作り、所有者を記録しておきます。 また、トリガーにはクォータの上限があるので、1回の送信で動く処理を短く保ちます。
入力の締め切りは、朝礼の30分前とします。それを過ぎた送信も処理はしますが、確認カードに「締め切り後」と表示し、職長が発行を急いで確認を飛ばさないようにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 当日の連絡 | 本文(1件ずつ)、区分(通行止め・設備・暑さ寒さ・保護具・ヒヤリハット・配置・その他)、重要度(通常/重要) | Google フォーム |
| 朝礼の情報 | ライン、交替、日付、入力した職長 | Google フォーム |
| 用語集 | 日本語の用語、4言語の訳語、やさしい日本語の言い換え、訳してはいけない語の印 | Google スプレッドシート |
| 配信先 | 言語ごとのチャットのスペースと Webhook の URL | スクリプトのプロパティ |
| 前日の連絡 | 同じラインの直近の連絡と訳文 | 記録のスプレッドシート |
質を決めるのは用語集です。 用語集が無いと、「第2通路」「3号機」「ピッキング台車」のような社内の呼び方が、そのたびに別の訳になります。用語集は最初から完璧にしません。 よく使う80語から始め、第7章の「例外処理」で拾った未登録の用語を毎週足していきます。
区分と重要度は、職長に選ばせます。 本文から自動で判定させることもできますが、「重要」を決めるのは現場の責任者です。 重要の連絡は、掲示用シートの先頭に色を変えて出し、配信用の文面にも見出しを付けます。
前日の連絡を持つのは、同じ連絡が続く日のためです。 通行止めが3日続くとき、前日の訳文と用語が同じなら、確認カードに「前日と同じ訳語」と出して職長の確認を短くします。
データの取得方法を決める
フォームの回答は、トリガーのイベントから受け取ります。区分と重要度は選択式にして、自由記述にしません。 表記がぶれると、掲示の並び順と配信の見出しが決まりません。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 連絡の本文・区分・重要度 | フォームの回答 | 訳す対象と、掲示の並び順 |
| 用語集のうち該当する行 | スプレッドシート(本文に含まれる日本語の用語で照合) | 訳語の指定 |
| 訳してはいけない語 | 用語集の印の列 | 記号への置き換えの対象 |
| 配信先 | スクリプトのプロパティ | 言語ごとのチャットへの送信 |
用語集は全件を渡しません。 本文に出てくる用語だけを照合して取り出し、その行だけを指示に入れます。 全件を渡すと、連絡に関係ない訳語まで持ち込まれることがあり、指示も長くなります。照合は長い語から先に行います。「フォークリフト通路」を先に当てないと、「フォークリフト」と「通路」に分かれて別々の訳語が付きます。
AIへ渡す前に整形する
- 本文の整形 … 全角・半角をそろえ、連続した空白と改行を1つにします
- 記号への置き換え … 数字、時刻、日付、温度、重さ、号機(「3号機」)、場所の記号(「第2通路」「Bエリア」)を取り出し、
{{T1}}{{T2}}… に置き換えます - 置き換え表の保存 … どの記号が元の何だったかを、受付番号と一緒に記録します
- 用語の照合 … 本文に出てくる用語集の語を、長い語から順に当てます
- 未登録の語の候補出し … カタカナ語や「〜機」「〜台車」のような設備らしい語で、用語集に無いものを候補として拾います
- 長さの確認 … 1件が200字を超えるものは、分けて入力するよう職長に返します
2番目が、この構成でいちばん大事な処理です。 記号にしておけば、AIは「10時」を別の書き方に直すことも、「3号機」を落とすこともできません。訳し終えたあとで元の文字に戻すので、数字は原文の1文字もそのまま掲示に出ます。
場所の記号は、日本語のまま残します。 床や柱に書かれている表示は日本語なので、訳してしまうと現場の表示と一致しなくなります。掲示用シートでは、記号の横に写真や配置図の番号を付けることもできます。
AIに処理させる
させるのは、1件ずつの連絡を5つの版に訳し、それぞれを日本語に戻すことだけです。
| させること | 中身 |
|---|---|
| 4言語への翻訳 | ベトナム語、インドネシア語、タガログ語、ポルトガル語。用語集の訳語を必ず使う |
| やさしい日本語への書き換え | 日本語を読める作業者向け。漢字にふりがなは付けず、短い文に分ける |
| 逆翻訳 | 4言語それぞれの訳文を日本語に戻す。職長の確認用 |
| 記号の保持 | {{T1}} などの記号を、訳文の中にそのまま残す |
| 訳せない語の報告 | 用語集に無く、意味が決められない語を unclear_terms に書き出す |
| させないこと | 理由 |
|---|---|
| 連絡の中身を足す・省く | 「気をつけてください」などの一言を足すと、原文にない指示が掲示に出る |
| 数字や記号を訳す | 置き換えた記号はそのまま残す。原文の表記で掲示に戻す |
| 重要度の判定 | 職長が決めたものを使う |
| 安全上の判断 | 「この作業は危険か」を判断させない。書かれた連絡を訳すだけ |
| 用語集の訳語の言い換え | 訳語の指定を「より自然な言い方」に直させない |
2行目の「足す・省く」がいちばん起きやすい失敗です。 安全の連絡を訳させると、丁寧にしようとして「十分に注意してください」「必ず守ってください」を足すことがあります。原文にない強調は、どれが本当に大事な連絡なのかをかえって分からなくします。
指示内容を固定する
システム指示(毎回同じ):
あなたは工場の朝礼で読む安全連絡を、外国人作業者向けに訳す担当です。
職長が書いた日本語の連絡を、指定された言語に訳してください。
【訳す言語】
vi(ベトナム語)、id(インドネシア語)、tl(タガログ語)、pt(ポルトガル語)、
ja_easy(やさしい日本語)
【厳守事項】
- {{T1}} のような記号は、訳文の中にそのまま残してください。
記号を訳す、消す、数字や別の語に置き換えることをしないでください。
- 用語集で訳語が指定されている語は、必ずその訳語を使ってください。
より自然な言い方に直さないでください。
- 原文にない言葉を足さないでください。
「注意してください」「必ず守ってください」などの強調を加えないでください。
- 原文の内容を省かないでください。1文も落とさないでください。
- 意味が決められない語があれば、推測で訳さず unclear_terms に書き出してください。
その語は訳文の中で原文のまま残してください。
- 各言語の訳文を、日本語に戻した文を back_translation に書いてください。
戻すときは訳文だけを見て、原文を見ないでください。
- やさしい日本語は、1文を短くし、難しい漢語を言い換えてください。
- 安全上の判断や助言は書かないでください。訳すことだけをしてください。
ユーザー側に入れるもの(毎回変わる):
【連絡】受付番号 {receipt_id}/区分 {category}/重要度 {priority}
{source_text_with_tokens}
【この連絡に出てくる用語と訳語】
{glossary_rows}
「戻すときは原文を見ない」を明記しないと、逆翻訳が確認になりません。 何も言わないと、原文をそのまま写したような逆翻訳が返り、訳文がずれていても逆翻訳だけは正しく見えます。 同じ呼び出しの中で原文が見えている以上、この指示で完全に防げるとは限らないため、本格構成では逆翻訳を別の呼び出しに分け、訳文だけを渡します。
「強調を加えない」を具体的な言い回しで書いているのも同じ理由です。 「足さないでください」だけでは、足した一言を足したものと扱いません。例を挙げて禁じます。
出力形式を固定する
次の形のJSONで受け取ります。
{
"receipt_id": "",
"translations": [
{
"lang": "vi | id | tl | pt | ja_easy",
"text": "",
"back_translation": "",
"glossary_used": [""],
"unclear_terms": [""]
}
]
}
translations には5つの要素を並べます。lang は enum で5つに限ります。言語の名前を自由に書かせると、「Vietnamese」「ベトナム語」「vi-VN」が混ざり、配信先のチャットを引けなくなります。
1つ目の理由は、記号の照合を機械で行えることです。 Apps Script が各 text の中の {{T1}} 〜 {{Tn}} を数え、置き換え表の数と1つでも合わなければ、その言語を発行させません。 自由文で受け取ると、どこからどこまでが訳文なのかが決まらず、数えられません。
| 照合 | 結果 | 扱い |
|---|---|---|
| 記号の数と種類が置き換え表と一致 | ok | 確認カードへ |
| 記号が欠けている・増えている | token_mismatch | その言語だけ訳し直し。2回目も合わなければ職長へ |
unclear_terms が空でない | unclear | 確認カードに該当の語を赤で出す |
glossary_used に指定の訳語が無い | glossary_miss | 確認カードに表示し、職長が発行するか決める |
2つ目は、back_translation を訳文と同じ要素に持たせられることです。 確認カードでは、原文と5つの逆翻訳を縦に並べます。どの言語の訳がずれているかが、読み比べるだけで分かります。
3つ目は、glossary_used で用語集が効いているかを後から数えられることです。 用語集にある語が本文に出ていたのに使われていない回数が多ければ、用語集の訳語か、照合の仕方に問題があります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google フォーム | フォーム送信時のインストール型トリガー | 当日の連絡を受け取る |
| Google スプレッドシート | Apps Script から読み書き | 用語集の照合、受付の記録、訳文の保存 |
| Gemini API | Apps Script からのAPI呼び出し | 5つの版の訳文と逆翻訳をJSONで返す |
| Google Chat(職長) | 確認用のスペースへの投稿 | 原文と逆翻訳を並べた確認カード |
| Google ドキュメント | テンプレートへの差し込みとPDF化 | 掲示用の対訳シート |
| Google Chat(各言語) | 着信 Webhook | 配信用の短い文面 |
配信は、Google Chat の着信 Webhook で行います。 公式ドキュメントでは、Webhook は外部のサービスからチャットのスペースへ一方向・非同期の通知を送る仕組みで、ユーザーからのメッセージに応答したり受け取ったりはできないとされています。先輩作業者からの指摘は、Webhook ではなくスペースへの通常の返信で受けます。
送信の間隔を空けます。 Webhook には、スペースごとに1秒あたり1リクエストの上限があり、そのスペースのすべての Webhook で共有されます。1回の朝礼で送るのは言語ごとに1通ですが、重要の連絡を分けて送る日は、同じスペースへの送信を1秒以上空けます。
Webhook の URL は、スクリプトのプロパティに置きます。 URL にはセキュリティ用のトークンが含まれ、公開しないよう求められています。スプレッドシートの見える列には書きません。 また、Webhook を使えるのは Business または Enterprise の Google Workspace アカウントで、組織が Webhook の追加と利用を許可している場合です。
人が確認する
全件を職長が確認します。この構成に、確認を飛ばす経路はありません。 安全の連絡で、訳の誤りがそのまま掲示に出ることは許されないためです。
- 記号の照合が
okかを見る …token_mismatchの言語は、確認カードに出る前に止まっています - 原文と逆翻訳を読み比べる … 意味がずれていないか、足された言葉や抜けた文がないかを見ます
unclearとglossary_missを処理する … 該当の語を言い換えて入力し直すか、そのまま発行するかを決めます- 発行を押す … 押した職長の名前と時刻が記録されます
- 先輩作業者の指摘を受ける … 配信後に気になる点があれば、チャットで返してもらいます
1件あたり5分を目安にします。 逆翻訳を5つ読むのが中心で、ずれがなければ数十秒、unclear があれば言い換えの入力で数分かかります。確認が5分を大きく超える日が続くなら、用語集が足りていないか、原文が長すぎます。
5番目は、2段目の確認です。 逆翻訳は、訳文が原文の意味を保っているかは教えてくれますが、その言語の作業者にとって自然な言い方かどうかは教えてくれません。 先輩作業者の指摘は、用語集の訳語を直す材料として記録します。先輩作業者に全件の確認を頼む形には戻しません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 記号が訳文から欠けた | その言語だけ訳し直す。2回目も欠ければ、その言語は日本語の原文とピクトグラムで掲示し、職長が口頭で補う |
| 用語集に無い語が出た | unclear_terms に出す。職長が言い換えるか、発行後に用語集へ登録する |
| 朝礼の締め切りを過ぎて入力された | 処理はするが、確認カードに「締め切り後」と出す。確認を飛ばしての発行はさせない |
| Gemini API が応答しない | 1回だけ再送する。失敗したら職長へ通知し、その日は前日までの定型の訳文と日本語の読み上げで対応する |
| 1件が長すぎる | 200字を超えるものは、分けて入力するよう職長に返す |
| 前日と同じ連絡 | 前日の訳文と用語が同じなら、確認カードに「前日と同じ訳語」と表示する。確認そのものは省かない |
| 先輩作業者から訳の指摘が来た | 指摘を記録し、翌日までに用語集か原文の書き方を直す。当日の掲示は職長が差し替えを判断する |
| Webhook の送信に失敗した | 1秒以上空けて再送する。失敗が続けば、職長が掲示のPDFをチャットに手で貼る |
上から2行目までが大半を占めます。 どちらもAIの失敗というより、用語集がまだ育っていないことの表れです。 運用の最初の1か月は未登録の語が多く出ますが、毎週の登録を続けると、確認カードの赤い表示は目に見えて減ります。
4行目の「前日までの定型の訳文」は、先に用意しておきます。 暑さ対策、保護具の着用、通路の通行止めのように毎月必ず出る連絡は、職長と先輩作業者が確かめた定型の訳文を10本ほど持っておき、APIが止まった日に使います。
記録を残す
- フォームの入力(本文、区分、重要度、ライン、交替、入力した職長、入力時刻)
- 記号の置き換え表(受付番号ごと)
- Gemini API に渡した指示と、返ってきたJSONの全文
- 記号の照合の結果(
ok/token_mismatch/unclear/glossary_miss) - 発行を押した職長と時刻、発行前に直した箇所
- 掲示用PDFと、各言語のチャットへ送った文面
- 先輩作業者からの指摘と、それを受けて直した用語集の行
発行者と時刻を残すのは、掲示の責任を明確にするためです。 訳を作ったのはAIですが、掲示してよいと判断したのは職長です。 後から訳の誤りが見つかったとき、どの確認を通って掲示されたかをたどれるようにします。
最後の行は、用語集を育てる記録です。 同じ語に何度も指摘が来るなら、訳語そのものを見直します。用語集の変更には、日付と直した人を残します。 訳語が変わった日を境に、掲示の言葉が変わったことを作業者に伝えられるようにするためです。
04実装レベルの3段階
最小構成では、毎朝の時間に間に合いません。 4言語分を貼り直す作業が残るので、確かめるための段階です。 半自動化が、本記事の想定です。 職長がフォームに入力し、確認カードで逆翻訳を読んで発行を押すところまでになります。掲示のPDFの印刷と貼り出しは残ります。 本格構成との差は、逆翻訳の独立性と用語集の保守の手間で、1件あたりの時間はほとんど変わりません。 半自動化で3か月回し、先輩作業者の指摘が多い言語が見えてから本格構成に進みます。 段階を飛ばさないでください。 最小構成の20件で用語集の足りない語が分かり、それを埋めてから半自動化に進むほうが、確認カードの赤い表示が少ない状態で始められます。
05工数削減シミュレーション
導入後 120件 × 8分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- ベトナム・インドネシア・フィリピン・ブラジルなど、母語の違う外国人作業者が複数の班に分かれて働く工場や物流センター。朝礼の安全連絡や作業変更を職長が日本語で読み上げ、翻訳アプリや母語のわかる先輩に頼って伝えている場合。掲示物や連絡メッセージの訳が職長ごとにばらばらで、設備名や保護具の呼び方がそろっていない場合。Google Workspace を使っており、フォームとスプレッドシートとチャットを業務で使える場合。
- 外国人作業者が数名で、全員が日本語の連絡を問題なく理解できている場合。朝礼の連絡がほぼ毎日同じ定型文で、一度訳した文面を貼り直せば足りる場合。作業手順書や安全衛生教育の教材そのものを訳したい場合(UC-0022 のような手順書の翻訳の構成が向く)。なお、訳した連絡が正しく伝わったかの確認と、安全上の指示の責任は職長に残ります。
07最小構成で試す方法
- 先月の朝礼の連絡から20件を選ぶ(通行止め、暑さ対策、保護具、ヒヤリハットを必ず入れる)
- よく使う用語30語について、4言語の訳語を先輩作業者と一緒に決め、スプレッドシートに書く
- 手元の Gemini の画面に、第7章のシステム指示と用語の一覧、連絡を1件ずつ貼り付ける
- 数字・時刻・号機を
{{T1}}のような記号に手で置き換えてから渡す - 返ってきた訳文と逆翻訳を、先輩作業者に見てもらい、意味が合っているかを1件ずつ聞く
20件は必ず先輩作業者と一緒に見てください。 逆翻訳で確認できることと、できないことを、ここで見極めます。
| 出てきた内容 | 判断 |
|---|---|
| 記号が残り、先輩作業者も意味が合っていると言う | フォームとトリガーの連携に進む |
| 強調の言葉が足される | 指示の書き方で直る。構成は有効 |
| 逆翻訳は合っているのに、先輩作業者が不自然と言う | 用語集の訳語が先。 訳語を直してから同じ20件をやり直す |
3行目が出ることは珍しくありません。 失敗ではなく、逆翻訳では拾えないずれがあると分かったということです。 そうした訳語を用語集に固定していくことが、この構成の育て方そのものです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 数字や号機が訳文で変わる | 記号に置き換えてから渡し、戻したあとで数を照合する |
| 逆翻訳が原文をなぞるだけになる | 「原文を見ない」と明記し、本格構成では別の呼び出しに分ける |
| 強調の言葉が足される | 具体的な言い回しを挙げて禁じる |
| 用語集の訳語が使われない | 該当する行だけを渡し、glossary_used で使われたかを数える |
| 「フォークリフト通路」が分かれて訳される | 用語の照合を長い語から先に行う |
| 時間主導型トリガーで朝礼に間に合わない | 時刻はランダム化される。フォーム送信のトリガーにする |
| トリガーを作った職長の異動で止まる | インストール型は作成者のアカウントで動く。共用のアカウントで作る |
| Webhook の送信が詰まる | スペースごとに1秒1リクエスト。送信の間隔を空ける |
| Webhook の URL が漏れる | トークンを含む。スクリプトのプロパティに置く |
| 無料枠のまま運用している | 有料のサービスで使う。 無料枠では入力が改善に使われる |
| 先輩作業者に全件の確認を頼んでしまう | 2段目の確認に留め、指摘は用語集の改善に回す |
| 場所の記号まで訳してしまう | 床や柱の表示と一致しなくなる。日本語のまま残す |
上の2行が、この構成の失敗のほとんどです。 どちらも「職長が訳文を読めない」という同じ前提から出発しています。読めない人に確認を任せる以上、確認の根拠を記号の数と逆翻訳という、読める形に置いてあるかどうかで決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 当日の作業の変更、設備の不調、ヒヤリハットの内容、ラインと交替、入力した職長の名前です。個々の作業者の名前や在留資格は扱いません。
- Gemini API は有料のサービスで使う … 利用規約では、無料のサービスに送った内容と応答は Google の製品やサービスの提供・改善・開発に使われ、人が読んで注釈を付けることがあるとされ、機密情報や個人情報を送らないよう求められています。有料のサービスでは、プロンプトや応答を製品の改善に使わず、禁止事項の違反を検知するために限られた期間だけ記録するとされています
- 連絡の本文に作業者の名前を書かない … ヒヤリハットの連絡で、当事者の名前を書きたくなることがあります。名前は書かず、「昨日、Bエリアで」のように場所と状況だけにします。 フォームの説明文にも明記します
- 訳した連絡の責任は職長に残る … この構成が出すのは訳文までです。発行を押すのは職長で、安全上の指示の中身を決めるのも職長です。 訳に誤りがあったとき、AIの誤りとして片づけないでください
- 重要な連絡は、掲示とチャットだけで済ませない … 立入禁止や保護具の変更のような連絡は、朝礼で指差しと実物で示し、母語のわかる先輩作業者から口頭でも伝えます。 掲示と配信は、伝えた内容を後から見返すためのものです
- Webhook の URL を共有しない … URL を知っていれば誰でもそのスペースに投稿できます。漏れたら Webhook を作り直します
- 用語集の変更を記録する … 訳語が変わると、作業者が覚えた言葉が変わります。変更の日付と理由を残し、朝礼で伝えます
誤りが起きた場合のリスクは、数字や場所を取り違えた連絡が掲示されることと、原文にない指示が足されることの2つです。 前者は記号の置き換えと照合で、後者は逆翻訳の読み比べで防ぎます。どちらも職長の確認を通す前提で作っているので、そこだけは省かないでください。
10まず何から始めるか
1週目:用語集を作る
先月の朝礼の連絡を見直し、よく出る用語を80語選びます。 設備名、場所名、保護具、作業の呼び方が中心です。先輩作業者と一緒に4言語の訳語を決め、スプレッドシートに書きます。訳してはいけない語(場所の記号など)には印を付けます。
2週目:20件で試す
先月の連絡から20件を選び、手元の Gemini の画面で訳させます。先輩作業者に見てもらい、逆翻訳で確認できることとできないことを見極めます。
3週目:フォームとスクリプトを作る
フォームの項目(本文、区分、重要度、ライン、交替)を決め、共用のアカウントでフォーム送信のトリガーを作ります。 記号の置き換えと照合、確認カードの送信までを作り、この時点では掲示と配信は手で行います。
4週目:1ラインで試す
1つのラインの1つの交替だけで、実際の朝礼に使います。職長の確認にかかった時間と、unclear の件数を毎日記録します。
2か月目: 掲示用PDFの差し込みと、言語ごとのチャットへの配信を足し、3ラインの両交替に広げます。未登録の語を毎週用語集に足します。3か月目以降: 先輩作業者の指摘を集計し、指摘の多い言語で逆翻訳の別呼び出しを試します。確認カードの赤い表示が週に数件まで減り、どのラインでも同じ訳語が掲示されるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
構造化出力で mime_type を application/json にしてスキーマを渡すとスキーマに沿ったJSONが返ること。string/number/integer/boolean/object/array/null の型と enum が使えること。非常に大きい・深く入れ子のスキーマは拒否されることがあること。値はアプリケーション側で検証すべきこと | Gemini API: Structured outputs | 2026-09-29 |
system_instruction でモデルの振る舞いを指定できること。テキストからの生成と、会話の複数ターンの扱い | Gemini API: Text generation | 2026-09-29 |
| 無料のサービスでは入力と応答が製品の改善に使われ、人が読むことがあり、機密情報や個人情報を送らないよう求められていること。有料のサービスではプロンプトや応答を改善に使わず、禁止事項の違反の検知のために限られた期間だけ記録すること | Gemini API 追加利用規約 | 2026-09-29 |
| インストール型トリガーにフォーム送信時のものがあること。時間主導型は毎分から月1回まで設定でき、時刻がランダム化される(9時の設定で9時から10時の間)こと。作成した人のアカウントで動くこと。クォータの上限があること | Apps Script: Installable triggers | 2026-09-29 |
| 着信 Webhook が一方向・非同期の通知で、ユーザーのメッセージに応答できないこと。スペースごとに1秒1リクエストの上限が全 Webhook で共有されること。Business または Enterprise の Workspace アカウントが必要なこと。URL にトークンが含まれ公開しないこと | Google Chat: Webhook のクイックスタート | 2026-09-29 |
| 外国人労働者向けの安全衛生教育教材が、業種共通と業種・作業別の視聴覚教材(マンガ・動画教材)として作成され、安全な服装のマニュアルなどが最大14言語に対応していること。作業の内容が変わる時点などでの安全衛生教育が重要とされていること | 厚生労働省: 外国人労働者向け安全衛生教育教材を労働災害防止にご活用ください(R5.9) | 2026-09-29 |
訳した連絡を掲示してよいかの判断と、安全上の指示の中身は、職長と現場の安全衛生の責任者が決めてください。 本記事は公開仕様と公的機関の案内で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0380)についてのご相談はこちらから。
