中途採用の内定者から入社までに出る手続き・提出書類・初日の段取りの質問に、入社案内と社内の手引きを根拠にチャットで答え、条件の交渉や個別の相談を採用担当へ回す
中途採用の内定者から入社までに出る手続き・提出書類・初日の段取りの質問に、入社案内と社内の手引きを根拠にチャットで答えます。条件の交渉や個別の相談は採用担当へ回します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- IT・SaaS/製造/金融
- 対象部門
- 人事/採用
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 人手が足りない/問い合わせが多い/情報が見つからない
- AIで行う処理
- 対話
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 内定者が採用担当にメールで質問を送る
- 採用担当がメールを読み、採用管理の仕組みで内定者の入社予定日・勤務地・職種を確かめる
- 入社月の入社案内と、勤務地の別紙を開く
- 年金や扶養の書類の質問は、労務グループの手引きを開く。分からなければ労務グループに聞く
- 機器の質問は、情報システム部の案内を開く
- 返事を書いて送る。条件の相談なら、内容に応じて上長や配属先と相談する
- 同じ内定者から続けて質問が来たら、前のやり取りを読み直してから答える
- 人内定者が内定者向けの画面にログインし、チャットで質問を書く。画面で「手続き・書類」「初日の段取り」「条件・個別の相談」から種類を選ぶ
- 自動中継プログラムが採用管理の仕組みから内定者の入社月・勤務地・職種を引く
- 自動「条件・個別の相談」を選んだ質問と、条件にかかわる言葉を含む質問は、検索をせずに採用担当へ回す
- 自動それ以外は、入社月と勤務地で絞り込んで入社案内と手引きを探させ、答えを引用付きで返させる
- 自動続けての質問は、同じセッションで前のやり取りを踏まえて答えさせる
- 自動根拠が見つからない質問と、答えの中に条件の話が出てきた質問を採用担当へ回し、内定者には「担当から連絡します」と返す
- 人採用担当が回ってきた質問と、毎日の答えの一覧を見る
- 人採用担当が条件の相談に直接答える
各工程の詳しい説明を読む
- 内定者が採用担当にメールで質問を送る
- 採用担当がメールを読み、採用管理の仕組みで内定者の入社予定日・勤務地・職種を確かめる
- 入社月の入社案内と、勤務地の別紙を開く
- 年金や扶養の書類の質問は、労務グループの手引きを開く。分からなければ労務グループに聞く
- 機器の質問は、情報システム部の案内を開く
- 返事を書いて送る。条件の相談なら、内容に応じて上長や配属先と相談する
- 同じ内定者から続けて質問が来たら、前のやり取りを読み直してから答える
(a)同じ質問が何度も来る。 「入社日の持ち物」「源泉徴収票の提出」「通勤経路の申請」の3つで質問の半分近くを占めます。答えは入社案内に書いてありますが、案内はPDFで何ページもあり、内定者は読み込んでいません。
(b)版を取り違える。 2番目と3番目で、入社予定日を確かめずに今月の案内を開き、翌月入社の人に今月の提出期限を伝えてしまうことがあります。勤務地の別紙を見落とすと、地方の拠点に入る人に本社の集合場所を伝えます。
(c)手続きの質問に、条件の相談が混ざる。 「源泉徴収票を出す前に、入社日を1週間遅らせてもらえないか」のように、1通のメールに手続きと条件の相談が一緒に書かれます。 手続きにだけ答えて、相談を読み落とすと、内定者は無視されたと感じます。
(d)返事が遅れる。 質問は夜や週末に送られることが多く、採用担当が答えるのは翌営業日です。 入社前の時期は、返事の早さがそのまま会社への印象になります。
- 【人】 内定者が内定者向けの画面にログインし、チャットで質問を書く。画面で「手続き・書類」「初日の段取り」「条件・個別の相談」から種類を選ぶ
- 【自動】 中継プログラムが採用管理の仕組みから内定者の入社月・勤務地・職種を引く
- 【自動】 「条件・個別の相談」を選んだ質問と、条件にかかわる言葉を含む質問は、検索をせずに採用担当へ回す
- 【自動】 それ以外は、入社月と勤務地で絞り込んで入社案内と手引きを探させ、答えを引用付きで返させる
- 【自動】 続けての質問は、同じセッションで前のやり取りを踏まえて答えさせる
- 【自動】 根拠が見つからない質問と、答えの中に条件の話が出てきた質問を採用担当へ回し、内定者には「担当から連絡します」と返す
- 【人】 採用担当が回ってきた質問と、毎日の答えの一覧を見る
- 【人】 採用担当が条件の相談に直接答える
3番目が、この設計の分かれ目です。 条件の相談かどうかを、生成AIの判断だけに任せません。 画面の種類の選択と、言葉の規則を先に通し、どちらかに当たれば検索に進ませません。 生成AIに「条件の話なら答えないで」と頼むだけでは、手続きの一部として答えてしまうことがあります。
5番目の続けての質問が、この記事で「対話」と呼んでいるところです。 内定者は「それは郵送ですか」「原本ですか、コピーですか」のように、前の答えを受けて短く聞き返します。前のやり取りを踏まえないと、短い質問には答えられません。
02今回想定するシステム構成
内定者(内定者向けの画面にログイン。質問の種類を選んでチャットで質問) │ ▼【トリガー】質問の送信 中継プログラム(Python/Cloud Run) ├──▶ 採用管理の仕組みから入社月・勤務地・職種を引く ├──▶ 条件・個別の相談か(種類の選択/言葉の規則)── 当たれば採用担当へ ▼ Agent Search(Vertex AI Search)の answer メソッド(セッションでやり取りを続ける) │ 内定者向けの入社案内/勤務地の別紙/入社手続きの手引き/機器の案内 から │ 入社月と勤務地で絞って答えを作る。答えと引用を返す ▼ 中継プログラム ── 答えに条件の話が出ていないか、根拠があるかを確かめる ▼ 判定(そのまま返す answered / 採用担当へ回す handoff) ├──▶ 内定者のチャットへ(答えと、案内の該当箇所) └──▶ 採用担当の待ち行列へ(質問とやり取りの履歴を添える)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、内定者向けの画面・採用管理・検索・待ち行列をつなぐ) | Node.js で同じものを書く |
| 保管 | Cloud Storage(内定者に見せてよい文書の写しとメタデータ)、やり取りの記録の保管先 | ─ |
採用管理の仕組みと人事の文書管理は、新しく作るものではありません。 この構成は、そこから内定者に見せてよいと決めた文書だけの写しを検索の対象にし、答えをチャットに返すだけです。最初の準備は、入社案内と手引きのうち、内定者に見せてよい部分を切り分け、入社月と勤務地のメタデータを付けることです。
検索の土台は、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 公式のドキュメントでは、answer メソッドは検索の結果から回答を作り、続けての質問(フォローアップ)は、前のやり取りを踏まえて答える複数ターンの問い合わせとして扱われます。やり取りのまとまりをセッションと呼び、同じセッションの ID を毎ターン渡します。
検索の対象には、社員向けの文書を入れません。 内定者は社外の人で、社内の認証基盤にはまだ ID がありません。内定者向けのデータストアを別に作り、そこには内定者に見せてよい文書だけを置きます。 見せる範囲を文書ごとのアクセス制御で分けるより、データストアそのものを分けるほうが、誤って社内の文書を返す経路がありません。
03どうやって実装するのか
処理の起点を決める
起点は、内定者が内定者向けの画面でチャットに質問を送ったことです。 画面は採用管理の仕組みが内定者に発行した ID でログインして使います。送信の前に、質問の種類を「手続き・書類」「初日の段取り」「条件・個別の相談」の3つから選ばせます。
「条件・個別の相談」を選んだ質問は、チャットでは答えません。 画面に「採用担当から連絡します。急ぎの場合は電話でもお受けします」と出し、採用担当の待ち行列へ回します。種類を選ぶ画面を置くのは、内定者が自分から「これは相談です」と示せる場所を作るためです。
セッションは、内定者ごとに1つ作って入社日まで使い続けます。 ただし、別の話題に移ったら新しいセッションにできるよう、画面に「新しい質問を始める」のボタンを置きます。提出書類の話の途中に初日の持ち物の話が混ざると、短い聞き返しの意味を取り違えます。
索引の更新は別に動かします。 労務グループが翌月の入社案内を承認したとき、別紙や手引きを改訂したときに、その文書だけを入れ直します。翌月の案内は、その月の内定者が質問を始める前、遅くとも入社の2か月前には入れておきます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | 質問の種類、本文、セッションの ID | 内定者向けの画面 |
| 内定者の情報 | 入社予定日(入社月)、勤務地、職種、雇用の区分 | 採用管理の仕組み |
| 入社案内 | 提出書類と期限、提出の方法、入社日の集合場所・時刻・持ち物、初日の流れ | 人事の文書管理(入社月ごとのPDF・DOCX) |
| 勤務地の別紙 | 拠点ごとの集合場所、交通費の申請、初日の移動 | 人事の文書管理 |
| 入社手続きの手引き(内定者向け) | 年金・雇用保険・住民税・扶養の書類の説明、無いときの代わりの書類 | 労務グループ |
| 機器の案内 | PCとアカウントの受け取り、初日のログインの流れ | 情報システム部 |
質を決めるのは、手引きの「無いときの代わりの書類」の欄です。 内定者の質問でいちばん多いのは「○○が見つからない」です。手引きに代わりの書類が書かれていなければ、答えは「記載なし」になり、採用担当へ回ります。 回った質問を数えて、手引きに足していきます。
内定者の情報は、検索の対象に入れません。 入社月と勤務地は、中継プログラムが絞り込みの値として使うだけで、索引にも生成AIへの指示にも、内定者の氏名や年収は入れません。
データの取得方法を決める
文書は、文書ごとにメタデータを付けて Cloud Storage に置きます。 公式のドキュメントでは、メタデータは JSON Lines の形で1行1文書とし、id、structData(または jsonData)、content(mimeType と Cloud Storage の uri)を書きます。非構造化データは PDF・DOCX・HTML などに対応し、1ファイル200MBまでです。
| メタデータの項目 | 例 | 何に使うか |
|---|---|---|
doc_type | guide/site_sheet/procedure/it_guide | 文書の種類での絞り込み |
hire_month | 2026-12(月ごとの案内)、all(月に依らない手引き) | 入社月の版の固定 |
site | tokyo/sendai/fukuoka/all | 勤務地の絞り込み |
employment_type | regular/contract/all | 雇用の区分の絞り込み |
approved_on | 2026-10-01 | 版の新しさの確認 |
絞り込みに使う項目は、データストアのスキーマで索引可能にしておきます。 公式のドキュメントでは、文字の項目は ANY() で完全一致、AND/OR と NOT で組み合わせ、括弧でまとめられます。中継プログラムは、内定者の情報から次の形の絞り込みを毎回作ります。
hire_month: ANY("2026-12", "all")
AND site: ANY("sendai", "all")
AND employment_type: ANY("regular", "all")
「all」を必ず並べるのは、月に依らない手引きを落とさないためです。 入社月だけで絞ると、年金や扶養の手引きが検索から消えます。逆に、別の入社月の値を入れることはありません。 内定者が「来月入社の人の期限は」と聞いても、絞り込みは本人の入社月のままです。
AIへ渡す前に整形する
- 内定者に見せてよい部分を切り分ける … 入社案内のうち、社内向けの注記(手配の担当者名、内部の締切)を除いた版を作ります
- 見出しを分割に付ける … 「提出書類」「初日の流れ」の見出しが、途中の段落にも付くようにします
- 分割の大きさを決める … 提出書類の一覧の表が途中で切れない大きさにします
- 期限は日付で書く … 「入社日の2週間前まで」のような書き方は、入社月の案内では具体的な日付に直しておきます
- 言葉の規則を作る … 条件の相談に当たる言葉(年収、給与、入社日の変更、辞退、他社、配属、通院、介護など)の一覧を作ります
- 古い版を外す … 入社月が過ぎた案内は、その月の内定者が全員入社したら索引から外します
2番目と3番目は、データストアを作る前に決めます。 公式のドキュメントでは、レイアウトパーサーは PDF・DOCX・HTML などの表・見出し・一覧を検出し、分割の大きさは100〜500トークン(既定は500)で、includeAncestorHeadings は既定で無効、分割の設定はデータストアを作った後に切り替えられません。 見出しが付かないと、「原本を提出」という段落がどの書類の話か分からない引用が返ります。
4番目は、AIに日付を計算させないための準備です。 「2週間前」を入社日から数えさせると、休日の扱いで1日ずれることがあります。期限は、労務グループが決めた日付を案内に書いておき、それを引用させます。
AIに処理させる
検索と回答の作成は、answer メソッドに任せます。 中継プログラムが渡すのは、質問の文、絞り込み、セッション、指示の前置き(preamble)です。
| 設定 | 値 | 理由 |
|---|---|---|
session | 内定者ごとのセッションの名前 | 続けての質問に前のやり取りを使う |
includeCitations | 有効 | 答えの文ごとに引用を付ける。既定は無効 |
ignoreLowRelevantContent | 有効 | 関連の薄い結果しか無いときは答えを作らない |
ignoreAdversarialQuery | 有効 | 敵対的な問い合わせに答えを作らない |
groundingSpec の filteringLevel | FILTERING_LEVEL_HIGH | 根拠の弱い答えを落とす |
relatedQuestionsSpec | 有効 | 次に聞かれそうな質問の候補を画面に出す |
関連の薄い結果しか無いとき、answer は答えの代わりに理由を返します。 公式のドキュメントでは、関連が薄いと NO_RELEVANT_CONTENT、根拠の基準に届かないと LOW_GROUNDED_CONTENT が answerSkippedReasons に入ります。どちらも採用担当へ回す合図にします。 答えが省かれたときは、関連の質問の候補も返りません。
生成AIにさせることは、3つに限ります。
| させること | 中身 |
|---|---|
| 手続きの案内 | 提出書類、期限、提出の方法を、案内の記載どおりに |
| 初日の段取りの案内 | 集合場所・時刻・持ち物・流れを、その内定者の勤務地の別紙から |
| 続けての質問への答え | 前の答えを受けた短い聞き返しに、同じ文書の範囲で答える |
| させないこと | 理由 |
|---|---|
| 条件にかかわる答え | 給与・入社日・配属は採用担当が受ける |
| 期限の計算 | 期限は案内に書かれた日付を写す |
| 個別の事情への助言 | 健康や家庭の事情は採用担当が直接聞く |
| 文書に無い手続きの推測 | 「通常は」「一般的には」で埋めない |
4行目がいちばん起きやすい失敗です。 「前の会社の源泉徴収票がまだ届かない」と聞くと、生成AIは一般的な扱いを書きがちです。会社ごとに受け付け方が違うので、手引きに書かれていなければ採用担当へ回します。
指示内容を固定する
answer メソッドの promptSpec の preamble に、次の指示を入れます。
あなたは人事部で、中途採用の内定者に入社までの手続きを案内する立場です。
検索結果(入社案内、勤務地の別紙、入社手続きの手引き、機器の案内)に
書かれていることだけを根拠にしてください。
【答え方】
1. 丁寧な言葉で、短く答えてください。
2. 提出書類の名前、期限の日付、提出の方法は、検索結果の記載どおりに
書いてください。言い換えないでください。
3. 前の質問を受けた短い質問には、前の答えと同じ文書の範囲で答えてください。
【厳守事項】
- 期限の日付を計算しないでください。書かれている日付だけを書いてください。
- 検索結果に書かれていない手続きを「一般的には」「通常は」で補わないでください。
書かれていなければ「案内に記載がありません」とだけ書いてください。
- 給与、年収、入社日の変更、配属、勤務の条件について答えないでください。
その場合は「採用担当からご連絡します」とだけ書いてください。
- 健康や家庭の事情についての相談に、助言をしないでください。
その場合も「採用担当からご連絡します」とだけ書いてください。
- 他の入社月や他の勤務地の案内を答えに使わないでください。
「採用担当からご連絡します」を決まった文にしているのは、中継プログラムが拾うためです。 答えの中にこの文があれば、採用担当の待ち行列へ回します。言葉の規則をすり抜けた条件の相談を、ここでもう一度止めます。
「一般的には」を名指しで禁じないと、手引きに無い手続きを一般論で埋めます。 一般論は正しくても、この会社の受け付け方と違えば、内定者は違う書類を用意します。
出力形式を固定する
answer の応答から、中継プログラムが次の形に組み立てて画面へ返します。 公式のドキュメントでは、応答の citations に答えの中の位置(startIndex・endIndex)と出典の参照が入り、references に分割の本文(chunkInfo の content)と文書のメタデータが入ります。位置は文字ではなく UTF-8 のバイトで数えられるので、日本語の答えはバイト列で切り出します。
{
"session": "",
"turn": 0,
"question_category": "procedure | first_day | personal",
"filter": { "hire_month": "", "site": "", "employment_type": "" },
"answer_text": "",
"sources": [{ "doc_type": "", "doc_title": "", "hire_month": "", "quoted_text": "" }],
"related_questions": [],
"route": "answered | handoff",
"handoff_reason": "personal_category | keyword | fixed_phrase | no_record | low_grounding"
}
1つ目の理由は、filter を答えと一緒に残せることです。 どの入社月と勤務地で探した答えかが残り、版を取り違えたかどうかを後から確かめられます。
2つ目は、handoff_reason で採用担当の動き方を分けられることです。 personal_category と keyword と fixed_phrase は条件や個別の相談で、採用担当が電話かメールで直接連絡します。 no_record と low_grounding は案内の不足で、答えたあとに手引きへ足す候補になります。
3つ目は、related_questions を画面のボタンにできることです。 「原本とコピーのどちらを出すか」のような次の質問を押せるようにすると、内定者が案内を読み進める手間が減ります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 内定者向けの画面 | 質問の受け取りと返事 | 質問の種類と本文を受け、答えを返す |
| 採用管理の仕組み | 読み取り | 入社月・勤務地・職種・雇用の区分を引く |
| Agent Search の answer メソッド | 中継プログラムからの呼び出し | 絞り込み・セッション・前置きを付けて答えを作らせる |
| Agent Search のセッション | 作成と取得 | 内定者ごとにセッションを作り、続けての質問に使う |
| 採用担当の待ち行列 | 書き込み | 回す質問とやり取りの履歴を渡す |
セッションを作るときの利用者の ID には、内定者の氏名やメールアドレスを使いません。 公式のドキュメントでは、セッションに付ける userPseudoId は利用者を仮名で区別する文字列で、128文字まで、個人を特定できる情報を含めてはならず、複数の利用者に同じ値を使ってはならないとされています。採用管理の仕組みの内定者の番号から作った仮の ID を使います。
採用管理の仕組みへは書き込みません。 答えた内容は、この構成のやり取りの記録に残します。内定者の状態(承諾・辞退)を変えるのは、採用担当だけです。
人が確認する
- 回ってきた質問への対応(採用担当) … 条件の相談と個別の事情は、その日のうちに電話かメールで連絡します
- 答えの一覧の確認(採用担当) … 前日に自動で返した答えを、一覧で流し見ます。入社月と勤務地の絞り込みが正しかったかを見ます
- 案内の不足の補充(労務グループ) …
no_recordで回った質問を週に1回まとめ、手引きに足します - 答えの当たり外れ(内定者) … 答えが役に立ったかを、画面のボタンで残してもらいます
目安は、240件をならして1件4分です。 採用担当が答えの一覧を流し見る時間と、回ってきた手続きの質問に答える時間を合わせた平均です。回る手続きの質問は1割強という想定で、それより多い月は、手引きの「無いときの代わりの書類」が足りていません。 条件の相談への対応時間は、この4分に含めていません。
2番目を省かないでください。 自動で返した答えを誰も見ない運用にすると、案内の版の入れ忘れに気づくのが、内定者が違う日に集合場所に来た日になります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 条件・個別の相談を選んだ | 検索をせず、採用担当へ。画面には連絡する旨だけを出す |
| 条件にかかわる言葉が質問にある | 同上。手続きの部分にも答えず、まとめて採用担当が受ける |
| 答えに決まった文(採用担当からご連絡します)が出た | 答えを返さず採用担当へ |
当てはまる記載が無い(NO_RELEVANT_CONTENT) | 「案内に記載が無いので担当から連絡します」と返し、採用担当へ |
根拠が弱い(LOW_GROUNDED_CONTENT) | 同上 |
| 内定者の入社月が採用管理に無い | 検索をせず採用担当へ。入社月を推測しない |
| 入社月の案内がまだ索引に無い | 採用担当へ回し、労務グループに案内の登録を催促する |
| answer の応答が失敗する | 「担当から連絡します」と返し、採用担当へ |
2行目で手続きの部分にも答えないのは、半分だけ答えると相談が見落とされるからです。 「源泉徴収票の期限と、入社日を遅らせたい件」のメールに期限だけ答えると、内定者は相談も読まれたと思います。 1通の質問は1人が受けます。
記録を残す
- 受け取った質問、質問の種類、セッションの ID、ターンの番号
- 使った絞り込み(入社月・勤務地・雇用の区分)と、そのとき採用管理の仕組みから引いた値
- answer の応答の全文(答え、引用、
answerSkippedReasons、関連の質問) - 返した答えか、回した理由
- 内定者が付けた当たり外れと、採用担当が対応した内容
セッションの記録は、この構成の側に残します。 公式のドキュメントでは、60日より古いセッションは既定で自動的に消されます。 内定から入社までが3か月の人もいるので、検索の仕組みのセッションだけに頼らず、やり取りは別に保存します。保存の期間は、内定者の個人情報の扱いの社内規程に合わせます。
04実装レベルの3段階
半自動化で、1件15分が8分程度になります。 案内は探しやすくなりますが、採用担当がメールを読み、下書きを確かめて送る作業が残ります。本格構成で4分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で1か月回すと、「無いときの代わりの書類」が手引きに無い質問と、入社月の案内の書き方のばらつきが分かります。
05工数削減シミュレーション
導入後 240件 × 4分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 中途採用で毎月10〜30名ほどが入社し、内定から入社までの1〜3か月に、内定者から手続き・提出書類・初日の段取りの質問がメールで採用担当に届いている会社。入社案内が入社月や勤務地ごとに分かれていて、採用担当が内定者ごとにどの版を見て答えるかを確かめている場合。内定者向けのページ(採用管理の仕組みの内定者向けの画面など)を持っているか、作る予定がある場合。
- 入社が年に数名で、採用担当が1人ずつ電話で案内すれば足りる場合。入社案内が文書になっておらず、手続きが担当者ごとに違う場合(先に入社案内をそろえるのが先です)。給与や入社日の調整、配属の相談まで自動で答えさせたい場合(この構成は文書に書かれた手続きを案内するだけで、条件にかかわる話はすべて採用担当が受けます)。内定者の情報を社外のクラウドに置くことが社内の規程で認められていない場合。
07最小構成で試す方法
- 先月の採用担当のメールから、内定者の質問を30件選ぶ(条件の相談が混ざったものを5件以上入れる)
- それぞれの内定者の入社月と勤務地の入社案内・別紙と、労務の手引きを集める
- 手元のAIサービスの画面に、その内定者の版の案内と質問を貼り付ける
- 「この案内だけを根拠に答えてください。期限は書かれた日付だけを書き、給与・入社日・配属の話には答えないでください」と指示する
- 当時の採用担当の返事と比べる
最小構成で確かめたいのは、案内の書き方で答えられるかと、条件の相談を答えずに止められるかです。 内定者の情報はこの段階では貼りません。
| 出てきた内容 | 判断 |
|---|---|
| 当時の返事と同じ手続きが出た | メタデータを付けて検索の仕組みに進む |
| 条件の相談に答えてしまった | 言葉の規則と画面の種類の選択で止める。構成は有効 |
| 案内に書かれておらず答えられない質問が多い | 手引きを足すのが先。 AIの問題ではない |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 条件の相談に手続きの一部として答える | 画面の種類の選択と言葉の規則を先に通し、決まった文でも止める |
| 別の入社月の期限を答える | 絞り込みを内定者の情報から作り、本人の入社月と all だけにする |
| 月に依らない手引きが検索から消える | 絞り込みに all を必ず並べる |
| 一般論で手引きに無い手続きを埋める | 「一般的には」を名指しで禁じ、記載が無ければ回す |
| 短い聞き返しの意味を取り違える | 同じセッションで聞かせ、話題が変われば新しいセッションにする |
| 期限が「2週間前」と書かれ、ずれて伝わる | 案内に日付で書き、計算させない |
| 段落がどの書類の話か分からない | includeAncestorHeadings を有効にする。作った後は変えられない |
| セッションが入社前に消える | 既定で60日で消える。やり取りは別に保存する |
上の2行が、この構成の失敗のほとんどです。 どちらも、自動で答えてよい範囲が広がることから来ています。条件の相談を止める仕組みと、版を固定する絞り込みをプログラムの側に置けるかで、内定者に安心して使ってもらえるかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 内定者の質問(家族の状況、健康、前の会社の事情が書かれることがあります)、内定者の入社月・勤務地・職種、入社案内と手引きです。内定者の質問は、採用の選考にかかわる情報と同じように扱います。
- 質問に書かれた事情を選考や配属の判断に使わない … 健康や家庭の事情は、手続きの相談として書かれたものです。やり取りの記録を見られる人を採用担当に限り、面接官や配属先に回しません
- 検索の対象に社員向けの文書を入れない … 内定者向けのデータストアを分け、内定者に見せてよいと決めた版だけを置きます
- 利用者の ID に個人を特定できる情報を使わない … セッションの
userPseudoIdには、内定者の番号から作った仮の ID を使います - 自動で答えていることを内定者に示す … 画面に「この案内は自動で答えています。条件のご相談は採用担当が受けます」と出し、いつでも人に替われる道を見せます
- データの置き場所を確かめる … 内定者の質問を Google Cloud に置くことが社内の規程で認められているかを、先に確かめます
誤りが起きた場合のリスクは、条件の相談に機械が答えてしまうことと、違う期限や集合場所を伝えてしまうことの2つです。 前者は種類の選択・言葉の規則・決まった文の3段で、後者は内定者の情報から作る絞り込みで防ぎます。
10まず何から始めるか
1週目:内定者に見せる範囲を決める
入社案内・別紙・手引きのうち、内定者に見せてよい部分を労務グループと決め、社内向けの注記を除いた版を作ります。期限が「○日前」と書かれている箇所を日付に直します。
2週目:30件で試す
先月のメールの質問30件について、その内定者の版の案内を手元のAIサービスに貼り、答えさせます。条件の相談に答えていないか、一般論で埋めていないかを最優先で見ます。
3週目:メタデータと言葉の規則を決める
メタデータの項目(第7章の表)と、条件の相談に当たる言葉の一覧を決めます。分割の設定と includeAncestorHeadings も、ここで決めます。
4週目:採用担当の画面で試す
案内を取り込み、採用担当が検索の画面で答えの下書きを作れるかを試します。この段階では内定者にはまだ見せません。
2か月目: 内定者向けの画面にチャットを置き、セッションと条件の相談の止め方を足して、入社月を1つ選んで始めます。3か月目以降: 採用担当へ回った理由を毎週数え、手引きの「無いときの代わりの書類」を足し、1件15分が何分になったかを実測します。内定者が夜や週末に聞いた手続きの質問に、その場で正しい版から答えられるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドが検索結果から回答を作ること。続けての質問が複数ターンの問い合わせとして扱われ、セッションの ID を毎ターン渡すこと。セッションの userPseudoId が128文字までで、個人を特定できる情報を含めてはならず、複数の利用者に同じ値を使ってはならないこと。60日より古いセッションが既定で自動削除されること。複数ターンと関連の質問に生成の回答の機能が要ること。includeCitations(既定は無効)、ignoreLowRelevantContent、ignoreAdversarialQuery、promptSpec の preamble、relatedQuestionsSpec。filteringLevel(FILTERING_LEVEL_LOW/HIGH)。answerSkippedReasons の NO_RELEVANT_CONTENT と LOW_GROUNDED_CONTENT、答えが省かれたときは関連の質問が返らないこと。citations の位置が UTF-8 のバイト単位であること | Google Cloud: Get answers and follow-ups | 2026-10-09 |
絞り込みの ANY() が完全一致であること、AND/OR、NOT、括弧、項目を索引可能にする必要があること | Google Cloud: Filter search for structured or unstructured data | 2026-10-09 |
非構造化データの対応形式(PDF・HTML・DOCX など)と1ファイル200MBまでであること。メタデータを JSON Lines で id・structData(または jsonData)・content(mimeType・uri)として書くこと | Google Cloud: Prepare data for ingesting | 2026-10-09 |
レイアウトパーサーが表・見出し・一覧を検出すること。分割の大きさが100〜500トークン(既定500)、includeAncestorHeadings が既定で無効、分割の設定がデータストアの作成後に切り替えられないこと | Google Cloud: Parse and chunk documents | 2026-10-09 |
労働条件と入社日・配属の扱いは、各社の規程に沿って採用担当と人事が決めてください。 本記事は Google Cloud の公式ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1227)についてのご相談はこちらから。
