Media > AI活用ユースケース > 人事 > その日に面接がある面接官へ、候補者ごとの応募書類の要点・前の選考の評価・確かめるべき点を1通にまとめて毎朝送る

その日に面接がある面接官へ、候補者ごとの応募書類の要点・前の選考の評価・確かめるべき点を1通にまとめて毎朝送る

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

その日に面接がある面接官へ、候補者ごとの応募書類の要点、前の選考の評価、確かめるべき点を、毎朝1通のメールにまとめて送ります。面接官は、書類と評価を探して読む代わりに、届いた1通を読んで面接に入れます。

サマリー
生成AI
Azure OpenAI Service/ChatGPT/Claude
連携・自動化
Google Apps Script/Make/Power Automate/Python
対象業界
IT・SaaS/その他/人材
対象部門
人事/採用
対象業務
情報検索/要約
主な課題
人手が足りない/引き継ぎができていない/情報が見つからない
AIで行う処理
要約
主な効果
品質標準化/工数削減/検索時間短縮
導入難易度
★☆☆☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
条件付き
現在工数
32h/月
AI導入後
8h/月
想定削減
75%
年間削減
288h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 採用チームが、面接の予定をカレンダーに作り、面接官を招待する
  2. 面接の前に、面接官が候補者台帳を開き、候補者の番号で行を探す
  3. 行のリンクから応募書類のPDFを開き、経歴を読む
  4. 前の段階の評価を読み、懸念と持ち越し事項を拾う
  5. 確かめる点と聞きたいことを、手元にメモする
  6. 面接に入る
導入後(After)
  1. 人採用チームが、今までどおり決まった名前で面接の予定をカレンダーに作る
  2. 自動毎日18時台、Apps Script が翌日の面接の予定を共有のカレンダーから拾う
  3. 自動予定の名前から候補者の番号と段階を取り、候補者台帳で書類と前の評価を引く
  4. 自動応募書類のPDFと前の評価を Claude API に渡す
  5. 自動Claude API が、経歴の要点・前の評価の要点・確かめるべき点・要約に入れなかった記述の有無を JSON で返す
  6. 自動要約を要約のシートに書き、適性と関係のない記述があった候補者を採用チームに知らせる
  7. 自動翌朝7時台に、カレンダーをもう一度見て変更を反映し、面接官ごとに1通にまとめて送る
  8. 人面接官が1通を読み、気になる点だけ書類の該当ページを開いて面接に入る
各工程の詳しい説明を読む
  1. 採用チームが、面接の予定をカレンダーに作り、面接官を招待する
  2. 面接の前に、面接官が候補者台帳を開き、候補者の番号で行を探す
  3. 行のリンクから応募書類のPDFを開き、経歴を読む
  4. 前の段階の評価を読み、懸念と持ち越し事項を拾う
  5. 確かめる点と聞きたいことを、手元にメモする
  6. 面接に入る

(a)直前に探している。 面接官は会議と開発の合間に面接を持つので、2〜3を面接の5分前に始めることが珍しくありません。 台帳の行を探し、PDFを開き、評価を読むところまでで時間が尽き、5番目のメモは書かれないまま面接に入ります。

(b)持ち越し事項が届かない。 一次の面接官が「設計の経験の深さは二次で確かめてほしい」と書いても、二次の面接官がその欄まで読まなければ、確かめられないまま最終に進みます。 最終で「その点は誰も聞いていなかった」と分かることがあります。

(c)読み方が人によって違う。 職務経歴書を最初から読む面接官もいれば、直近の職歴だけを見る面接官もいます。同じ候補者でも、面接官によって見ている経歴が違います。

