Media > AI活用ユースケース > 採用 > 社員インタビューの録音から、採用広報の記事と募集要項の下書きを作る

社員インタビューの録音から、採用広報の記事と募集要項の下書きを作る

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

社員インタビューの録音の文字起こしを入力に、採用広報の記事の下書きと、募集要項の魅力づけの文面を作ります。担当者の作業は、録音を聞き直して一から書くことから、下書きを本人の発言と突き合わせることに変わります。

サマリー
利用ツール
Azure AI/ChatGPT/Claude/Gemini/Make/Power Automate/Zapier
対象業界
IT・SaaS/人材/介護/教育/飲食
対象部門
採用
対象業務
書類作成/記録・議事録作成
主な課題
人手が足りない/属人化している/書類作成に時間がかかる
AIで行う処理
要約
主な効果
品質標準化/属人化解消/工数削減
導入難易度
★☆☆☆☆
実装レベル
最小構成
費用感
SaaS追加(小)
人間の確認
必須
現在工数
18h/月
AI導入後
7h/月
想定削減
61%
年間削減
132h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. インタビューする社員を決め、拠点長の了解を取り、日程を押さえる
  2. 質問票を用意し、40分前後のインタビューを行って録音する
  3. 録音を頭から聞き直し、使えそうな発言を Word に書き出す
  4. 書き出したメモを並べ替えて、記事の流れを決める
  5. 本文を書く(導入、入社のきっかけ、1日の仕事、大変だったこと、これから)
  6. 顧客名や未公表の数値が入っていないかを自分で読み返す
  7. 本人に原稿を送って確認してもらい、返ってきた修正を反映する
  8. 拠点長と人事部長の確認を取り、CMS に入れて公開する
  9. 募集要項にも反映する(実際には反映されないことが多い)
導入後(After)
  1. インタビューを行い、録音する(ここは変わらない)
  2. 録音ファイルを指定のフォルダに置く
  3. 自動文字起こしを作る(話者を分け、タイムスタンプを付ける)
  4. 自動発言の単位に切り、1つずつ発言番号を振る
  5. 自動顧客名・利用者名の辞書で、該当する語を伏せ字に置き換える
  6. 自動構成案を作り、各段落の下書きにもとになった発言番号を付ける
  7. 自動引用としてそのまま使える発言を抜き出す
  8. 自動募集要項の魅力づけの文面を作る(記事に出てきた具体的な言葉を使う)
  9. 自動伏せるべき箇所と、発言に裏付けのない記述を一覧にする
  10. 自動本文の数値・固有名詞が、発言か台帳にあるかを照合する
  11. 担当者が発言番号をたどって原文と突き合わせる
  12. 本人に見せて確認してもらい、修正を反映する
  13. 拠点長と人事部長の確認を取り、公開して募集要項を直す
各工程の詳しい説明を読む
  1. インタビューする社員を決め、拠点長の了解を取り、日程を押さえる
  2. 質問票を用意し、40分前後のインタビューを行って録音する
  3. 録音を頭から聞き直し、使えそうな発言を Word に書き出す
  4. 書き出したメモを並べ替えて、記事の流れを決める
  5. 本文を書く(導入、入社のきっかけ、1日の仕事、大変だったこと、これから)
  6. 顧客名や未公表の数値が入っていないかを自分で読み返す
  7. 本人に原稿を送って確認してもらい、返ってきた修正を反映する
  8. 拠点長と人事部長の確認を取り、CMS に入れて公開する
  9. 募集要項にも反映する(実際には反映されないことが多い)

問題は4つあります。

(a)聞き直しが終わらない。 40分の録音を「使えそうな発言を拾いながら」聞くと、止めたり戻したりするので実時間の1.5倍前後かかります。書き出しまで含めて60分で、文章としては何も残りません。

(b)本人が言っていないことが入る。 メモから書く工程で、話の流れをつなぐ補いが入ります。「たぶんこういう気持ちだっただろう」が自然な日本語に収まるため、書いた本人も、録音にあった言葉か自分の推測か区別できません。

