人材紹介のキャリアアドバイザーが求職者との面談の録音から、職務経歴の要点・希望条件・転職の理由・懸念を面談記録にまとめ、求人との照合に使える形にする
キャリアアドバイザーが求職者との面談を録音し、ChatGPT(OpenAI API)で文字にして、職務経歴の要点・希望条件・転職の理由・懸念を項目に分けた面談記録の下書きにします。アドバイザーは下書きを直して、求職者の管理システムに入れます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- 人材
- 対象部門
- 営業
- 対象業務
- 要約/記録・議事録作成
- 主な課題
- 入力作業が多い/属人化している/引き継ぎができていない
- AIで行う処理
- 要約
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- アドバイザーが面談をしながら、手元にメモを取る
- 面談のあと、メモを見て、聞き漏れや曖昧なところを録音で聞き直す
- 求職者の管理システムの決まった項目(希望職種・勤務地・年収・時期)を入れる
- 面談メモの欄に、経歴の要点・転職の理由・不安に思っていることを書く
- 求人を探すための条件を整理し、次回までに紹介する求人の候補を挙げる
- 人面談の最初に、録音すること、録音を面談記録の作成に使い記録を作ったら消すことを説明し、求職者の同意を得る
- 人面談のあと、アドバイザーが録音のファイルを求職者の番号を付けて取り込み用のフォルダに入れる
- 自動Python のスクリプトが15分ごとにフォルダを見て、新しい録音の形式と大きさを確かめ、必要なら変換・分割する
- 自動OpenAI API の文字起こしで、話者を分けた文字の記録を作る
- 自動文字の記録を OpenAI API に渡し、面談記録の項目ごとの要点と根拠の発言の時刻を JSON で受け取る
- 自動面談記録の下書きを、アドバイザーの確認用の画面(共有の表)に書き出す
- 人アドバイザーが下書きを読み、「未確認」「要確認」と、時刻の付いた要点を必要に応じて録音で確かめて直す
- 人直した記録を、求職者の管理システムに入れる
- 自動管理システムに入れたことを確かめたら、録音と文字の記録を消す
各工程の詳しい説明を読む
- アドバイザーが面談をしながら、手元にメモを取る
- 面談のあと、メモを見て、聞き漏れや曖昧なところを録音で聞き直す
- 求職者の管理システムの決まった項目(希望職種・勤務地・年収・時期)を入れる
- 面談メモの欄に、経歴の要点・転職の理由・不安に思っていることを書く
- 求人を探すための条件を整理し、次回までに紹介する求人の候補を挙げる
(a)面談の直後に次の面談が入っている。 1日に3〜4件の面談があると、記録は夕方にまとめて書くことになります。午前の面談の細かいところは、夕方には思い出せません。 録音を聞き直すと、その分だけ時間がかかります。
(b)条件の幅が残らない。 「年収は今より下げたくない」は記録に残っても、「残業が減るなら少しは」は残りません。照合のときに、条件に少し届かない求人が候補から外れ、 求職者に合っていたかもしれない求人を紹介し損ねます。
(c)書いてはいけないことが混ざる。 求職者が自分から話した「父の介護があって」「宗教上の理由で土曜は」を、善意でそのまま面談メモに書いてしまうことがあります。記録すべきなのは「転居を伴う勤務は不可」「土曜の勤務は不可」という条件のほうで、理由のほうではありません。
(d)担当が替わると伝わらない。 面談メモが3行だと、新しい担当は同じことを求職者に聞き直すことになります。求職者にとっては、二度目の説明になります。
- 【人】 面談の最初に、録音すること、録音を面談記録の作成に使い記録を作ったら消すことを説明し、求職者の同意を得る
- 【人】 面談のあと、アドバイザーが録音のファイルを求職者の番号を付けて取り込み用のフォルダに入れる
- 【自動】 Python のスクリプトが15分ごとにフォルダを見て、新しい録音の形式と大きさを確かめ、必要なら変換・分割する
- 【自動】 OpenAI API の文字起こしで、話者を分けた文字の記録を作る
- 【自動】 文字の記録を OpenAI API に渡し、面談記録の項目ごとの要点と根拠の発言の時刻を JSON で受け取る
- 【自動】 面談記録の下書きを、アドバイザーの確認用の画面(共有の表)に書き出す
- 【人】 アドバイザーが下書きを読み、「未確認」「要確認」と、時刻の付いた要点を必要に応じて録音で確かめて直す
- 【人】 直した記録を、求職者の管理システムに入れる
- 【自動】 管理システムに入れたことを確かめたら、録音と文字の記録を消す
7番目が、この設計の分かれ目です。 アドバイザーは下書きを全部書き直すのではなく、「未確認」「要確認」と、数字や固有名詞の入った要点だけを確かめます。 年収や入社可能時期を聞き違えたまま記録すると、照合を誤ります。時刻が付いているので、確かめるのは録音の数秒です。
1番目と9番目を対にしているのも意図してのことです。 録音は記録を作るための材料で、記録ができたら要らなくなります。 録音を残し続けると、記録してはならない話も録音の中に残り続けます。
02今回想定するシステム構成
面談(Web 会議の録音 または ICレコーダー) │ 面談の最初に録音と利用目的を説明し同意を得る ▼ 取り込み用のフォルダ(求職者の番号を付けたファイル) ▼【トリガー】15分ごとの定期実行 Python のスクリプト ├──▶ 形式・大きさの確認、25MB を超えるものは変換・分割 ▼ ChatGPT(OpenAI API の文字起こし:話者を分けるモデル) │ アドバイザーの声の見本で話者を見分ける ▼ ChatGPT(OpenAI API の Responses API:構造化出力) │ 職務経歴の要点/希望条件(幅と優先の順)/転職の理由/懸念 │ /未確認の項目/記録から外した事項/根拠の発言の時刻 ▼ 確認用の共有の表 ── アドバイザーが直す ▼ 求職者の管理システム(アドバイザーが入れる) ▼ 録音と文字の記録を消す
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | ChatGPT(OpenAI API の音声の文字起こしと Responses API) | Claude API、Gemini API |
| 連携 | Python(フォルダの確認、音声の変換と分割、API の呼び出し、表への書き出し) | Google Apps Script |
| 保管 | 取り込み用のフォルダと確認用の共有の表 | 社内のファイルサーバー |
新しく足すのは、Python のスクリプトと OpenAI API の利用です。 求職者の管理システムには、この構成からは書き込みません。記録を入れるのは、確認を終えたアドバイザーです。
文字起こしには、話者を分けるモデルを使います。 公式の案内では、gpt-4o-transcribe-diarize で diarized_json を指定すると、話者・開始・終了の情報が付いた区切りごとの文字が返ります。既知の話者の見本を最大4つまで渡せ、見本は2〜10秒とされています。30秒を超える録音では、chunking_strategy を "auto" などに設定します。
面談記録では、誰が言ったかが大事です。 「年収は600万円くらいが相場ですね」とアドバイザーが言ったのか、求職者が「600万円は欲しい」と言ったのかで、記録はまったく変わります。アドバイザーの声の見本を渡し、アドバイザーの発言と求職者の発言を分けます。
話者を分けるモデルは、prompt に対応していません。 公式の案内では、言葉の手がかりを渡せる prompt や keywords は別のモデル(gpt-transcribe など)で使えるもので、話者を分けるモデルでは使えないとされています。会社名や製品名、職種の専門用語の聞き違いは、アドバイザーが確かめます。
ファイルは25MBまでです。 対応する形式は mp3、mp4、mpeg、mpga、m4a、wav、webm で、大きい録音は圧縮した形式にするか、25MB 以下に分けます。 1時間の面談の録音は、録り方によっては25MBを超えます。
03どうやって実装するのか
処理の起点を決める
アドバイザーが録音のファイルを取り込み用のフォルダに入れたことを起点にします。 スクリプトは15分ごとにフォルダを見て、新しいファイルを処理します。面談が終わってから30分ほどで、下書きが確認用の表に出ます。
ファイル名には、求職者の番号と面談の日付と回数を付けます。 「C-20481_20261013_1.m4a」のようにします。名前で取り違えると、別の求職者の記録が作られます。 求職者の名前はファイル名に入れません。
同意の無い面談の録音は、フォルダに入れません。 録音に同意しなかった求職者の面談は、従来どおりアドバイザーが手で記録します。同意の有無は、管理システムの求職者の欄に記録しておきます。
下書きが出たら、アドバイザーにチャットで知らせます。 夕方にまとめて確認するのではなく、次の面談の前の10分で確かめる習慣にすると、面談の内容を覚えているうちに直せます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 面談の録音 | Web 会議の録音または ICレコーダーの音声 | 取り込み用のフォルダ |
| アドバイザーの声の見本 | アドバイザーごとに2〜10秒の音声 | アドバイザーが一度だけ録る |
| 求職者の基本情報 | 番号、登録時の職種の希望、面談の回数 | 求職者の管理システムから書き出した表 |
| 面談記録の項目の一覧 | 管理システムの決まった項目と、その値の選び方 | 管理システムの設定から作る |
| 記録してはならない事項の一覧 | 指針の事項と、面談で出やすい言い方の例 | アドバイザーのチームが作る |
質を決めるのは、面談記録の項目の一覧です。 管理システムの「希望勤務地」が都道府県で選ぶ項目なら、AIにも都道府県で返させます。項目の値の選び方を一覧にしておかないと、下書きを管理システムに入れるときにまた手で直すことになります。
アドバイザーの声の見本は、最初に一度だけ録ります。 「本日はお時間をいただきありがとうございます。担当の○○です」のような、いつも面談の最初に言う言葉で5秒ほど録ります。面談ごとに録る必要はありません。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 録音 | 取り込み用のフォルダ | 文字起こし |
| 話者を分けた文字の記録 | 文字起こしの API の diarized_json | 要点の抽出、根拠の時刻 |
| 求職者の基本情報 | 管理システムから書き出した表 | 面談の回数、登録時の希望との比較 |
| 項目の一覧と事項の一覧 | 社内の文書 | 指示に添える |
Web 会議の録音は、音声だけのファイルで取ります。 映像付きの録画は大きく、25MB に収まりません。Web 会議のツールの設定で、音声だけのファイルを別に保存できるなら、そちらを使います。
求職者の基本情報は、名前を入れずに書き出します。 面談記録の下書きを作るのに、名前は要りません。番号と面談の回数と登録時の希望だけを渡します。
AIへ渡す前に整形する
- 形式の確認 … mp3、mp4、mpeg、mpga、m4a、wav、webm 以外は、m4a などに変換します
- 大きさの確認 … 25MB を超えるものは、音声だけにして圧縮し、それでも超えるなら話の切れ目で分けます
- 分けたときの時刻の補正 … 2つ目以降のファイルの時刻に、それまでの長さを足して、録音全体の時刻にそろえます
- 話者の見本を添える … そのアドバイザーの声の見本を、
known_speaker_references[]に渡します - 長さの確認 … 5分に満たない録音は、面談ではなく録音の失敗とみて、アドバイザーに知らせます
- 雑談の区切り … 面談の最初と最後の雑談は、そのまま渡します。AIに「記録の項目に当たらない話は書かない」と指示して落とします
3番目を忘れると、根拠の時刻が使えなくなります。 分けた2つ目のファイルの「3分10秒」は、録音全体の「33分10秒」です。アドバイザーが聞き直すのは元の録音なので、全体の時刻にそろえておきます。
AIに処理させる
させるのは、話者を分けた文字の記録から、面談記録の項目ごとに要点を取り出し、根拠の発言の時刻を添えることです。
| 項目 | 取り出し方 | 判断できないときの扱い |
|---|---|---|
| 職務経歴の要点 | 会社ごと・期間ごとに、担当した仕事、役割、使った道具や技術、成果 | 期間が曖昧なら「要確認」 |
| 希望条件 | 職種、勤務地、年収、働き方、入社可能時期。下限・目安・譲れる幅と優先の順 | 話に出なければ「未確認」 |
| 転職の理由 | 求職者の言葉に沿って、何を変えたいか | - |
| 懸念 | 求職者が不安に思っていること、アドバイザーが確かめるべきと感じた点 | - |
| 照合のための条件 | 管理システムの項目の値で | 一覧に無い値は「要確認」 |
| 記録から外した事項 | 話に出たが記録に入れなかったことの種類と時刻 | - |
希望条件の「幅と優先の順」が、この構成でいちばん大事な項目です。 「年収は今の520万円より下げたくない。でも残業が月20時間以下になるなら500万円でも」という発言から、下限500万円、目安520万円以上、譲れる条件は残業の少なさと取り出します。照合のときに、500万円の求人を候補に入れられるかどうかがここで決まります。
求職者の発言だけを根拠にさせます。 アドバイザーが「この職種なら600万円くらいが相場です」と言ったことを、希望年収として取り出してはいけません。話者を分けたのは、このためです。
| させないこと | 理由 |
|---|---|
| 本籍・出生地、家族の事情、思想・信条・信仰、労働組合のことを記録する | 指針で収集してはならないとされる事項に当たる |
| アドバイザーの発言を求職者の希望として書く | 照合を誤る |
| 求職者の人柄や能力の評価 | 記録は事実と希望にとどめ、評価はアドバイザーが行う |
| 求人を紹介するか、推薦するかの判断 | アドバイザーが行う |
| 話に出なかった条件を埋める | 「未確認」と書き、次の面談で聞く |
1行目には、例外の扱いがあります。 「父の介護があって、転居はできない」という発言からは、「転居を伴う勤務は不可」という条件だけを取り出し、 介護のことは記録しません。条件は照合に要りますが、理由は要りません。理由を書かずに条件を残すことを、指示で具体的に書きます。
指示内容を固定する
あなたは人材紹介会社で、キャリアアドバイザーと求職者の面談の文字の記録から、
面談記録の下書きを作る担当です。話者を分けた文字の記録だけを材料にしてください。
【話者】
- 「advisor」はキャリアアドバイザー、それ以外は求職者です。
- 希望条件・転職の理由・職務経歴は、求職者の発言だけを根拠にしてください。
アドバイザーが言った相場や提案を、求職者の希望として書かないでください。
【作るもの】
1. career:会社ごと・期間ごとの担当業務、役割、使った道具や技術、成果
2. preferences:職種/勤務地/年収/働き方/入社可能時期のそれぞれについて、
下限、目安、譲れる幅とその条件、優先の順位。
話に出なかったものは status を "unconfirmed" にし、値を埋めないでください。
3. reasons:転職の理由(求職者の言葉に沿って)
4. concerns:求職者の不安、アドバイザーが確かめるべき点
5. matching:管理システムの項目の値(一覧に無い値は "needs_check")
6. excluded:話に出たが記録に入れなかった事項の種類と時刻
すべての要点に、根拠にした発言の開始時刻(秒)を付けてください。
【記録してはならない事項】
次のことは、求職者が話していても記録に入れないでください。
- 人種、民族、社会的身分、門地、本籍、出生地
- 思想、信条、信仰、支持政党
- 労働組合への加入や活動
- 家族の事情・健康・病歴(本人・家族とも)
これらが条件の理由として話されたときは、条件だけを書き、理由は書かないでください。
例:「父の介護で転居できない」→ 勤務地の条件「転居を伴う勤務は不可」だけを書く。
例:「信仰の関係で土曜は休みたい」→ 働き方の条件「土曜の勤務は不可」だけを書く。
記録に入れなかったものは excluded に、種類(family など)と時刻だけを書き、
内容は書かないでください。
【厳守事項】
- 金額・日付・期間・人数は、発言の数字をそのまま使ってください。換算しないでください。
- 聞き取れない、または曖昧な発言は "needs_check" にしてください。
- 求職者の人柄や能力を評価する言葉を書かないでください。
- 求人を紹介すべきか、推薦すべきかを書かないでください。
【面談記録の項目の一覧】{fields}
【求職者の基本情報】{candidate_info}
【文字の記録】{diarized_transcript}
「理由は書かず条件だけを書く」を例つきで書いているのは、それが無いと理由ごと残るか、条件ごと消えるかのどちらかになるからです。 「記録してはならない」とだけ書くと、AIは介護の話に関わる部分を丸ごと落とし、「転居不可」という照合に欠かせない条件まで消えます。
excluded に内容を書かせないのも同じ理由です。 内容を書けば、外したはずの事項が別の欄に残ります。種類と時刻だけなら、アドバイザーは外してよかったかを録音で確かめられます。
出力形式を固定する
Responses API の構造化出力で、次の形の JSON を受け取ります。
{
"candidate_no": "C-20481",
"interview": 1,
"career": [
{ "company_period": "2019-04〜現在", "duties": "法人向け会計ソフトの導入支援",
"role": "チームリーダー(4名)", "tools": "SQL、表計算",
"result": "", "status": "confirmed", "evidence_sec": [412, 455] }
],
"preferences": [
{ "item": "salary", "floor": "500万円", "target": "520万円以上",
"flex": "残業が月20時間以下なら下限まで可", "priority": 2,
"status": "confirmed", "evidence_sec": [1830] },
{ "item": "location", "floor": "", "target": "東京都",
"flex": "転居を伴う勤務は不可", "priority": 1,
"status": "confirmed", "evidence_sec": [1975] },
{ "item": "start_date", "floor": "", "target": "", "flex": "",
"priority": null, "status": "unconfirmed", "evidence_sec": [] }
],
"reasons": [ { "text": "", "evidence_sec": [] } ],
"concerns": [ { "text": "", "by": "candidate | advisor", "evidence_sec": [] } ],
"matching": { "job_type": "", "prefecture": "", "salary_floor": "", "remote": "" },
"excluded": [ { "category": "family", "evidence_sec": [1968] } ]
}
1つ目の理由は、status で確かめる所が分かることです。 unconfirmed は次の面談で聞くこと、needs_check は録音で確かめること、confirmed はそのまま使えるものです。アドバイザーは confirmed 以外から読みます。
2つ目は、evidence_sec で録音のどこを聞けばよいかが分かることです。 確認用の表では、時刻を「30分30秒」のように表示し、その時刻から録音を再生できるようにしておきます。
3つ目は、matching を管理システムの項目に合わせて持つことです。 アドバイザーは表の値をそのまま管理システムに写せます。照合の条件と面談メモが、同じ面談から同じ形で作られます。
拒否と途中で切れた応答は、解析の前に確かめます。 公式の案内では、拒否はスキーマに合わない形で返り、途中で切れたものは status が incomplete になるとされています。どちらも下書きを作らず、アドバイザーに手で記録してもらいます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 取り込み用のフォルダ | Python のスクリプトで読む | 新しい録音を拾う |
| OpenAI API(文字起こし) | API 呼び出し | 話者を分けた文字の記録 |
| OpenAI API(Responses API) | API 呼び出し | 面談記録の下書きの JSON |
| 確認用の共有の表 | Python のスクリプトで書く | 項目ごとの下書きと時刻 |
| 求職者の管理システム | アドバイザーが手で入れる | 確認した記録 |
管理システムには、この構成から書き込みません。 確認していない下書きが照合に使われると、聞き違えた年収で求人が絞られます。管理システムに入るのは、アドバイザーが確かめた記録だけです。
確認用の表は、そのアドバイザーとチームの責任者だけが見られる場所に置きます。 下書きには、まだ確かめていない求職者の情報が入っています。
人が確認する
アドバイザーは、すべての下書きを読みます。 ただし、録音を全部聞き直す必要はありません。
needs_checkを録音で確かめる … 時刻から数秒だけ聞きます- 数字と固有名詞を確かめる … 年収、期間、人数、会社名、製品名、技術の名前です。話者を分けるモデルには言葉の手がかりを渡せないので、聞き違いはここで直します
excludedの時刻を確かめる … 外したことが正しいか、外した話に照合に要る条件が含まれていないかを見ますunconfirmedを次の面談で聞く項目にする … 管理システムの次回の確認事項に書きます- 管理システムに入れる … 直した記録を写し、入れたことを表に記録します
3番目で、条件の取りこぼしを拾います。 AIが理由ごと条件を落としていたら、アドバイザーが条件だけを書き足します。理由のほうは書き足しません。
目標は、400件をならして1件9分です。 下書きが正しく取れている面談なら5分ほど、聞き違いの多い面談や、経歴の長い求職者の面談は15分以上かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 求職者が録音に同意しなかった | 録音しない。アドバイザーが手で記録する |
| 録音が25MBを超える | 音声だけにして圧縮し、なお超えれば分けて時刻を補正する |
| 録音が5分に満たない | 録音の失敗とみてアドバイザーに知らせる |
| 話者の見分けが崩れた(全部が1人になった等) | 下書きを作らず、アドバイザーに知らせる。声の見本を録り直す |
| 応答が拒否・途中で切れた | 下書きを作らず、手で記録する |
| 同じ番号で同じ日の録音が2つ | 回数の番号で区別する。付いていなければ処理せずに知らせる |
| ファイル名の番号が管理システムに無い | 処理せずにアドバイザーに知らせる |
| 求職者が面談中に録音をやめてほしいと言った | その時点で録音を止め、その録音は使わずに消す。手で記録する |
4行目の話者の見分けの崩れは、対面の面談で起きやすくなります。 ICレコーダーを机の端に置くと、近いほうの声だけが大きく入ります。レコーダーを2人の真ん中に置くことを、面談の手順に書いておきます。
記録を残す
- 面談記録の最終版は、求職者の管理システムに残る
- 録音と文字の記録は、管理システムに入れたことを確かめたら消す。消した日時を残す
- 確認用の表の下書きは、管理システムに入れたら消す
- アドバイザーが直した項目の記録(項目の種類と、直した理由の区分だけ。内容は残さない)
- 処理の記録(ファイル名、処理の日時、文字起こしと下書きの成否)
- 同意の記録は管理システムの求職者の欄に残す
直した項目の記録で、AIの誤りの型が分かります。 年収の取り違えが多いなら、話者の見分けか、指示の書き方を見直します。内容を残さないのは、直した記録の中に求職者の情報が残らないようにするためです。
04実装レベルの3段階
最小構成では、文字の記録を作る手間が残ります。 指示を確かめるための段階です。 半自動化で、1件30分が15分程度になります。 下書きは出ますが、録音のどこを聞けばよいかを探す手間と、録音の後始末が手作業で残ります。本格構成で9分になり、この段階が本記事の想定です。 差が大きいのは、時刻から録音を再生して確かめられることで、聞き直しの時間が短くなるからです。 段階を飛ばさないでください。 半自動化の下書きを1か月見ると、話者の見分けがどのくらい崩れるか、どの項目の聞き違いが多いかが先に分かります。
05工数削減シミュレーション
導入後 400件 × 9分 ÷ 60 = 60 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- キャリアアドバイザーが求職者と1時間前後の面談を毎日行い、面談のあとに記録を求職者の管理システムへ手で入れている人材紹介会社。面談記録の書き方がアドバイザーごとに違い、求人との照合や担当の交代で記録が使いにくい場合。面談を録音することについて求職者の同意を取る手順を作れる場合。OpenAI API を社内の決まりのもとで使える場合。
- 面談の件数が少なく、アドバイザーが面談中にその場で記録を入れ終えられる場合。求職者が録音に同意しないことが多い場合(その面談は従来どおり手で記録する)。なお、求職者に求人を紹介するかどうか、推薦するかどうかの判断は、この構成では代替できません。
07最小構成で試す方法
- 録音に同意を得た社内の練習の面談(アドバイザーどうしで、求職者の役を立てたもの)を3本録る
- 求職者の役には、介護で転居できない、年収の下限と目安が違う、入社の時期が決まっていないという設定を入れてもらう
- ChatGPT の画面に、別の方法で文字にした面談の記録を貼り、第7章の指示の例で下書きを作らせる
- 下書きを、求職者の役の設定と突き合わせる
- 介護のことが記録から外れ、「転居を伴う勤務は不可」が残っているかを見る
最初の試しに実際の求職者の面談は使いません。 練習の面談で、指示が意図どおりに働くかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 介護の理由が外れ、条件だけが残った | API での文字起こしと下書きの作成に進む |
| 介護の話ごと条件まで消えた | 指示に例を足す。構成は有効 |
| アドバイザーの言った相場が希望年収になった | 話者を分けることが前提。 文字の記録に話者が入っているかを見直す |
2行目は、例の書き方で直ります。 条件と理由を分ける例を、勤務地・働き方・入社時期のそれぞれで1つずつ足すと、取りこぼしが減ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| アドバイザーの言った相場が希望として記録される | 話者を分けるモデルを使い、声の見本を渡す |
| 介護や信仰の話が理由ごと記録に残る | 「条件だけを書く」を例つきで指示する |
| 条件まで消えて照合に使えない | 同じく例で示す。excluded の時刻で確かめる |
| 会社名・技術の名前を聞き違える | 話者を分けるモデルは言葉の手がかりを渡せない。人が確かめる |
| 録音が25MBを超えて止まる | 音声だけにして圧縮し、分けて時刻を補正する |
| 分けたファイルの時刻がずれる | それまでの長さを足して全体の時刻にそろえる |
| 録音が残り続ける | 管理システムに入れたら消す |
| 下書きがそのまま管理システムに入る | 書き込みは人が行う |
| 同意を取らずに録音する | 面談の最初の説明を手順にし、同意を記録する |
上の3行が、この構成の失敗のほとんどです。 どれも、誰が言ったか、何のために言ったかを取り違えることから来ています。話者を分けることと、条件と理由を分けることの2つで防ぎます。
下の3行も、同じくらい早く効いてきます。 便利なので録音を残したくなりますが、録音には記録してはならない話も残っています。 記録ができたら消す決まりを、最初から作っておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 求職者の職務経歴、現在の年収、希望条件、転職の理由、そして面談の中で求職者が話した家族・健康・信仰などの話を含む録音です。
- 録音と利用の目的を説明し、同意を得る … 職業安定法では、求職者の個人情報は業務の目的の達成に必要な範囲内で、目的を明らかにして収集することとされ、指針では、目的を求職者が一般的かつ合理的に想定できる程度に具体的に示すこととされています。「面談記録を作るために録音し、記録を作ったら消す」と具体的に伝えます
- 記録してはならない事項を記録に入れない … 指針は、人種、民族、社会的身分、門地、本籍、出生地その他社会的差別の原因となるおそれのある事項、思想及び信条、労働組合への加入状況を収集してはならないとしています。録音に入っていても、記録には入れません
- 同意を紹介の条件にしない … 指針では、必要な範囲を超える同意を職業紹介の条件にしないこととされています。録音に同意しない求職者も、同じように紹介を受けられます
- 要らなくなった録音を消す … 指針は、収集目的に照らして保管の必要がなくなった個人情報を破棄・削除する措置を求めています
- API のデータの扱いを確かめる … 公式の案内では、API に送ったデータは既定ではモデルの学習に使われず、不正利用の監視のためのログは最大30日保持されるとされています。社内の決まりに照らして確かめておきます
- 紹介と推薦の判断は人が行う … AIの下書きは記録の材料で、求人を紹介するか、推薦するかはアドバイザーが決めます
誤りが起きた場合のリスクは、聞き違えた条件で照合して求職者に合わない求人を紹介することと、記録してはならない事項を記録に残すことの2つです。 前者は時刻を付けた確認で、後者は条件と理由を分ける指示と excluded の確認で防ぎます。
10まず何から始めるか
1週目:2つの一覧を作る
管理システムの項目と値の選び方を一覧にし、記録してはならない事項と、条件と理由を分ける例をチームで書き出します。面談でよく聞く話から集めます。
2週目:練習の面談で試す
アドバイザーどうしで練習の面談を3本録り、第7章の指示の例で下書きを作ります。介護や信仰の理由が外れて、条件だけが残るかを最優先で見ます。
3週目:同意の手順を決める
面談の最初に録音と利用の目的を説明する言い方をそろえ、同意の有無を管理システムに記録する欄を足します。アドバイザーの声の見本を録ります。
4週目:文字起こしと下書きをつなぐ
Python のスクリプトで、録音を話者を分けて文字にし、下書きを確認用の表に書き出すところまで作ります。アドバイザー2名で、実際の面談で使い始めます。
2か月目: 定期実行と、時刻から録音を再生できる表と、録音の削除を足し、チーム全員で使います。直した項目の記録を毎週見ます。3か月目以降: 1件30分が何分になったかを実測します。担当が替わったときに、新しい担当が求職者に同じことを聞き直さずに済むようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
ファイルが25MBまでで、mp3・mp4・mpeg・mpga・m4a・wav・webm に対応すること。大きい録音は圧縮するか25MB以下に分けること。gpt-4o-transcribe-diarize で diarized_json を指定すると話者・開始・終了が付くこと。既知の話者の見本を最大4つ、2〜10秒で渡せること。30秒を超える録音で chunking_strategy を設定すること。話者を分けるモデルが prompt に対応せず、prompt・keywords は gpt-transcribe 等で使えること | OpenAI: Speech to text | 2026-10-13 |
Responses API で text.format に type: "json_schema" と strict: true を指定すること。拒否がスキーマに合わない形で返り、途中で切れたものは status が incomplete になること | OpenAI: Structured model outputs | 2026-10-13 |
| API のデータが既定ではモデルの学習に使われないこと。不正利用の監視のログが最大30日保持されること | OpenAI: Data controls in the OpenAI platform | 2026-10-13 |
| 求職者等の個人情報の収集の目的を一般的かつ合理的に想定できる程度に具体的に明示すること。人種・民族・社会的身分・門地・本籍・出生地その他社会的差別の原因となるおそれのある事項、思想及び信条、労働組合への加入状況を収集してはならないこと。必要な範囲を超える同意を職業紹介の条件としないこと。保管の必要がなくなった個人情報を破棄・削除する措置(第五、最終改正 令和6年厚生労働省告示第318号) | 厚生労働省: 職業紹介事業者、求人者、労働者の募集を行う者…等がその責務等に関して適切に対処するための指針(PDF) | 2026-10-13 |
| 職業紹介事業者等が求職者等の個人情報を業務の目的の達成に必要な範囲内で、目的を明らかにして収集し、その範囲内で保管・使用すること、適正に管理する措置を講じること(第5条の5) | e-Gov 法令API: 職業安定法 | 2026-10-13 |
面談で何を記録し、何を記録しないかは、自社の個人情報の適正管理の規程に沿って、キャリアアドバイザーのチームと管理の責任者で決めてください。 本記事は製品と官公庁の公開資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1380)についてのご相談はこちらから。