(d)聞いてはいけないことが目に入る。 応募書類に家族の構成や出身地が書かれていることがあります。厚生労働省の公正な採用選考のページでは、本籍・出生地、家族、住宅状況、生活環境・家庭環境に関することなど14事項を、応募書類に記載させる、面接でたずねるなどして把握することは就職差別につながるおそれがあるとしています。書類に書かれていれば、面接官はつい話題にしてしまいます。

  1. 【人】 採用チームが、今までどおり決まった名前で面接の予定をカレンダーに作る
  2. 【自動】 毎日18時台、Apps Script が翌日の面接の予定を共有のカレンダーから拾う
  3. 【自動】 予定の名前から候補者の番号と段階を取り、候補者台帳で書類と前の評価を引く
  4. 【自動】 応募書類のPDFと前の評価を Claude API に渡す
  5. 【自動】 Claude API が、経歴の要点・前の評価の要点・確かめるべき点・要約に入れなかった記述の有無を JSON で返す
  6. 【自動】 要約を要約のシートに書き、適性と関係のない記述があった候補者を採用チームに知らせる
  7. 【自動】 翌朝7時台に、カレンダーをもう一度見て変更を反映し、面接官ごとに1通にまとめて送る
  8. 【人】 面接官が1通を読み、気になる点だけ書類の該当ページを開いて面接に入る

7番目で朝にカレンダーを見直すのは、前の日の夕方から予定が変わるからです。 面接官の差し替え、時間の変更、候補者の辞退は、前の日の夜にも起きます。要約は夕方に作っておき、宛先と時間は朝の状態で決めます。

人の確認は、条件付きにします。 要約は面接の準備の材料で、合否を決めるものではありません。採用チームが確かめるのは、適性と関係のない記述があった候補者と、要約が作れなかった候補者だけです。 面接官は、要約と書類が違うと感じたら、書類のほうを正とします。

02今回想定するシステム構成

構成図
採用チームの共有のカレンダー(「【面接】C-0412 二次 バックエンド」)
   ▼【トリガー1】毎日18時台(時間主導型)
Google Apps Script
   ├──▶ 翌日の面接の予定を拾い、候補者の番号と段階を取る
   ├──▶ 候補者台帳から、書類のPDFと前の段階の評価を引く
   ├──▶ Claude API(PDFの入力、構造化出力)
   │       書類と評価 → 経歴の要点・評価の要点・確かめるべき点
   └──▶ 要約のシートに書く/適性と関係のない記述を採用チームに知らせる
   ▼【トリガー2】毎日7時台(時間主導型)
Google Apps Script
   ├──▶ 当日の予定を見直し(面接官・時間・辞退の変更を反映)
   └──▶ MailApp で面接官ごとに1通にまとめて送る
   ▼
面接官が読んで面接に入る
役割想定する製品代替候補
実行環境Google Apps ScriptPower Automate、Make、Python
生成AIClaude API(PDFの入力と構造化出力)OpenAI API、Azure OpenAI(Microsoft Foundry)
保管Google スプレッドシート(候補者台帳、要約)とドライブ(応募書類のPDF)-
通知Gmail(MailApp)Google Chat

新しく足すのは、Apps Script と、要約のシートと、面接官の一覧のシートだけです。 カレンダーと候補者台帳と評価シートのフォームは、いまのものを使います。採用チームに頼むのは、予定の名前の決まりを守ることだけです。

Apps Script は、候補者台帳のスプレッドシートに付けるスクリプトとして書きます。 予定の取得には、カレンダーの getEventsForDay()(その日の予定をすべて取る)と、予定の getGuestList()(主催者を除く招待者を取る)を使います。予定の setTag() は予定に独自の情報を付けるためのもので、要約を作った予定に印を付けておけば、朝の見直しで「夕方以降に作られた予定」を見分けられます。

トリガーは2つとも時間主導型です。 公式のページでは、時刻は少しずれることがあり、9時に設定すると9時から10時のあいだで選ばれ、その時刻が保たれるとされています。インストール型のトリガーは作った人のアカウントで動き、メールもその人のアカウントから送られるので、採用チームの共有のアカウントで作ります。

AIの処理は Claude API で行います。 公式のページでは、PDFは document のブロックに base64 で渡せ、各ページを文字と画像の両方として処理するとされています。1回の要求は32MBまで、ページ数は600ページまで(コンテキストが100万トークン未満のときは100ページまで)で、パスワードや暗号化の無いPDFが対象です。JSON は output_config.format に type: "json_schema" とスキーマを渡して受け取ります。Anthropic のページでは、API などの商用の製品では、既定で入力と出力をモデルの学習に使わないとされています。