(c)盛ってしまう。 採用広報は「来てほしい」という動機で書きます。「最初はきつかったですけど、3か月くらいで慣れました」が、「未経験でも安心して始められます」に変わります。 嘘ではありませんが、本人の言い方ではありません。

(d)記事と募集要項がつながらない。 別々の作業なので、記事で出てきた具体的な言葉が募集要項に移りません。 応募者が最初に読むのは募集要項なので、いちばん伝わる言葉がいちばん読まれない場所に置かれています。

  1. 【人】 インタビューを行い、録音する(ここは変わらない)
  2. 【人】 録音ファイルを指定のフォルダに置く
  3. 【自動】 文字起こしを作る(話者を分け、タイムスタンプを付ける)
  4. 【自動】 発言の単位に切り、1つずつ発言番号を振る
  5. 【自動】 顧客名・利用者名の辞書で、該当する語を伏せ字に置き換える
  6. 【自動】 構成案を作り、各段落の下書きにもとになった発言番号を付ける
  7. 【自動】 引用としてそのまま使える発言を抜き出す
  8. 【自動】 募集要項の魅力づけの文面を作る(記事に出てきた具体的な言葉を使う)
  9. 【自動】 伏せるべき箇所と、発言に裏付けのない記述を一覧にする
  10. 【自動】 本文の数値・固有名詞が、発言か台帳にあるかを照合する
  11. 【人】 担当者が発言番号をたどって原文と突き合わせる
  12. 【人】 本人に見せて確認してもらい、修正を反映する
  13. 【人】 拠点長と人事部長の確認を取り、公開して募集要項を直す

自動化されるのは「文字にする」「並べる」「書く」で、残るのは「確かめる」と「決める」です。

11番目が、この設計でいちばん大事な工程です。 各段落に発言番号が付いているので、「この一文は録音の何分何秒の、どの発言から来たのか」を1件ずつ開けます。 文章だけを渡されると、確認は録音の聞き直しと同じになり、削減した60分が戻ります。

12番目を省かないでください。 本人確認は、事実の確認であると同時に「自分の言い方かどうか」の確認です。(c)の誇張は、ここでしか止まりません。 そして8番目が(d)を解きます。 記事と募集要項を同じ材料から作るので、「なぜこの表現なのか」をあとからたどれます。

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

構成図
インタビューの録音(スマートフォン / オンライン会議)
   │
   ▼【トリガー】指定フォルダにファイルが置かれたこと
文字起こし(話者を分ける・タイムスタンプ付き)
   │
   ▼
発言の単位に切る ──▶ 発言番号(q01, q02, …)を振る
   ├──▶ 顧客名・利用者名の辞書で伏せ字に置換
   ├──▶ 公表してよい数値の台帳を参照
   └──▶ 現行の募集要項を参照
   │
   ▼
構成案 + 下書き + 引用 + 募集要項の文面
   (各段落に「もとになった発言番号」を付ける)
   │
   ▼
機械で照合(本文の数値・固有名詞が発言か台帳にあるか)
   │
   ▼
【担当者が発言番号をたどって突き合わせる】
   ▼
【本人に見せて直してもらう】──▶【拠点長・人事部長の確認】
   ▼
採用サイトへ公開 + 募集要項へ反映
役割想定する製品代替候補
処理エンジンAzure AI SpeechMicrosoft Teams の文字起こし
処理OpenAI APIClaude API、Gemini API
連携Power AutomateMake、Zapier

原稿は SharePoint、公開は CMS と求人媒体の管理画面で、足すのは文字起こしと生成AIの利用料だけです。

この構成の土台は、録音を話者ごとに分けて文字にするところです。 Azure AI Speech のバッチ文字起こしは、ストレージに置いた音声をまとめて文字起こしし、結果を非同期で受け取る仕組みです。 複数のファイルを渡すか、Azure Blob Storage コンテナーを指します(Shared Access Signature のURIも使えます)。ジョブはベストエフォートで動き、混み合う時間帯には処理開始まで最大30分、完了まで最大24時間かかる場合があるとされています。「直後に原稿が出てくる」前提で組むと破綻します。

