外国人の登録スタッフが母語で書いた職歴と資格のメモを日本語に訳し、派遣先に出すスキルシートの様式にそろえて、訳の確認が要る箇所を示す
外国人の登録スタッフが母語で書いた職歴・資格・使える機械のメモを日本語に訳し、派遣先に出すスキルシートの項目にそろえます。固有名詞・資格の名前・期間・数字など訳の確認が要る箇所には、印と逆訳を付けて返します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- 人材/介護/物流/製造
- 対象部門
- 営業
- 対象業務
- データ入力・転記/書類作成
- 主な課題
- 属人化している/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 翻訳
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- スタッフが、登録の面談の前に、職歴のメモを母語か日本語で紙に書く
- コーディネーターが、面談でメモを見ながら職歴を聞き取る
- コーディネーターが、翻訳の画面と辞書でメモを訳し、聞き取った内容と合わせる
- スキルシートの様式に、職歴・仕事の内容・資格・使える機械を書き起こす
- 期間を年月にそろえ、経験の年数を数える
- 営業が、派遣先に出す前にスキルシートを読み、分からない箇所をコーディネーターに聞き返す
- 人スタッフが、母語で書ける Google フォームに職歴・資格・使える機械を書く(紙に書いたメモは写真で付ける)
- 自動フォームの回答をきっかけに Google Apps Script が動き、スタッフの台帳から言語と登録の区分を引く
- 自動Gemini API が、メモを日本語に訳してスキルシートの項目にそろえ、確認が要る箇所に印と逆訳を付ける
- 自動スクリプトが、期間から経験の年数を数え、用語集で言葉をそろえて、スキルシートの下書きを書く
- 人コーディネーターが、印の付いた箇所だけを面談でスタッフに確かめ、下書きを直して確定する
- 人営業が、確定したスキルシートを読み、派遣先に出す
各工程の詳しい説明を読む
- スタッフが、登録の面談の前に、職歴のメモを母語か日本語で紙に書く
- コーディネーターが、面談でメモを見ながら職歴を聞き取る
- コーディネーターが、翻訳の画面と辞書でメモを訳し、聞き取った内容と合わせる
- スキルシートの様式に、職歴・仕事の内容・資格・使える機械を書き起こす
- 期間を年月にそろえ、経験の年数を数える
- 営業が、派遣先に出す前にスキルシートを読み、分からない箇所をコーディネーターに聞き返す
(a)聞き取りと訳に時間がかかる。 メモの言語が読めないと、面談の中で1行ずつ確かめることになります。1人のスキルシートに、聞き取りと書き起こしで20分ほどかかります。
(b)訳せる言語の担当に仕事が集中する。 ベトナム語の登録が増える月は、その言語のコーディネーター1人に面談が積み上がります。ほかのコーディネーターは手伝えません。
(c)経験と資格の訳の取り違え。 「機械のそばで働いた」と「機械を操作した」、「資格の講習を受けた」と「資格を取った」。この違いが日本語のスキルシートで消え、派遣先に着いてから「できると聞いていた」と言われることがあります。
(d)書き方が担当ごとに違う。 同じ「ピッキング」でも、ある担当は「出荷作業」、ある担当は「仕分け」と書きます。営業が派遣先の求める経験と照らすとき、言葉がそろっていないと探せません。
(e)聞き直しが派遣の直前に起きる。 営業がスキルシートを読んで分からない箇所を聞き返すのは、派遣先に出す直前のことが多く、その時点でスタッフに連絡がつかないと、あいまいなまま出すか、出すのを遅らせるかの二択になります。
- 【人】 スタッフが、母語で書ける Google フォームに職歴・資格・使える機械を書く(紙に書いたメモは写真で付ける)
- 【自動】 フォームの回答をきっかけに Google Apps Script が動き、スタッフの台帳から言語と登録の区分を引く
- 【自動】 Gemini API が、メモを日本語に訳してスキルシートの項目にそろえ、確認が要る箇所に印と逆訳を付ける
- 【自動】 スクリプトが、期間から経験の年数を数え、用語集で言葉をそろえて、スキルシートの下書きを書く
- 【人】 コーディネーターが、印の付いた箇所だけを面談でスタッフに確かめ、下書きを直して確定する
- 【人】 営業が、確定したスキルシートを読み、派遣先に出す
5番目が、この設計の分かれ目です。 コーディネーターが面談で確かめるのは、印の付いた箇所と空欄の項目だけです。印の無い箇所は下書きを読んで確かめます。全部を面談で聞き直す設計にすると、①の時間はほとんど減りません。
面談は無くしません。 印の付いた箇所は、スタッフ本人に聞かないと決まらないものばかりです。変わるのは、面談で1行ずつ訳す時間が、印の付いた数か所を確かめる時間になることです。
02今回想定するシステム構成
スタッフ(スマートフォン) │ 母語の Google フォームに職歴・資格・機械を記入(紙のメモは写真で添付) ▼ フォームの回答のスプレッドシート 【トリガー】Apps Script のフォーム送信のトリガー Google Apps Script ├── スタッフの台帳 ── 言語・登録の区分 ├── 用語集 ── 仕事の内容・機械・資格の日本語の言い方 ├──▶ UrlFetchApp で Gemini API を呼ぶ ▼ Gemini API ── 日本語の訳・項目へのそろえ・確認が要る箇所・逆訳 ▼ Apps Script ── 経験の年数の計算・用語のそろえ・特定につながる記載の検出 ▼ スキルシートの下書き / 面談で確かめる箇所の一覧 ▼ 【コーディネーターが印の箇所を面談で確かめて確定】 └──▶ 営業が派遣先へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(職歴メモの翻訳、項目へのそろえ、確認が要る箇所と逆訳) | Claude API、OpenAI API |
| 連携 | Google Apps Script(フォームの回答の受け取り、呼び出し、年数の計算、下書きの作成) | Make、Power Automate |
| 連携 | Google スプレッドシート(フォームの回答、用語集、スキルシートの下書き) | Microsoft Lists |
| 受付 | Google フォーム(言語ごとの職歴の入力) | Microsoft Forms |
つなぎには Google Apps Script を使います。 インストール型のトリガーには、フォームに回答があったときに動くフォーム送信のトリガーがあり、Google フォームの側とスプレッドシートの側の2種類があります。Gemini API は UrlFetchApp.fetch() で、method に post、contentType に JSON、payload に本文を入れて呼びます。インストール型のトリガーは作った人のアカウントで動き、スクリプトの実行からはトリガーは動きません。 業務用のアカウントで作ります。
紙のメモの写真は、Gemini API の画像理解で読みます。 対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、1回のリクエストに複数の画像を入れられます。 画像を直接入れる場合は、指示などと合わせたリクエスト全体が20MBまでです。
03どうやって実装するのか
処理の起点を決める
スタッフがフォームを送信したことを起点にします。 スプレッドシートの側のフォーム送信のトリガーで、回答の行が増えたときにスクリプトが動きます。数分のうちに、コーディネーターのもとに下書きがそろいます。
フォームは言語ごとに分けて作ります。 質問の文をスタッフの母語に訳し、「会社の名前」「国と町」「始めた年月」「やめた年月」「仕事の内容」「使った機械」「資格の名前と取った年」を同じ順で聞きます。どの言語のフォームから来たかで、訳の元の言語を決めます。
面談の予約が入ったスタッフの分は、面談の前日までに下書きがそろうようにします。 前日の夕方に、予約があるのにフォームの回答が無いスタッフを一覧にし、コーディネーターから入力を頼みます。
職歴の更新でも同じ流れを使います。 派遣先での仕事が終わったときに、その仕事の内容をフォームで書いてもらい、スキルシートに1行足します。 更新のときは、前のスキルシートの行は書き換えません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| フォームの回答 | 職歴(会社・国と町・期間・仕事の内容)、使った機械、資格の名前と取った年、自由記述 | フォームの回答のスプレッドシート |
| 紙のメモの写真 | 手書きの職歴メモ(ある場合) | フォームの添付 |
| スタッフの台帳 | スタッフの番号、言語、登録の区分 | 派遣の管理システムから写した台帳 |
| 用語集 | 仕事の内容・機械・資格を、社内で使う日本語の言い方にそろえる表 | 用語集のスプレッドシート |
質を決めるのは、用語集です。 「ピッキング」「検品」「梱包」「ライン作業」「移乗介助」。派遣先が求める経験の言い方と同じ言葉で、仕事の内容の欄を書けるかが決まります。 用語集は、営業が派遣先の求人の言い方から作ります。
用語集は、AIに渡します。 訳した言葉を用語集の言い方に寄せられ、担当ごとに違っていた言い方がそろいます。 ただし、用語集の言葉に無理に当てはめさせません。当てはまらない仕事は、訳のまま書いて印を付けます。
スタッフの台帳の氏名・生年月日・在留の情報は、AIに渡しません。 訳に要るのは職歴のメモと言語だけです。台帳と結び付けるのはスタッフの番号で、スクリプトの側で行います。
データの取得方法を決める
スクリプトが、次の順に集めます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 回答の行 | フォーム送信のトリガーで渡される回答 | AIに渡す本文 |
| 紙のメモの写真 | 回答に付いたファイル | AIに渡す(ある場合) |
| 言語 | どのフォームから来たか | 訳の元の言語 |
| 用語集 | 用語集のスプレッドシート | AIへの補足と、訳の後のそろえ |
| 前のスキルシート | スキルシートの保管のフォルダ | 更新のときの行の追加先 |
期間は、AIに計算させません。 回答の「始めた年月」「やめた年月」をスクリプトが読み、月の数を数えてから年と月にします。 書かれ方がばらばら(西暦・その国の暦・「3年くらい」)なときは、AIには原文のまま period_raw に写させ、スクリプトが読めなかったものは「期間の確認が要る」にします。
API キーはスクリプトのプロパティに持たせて、コードには書きません。 本文の response_format に後で示すスキーマを入れて呼びます。
AIへ渡す前に整形する
- 言語の確認 … フォームの言語と、回答の文字の種類が合っているかを見ます。合わなければ、AIに元の言語の判定もさせます
- 空欄の確認 … 期間や仕事の内容が空の職歴は、そのまま空として渡します
- 写真の確認 … 紙のメモの写真が暗い・ぶれている場合は、写真を使わずフォームの回答だけで訳します
- 個人の情報の取り除き … 自由記述の欄に書かれた電話番号・住所・家族の名前らしいものを、送る前に伏せます
- 用語集の絞り込み … 回答に出てくる仕事の分野(製造・物流・介護)に合わせて、渡す用語を絞ります
4番目は、この題材で欠かせません。 スタッフは自由記述に、「妻と子どもが国にいる」「○○寮に住んでいた」など、職歴に要らないことも書きます。送る前に伏せ、伏せきれなかったものはAIの側でも拾わせて、スキルシートに出さないようにします。
5番目は、訳の取り違えを減らすためです。 「ライン」は製造では組立のライン、物流では仕分けのラインを指します。分野の用語集だけを渡すと、訳がその分野の言い方に寄ります。
AIに処理させる
させるのは、職歴ごとに、次の3つを返すことだけです。
| させること | 中身 | 判断できないときの扱い |
|---|---|---|
| 訳 | 会社の業種・仕事の内容・使った機械・資格を日本語にし、用語集の言い方に寄せる | 用語集に当てはまらなければ訳のまま、term_matched: false |
| 項目へのそろえ | スキルシートの欄(業種・仕事の内容・機械・資格・期間の原文)に分ける | どの欄か決まらなければ自由記述の欄へ |
| 確認が要る箇所 | 固有名詞、資格の名前、期間、数字と単位、関わり方の強さ、意味のはっきりしない言葉 | 印を付け、原文と逆訳を並べる |
「関わり方の強さ」の印が、この構成でいちばん大事な区別です。 「操作した」「補助した」「見ていた」「講習を受けた」「資格を取った」。原文が「補助」なら訳も「補助」にし、原文から強さが読み取れなければ印を付けます。 逆訳を付けるのは、コーディネーターがスタッフに「こういう意味ですか」と母語で確かめられるようにするためです。
| させないこと | 理由 |
|---|---|
| 海外の資格を日本の資格・講習に置き換える | 当たるかの判断は人が行う。多くは当たらない |
| 経験の年数の計算 | スクリプトが期間から数える |
| 書かれていない経験を補う | 経験の誇張は派遣先での事故につながる |
| 氏名・国籍・年齢・家族の記載 | スキルシートに要らず、特定につながる |
| 配属先の向き不向きの評価 | 営業とコーディネーターが決める |
1行目がいちばん起きやすい失敗です。 母国のフォークリフトの免許を訳すと、AIは「フォークリフト運転技能講習修了」と書きます。日本で運転するには日本の講習が要り、母国の免許はその代わりになりません。 資格は原語の名前と直訳だけを書かせ、日本の資格の欄には入れません。
指示内容を固定する
あなたは、人材派遣会社で、外国人のスタッフが母語で書いた職歴のメモを、派遣先に出すスキルシートの日本語にする立場です。
メモに書かれていることだけを訳してください。
【元の言語】{language}
【用語集】{glossary}
【職歴ごとに返すこと】
- industry_ja:勤め先の業種(会社の名前は書かない)
- duties_ja:仕事の内容。用語集に当てはまる言い方があれば使い、無ければ訳のまま。term_matched で示す
- machines_ja:使った機械と、関わり方(operated / assisted / observed / unclear)
- qualifications:原語の資格の名前(original)と直訳(literal_ja)
- period_raw:期間の書かれ方を原文のまま
- flags:確認が要る箇所。種類(proper_noun / qualification / period / number_unit / involvement / ambiguous)、原文、訳、逆訳
【厳守事項】
- 書かれていない経験、機械、資格を足さないでください。
- 「補助した」「見ていた」を「操作した」「担当した」に強めないでください。関わり方が読み取れなければ unclear にして flags に入れてください。
- 海外の資格を、日本の資格や講習の名前に置き換えないでください。原語の名前と直訳だけを書いてください。
- 経験の年数を計算しないでください。期間は原文のまま period_raw に写してください。
- 氏名、国籍、年齢、家族、住まい、宗教について書かないでください。メモにあれば personal_info_found を true にし、内容は書かないでください。
- 向いている仕事、評価、おすすめを書かないでください。
「関わり方を強めない」を明記しないと、AIは仕事の内容を整った日本語にする過程で強めます。 「機械のそばで部品を渡した」は、整えると「機械の操作補助」になり、さらに整えると「機械オペレーター」になります。関わり方を4つの値に分け、強めることそのものを禁じます。
「会社の名前は書かない」を入れているのは、特定につながるためです。 小さな町の工場の名前と期間が並べば、その人が誰か分かることがあります。 会社は業種だけにし、名前は台帳の側に残します。
出力形式を固定する
構造化出力で、スタッフごとに次の形のJSONを受け取ります。
{
"staff_no": "F-20481",
"careers": [
{ "industry_ja": "自動車部品の製造",
"duties_ja": "組立ライン作業",
"term_matched": true,
"machines_ja": [ { "name": "フォークリフト", "involvement": "operated | assisted | observed | unclear" } ],
"qualifications": [ { "original": "", "literal_ja": "" } ],
"period_raw": "",
"flags": [
{ "type": "proper_noun | qualification | period | number_unit | involvement | ambiguous",
"source": "", "translation": "", "back_translation": "" } ] }
],
"personal_info_found": false
}
関わり方とフラグの種類を enum にして、決めた値以外を返させません。 Gemini API の構造化出力は、/v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定し、enum と required が使えます。ただし、JSONとして正しくても値が正しいとは限らないため、アプリケーションの側で値を確かめるよう案内されています。 スクリプトで、資格があるのに qualification のフラグが無い、関わり方が unclear なのに involvement のフラグが無い、といった食い違いを確かめ、あれば「確認が要る」を足します。
スキルシートの下書きは、スクリプトが次の規則で作ります。
| 欄 | 書き方 |
|---|---|
| 業種・仕事の内容 | industry_ja と duties_ja。term_matched: false は下線を付ける |
| 使える機械 | operated だけを載せる。assisted は「補助の経験」の欄、observed と unclear は載せずに面談の確認へ |
| 資格 | 日本の資格の欄は空のまま。海外の資格は「海外の資格(確認中)」の欄に原語と直訳 |
| 期間・年数 | スクリプトが数えた年月。読めなかったものは空欄にして確認へ |
| 備考 | personal_info_found が true なら下書きに出さず、コーディネーターに知らせる |
「使える機械」に operated だけを載せているのは、(c)の取り違えを止めるためです。 載せるかどうかは関わり方の値で決まり、AIの訳の言い回しには左右されません。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google フォーム/回答のスプレッドシート | フォーム送信のトリガー | 回答の受け取り |
| Gemini API | UrlFetchApp.fetch(post) | 訳・項目へのそろえ・確認が要る箇所 |
| 用語集・スキルシートの様式 | Google スプレッドシート | 用語の読み取りと、下書きの書き込み |
| 派遣の管理システム | 毎晩の書き出しの写し | スタッフの番号と言語の引き当て(読み取りだけ) |
派遣の管理システムには書き込みません。 確定したスキルシートを登録するのは、コーディネーターです。スクリプトから派遣先へ送ることもしません。 派遣先に出すのは、営業が読んでからです。
スキルシートの下書きは、スタッフの番号の名前で保管のフォルダに作ります。 氏名をファイル名にしません。派遣先に出すファイルにも、氏名が入らないようにするためです。
人が確認する
すべてのスキルシートで、コーディネーターの確定を通します。 面談で聞き直す箇所は印で絞ります。
personal_info_foundを最初に見る … 下書きに出ていないことを確かめ、回答の行から個人の情報を消すかを決めますinvolvementとqualificationの印を面談で確かめる … 逆訳を母語で読み上げるか見せて、「操作したのか、補助したのか」「その資格は日本の講習を受けたのか」を聞きますperiodとnumber_unitを確かめる … 期間と数字(重さ・台数・人数)を、本人に聞いて直します- 印の無い箇所を読む … 下書きを読み、用語集の言い方で不自然なところを直します
2番目を省かないでください。 ここが、派遣先で「できると聞いていた」と言われるかどうかの分かれ目です。関わり方の値は、本人に確かめてからでないと「使える機械」に載せません。
目標は、300件をならして1件8分です。 印の少ないスタッフは下書きを読んで数分、資格や機械の印が多いスタッフは面談で確かめて10分を超えます。営業からの聞き返しへの対応も、この時間に含めています。
最初の1か月は、その言語を話せるコーディネーターが訳を全部読み、印の付き方を見ます。 印が付くべきなのに付かなかった箇所は、指示の書き方か用語集を直す材料です。 ネパール語やミャンマー語のように話せる担当がいない言語は、外部の翻訳者に20件ほど見てもらってから使い始めます。
例外に対処する
| 起きること | 対応 |
|---|---|
| フォームの言語と回答の文字が違う | AIに元の言語を判定させ、印を付けてコーディネーターへ |
| 紙のメモの写真が読めない | フォームの回答だけで訳し、写真は面談で見る |
| 職歴が1つも書かれていない | 下書きを作らず、面談で聞き取る |
| 期間がその国の暦で書かれている | 原文のまま写し、スクリプトが読めなければ「期間の確認が要る」 |
| 用語集に無い仕事の内容 | 訳のまま下線を付け、営業に用語集への追加を頼む |
| 個人の情報が書かれている | 下書きに出さず、コーディネーターに知らせる |
| 登録の区分が18歳未満 | 処理しない(登録の受付を18歳以上に限っているため、台帳の誤りを確かめる) |
| Gemini API が応答しない | 回答の行に「未処理」と付け、次の回答のときに処理し直す |
「未処理」を空の下書きにしないでください。 空の下書きが作られると、コーディネーターが訳の済んだものと見分けられず、空欄のまま面談に入ることになります。
記録を残す
- フォームの回答と、紙のメモの写真
- AIの返した訳・フラグ・逆訳
- スクリプトが数えた期間と、そろえた用語
- コーディネーターが直した箇所と、面談で確かめた内容
- 確定したスキルシートの版と、派遣先に出した日
- 用語集の版
下書きの面談用の一覧は、たとえば次の形にします。
【面談で確かめる箇所】F-20481(ベトナム語)
職歴2 機械:フォークリフト involvement=unclear
原文「…」 訳「フォークリフトで荷物を運んだ/運ぶのを手伝った」 逆訳「…」
職歴2 資格:原語「…」 直訳「フォークリフト運転証」→ 日本の講習の修了は別に確認
職歴3 期間:原文「3年くらい」→ 始めた年月とやめた年月を確認
最後の行の用語集の版は、言い方がそろっているかを後で確かめるために残します。 用語集を直すと、同じ仕事が前と後で違う言葉で書かれます。 どの版で訳したかが分かれば、営業が検索するときに両方の言葉で探せます。
04実装レベルの3段階
最小構成では、月300件をさばけません。 確かめるための段階です。 半自動化で、1件20分が13分程度になります。 訳は済みますが、スキルシートの様式への書き起こしと期間の計算が手で残ります。 本格構成で8分になり、この段階が本記事の想定です。 差が大きいのは、②の書き起こしと③の聞き返しの元になる取り違えが、規則で先に止まるためです。 段階を飛ばさないでください。 半自動化の訳を1か月見ると、用語集に無い仕事の内容と、印の付きやすい言語が分かります。用語集を直してから様式に流し込むほうが、営業がシートを信用します。
05工数削減シミュレーション
導入後 300件 × 8分 ÷ 60 = 40 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 製造・物流・介護などの職場に外国人のスタッフを派遣し、登録や職歴の更新が毎月数百件ある人材派遣会社。スタッフの職歴を聞き取って日本語のスキルシートにする作業が、その言語を話せる一部のコーディネーターに集中している場合。登録の手続きを Google フォームなどでスタッフの母語に合わせて受け付けられる場合。
- 外国人のスタッフの登録が月に数件で、通訳のできる担当が直接聞き取って足りる場合。スキルシートに氏名・国籍・年齢などを載せて派遣先に選ばせる運用をやめられない場合。18歳未満の登録を受け付けている場合。なお、在留資格で就労できる範囲の確認、海外の資格が日本の資格や講習に当たるかの判断、配属先の決定は、この構成では代替できません。
07最小構成で試す方法
- 先月登録したスタッフから、言語が違う20人分の職歴メモを選ぶ(氏名・連絡先を消したもの)
- そのとき作ったスキルシートを用意する
- 手元の Gemini の画面に、1人分のメモと用語集の一部を貼り付ける
- 「このメモを派遣先に出すスキルシートの日本語にしてください。書かれていない経験を足さず、補助や見学を操作に強めず、海外の資格を日本の資格に置き換えないでください。確認が要る箇所は原文と逆訳を並べてください」と指示する
- 当時のスキルシートと、面談でコーディネーターが聞き直した箇所と突き合わせる
試すときも、会社で使ってよいと決めた有料の枠で行います。
| 出てきた内容 | 判断 |
|---|---|
| 当時聞き直した箇所に印が付いている | フォームとスクリプトに進む |
| 補助を操作に強めて訳す | 指示の書き方で直る。構成は有効 |
| メモが短すぎて訳せる中身が無い | フォームの質問が先。 AIの問題ではない |
3行目は、紙の自由記述でよく出ます。 「工場で3年」とだけ書かれたメモは、誰が訳しても中身が増えません。フォームで「使った機械」「扱った製品」を別々に聞くと、面談で聞く前に中身がそろいます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 補助や見学を操作に強めて訳す | 関わり方を4つの値に分け、強めることを禁じる |
| 海外の資格を日本の資格の名前にする | 原語と直訳だけを書かせ、日本の資格の欄に入れない |
| 経験の年数を計算して書く | 期間は原文のまま写させ、年数はスクリプトが数える |
| 書かれていない経験を補う | 足さないことを指示し、空欄を面談の確認に回す |
| 会社の名前や家族のことがシートに残る | 送る前に伏せ、AIにも書かせず、残れば知らせる |
| 担当ごとに仕事の言い方が違う | 用語集を渡し、当てはまらないものに下線を付ける |
| 話せる担当がいない言語の訳を確かめられない | 使い始める前に外部の翻訳者に20件見てもらう |
| トリガーが作った人の異動で止まる | 業務用のアカウントでトリガーを作る |
| 空の下書きで面談に入る | 「未処理」を空の下書きにしない |
| スキルシートのファイル名に氏名が入る | スタッフの番号で作る |
上の3行が、この構成の失敗のほとんどです。 どれも、訳を「整える」ときに意味が強まることから起きます。関わり方と資格と期間を、訳の言い回しではなく値と原文で持たせれば、言語が増えても規則は変わりません。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 登録スタッフの職歴、資格、使った機械、自由記述、紙のメモの写真です。自由記述には、家族・住まい・宗教など、職歴に要らない個人の情報が書かれることがあります。
- 集める情報を職歴に絞る … 労働者派遣法は、派遣元事業主が労働者の個人情報を、業務の目的の達成に必要な範囲内で収集し、その目的の範囲内で保管・使用することを求めています。フォームの質問は職歴・資格・機械に絞り、自由記述の個人の情報は送る前に伏せます
- スキルシートで個人を特定させない … 派遣先は、派遣労働者を特定することを目的とする行為をしないよう努めることとされています。氏名・国籍・年齢・会社の名前をスキルシートに載せず、ファイル名にも氏名を使いません
- 規約の年齢の条件を確かめる … Gemini API の規約は18歳以上の利用を条件とし、18歳未満を対象とする、または18歳未満が利用しうるサービスでの利用を禁じています。 この構成を使うのはコーディネーターと営業で、登録の受付は18歳以上に限っています。18歳未満の登録を受け付ける場合は、この構成を使わないでください
- 有料の枠で使う … 無料の枠では送った内容が製品の改善に使われ、人が読むことがあるとされ、個人の情報を送らないよう案内されています。有料の枠では、プロンプトや応答を製品の改善に使わず、限った期間だけ記録するとされています
- 保存される場所を確かめる … 有料の枠でも、内容はどの国でも一時的に保存・キャッシュされうるとされています。社内の個人情報の取扱いの規程で扱えるかを先に確かめます
- 就労できる範囲と配属は人が決める … この構成は職歴を訳すだけで、在留資格で就労できる範囲の確認や、海外の資格が日本の資格に当たるかの判断はしません。 それぞれ、確かめる手順を別に持ちます
誤りが起きた場合のリスクは、経験を強めて派遣先で事故につながることと、個人を特定できる情報が派遣先に渡ることの2つです。 前者は関わり方の印を確かめずに「使える機械」に載せると起き、後者は会社の名前や自由記述をそのまま訳すと起きます。どちらも、訳を値と原文で持たせ、人が確かめる箇所を印で絞ることで守ります。
10まず何から始めるか
1週目:用語集とフォームの質問を作る
営業が、派遣先の求人の言い方から仕事の内容・機械・資格の用語集を作ります。登録の多い2つの言語で、職歴を項目ごとに聞くフォームの質問を訳します。
2週目:20人分で試す
先月の職歴メモから20人分を選び、手元の Gemini の画面で訳させます。当時のスキルシートと聞き直した箇所と突き合わせ、補助を操作に強めていないか、海外の資格を日本の資格にしていないかを最優先で見ます。
3週目:欄の振り分けの規則を決める
関わり方の値ごとに、どの欄に載せるかを営業とコーディネーターで決めます。海外の資格の書き方と、日本の講習を受けたかの確かめ方もここで決めます。
4週目:フォームから下書きまでをつなぐ
Apps Script で、フォーム送信のトリガーから Gemini API の呼び出しまでをつなぎ、訳をスプレッドシートに書き出すところまで作ります。 様式への流し込みはまだせず、その言語を話せるコーディネーターの訳と並べます。
2か月目: 期間の計算と用語のそろえ、欄の振り分けを足し、面談用の一覧を出します。3か月目以降: ほかの言語のフォームを足し、1件20分が何分になったかを実測します。その言語を話せないコーディネーターが、面談用の一覧を使って同じ確かさのスキルシートを作れるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 派遣元事業主が、労働者の個人情報を業務の目的の達成に必要な範囲内で収集し、収集の目的の範囲内で保管・使用し、適正に管理するために必要な措置を講じること(第24条の3)。労働者派遣(紹介予定派遣を除く)の役務の提供を受けようとする者が、派遣労働者を特定することを目的とする行為をしないよう努めること(第26条第6項) | e-Gov 法令API: 労働者派遣事業の適正な運営の確保及び派遣労働者の保護等に関する法律 | 2026-10-12 |
| 対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合、指示などと合わせたリクエスト全体が20MBまでであること。1回のリクエストに複数の画像を入れられること | Gemini API: Image understanding | 2026-10-12 |
構造化出力を /v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定すること。enum と required が使えること。JSONとして正しくても値はアプリケーションの側で検証するよう案内されていること | Gemini API: Structured output | 2026-10-12 |
| 18歳以上の利用を条件とし、18歳未満を対象とする、または利用しうるサービスでの利用を禁じていること。無料の枠では送った内容が製品の改善に使われ、人が読むことがあり、個人の情報を送らないよう案内されていること。有料の枠では製品の改善に使わず、限った期間だけ記録すること。どの国でも一時的に保存・キャッシュされうること | Gemini API Additional Terms of Service | 2026-10-12 |
| フォーム送信のトリガーに Google フォームの側とスプレッドシートの側の2種類があること。インストール型のトリガーは作った人のアカウントで動き、スクリプトの実行ではトリガーが動かないこと | Google Apps Script: Installable triggers | 2026-10-12 |
UrlFetchApp.fetch で method(post など)、contentType、payload、headers、muteHttpExceptions を指定してリクエストを送れること | Google Apps Script: Class UrlFetchApp | 2026-10-12 |
派遣先に出す書類の扱いは、厚生労働省の派遣元・派遣先の指針と業務取扱要領で確かめてください。 本記事は法律の条文で確認できた範囲を扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1289)についてのご相談はこちらから。