03どうやって実装するのか

Step1

処理の起点を決める

トリガーは2つです。 夕方のトリガーは timeBased()・everyDays(1)・atHour(18) で作り、翌日の面接の要約を作ります。朝のトリガーは atHour(7) で作り、当日の予定を見直して送ります。土日と会社の休日は、休日の一覧のシートを見て、スクリプトの最初で何もせずに終わります。

要約を夕方に作るのは、実行時間と失敗に備えるためです。 公式の割り当てでは、1回の実行は6分までです。1日8件の面接について、PDFを読ませて要約を作ると、1件に数十秒かかります。朝にまとめて作ると、6分に近づき、失敗したときに面接に間に合いません。 夕方に作っておけば、失敗しても採用チームが退勤前に気づけます。

夕方より後に入った面接は、朝のトリガーで拾います。 朝の見直しで、setTag() の印の無い予定を見つけたら、その場で要約を作ってから送ります。当日の朝に入れた面接や、当日の昼の面接の予定が午前中に入ったときは、採用チームがメニューから「この面接だけ送る」を実行します。

同じ候補者・同じ段階の要約は、作り直しません。 面接の日時が変わっただけなら、要約のシートの行をそのまま使います。前の段階の評価が後から追加されたときだけ、作り直します。 評価の更新日時を要約のシートに持たせ、台帳の評価の更新日時と比べます。

Step2

入力データを集める

データ中身取得元
面接の予定予定の名前(候補者の番号・段階・職種)、開始の時刻、招待者、会議のリンク採用チームの共有のカレンダー
候補者台帳候補者の番号、応募の職種、選考の状態(選考中・辞退・見送り)、書類のフォルダ候補者台帳のシート
応募書類履歴書と職務経歴書のPDFドライブの候補者のフォルダ
前の段階の評価段階、面接官の役職、総合の評価、良かった点、懸念、次の面接で確かめてほしい点候補者台帳の評価のタブ
職種の求める要件職種ごとの必須と歓迎の要件職種の要件のシート
面接官の一覧社員のメールアドレス、部署、送る・送らないの設定面接官の一覧のシート

質を決めるのは、前の段階の評価の「次の面接で確かめてほしい点」の欄です。 この欄が書かれていれば、要約の「確かめるべき点」は前の面接官の言葉から始まります。空欄が多いと、要約は書類の読み取りだけで確かめる点を作ることになり、前の面接官の意図がつながりません。 欄の説明に「1つは書いてください」と添えるだけで、つながり方は変わります。

職種の求める要件を渡すのは、経歴の要点の並べ方をそろえるためです。 要件に関係する経歴から並べるので、面接官によって見ている経歴が違う、という第3章の(c)が減ります。

評価の面接官の名前は渡しません。 「一次(開発部の管理職)」のように段階と役職だけを渡します。次の面接官が、前の面接官の人柄で評価を読み替えないようにするためです。

Step3

データの取得方法を決める

取るものどこからどう取るか
翌日の面接共有のカレンダーgetEventsForDay(翌日) で取り、名前が「【面接】」で始まる予定に絞る
面接官予定の招待者getGuestList() で取り、面接官の一覧にあるアドレスだけを残す
書類のPDF候補者のフォルダフォルダのファイルからPDFを選び、Blob を base64 にする
評価・要件各シートgetValues() でまとめて読む

処理は、次の順で行います。

1. 翌日の「【面接】」で始まる予定を取り、名前から候補者の番号・段階・職種を取る
2. 台帳で選考の状態を見て、辞退・見送りなら要約を作らず採用チームに知らせる
3. 要約のシートに同じ候補者・段階の行があり、評価の更新が無ければ使い回す
4. 候補者のフォルダからPDFを取り、合計の大きさとページ数を確かめる
5. 前の段階の評価を、段階と役職を付けて並べる(名前は外す)
6. Claude API を呼び、JSON を受け取る
7. 根拠のページ番号がPDFのページ数の範囲にあるかを確かめる
8. 要約のシートに書き、予定に setTag() で印を付ける
9. 適性と関係のない記述の印があれば、採用チームにだけ知らせる