話者を分ける設定が、この用途では必須です。 話者が2人なら diarizationEnabledtrue にするだけで足り、3人以上なら diarization プロパティで人数の最小と最大を指定します。文字起こしのファイルには、フレーズごとに話者の情報が入ります。 なおこの設定では1ファイル240分までで、保持期間を決める timeToLiveHours最短6時間・最長31日(推奨48時間)です。

もう一方の選択肢が、Microsoft Teams の文字起こしです。オンラインのインタビューなら、こちらのほうが手数が少なくなります。 会議中の発言をリアルタイムで文字にし、会議後にタイムスタンプと話者の情報とともに参照できます。 日本語(日本)に対応し、レコーディングとともに OneDrive と SharePoint に保存されます。ただし開催者ごと・ユーザーごとのポリシー設定で、開催者と、文字起こしを開始するユーザーの両方がオンにしている必要があります-AllowTranscription)。ライブキャプションは保存されず、記録の代わりにはできません。

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

Step1

処理の起点を決める

指定フォルダに録音ファイルが置かれたことを起点にします。 担当者が録音を SharePoint の「インタビュー録音」フォルダに入れる。それだけです。オンライン会議ならTeams の文字起こしの保存をトリガーにできます。 週に1〜2本で日程も不定なので、時刻では動かしません。

直後に人が入力することが1つあります。相手(氏名・拠点・職種・入社年)と用途(記事だけか、募集要項の更新も含むか)です。 ファイル名の規則は必ず崩れるので、録音と同じフォルダに1件1行の管理表を置きます。

Step2

入力データを集める

データ中身取得元
録音インタビューの音声(40分前後)SharePoint の指定フォルダ
相手と質問票氏名、拠点、職種、入社年、公開してよい範囲管理表と共通フォルダ
過去記事の型見出しの構成、してはいけない表現の一覧共通フォルダ
公表してよい数値の台帳従業員数、拠点数、平均勤続年数など公表済みの値SharePoint
伏せる語の辞書利用者名、顧客名、取引先名、未公表の拠点名SharePoint
現行の募集要項職種ごとの現行版(仕事内容、応募条件、魅力づけ欄)採用管理システム

公表してよい数値の台帳が無いと、数値の扱いが担当者の記憶頼りになります。 「平均勤続年数は公開していたか」を毎回思い出す運用は必ず崩れます。公表済みの値だけを並べた表を1枚作り、そこに無い数値は書かせない、と決めます。

伏せる語の辞書は、介護や医療では特に重要です。 インタビューでは利用者さんの具体的な話が自然に出ます。本人にとって仕事のいちばん大事な部分ですが、そのまま公開できる情報ではありません。 型に入れる「してはいけない表現の一覧」は、(c)を止める土台です。

Step3

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

録音: Power Automate で SharePoint のフォルダを監視し、ファイルが置かれたら Azure Blob Storage に写して、バッチ文字起こしのジョブを作ります。

{
  "contentUrls": ["https://<storage>.blob.core.windows.net/<c>/interview-0413.wav?<SAS>"],
  "locale": "ja-JP",
  "displayName": "2026-04-13 訪問介護 Aさん",
  "properties": {
    "diarizationEnabled": true,
    "wordLevelTimestampsEnabled": true,
    "timeToLiveHours": 48,
    "destinationContainerUrl": "https://<storage>.blob.core.windows.net/<r>?<SAS>"
  }
}

destinationContainerUrlproperties の中に書いている点に注意してください。 ルートに置くと無視されます。完了は Webhook(transcriptionSucceeded)で受けます。問い合わせる形でも10分ごとで十分です。

Teams の文字起こしを使う場合: OneDrive / SharePoint への保存をトリガーにします。この場合、Azure AI Speech の工程は不要です。 台帳類は SharePoint リストから読みます。公表してよい数値も伏せる語も運用しながら増えるので、スクリプトの中に書き込まないでください。

Step4

AIへ渡す前に整形する

  1. 話者の割り当て … 話者の情報を「聞き手」と「本人」に対応づけます。冒頭の数発言で決まるので、1回だけ人が確認します
  2. 発言の単位に切る … 話者が変わるところで切り q01 q02 と番号を振ります。タイムスタンプも一緒に持たせます
  3. 伏せ字への置換 … 辞書にある語を置き換え、どの発言のどの語だったかを記録に残します
  4. 数値の抜き出し … 発言の数値を公表値の台帳と照合し、無い数値に印を付けます
  5. 整理と分割 … 相づちを除いた読みやすい版を作り、原文は別に残します(引用は原文から)。40分で1万字前後になるので、質問票の区切りで分けます

4番目を省かないでください。 「うちの拠点、去年は3人辞めました」のような発言は、本人にとっては世間話でも、公開すると未公表の数値になります。

Step5

AIに処理させる

AIにさせるのは、そろえた材料を記事の日本語にすることと、その根拠を示すことだけです。 事実を補うことも、数値を計算することも、この人が良い社員かを判断することもさせません。

処理内容
構成案づくり見出しと伝えたいことを並べる。「大変だったこと」の節を必ず入れる
本文の下書き段落ごとに書き、もとになった発言番号を必ず添える
引用の抜き出しそのまま使える発言を、原文のまま抜き出す
募集要項の文面記事に出てきた具体的な言葉で、魅力づけの欄の案を作る
伏せる箇所と裏付けの申し送り辞書で拾えなかった個人情報と、発言に基づかない記述を列挙する

2行目がこの設計の中心です。 段落ごとに「この段落は q07q09 に基づく」と出させます。発言番号を付けられない段落は、書いてはいけない段落です。 ただし話をつなぐ文は必要なので、段落に3つの種類を持たせます。quote は発言をほぼそのまま使う段落、paraphrase は発言にある内容だけを言い換えた段落、bridge はつなぎの文で、bridge には固有名詞と数値と評価語を書かせません。

この縛りが効きます。 つなぎの文に「充実した研修体制のもと」のような評価語が入ると、そこが誇張の入口です。「大変だったこと」の節を必須にする理由も同じで、大変な部分が本人の言葉で書いてある記事のほうが信用されます。

Step6

指示内容を固定する

社員インタビューの文字起こしから、採用広報の記事の構成案と本文の下書き、
および募集要項の魅力づけの文面を作ってください。原稿は担当者が確認し、
本人に見せて直してもらってから公開します。本人が読んで
「自分はこう言っていない」と感じる文が1つでもあれば失敗です。

【厳守:言っていないことを書かない】
- 本文の段落はすべて quotes のいずれかに基づいて書き、もとになった発言の
  quote_id を based_on に必ず列挙してください。
- based_on を空にできるのは type が "bridge" の段落だけです。
  "bridge" には固有名詞、数値、評価をあらわす語を書かないでください。
- 渡した発言に無い気持ち、理由、経緯を補わないでください(「〜だったから
  だろう」など)。足りない場合は unsupported_claims に理由を書いてください。
- 数値は quotes か公表値の台帳にある値だけを使い、概算に言い換えないで
  ください。台帳に無い数値は、発言にあっても書かないでください。
- 制度、給与、勤務時間、研修は、渡した募集要項と台帳の記述だけを使い、
  食い違う場合は needs_human_attention に理由を書いてください。

【厳守:盛らない】
- 形容詞と評価をあらわす語は、本人が発言で使った語だけを使い、
  「慣れました」を「安心です」に言い換えないでください。
- 次を使わないでください。アットホーム、風通しがよい、誰でも活躍できる、
  未経験でも安心、やりがいしかない、圧倒的、成長できる環境、家族のような/
  最上級と全称の表現(最も、すべて、誰もが、常に、必ず)/他社との比較
- 構成案に「大変だったこと」にあたる節を必ず1つ入れ、本文でも書いてください。
  本人が語った困難を、克服の話だけで締めないでください。