4番目で大きさを確かめるのは、PDFの制限のためです。 1回の要求は32MBまでなので、スキャンの画像が重い書類は、採用チームが圧縮して置き直すよう知らせ、要約は作らずにリンクだけで送ります。

Step4

AIへ渡す前に整形する

  1. 予定の名前を正規化する … 全角と半角、「二次」と「2次」の表記をそろえ、候補者の番号を取り出します
  2. 社外の招待者を外す … 招待者のうち、面接官の一覧に無いアドレス(候補者本人など)には送りません
  3. 評価から名前を外す … 段階と役職だけを残します
  4. 要件を職種で引く … 職種の要件のシートから、応募の職種の必須と歓迎の要件を取ります
  5. パスワード付きのPDFを除く … 開けないPDFは渡さず、採用チームに知らせます

2番目を省かないでください。 面接の予定には、オンラインの面接のために候補者本人を招待していることがあります。招待者の全員に送ると、候補者に自分の評価の要約が届きます。 送り先は、必ず面接官の一覧と突き合わせて決めます。

3番目で名前を外しても、役職は残します。 「一次(開発部の管理職)」と「一次(人事部)」では、同じ「懸念あり」でも見ている点が違うからです。役職は評価の読み方の手がかりになりますが、名前は手がかりではなく先入観になります。 面接官が前の面接官に直接聞きたいときは、採用チームに頼んでつないでもらう運用にします。

Step5

AIに処理させる

させるのは、応募書類と前の段階の評価を読み、面接官が面接の前に知っておくべきことを、3つの欄に要約することです。

欄させること例
経歴の要点求める要件に関係する経歴を3〜5つ、根拠のページ付きで「決済のバックエンドを5年、うち2年はチームの技術の責任者」(p.2)
前の評価の要点段階ごとに、良かった点と懸念を1〜2文で一次:設計の説明は具体的。懸念は大規模の運用の経験
確かめるべき点前の面接官の持ち越し事項を先に、書類で分からない点を後に「同時アクセスの多い環境の運用の経験の深さ(一次からの持ち越し)」

確かめるべき点は、出どころを必ず付けさせます。 前の面接官の持ち越し事項なら carried_over、書類で分からない点なら document_gap です。面接官は、前の面接官から頼まれた点を先に確かめられます。

させないこと理由
合否の見込みや推薦面接官が自分の面接で判断する
書類に無い経歴の推測面接官が事実と取り違える
適性と関係のない事項の要約面接で話題にしないため
質問の文の作成質問は面接官と採用担当が組み立てる
前の評価の言い換えで評価を強める・弱める前の面接官の評価を変えない

3行目が、この構成でいちばん守るべきことです。 書類に「実家の家業を継ぐ予定だったが」「家族の転勤で」と書かれていると、AIは経歴の流れとして要約に入れがちです。家族や出身地に関わる記述は要約に入れず、excluded_notice に「書類に家族に関する記述あり」とだけ返させます。 中身は写させません。

Step6

指示内容を固定する

あなたは会社の採用チームで、面接官が面接の前に読む要約を作る担当です。
合否の判断はしません。面接で何を聞くかも決めません。

【入力】
- 応募書類(履歴書・職務経歴書のPDF)
- 応募の職種と、その必須・歓迎の要件
- 今回の面接の段階
- 前の段階の評価(段階と面接官の役職、総合の評価、良かった点、懸念、
  次の面接で確かめてほしい点)

【してほしいこと】
1. 経歴の要点:要件に関係する経歴を3〜5つ、各60字以内で。
   根拠のページ番号を必ず付ける
2. 前の評価の要点:段階ごとに、良かった点と懸念を各1〜2文で
3. 確かめるべき点:前の評価の「次の面接で確かめてほしい点」を先に、
   書類から分からない点を後に、合わせて5つまで。
   出どころを carried_over か document_gap で示す

【厳守事項】
- 書類に書かれていない経歴、年数、役割を推測しないでください。
  分からないことは「書類からは分からない」としてください。