【厳守:伏せる】
- 次は本文にも引用にも使わず、masked_items に記録してください。
  利用者・顧客・取引先の氏名や個人が特定できる状況の描写/未公表の社内の
  数値(離職率、拠点別の人数、給与額、残業時間)/家族・健康・病歴の話/
  同僚を名指しした評価/未公表の事業計画や拠点の開設

【募集要項】記事に出てきた具体的な言葉で魅力づけの欄の案を作り、jd_phrases
  にも based_on を付けてください。条件面の記述は変えないでください。

{interviewee}|{quotes}|{questions}|{public_figures}|{current_jd}|{style_guide}

「発言番号を必ず添えさせる」が、いちばん効く制約です。 根拠を示す義務があると、根拠の無い文を書きにくくなります。何より、担当者の確認が速くなります。

禁止する表現を名指しで並べている点も重要です。 「誇張しないで」では効きません。実際に出てくる言い回しを列挙するほうが確実です。

Step7

出力形式を固定する

{
  "interview_id": "", "title_candidates": ["", "", ""],
  "outline": [{ "section_id": "s1", "heading": "", "is_difficulty": false }],
  "quotes": [{ "quote_id": "q01", "speaker": "本人", "timestamp": "00:12:34", "text": "" }],
  "draft": [{ "section_id": "s1", "paragraph_id": "p01", "type": "quote",
              "text": "", "based_on": ["q01", "q03"] }],
  "jd_phrases": [{ "field": "仕事内容", "text": "", "based_on": ["q05"] }],
  "masked_items": [{ "kind": "利用者名", "quote_id": "q07", "replacement": "" }],
  "unsupported_claims": [{ "paragraph_id": "", "text": "", "reason": "" }],
  "needs_human_attention": { "flag": false, "reason": "" }
}

構造化する理由は2つあります。1つ目は、突き合わせを速くするためです。 based_on があると、担当者は下書きの1段落を読みながら quotes の該当番号を開き、タイムスタンプで録音のその場所に飛べますjd_phrases も同じようにたどれます)。

2つ目は、機械で検査できるようにするためです。 based_on が空で typebridge でない段落、bridge なのに数値が入る段落、quotes に無い固有名詞が出る段落を、プログラムで検知して担当者に先に見せられます。 プロンプトの制約は必ずすり抜けるので、出力の側でも見ます。

形式を確実に守らせる仕組みも使えます。 OpenAI API の Structured Outputs は、公式の案内で、JSON モードが「妥当な JSON であること」を保証するのに対し、「スキーマに従うこと」まで保証すると説明されています。textformattype: "json_schema"、スキーマ名、スキーマ本体、strict: true を指定すると、渡したスキーマに厳密に従うことが保証されます。 スキーマ側ではすべてのプロパティを required に挙げ、各オブジェクトに additionalProperties: false を指定し、省略してよい項目は型を配列にして null を許します。拒否されると応答は refusal を含む形になるので、受け取る側で判定が要ります。

Step8

システムへ連携する

つなぎ先方式内容
SharePoint の録音フォルダと Azure Blob StoragePower Automateトリガー、音声の受け渡し
Azure AI Speechバッチ文字起こし REST API文字起こしと話者の分離
SharePoint リストと原稿フォルダPower Automate台帳の参照、下書きと根拠の保存
生成AIサービスAPI構成案・下書き・募集要項の文面の作成
採用サイトの CMS / 求人媒体自動化しない担当者が手で入れる

最後の行を自動化しません。 月6件で自動投入を作り込む意味はなく、未確認の原稿が公開される道を作るほうが危険です。

Step9

人が確認する

全件、3段階で人が確認します。確認せずに公開する設計にしません。

第1段階:担当者の突き合わせ。 unsupported_claimsneeds_human_attention を先に読み、based_on が空の段落と bridge なのに数値のある段落を検査結果から拾います。masked_items を確認し、気になった段落だけ録音を聞きます。