- 次の事項に関わる記述は、要約のどの欄にも書かないでください。
  本籍・出生地、家族、住宅状況、生活環境・家庭環境、宗教、
  人生観・生活信条、思想、購読新聞・雑誌・愛読書、支持政党、
  尊敬する人物、労働組合・社会運動、健康・病歴。
  書類にこれらの記述があれば、excluded_notice に
  「書類に〇〇に関する記述あり」とだけ書いてください。中身は写さないでください。
- 合否の見込み、推薦、質問の文を書かないでください。
- 前の評価を強めたり弱めたりしないでください。書かれた評価の範囲で要約してください。

【応募の職種と要件】{requirements}
【今回の段階】{stage}
【前の段階の評価】{evaluations}

事項を列挙しているのは、「差別につながる事項」と書くだけではAIが範囲を決められないからです。 厚生労働省のページの14事項から、書類に書かれうるものを並べ、健康・病歴を足しています。 列挙が無いと、AIは「家族の転勤」を経歴の流れとして必要な情報だと判断して要約に入れます。

「中身は写さない」も大事です。 何の記述があったかを詳しく書けば、それ自体が面接官に届く情報になります。採用チームへの知らせは種類だけにし、必要なら採用チームが書類を見ます。

Step7

出力形式を固定する

構造化出力で、次の形の JSON を受け取ります。

{
  "candidate_no": "",
  "stage": "",
  "career_points": [
    { "text": "", "pages": [0] }
  ],
  "evaluation_points": [
    { "stage": "", "role": "", "strength": "", "concern": "" }
  ],
  "check_points": [
    { "text": "", "source": "carried_over | document_gap" }
  ],
  "excluded_notice": [""]
}

スキーマでは source を enum で縛り、オブジェクトに additionalProperties: false を付けます。pages の番号がPDFのページ数の範囲にあるかは、受け取ったあとにスクリプトで確かめます。 範囲外の番号が付いた要点は、メールに載せる前に落とします。

理由の1つ目は、面接官ごとの1通に束ねやすいことです。 候補者ごとの JSON を、面接官ごとに開始の時刻の順で並べるだけで1通ができます。束ね方はスクリプトの側で決めるので、メールの体裁を後から変えても要約は作り直しません。

2つ目は、excluded_notice を別の宛先に分けられることです。 この欄は面接官へのメールには載せず、採用チームへの知らせにだけ使います。 自由文の要約の中に混ざっていると、分けられません。

面接官に届くメールは、次の形です。

【本日の面接 3件】10月13日(火)
■ 10:00〜11:00 C-0412 二次 バックエンドエンジニア [会議のリンク]
  経歴の要点
   ・決済のバックエンドを5年、うち2年はチームの技術の責任者(p.2)
   ・社内の監視の仕組みの立ち上げを担当(p.3)
  前の評価
   ・一次(開発部の管理職):設計の説明は具体的。懸念は大規模の運用の経験
  確かめるべき点
   ・同時アクセスの多い環境の運用の経験の深さ[一次からの持ち越し]
   ・直近の1年の役割(書類からは分からない)
  書類:[PDFのリンク] 評価シート:[フォームのリンク]
■ 14:00〜15:00 C-0398 一次 カスタマーサクセス …
※ 要約は準備の材料です。書類と違う点があれば書類を正としてください。
Step8

システムへ連携する

つなぎ先方式内容
共有のカレンダーCalendarApp(読み取り、印の付与)翌日・当日の面接の予定、招待者、setTag() の印
候補者台帳・評価・要件SpreadsheetApp(読み取り)選考の状態、前の評価、職種の要件
応募書類DriveApp(読み取り)PDFの Blob
Claude APIUrlFetchApp要約の JSON
要約のシートSpreadsheetApp(書き込み)候補者・段階ごとの要約と、作った日時
GmailMailApp面接官ごとの1通、採用チームへの知らせ

API キーはスクリプトのプロパティに置き、スクリプトの編集の権限は採用チームに絞ります。 公式の割り当てでは、URL Fetch の呼び出しは Google Workspace のアカウントで1日10万回、メールの宛先は1日1,500で、1日に十数通を送るこの構成では余裕があります。

候補者台帳と評価には書き込みません。 要約は要約のシートにだけ書きます。評価シートに要約を書き戻すと、次の段階の面接官が、AIの要約を前の面接官の評価として読んでしまいます。

Step9

人が確認する

  1. 採用チームが、夕方の知らせを見る … 適性と関係のない記述があった候補者、要約が作れなかった候補者、辞退・見送りの候補者の予定が残っているものを確かめます
  2. 書類の記述は、面接官に伝えない … excluded_notice の候補者は、面接官のメールにはそのまま要約を載せ、記述があったことは採用チームの中で扱います
  3. 面接官は、要約と書類が違えば書類を正とする … 違いに気づいたら、採用チームに返信で知らせます
  4. 採用チームは、違いの知らせを要約のシートに記録する … 月に一度、どんな違いが多いかを見ます

目標は、160件をならして1件3分です。 面接官が1通を読むのに1件あたり2分、気になる点で書類の該当ページを開くのに1分です。要約が作れなかった面接は、今までどおり書類を開くので12分かかります。

Step10

例外に対処する

起きること対応
予定の名前に候補者の番号が無い要約を作らず、採用チームに予定の名前を直すよう知らせる
台帳の状態が辞退・見送り要約を作らず、予定が残っていることを採用チームに知らせる
PDFが無い・パスワード付き・大きすぎる要約を作らず、面接官にはリンクだけを送る。採用チームに知らせる
前の段階の評価がまだ入っていない評価の欄を「未入力」とし、前の面接官に入力を頼むよう採用チームに知らせる
招待者に面接官の一覧に無いアドレスそのアドレスには送らない
朝の見直しで面接官が替わった新しい面接官に送り、外れた面接官には送らない
Claude API が応答しない・形が違う一度だけやり直し、だめならリンクだけで送る
根拠のページ番号が範囲外その要点を落とす

6行目の面接官の差し替えは、朝の見直しでしか拾えません。 夕方の時点の招待者で宛先を決めてしまうと、差し替えられた面接官に前の日の分が届き、新しい面接官には何も届きません。 宛先は必ず朝の招待者で決めます。

4行目は、前の日の夕方に気づければ間に合います。 一次の面接が当日の夕方にあり、翌朝に二次がある、という日程では、評価の入力が翌朝の送信に間に合いません。採用チームは夕方の知らせで「未入力」を見て、一次の面接官に入力を頼みます。

Step11

記録を残す

  • 要約のシート:候補者、段階、要約の JSON、作った日時、使った評価の更新日時
  • 送ったメールの日時、宛先、載せた候補者の番号
  • excluded_notice が出た候補者と、採用チームが確かめた日時
  • 要約と書類の違いの知らせ
  • AIの呼び出しの失敗の記録

要約のシートの保存の期間は、候補者台帳と同じ決まりにします。 選考が終わった候補者の要約は、台帳の削除の決まりに合わせて消します。要約だけが残り続けると、不採用の候補者の情報を必要以上に持つことになります。

04実装レベルの3段階

最小構成:書類と評価を手で AI の画面に貼り、要約を作らせる / 候補者ごとの要約
半自動化:上記+Apps Script でカレンダーから面接を拾い、要約を作り、面接官ごとに毎朝送る / 要約の作成から配信まで
本格構成:上記+面接の後に評価シートの入力を促す知らせ、最終面接の前に全段階の持ち越し事項がどう確かめられたかの一覧 / 選考の全体のつながりまで