第2段階:本人確認(掲載前に必ず行う)。 本人に下書きを見せ、「事実として違うところはないか」「自分の言い方と違うところはないか」「実名(または匿名)で公開してよいか」の3つを聞きます。

2つ目を必ず聞いてください。 事実だけを聞くと、本人は「まあ、そういうことです」と流します。「これは自分の言葉ですか」と聞くと、(c)の誇張がここで止まります。 本人が直した箇所は、直す前と後の両方を記録に残します。

第3段階:拠点長と人事部長の確認。 制度の記述が現行と合っているか、公表していない情報が残っていないかを見ます。両者が気づかない誤りは、ここで止めます。

確認の目標は1件70分(下書きの確認25分+突き合わせ20分+本人確認の反映25分)です。

Step10

例外に対処する

起きること対応
話者の分離に失敗し、聞き手の発言が本人の言葉になる冒頭の数発言で人が確認する
音質が悪く文字起こしが崩れる「聞き取れず」とし、推測で埋めさせない
発言に無い内容や台帳に無い数値が出る機械で照合し、要確認として上に出す
利用者の具体的な話が中心の発言その発言ごと使わない判断を人が行う
本人が実名公開・公開を断った匿名にするか公開しない。 匿名でも拠点名や担当業務を見直す
本人の説明が現行の制度と食い違う人事が制度の側を確認。本文で辻褄を合わせない
応答が JSON として読めない、拒否が返る再実行。壊れた出力を原稿にしない
録音が長い/遅れる1ファイル240分まで。最大24時間かかる前提で締め切りを引く

最初の行を軽く見ないでください。 話者が入れ替わった記事は、日本語として自然に読めてしまいます。

Step11

記録を残す

  • 録音ファイルと削除の記録、文字起こしの原文(発言番号とタイムスタンプ付き)
  • 伏せ字に置き換えた箇所の一覧(どの発言の、どの語を、何に置き換えたか)
  • AIに渡した材料(台帳・募集要項・一覧の版)と、返ってきた出力と検査結果
  • 担当者が直した箇所と、本人が直した箇所(直す前と後の両方)
  • 本人確認の記録(いつ、誰に見せ、何を直し、公開に同意したか)
  • 公開した版と公開日、募集要項に反映した箇所

本人が直した箇所を集めると、自社の誇張の癖が見えます。 「慣れました」を「安心です」に言い換える直しが続くなら、それは自社の採用広報が長年やってきた言い換えです。一覧に足せば、次からは出なくなります。 本人確認の記録は、同意の証拠にもなります。

04実装レベルの3段階

最小構成:文字起こしを手で用意し、AIの画面に貼って下書きを作らせる / 構成案と下書き、募集要項の文面
半自動化:上記+自動文字起こし+発言番号の付与+伏せ字の置換+機械の検査 / 文字起こしから突き合わせの準備まで
本格構成:上記+採用管理システムとの連携+記事と募集要項の対応づけ管理 / 公開・本人確認以外のほぼすべて

この記事が推すのは最小構成です。理由は件数です。 月6件では、半自動まで作り込んでも1件15分前後しか変わらず、月1.5時間程度の差にしかなりません。 仕組みを維持する手間のほうが大きくなります。 最小構成でも、180分は70分前後まで下がります。 いちばん重い60分の聞き直しは、文字起こしさえあれば消えるからです。半自動に進む目安は月15本を超えたとき、本格構成は「どの発言がどの募集要項の根拠か」を管理する必要が出てからで十分です。

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

前提値(モデル条件)
対象人数
2 名
月間件数
6 件
1件あたり現在時間
180 分
1件あたり導入後時間
70 分
現在  6件 × 180分 ÷ 60 = 18 時間/月
導入後 6件 × 70分 ÷ 60 = 7 時間/月
月間削減時間
11h
削減率
61%
年間削減時間
132h
年間金額換算(時間単価3,500円)
46万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

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

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

AI活用について相談する

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

向いている
  1. 採用サイトに「社員の声」を継続して載せていて、月に数本の記事を採用担当が兼務で書いている企業。インタビューは人が行い、書く作業だけが滞っている場合。募集要項が何年も更新されておらず、記事の言葉を反映したい場合。
向いていない
  1. インタビューを録音していない企業。メモだけでは成立せず、先に録音の許可を取る工程が必要です。記事を年に1〜2本しか作らない企業では、台帳を整える手間が回収できません。動画主体の採用広報にも向きません。

07最小構成で試す方法

  1. 直近の録音を1本選ぶ(本人に「試しに使う」ことを伝えて了解を取る)
  2. その録音を文字起こしにかける(Teams で録った回があればそれを使う)
  3. 発言の単位に切り、手で q01 から番号を振る(40分なら60〜100個)
  4. 公表してよい数値を5〜10個、紙に書き出す
  5. AIの画面に、発言一覧・質問票・公表値・現行の募集要項を貼り付ける
  6. 第7章のプロンプトから【厳守】の3つをそのまま貼って指示する
  7. 各段落について、based_on の発言番号を開いて原文と比べる

7番目を必ずやってください。 「この段落の根拠になっている発言が、実際には違うことを言っている」という例が必ず1つか2つ出ます。それを見つけることが、この段階の成果です。

下書きの状態判断
ほとんどの段落が原文と合っているこの構成は有効。 自動化に進む
発言に無い気持ちや理由が入る厳守事項を強め、出力の側でも検査する
盛った表現が出る過去記事から言い回しを拾い、一覧に足す
文字起こしが崩れて材料にならない録音の取り方が先。 マイクの位置と場所で変わる

最後の行は珍しくありません。 休憩室で録った回は周囲の音で崩れます。録音の問題です。

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

問題対策
話者の分離が外れ、聞き手の発言が本人の言葉になる冒頭の数発言で人が確認する
発言番号が無く、突き合わせができない番号とタイムスタンプを持たせる。無いと聞き直しに戻る
based_on は付いているが、発言が別のことを言っている気になった段落を1つずつ開く
つなぎの文に評価語が入るbridge に書かせない。出力の側でも検知する
台帳に無い数値が出る台帳と照合する。「去年は3人辞めた」は必ず出る
利用者の話が特定できる形で残る伏せ字では足りない。状況の描写ごと使わない
盛った表現が消えない「誇張しないで」では効かない。言い回しを列挙する
本人確認が形だけになる事実ではなく「自分の言い方か」を聞く。 克服の話だけで締めさせない
実名公開を断られたあとの処理が抜ける拠点名と担当業務の組み合わせでも特定できる
録音を消し忘れる保持期間を決めて timeToLiveHours に反映する

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

この構成で扱うデータ: 社員本人の氏名・所属・職歴・仕事への考え、話に出てくる利用者や顧客、社内の未公表の数値、同僚への言及。個人の語りがそのまま素材になる点が、他の業務と決定的に違います。

  1. 録音の許可を先に取る … 録音・文字起こし・外部の生成AIサービスに渡すことを、インタビューの前に本人に伝えて同意を得ます。 「記事を書くために録音します」だけでは、外部への送信をカバーできません
  2. 利用者の情報を外に出さない … 介護や医療では、話のいちばん大事な部分に利用者の話が入ります。氏名や、個人が特定できる状況の描写は要配慮個人情報にあたり得ます。 伏せ字にしたうえで、伏せても特定できる発言は使わない判断を人が行ってください
  3. 未公表の数値をAIに判断させない公表済みの値だけを並べた台帳を渡し、そこに無い数値は書かせない設計にします
  4. 掲載前の本人確認を外さない … 品質のための工程ではなく、本人の言葉を本人のものとして扱うための工程です。 採用広報の記事は、社内の人がいちばんよく読みます
  5. 誇張を止める仕組みを運用に埋める … 本人が直した箇所を記録し、入社1年以内に辞めた人が「聞いていた話と違った」と挙げた点を一覧に足します
  6. 外部AIへ渡す範囲と権限 … 伏せ字への置換を先に済ませ、氏名は下書きの完成後に機械で差し込みます。 文字起こしと下書きは採用チームと本人だけが見られる場所に置き、入力を学習に使わないことが保証されるサービスを選びます。 録音の保持期間も設定に反映します