最小構成では、探す時間は減りません。 要約の質を確かめる段階です。 半自動化で1件12分が3分になり、この段階が本記事の想定です。 探して開く作業(①)は無くなり、読む作業(②)は1通を読む作業に、メモ(③)は確かめるべき点の欄で足りるようになります。 本格構成は、持ち越し事項の欄が毎回書かれるようになってから考えます。 欄が空欄ばかりの段階で全段階の一覧を作っても、つながりの無いことが見えるだけです。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
20 名
月間件数
160 件
1件あたり現在時間
12 分
1件あたり導入後時間
3 分
現在  160件 × 12分 ÷ 60 = 32 時間/月
導入後 160件 × 3分 ÷ 60 = 8 時間/月
月間削減時間
24h
削減率
75%
年間削減時間
288h
年間金額換算(時間単価5,000円)
144万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 中途採用で月に100件を超える面接を行い、現場の社員が面接官を兼ねているIT・SaaSの会社や人材会社。面接の予定を Google カレンダーで管理し、応募書類のPDFと選考の評価を Google ドライブとスプレッドシートに置いているが、面接官が面接の直前に書類と前の評価を探して読んでいる場合。前の面接官の「次の面接で確かめてほしい点」が次の面接官に伝わっていない場合。Google Workspace を使っている場合。
向いていない
  1. 面接が月に数件で、採用担当が面接官ごとに口頭で引き継げている場合。採用管理システムが面接官向けの事前の資料の配信まで済ませている場合。面接の予定や評価がカレンダーとスプレッドシートに無く、紙や個人の手帳で管理されている場合。なお、合否の判断と、面接で何を聞くかの最終的な決定は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の二次面接から5件を選ぶ(一次の評価に持ち越し事項が書かれているもの)
  2. その5件の応募書類のPDFと、一次の評価(名前を外したもの)を用意する
  3. 手元の Claude の画面にPDFと評価を貼り、第7章の指示の要点(推測しない、事項を書かない、持ち越し事項を先に)を伝える
  4. 出てきた要約を、二次の面接官に読んでもらい、「面接の前にこれがあれば足りたか」を聞く

ここで見るのは、持ち越し事項が確かめるべき点の先頭に来ているかと、書類に無い経歴が混ざっていないかです。

出てきた内容判断
持ち越し事項が先頭に来て、経歴の要点にページが付いているApps Script でカレンダーとつなぐ段階に進む
書類に無い年数や役割が書かれた指示の書き方で直る。「書類からは分からない」を用意する
前の評価の持ち越し事項が空欄ばかり評価シートの書き方が先。 AIの問題ではない

3行目が出たら、評価シートの欄に説明を足します。 「次の面接官に確かめてほしい点を1つ以上(例:設計の経験の深さ、チームでの役割)」と書き添え、1か月待ってから試し直します。

08実装時につまずきやすいポイント

問題対策
候補者本人に要約が届く送り先を面接官の一覧と突き合わせる
家族や出身地の記述が要約に入る事項を列挙して禁じ、excluded_notice で種類だけ返させる
書類に無い経歴が要約に混ざる「書類からは分からない」を用意し、ページの範囲を確かめる
夕方以降の予定の変更が反映されない朝にカレンダーを見直し、宛先と時間は朝の状態で決める
予定の名前の決まりが守られない番号が取れない予定は採用チームに知らせる
前の評価が未入力のまま次の面接夕方の知らせで「未入力」を出し、採用チームが頼む
朝に要約を作って6分を超える夕方に作っておき、朝は束ねて送るだけにする
要約が評価シートに書き戻される要約は要約のシートにだけ書く
不採用の候補者の要約が残り続ける台帳の削除の決まりに合わせて消す

上の2行が、この構成の信用を決めます。 候補者に評価の要約が届く事故も、聞いてはいけない事項が面接官の手元に届く事故も、一度起きれば採用の仕組みそのものへの信頼を失います。 どちらも、最初の版から入れてください。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 候補者の応募書類(氏名、連絡先、学歴、職歴)、前の段階の評価、面接の予定です。応募書類には、適性と関係のない事項が書かれていることがあります。

  1. 送り先を社内の面接官に限る … 招待者の全員ではなく、面接官の一覧にあるアドレスにだけ送ります
  2. 適性と関係のない事項を面接官に届けない … 厚生労働省のページの14事項に当たる記述は要約に入れず、採用チームにだけ種類を知らせます
  3. 商用の API で使う … Anthropic のページでは、API などの商用の製品では既定で入力と出力を学習に使わないとされています。個人の契約の画面に応募書類を貼らないことを決めておきます
  4. 要約を合否の材料にしない … 要約は準備の材料です。評価は面接官が自分の面接で行い、評価シートに書きます
  5. 要約の保存の期間を台帳とそろえる … 選考が終わった候補者の要約は、台帳の決まりに合わせて消します
  6. API キーの管理 … スクリプトのプロパティに置き、編集の権限を採用チームに絞ります