誤りが起きた場合のリスクは、本人が言っていないことを本人の言葉として公開することと、利用者の情報を外に出すことです。 どちらも文章の品質ではなく、発言番号の突き合わせと伏せる語の辞書と本人確認を、運用に組み込めているかの問題です。

10まず何から始めるか

1週目:台帳を3枚作る

公表してよい数値の台帳、伏せる語の辞書、してはいけない表現の一覧。半日から1日で作れます。 一覧は、過去の記事を5本読んで盛っていると感じた言い回しを抜き出します。この段階でAIはまだ使いません。

2週目:録音の許可の取り方を決める

インタビューの冒頭で何を伝えるかを文面として決めます。「録音する」「文字起こしにかける」「外部のサービスを使う」「掲載前に見てもらう」の4つです。 同意を記録に残す形も決めます。

3〜4週目:1本試し、聞き方を決める

直近の録音1本で第8章の手順を行います。発言番号をたどって原文と比べる作業を、必ず全段落でやってください。 ここで見つかる食い違いが、何を縛るべきかを教えてくれます。そのうえで、本人に聞く3つ(「事実として違うところ」「自分の言い方と違うところ」「公開してよいか」)を毎回同じ文面にします。2つ目を必ず入れてください。

2か月目: 4本回して180分が何分になるかを実測します。本人が直した箇所を記録し、同じ直しが2本以上で出たら一覧に足します。

3か月目以降: 募集要項の見直しも、記事と同じ材料から行う形に切り替えます。記事の言葉が魅力づけの欄に移り、根拠が発言番号で残った時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-09-22/最終更新:2026-09-22
確認した内容情報源確認日
Structured Outputs が、妥当な JSON であることに加えてスキーマへの適合まで保証すること。textformattype: "json_schema"、スキーマ名、スキーマ本体、strict: true を指定すること。すべてのプロパティを required に挙げ、各オブジェクトに additionalProperties: false を指定すること。省略可能な項目は型を配列にして null を許すこと。拒否されると refusal を含む形になることOpenAI API ガイド: Structured model outputs2026-09-22
Teams の文字起こしが発言内容をリアルタイムで記録し、会議後にタイムスタンプと話者の情報とともに参照できること。ライブキャプションは保存されないこと。文字起こしがレコーディングとともに OneDrive および SharePoint に保存されること。開催者ごと・ユーザーごとのポリシー設定で、開催者と文字起こしを開始するユーザーの両方がオンにする必要があり、-AllowTranscription で管理することMicrosoft Learn: Teams 会議の文字起こしとキャプションを管理する2026-09-22
バッチ文字起こしが、ストレージ内の音声をまとめて文字起こしし、結果を非同期で取得する仕組みであること。複数のファイルを渡すか Azure Blob Storage コンテナーを指し、Shared Access Signature(SAS)URI も使えること。ピーク時には処理開始まで最大30分、完了まで最大24時間かかる場合があり、状態の確認は10分ごとで十分であることMicrosoft Learn: バッチ文字起こしの概要2026-09-22
ジョブの作成で contentContainerUrlcontentUrls のいずれかが必要で、localedisplayNametimeToLiveHours が必須であること。timeToLiveHours が最短6時間・最長31日で推奨値が48時間であること。diarizationEnabledtrue にすると2人の話者を含むモノラル録音で話者が分けられ、3人以上なら diarization で人数を指定すること。1ファイル240分を超える音声は扱えないこと。destinationContainerUrlproperties の中に属することMicrosoft Learn: バッチ文字起こしを作成する2026-09-22

各サービスの料金と機能の範囲は変動するため、契約前に最新の案内を確認してください。 録音を外部へ渡す際の同意の取り方と要配慮個人情報の取り扱いは、自社の法務部門と個人情報保護の責任者への確認が必要です。

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

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

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

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