誤りが起きた場合のリスクは、候補者や関係のない人に評価の要約が届くことと、書類に無い経歴を面接官が事実と思い込むことの2つです。 前者は送り先の突き合わせで、後者はページの根拠と「書類からは分からない」で防ぎます。合否には一切触れさせない設計にしておけば、要約の誤りが選考の結果に直結することはありません。

10まず何から始めるか

1週目:予定の名前と評価シートを整える

採用チームで、面接の予定の名前の決まり(「【面接】候補者の番号 段階 職種」)を決めます。評価シートの「次の面接で確かめてほしい点」の欄に説明と例を足します。面接官の一覧のシートを作り、送り先をここで決めます。

2週目:5件で試す

先月の二次面接の5件で、書類と一次の評価を会社で契約した Claude の画面に貼り、要約を作らせます。書類に無い経歴が混ざっていないか、家族などの記述が要約に入っていないかを最優先で見ます。

3週目:二次の面接官に読んでもらう

5件の要約を、その面接を担当した二次の面接官に読んでもらいます。「面接の前にこれがあれば足りたか」「足りないものは何か」を聞き、欄の並べ方を直します。

4週目:カレンダーから要約のシートまでを作る

Apps Script で、翌日の予定の取得、台帳と評価の引き当て、Claude API の呼び出し、要約のシートへの書き込みまでを作ります。この時点ではメールを送らず、採用チームが要約のシートを読んで確かめます。

2か月目: 朝の見直しと面接官ごとのメールを足し、採用チームの面接官から始めます。3か月目以降: 全部の面接官に広げ、要約と書類の違いの知らせを月に一度見直します。面接官が直前に台帳を探さなくなり、持ち越し事項が次の面接官の1通の先頭に毎回載るようになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-12/最終更新:2026-10-13
確認した内容情報源確認日
インストール型のトリガーが作った人のアカウントで動き、メールもその人から送られること。時間主導型のトリガーの時刻が9時なら9時から10時のあいだで選ばれ保たれることGoogle Apps Script: Installable Triggers2026-10-12
everyDays() と atHour() で毎日の時刻を指定できることGoogle Apps Script: Class ClockTriggerBuilder2026-10-12
1回の実行が6分まで。URL Fetch が Google Workspace で1日10万回、メールの宛先が1日1,500であることGoogle Apps Script: Quotas for Google Services2026-10-12
getEventsForDay() がその日の予定をすべて取ることGoogle Apps Script: Class Calendar2026-10-12
getGuestList() が主催者を除く招待者を取ること。setTag() が予定に独自の情報を付けるためのものであることGoogle Apps Script: Class CalendarEvent2026-10-12
PDFを document のブロックに base64 で渡せること。各ページを文字と画像の両方として処理すること。1回の要求が32MBまで、ページ数が600(コンテキストが100万トークン未満では100)までで、パスワードや暗号化の無いPDFが対象であることClaude API: PDF support2026-10-12
output_config.format に type: "json_schema" を指定すると JSON で返ること。オブジェクトに additionalProperties: false が必要で、enum が使えることClaude API: Structured outputs2026-10-12
API などの商用の製品では既定で入力と出力を学習に使わないことAnthropic Privacy Center: Is my data used for model training?2026-10-12
本籍・出生地、住宅状況、家族、生活環境・家庭環境、宗教、人生観・生活信条、思想、購読新聞・雑誌・愛読書、支持政党、尊敬する人物、労働組合・社会運動に関することなど14事項を、応募書類や面接で把握することが就職差別につながるおそれがあること厚生労働省: 公正な採用選考の基本2026-10-12

面接で何を聞くか、何を聞かないかは、社内の採用の手引きと厚生労働省の公正な採用選考の資料に照らして、採用チームが決めてください。 本記事は上記の公式のページで確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1274)についてのご相談はこちらから。

AI活用について相談する
目次