保険会社のコールセンターで、通話の文字起こしを応対品質の評価シートに照らして採点し、オペレーターごとの指導の要点を根拠の発言と一緒に出す
保険会社のコールセンターで、応対品質の評価に抜き出した通話の文字起こしを、評価シートの項目ごとに採点の下書きにします。点数には根拠の発言と時刻を必ず添え、月の終わりにオペレーターごとの指導の要点にまとめます。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Power Automate
- 対象業界
- IT・SaaS/その他/保険/金融
- 対象部門
- カスタマーサポート
- 対象業務
- 内容確認・チェック/記録・議事録作成
- 主な課題
- 人手が足りない/判断に時間がかかる/属人化している
- AIで行う処理
- 判定
- 主な効果
- 品質標準化/工数削減/教育コスト削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 通話録音システムで、オペレーターごとに受付の種類が偏らないよう4件を選ぶ
- 録音を頭から聞き、気になった箇所の時刻をメモする
- 評価シートの12項目について、聞いた内容を思い出しながら4段階を付ける
- 「できていない」「一部できている」の項目について、該当箇所を聞き直し、発言を書き起こす
- 評価の記録表に、点数と書き起こした発言とコメントを入力する
- 月末に、オペレーターごとに4件分の記録を見比べて、面談で伝える要点を2〜3点に絞る
- 評価者どうしの点数のそろえ方を確かめる会議を四半期に一度開く
- 人評価する通話を選ぶ。選び方は今と同じで、受付の種類が偏らないようにする
- 自動選んだ通話の録音を、2チャネルのままバッチ文字起こしに送る
- 自動文字起こしの結果を、オペレーター側と顧客側の発話に分け、時刻の付いた発話の一覧に整える
- 自動評価シートの12項目の基準と発話の一覧を Azure OpenAI に渡し、項目ごとの段階と根拠の発言を構造化出力で受ける
- 自動根拠の発言が文字起こしにあるかを照合し、照合できない項目を「判断できない」に置き換える
- 人評価者が下書きを開き、根拠の発言の時刻から録音を聞いて段階を確かめ、確定させる
- 自動月末に、確定した4件分の採点からオペレーターごとの指導の要点の下書きを作る
- 人スーパーバイザーが要点の下書きを直し、面談で使う
各工程の詳しい説明を読む
- 通話録音システムで、オペレーターごとに受付の種類が偏らないよう4件を選ぶ
- 録音を頭から聞き、気になった箇所の時刻をメモする
- 評価シートの12項目について、聞いた内容を思い出しながら4段階を付ける
- 「できていない」「一部できている」の項目について、該当箇所を聞き直し、発言を書き起こす
- 評価の記録表に、点数と書き起こした発言とコメントを入力する
- 月末に、オペレーターごとに4件分の記録を見比べて、面談で伝える要点を2〜3点に絞る
- 評価者どうしの点数のそろえ方を確かめる会議を四半期に一度開く
(a)1件の採点に通話の長さの何倍もかかる。 8分の通話でも、聞く、聞き直す、書き起こす、記録表に入れると30分近くかかります。書き起こしの手間が大きく、「できていない」が多い通話ほど時間が延びます。
(b)評価する人によって点数がぶれる。 同じ通話に「一部できている」と「できていない」が付きます。オペレーターからは、誰に当たったかで点数が変わるように見えています。
(c)「どの発言が」に答えられない。 4番目を省いた月は、どの通話のどこなのかを示せず、本人は直しようがありません。
(d)抜き出す件数を増やせない。 月4件では、たまたま当たった通話で結果が変わりますが、1件30分では件数を増やせません。
- 【人】 評価する通話を選ぶ。選び方は今と同じで、受付の種類が偏らないようにする
- 【自動】 選んだ通話の録音を、2チャネルのままバッチ文字起こしに送る
- 【自動】 文字起こしの結果を、オペレーター側と顧客側の発話に分け、時刻の付いた発話の一覧に整える
- 【自動】 評価シートの12項目の基準と発話の一覧を Azure OpenAI に渡し、項目ごとの段階と根拠の発言を構造化出力で受ける
- 【自動】 根拠の発言が文字起こしにあるかを照合し、照合できない項目を「判断できない」に置き換える
- 【人】 評価者が下書きを開き、根拠の発言の時刻から録音を聞いて段階を確かめ、確定させる
- 【自動】 月末に、確定した4件分の採点からオペレーターごとの指導の要点の下書きを作る
- 【人】 スーパーバイザーが要点の下書きを直し、面談で使う
評価者の仕事が、録音を頭から聞くことから、根拠の箇所を聞いて確かめることに変わります。 下書きには時刻が付いているので、聞くのはその前後の数十秒で済みます。
6番目で段階を確定させるのは評価者です。 記録表に入るのは確定させた値だけで、受け取り方で決まる3項目は AI に採点させません。
02今回想定するシステム構成
通話録音システム(オペレーター/顧客の2チャネル) │ 評価者が選んだ通話の一覧 ▼【トリガー】評価対象の一覧への登録 Azure Functions ── 録音を Blob Storage へ置き、バッチ文字起こしを依頼 ▼ Azure AI Speech(バッチ文字起こし、ja-JP、channels 0・1) │ チャネル・時刻・信頼度の付いたフレーズ ▼ Azure Functions ── 発話の一覧に整形(話者、時刻、本文、信頼度) ▼ Azure OpenAI(構造化出力)── 評価シートの9項目を採点 │ 段階(enum)/根拠の発言/時刻/判断できない理由 ▼ Azure Functions ── 根拠の発言を文字起こしと照合 ▼ 【評価者が根拠の箇所を聞いて確定】── 評価の記録表 ▼ 月末 Azure OpenAI ── オペレーターごとの指導の要点の下書き ▼ 【スーパーバイザーが直して面談で使う】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude API、Gemini API |
| 連携 | Azure Functions(文字起こしの依頼、整形、引用の照合、記録表への書き込み) | Power Automate |
| 文字起こし | Azure AI Speech(バッチ文字起こし) | 通話録音システムの文字起こし機能 |
| 保管 | Azure Blob Storage(録音、文字起こし、下書き、確定の記録) | 通話録音システムの保管領域 |
通話録音システムと評価の記録表は、今あるものを使います。 足すのは、選んだ通話を文字にして採点の下書きを作る部分だけです。
文字起こしは、急がないのでバッチにします。 公式の説明では、混み合う時間帯には処理が始まるまで最大30分、完了まで最大24時間かかりうるとされています。「依頼した翌日に下書きがそろう」前提で段取りを組みます。
2チャネルの録音をそのまま使えるのが、この題材に合っています。 バッチ文字起こしではチャネル0と1が既定で文字にされ、各フレーズに channel が付きます。話者分離に頼らずにオペレーターと顧客を分けられます。 話者分離はモノラルの録音が前提で、ステレオでは使えないとされています。
Azure OpenAI を選ぶ理由は、構造化出力で段階を enum に縛れることです。 構造化出力は指定した JSON スキーマに従うもので、評価シートに無い段階が記録表に入ることを防げます。 録音から採点までを Azure の中で扱えることも理由です。
03どうやって実装するのか
処理の起点を決める
評価者が、評価する通話を一覧に登録したことを起点にします。 一覧には通話の番号、社員番号、受付の種類、評価者を1行ずつ入れます。選ぶ作業は人に残します。 前月に指摘した項目が出やすい種類を選ぶといった、評価者の意図があるからです。
登録は毎日少しずつ行い、文字起こしの依頼は1日1回、夕方にまとめて出します。 バッチ文字起こしは1つの依頼に複数の録音を入れられ、公式の説明では短い録音と長い録音は別の依頼に分けることが勧められています。通話は長くても数十分なので、20分を境に2つの依頼に分けて出します。
完了は Webhook の通知で受け取ります。 ただし、受ける側のファイアウォールがサービスタグ CognitiveServicesManagement からの受信を許していないと、登録は成功するのに通知だけが届きません。 翌朝に状態を問い合わせる処理も置きます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 通話の録音 | オペレーター(チャネル0)と顧客(チャネル1)の2チャネルの音声 | 通話録音システム |
| 通話の情報 | 通話の番号、日時、オペレーターの社員番号、受付の種類 | 評価対象の一覧 |
| 文字起こし | フレーズごとのチャネル、開始時刻、長さ、本文、信頼度 | Azure AI Speech |
| 評価シート | 項目、観点、段階ごとの基準、発話で確かめられる言い回しの例 | 品質管理チームが作る基準の文書 |
| 受付の種類ごとの手順 | 本人確認で聞く順序、手続きの案内で触れること | 業務マニュアル |
質を決めるのは、評価シートの4列目です。 「用件を復唱している」という項目だけを渡すと、AI は「確認させていただきます」と言っただけの通話を「できている」にします。段階ごとに「何を言っていればできているのか」を書いた基準が要ります。 例えば「お客さまが述べた用件を、手続きの名前に置き換えて言い直し、合っているかを尋ねている」と書きます。
受付の種類ごとの手順は、本人確認の項目のために渡します。 住所変更と給付金の請求では聞く順序が違い、渡さないと正しく聞いたオペレーターを「順序が違う」と採点します。
データの取得方法を決める
録音は、通話録音システムの書き出しの機能で、選んだ通話の分だけ取り出します。取り出した録音は Azure Blob Storage の評価用のコンテナに置き、バッチ文字起こしにはその場所を渡します。 通話録音システムのほうから直接文字起こしへ送る経路は作りません。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 録音(2チャネル) | 通話録音システムの書き出し | 文字起こしの入力 |
| フレーズの一覧 | 文字起こしの結果の recognizedPhrases | 発話の一覧の元 |
| チャネル | 各フレーズの channel | オペレーターと顧客の区別 |
| 開始時刻 | 各フレーズの offsetInTicks | 根拠の発言の時刻 |
| 信頼度 | nBest の confidence | 聞き取りの怪しい発話の印 |
| 処理の成否 | 結果の一覧の report.json | 失敗した録音の再依頼 |
文字起こしの依頼では、結果の保存先と保持の期間を決めて指定します。 保存先のコンテナ(destinationContainerUrl)を指定しないと、結果は Microsoft が管理するコンテナに置かれ、文字起こしの依頼を消すと結果も消えます。 また、保持の時間(timeToLiveHours)は必須の項目で、6時間から31日の間で指定します。この構成では48時間とします。destinationContainerUrl は properties の中に書きます。 一番上の階層に書くと黙って無視されるとされているので、最初の依頼で保存先を確かめます。
AIへ渡す前に整形する
- チャネルで話者を決める … チャネル0をオペレーター、チャネル1を顧客とし、発話の一覧の
speakerをop/cuにします。録音システムのチャネルの割り当てが逆でないかを、導入の最初に10件で確かめます - 時刻を「分:秒」にする …
offsetInTicks(1ティックは100ナノ秒)を、評価者が録音の再生で探せる「03:12」の形にそろえます - 発話に番号を振る … 発話ごとに
u001からの番号を付けます。AI には番号と本文を一緒に返させ、照合を番号で行います - 信頼度の低い発話に印を付ける … 信頼度が低い発話は、本文の前に
[聞き取り注意]を付けます。採点の根拠にしたときに、評価者が録音で確かめる目安になります - 保留中と転送の後を区切る … 保留音の区間と、転送で別の担当に替わった後の発話を一覧から外します。評価するのは、評価対象のオペレーターの発話だけです
- 口座番号やカード番号を伏せる … 数字の並びの規則で、口座番号・カード番号に当たる桁を伏せ字にします。採点に数字そのものは要りません
- 項目を2つに分ける … 評価シートの12項目のうち、発話で確かめられる9項目だけを採点の対象にし、受け取り方で決まる3項目は評価者に残します
7番目が、この構成の前提です。 残りの3項目を AI の採点に含める設定を、そもそも作りません。
AIに処理させる
させるのは、9項目それぞれについて、基準に照らした段階を選び、根拠にした発話の番号と本文をそのまま写すことです。 段階を選べないときは「判断できない」にし、その理由を書かせます。
| 見るもの | 確かめる発話 | 判断できないときの扱い |
|---|---|---|
| 第一声と名乗り | 会社名・部署名・自分の名前を名乗っているか | 冒頭が録音されていなければ unknown |
| 本人確認の順序 | 受付の種類ごとの手順の順で聞いているか | 手順が渡されていない種類なら unknown |
| 用件の復唱 | 用件を手続きの名前に置き換えて言い直し、合っているか尋ねたか | 顧客の用件が聞き取れていなければ unknown |
| お客さまの言葉の受け止め | 顧客の発言を受けて言い換えたか、事情を尋ね返したか | 顧客の発話が少なすぎれば not_applicable |
| 専門用語の言い換え | 「解約返戻金」「受取人」などを、言い換えか補足付きで話したか | 専門用語が出てこなければ not_applicable |
| 保留の前の断りと戻ったときのお礼 | 保留の前に理由と目安の時間を伝え、戻ってお礼を言ったか | 保留が無ければ not_applicable |
| 手続きの流れの説明 | 次に何が起き、顧客が何をするかを順に話したか | 手続きが無い通話なら not_applicable |
| 次に届く書類と時期の案内 | 書類の名前とおおよその届く時期を話したか | 書類が無い手続きなら not_applicable |
| 締めの確認 | ほかに用件が無いかを尋ね、名乗り直したか | 通話が途中で切れていれば unknown |
4行目が、「共感を示している」を書き直した項目です。 共感が伝わったかは受け取り方の問題ですが、顧客の言葉を受けて言い換えたかは発話で確かめられます。
| させないこと | 理由 |
|---|---|
| 声の調子・感情・態度の推定 | 文字起こしからは分からない。行動規範も話し方から感情を推し量ることを禁じている |
| 受け取り方で決まる3項目の採点 | 評価者が録音を聞いて付ける |
| 合計点や総合評価の算出 | 段階の重みは品質管理チームが決める。計算はプログラムで行う |
| 人事評価・処遇への言及 | 採点は育成のための材料。下書きに処遇の話を書かせない |
| 発話の言い直し・補い | 根拠の本文は文字起こしのまま写す |
| 説明事項の漏れの点検 | コンプライアンスの点検の役目。別の仕組みで見る |
指示内容を固定する
あなたは保険会社のコールセンターで、応対品質の評価を手伝う立場です。
渡された発話の一覧だけを見て、評価シートの9項目を採点してください。
【採点する9項目と基準】{rubric}
(項目ごとに、good / partial / poor の基準と、該当する言い回しの例が書かれています)
【この通話の受付の種類と、本人確認の手順】{procedure}
【発話の一覧】{utterances}
(u番号、話者 op=オペレーター / cu=お客さま、時刻、本文。
[聞き取り注意] が付いた発話は、文字起こしの信頼度が低いものです)
【段階の選び方】
- good ........... 基準の good に書かれた発話がある
- partial ........ 基準の一部だけを満たす発話がある
- poor ........... 基準を満たす発話が無く、満たすべき場面があった
- not_applicable . その項目が求められる場面が通話に無かった
- unknown ........ 発話の一覧からは判断できない
迷ったときに good を選ばないでください。迷ったら unknown です。
【厳守事項】
- 根拠には、発話の一覧から u番号と本文をそのまま写してください。
言い換えたり、要約したり、つなぎ合わせたりしないでください。
- poor を選ぶときは、満たすべき場面だった発話(お客さまの発話でもよい)を
根拠に写してください。「無かった」ことだけを理由にしないでください。
- 声の調子、感情、態度、性格については何も書かないでください。
「冷たい」「いらだっている」「自信がない」のような言葉を使わないでください。
- [聞き取り注意] の発話だけを根拠にする場合は、unknown にしてください。
- 合計点、総合評価、人事評価や処遇に関わることは書かないでください。
- 説明すべき事項が説明されたかどうかは、この採点の対象外です。
- 直し方の例(advice)は、根拠にした発話をどう言い換えるかを1文で書いてください。
基準の言い回しの例を使ってかまいません。
「迷ったら unknown」を明記しないと、AI は good に寄ります。 名乗りらしい発話があれば、会社名が欠けていても good を選びがちです。good は誰も聞き直さない段階なので、迷いは unknown に倒します。
poor の根拠に「満たすべき場面」を写させるのは、指導のためです。 顧客が用件を言った発話が根拠にあれば、面談で「この直後に言い直しましょう」と示せます。
出力形式を固定する
次の形の JSON を、構造化出力で受け取ります。
{
"call_id": "",
"scores": [
{
"item": "opening | identity_check | restate_request | acknowledge | plain_terms | hold_manner | process_explain | document_notice | closing",
"level": "good | partial | poor | not_applicable | unknown",
"evidence": [
{ "utterance_id": "u012", "time": "01:48", "text": "" }
],
"unknown_reason": "",
"advice": ""
}
]
}
scores には9項目を1つずつ並べ、item と level を enum で縛ります。根拠が要らない段階(not_applicable)でも evidence は空の配列で返させ、項目の欠けを形で見分けられるようにします。
1つ目の理由は、記録表の列と1対1で対応させられることです。 item が評価シートの項目、level が段階の列にそのまま入ります。評価シートに無い段階や項目名が入る経路が無くなります。
2つ目は、照合を番号で行えることです。 utterance_id で発話の一覧を引き、text が元の本文と一致するかをプログラムで比べます。一致しなければその項目の level を unknown に置き換え、unknown_reason に「根拠の照合ができない」と書きます。
ただし、スキーマで縛れないこともあります。 構造化出力では、すべてのフィールドを必須にし additionalProperties: false を設定します。配列の minItems・maxItems などは使えないため、「根拠を1つ以上」「9項目ちょうど」は受け取った後にプログラムで確かめます。
| 受け取った後に確かめること | 外れたときの扱い |
|---|---|
scores が9件で、item に重複が無い | 足りない項目を unknown で補い、評価者へ |
good / partial / poor に根拠が1つ以上ある | その項目を unknown に置き換える |
evidence の本文が元の発話と一致する | その項目を unknown に置き換える |
感情・態度を表す語が advice に無い | 語の一覧で検出し、advice を空にする |
月末の要点づくりは別の呼び出しで、渡すのは評価者が確定させた4件分です。 poor と partial が2件以上で出た項目を最大3つ、根拠の発言を2つまでと、次に試す言い回しを1文で返させます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 通話録音システム | 書き出しの機能 | 選んだ通話の録音を取り出す |
| Azure Blob Storage | Azure Functions から書き込み | 録音、文字起こし、下書きを置く |
| Azure AI Speech | バッチ文字起こしの REST API | 文字起こしの依頼、状態の確認、結果の取得 |
| Azure OpenAI | Chat Completions API(構造化出力) | 9項目の採点の下書き、月末の要点の下書き |
| 評価の記録表 | Azure Functions から書き込み | 下書きの欄と、評価者が確定させた欄を分けて持つ |
| Teams | 通知 | 下書きがそろったことを評価者に知らせる |
評価の記録表には、下書きの欄と確定の欄を別に持たせます。 AI の段階は下書きの欄に入り、評価者が確定させた段階だけが確定の欄に入ります。 集計や面談に使うのは確定の欄だけです。同じ欄に書くと、評価者が見ていない下書きがそのまま点数として残ります。
Responses API ではなく Chat Completions API を使います。 Responses API は会話の履歴を保存する機能を持ちますが、1件ずつ採点して終わる処理なので、文字起こしを置く場所を増やす必要がありません。
人が確認する
AI の段階をそのまま確定させることはしません。全件を評価者が確かめます。 ただし、確かめ方は録音を頭から聞くことではありません。
unknownを先に見る … 根拠の照合ができなかったもの、聞き取りの怪しい発話だけが根拠だったものです。時刻の前後を聞いて段階を付けますpoorとpartialの根拠を聞く … 根拠の時刻から前後30秒ほどを再生し、文字起こしの誤りで poor になっていないかを確かめますgoodは一覧で流し見る … 根拠の本文を読み、違和感のあるものだけ録音を聞きます- 受け取り方で決まる3項目を付ける … 1〜3番目で聞いた箇所の印象を元に付け、足りなければ録音を追加で聞きます
- 覆したら記録する … どの項目を、どの段階からどの段階へ変えたかを残します
2番目を省かないでください。 文字起こしが「保留させていただきます」を聞き落とすと、断ったオペレーターが poor になり、評価の仕組みそのものが信用されなくなります。
目標は1件10分です。 大きく超える月は、unknown が多すぎるか、基準の書き方が足りていません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 文字起こしが失敗した | report.json の status で失敗を拾い、録音を確かめて再依頼。2回失敗したら評価者が録音を聞いて採点する |
| 完了の通知が届かない | 翌朝に状態を問い合わせて拾う。ファイアウォールの受信許可を確かめる |
| 通話の途中で転送された | 転送の後の発話を外して採点し、closing は unknown |
| 保留の区間が長い | 保留音の区間を外す。保留の長さそのものは録音システムの記録で見る |
| 受付の種類の手順が無い | identity_check を unknown にし、手順の追加を品質管理チームへ |
| 根拠の照合ができない | その項目を unknown に置き換えて評価者へ |
| 感情・態度の語が出た | advice を空にし、語の一覧と指示文を見直す |
| 顧客が苦情を述べている | 採点は続けるが、通話の一覧に印を付け、苦情の扱いは苦情対応の手順へ回す |
最後の行は、採点の外で扱います。 採点の仕組みが苦情の受付を兼ねると、どちらも中途半端になります。
記録を残す
- 評価対象の一覧(通話の番号、オペレーター、受付の種類、選んだ評価者、選んだ日)
- 文字起こしの結果の JSON 全文と、整えた発話の一覧
- AI に渡した評価シートの版と、指示文の版
- AI の下書き(9項目の段階、根拠、直し方の例)と、照合で
unknownに置き換えた記録 - 評価者が確定させた段階と、覆した項目の記録
- 月末の要点の下書きと、スーパーバイザーが直した後の文面
- 項目ごとの「AI の下書きを評価者が覆した率」
3つ目の版を残すのは、基準を直すと同じ通話でも段階が変わるためです。 版が無いと月ごとの比較ができません。
最後の行が、評価者どうしのぶれを見る材料になります。 ある評価者だけが同じ項目をよく覆しているなら、基準の読み方がずれているか、基準があいまいかです。 四半期の会議はこの率から始めます。
04実装レベルの3段階
最小構成では件数がさばけません。 月480件を手で貼ることはできないので、基準の書き方を確かめる段階です。 半自動化で、1件30分が15分程度になります。 頭から聞く時間と書き起こしは無くなりますが、録音を探して聞く作業が残ります。本格構成で10分になり、この段階が本記事の想定です。 差が出るのは、根拠の時刻から該当箇所へ直接飛べることと、月末の要点を書き起こす作業が無くなることです。 段階を飛ばさないでください。 半自動化の1か月で項目ごとの覆した率が分かり、率の高い項目の基準を直してから進むほうが、評価者が下書きを信用できます。
05工数削減シミュレーション
導入後 480件 × 10分 ÷ 60 = 80 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 生命保険・損害保険・少額短期保険の契約者向けのコールセンターで、品質管理の担当が毎月オペレーター1人あたり数件の通話を抜き出し、評価シートで採点している場合。評価シートの項目と採点の基準が文書になっている場合。通話をオペレーターと顧客の2チャネルで録音している場合。評価する人によって点数がぶれることが、指導の場で問題になっている場合。Azure を使っている場合。
- 評価シートが無く、評価が担当の感覚で行われている場合(先に基準を文書にする必要があります)。通話の録音を2チャネルで取り出せない場合。オペレーターが十数名で、品質管理の担当が全件を聞いても負担になっていない場合。なお、採点の結果をそのまま人事評価や処遇に使う設計にはしていません。声の調子や感情を読み取る評価項目も、この構成では扱いません。
07最小構成で試す方法
- 先月採点した通話から20件を選ぶ(poor が多かった通話と、good が多かった通話の両方を入れる)
- 通話録音システムに文字起こしの機能があればそれを使い、無ければバッチ文字起こしを手で依頼する
- 評価シートの9項目について、段階ごとの基準と言い回しの例を書いた文書を用意する
- Microsoft Foundry のプレイグラウンドに、基準の文書と1件の文字起こしを貼り、「9項目を good/partial/poor/not_applicable/unknown で採点し、根拠の発話をそのまま写してください。迷ったら unknown にしてください」と指示する
- 出てきた段階を、先月の評価者の採点と項目ごとに突き合わせる
見るのは一致率よりも、根拠の発話がその段階の理由になっているかです。
| 出てきた内容 | 判断 |
|---|---|
| 段階が評価者とおおむね合い、根拠も的確 | 文字起こしと記録表の連携に進む |
| 根拠が要約や言い換えになっている | 指示の書き方で直る。構成は有効 |
| 特定の項目だけ評価者と合わない | その項目の基準の書き方が足りない。 基準を直してやり直す |
| 文字起こしの誤りで段階がずれる | 専門用語の聞き取りの問題。AI の問題ではない |
3行目は、人どうしでもぶれている項目であることが多いです。 そこを直すこと自体が、構成を入れる前から効く改善です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 感情や声の調子を採点させてしまう | 行動規範が話し方から感情を推し量ることを禁じている。 項目を発話で確かめられる形に書き直す |
| AI が good に寄る | 「迷ったら unknown」を明記する。good は誰も聞き直さない段階 |
| 根拠が要約や言い換えになる | 番号と本文をそのまま写させ、プログラムで照合して外れを unknown にする |
| 文字起こしの誤りで poor になる | poor の根拠は評価者が必ず録音で聞く |
| チャネルの割り当てが逆 | 最初の10件で、冒頭の名乗りがチャネル0に出るかを確かめる |
| 完了の通知が届かない | CognitiveServicesManagement からの受信を許可する。翌朝の状態確認も置く |
| 結果が Microsoft の管理するコンテナに書かれる | destinationContainerUrl を properties の中に書く |
| 下書きがそのまま点数として残る | 記録表に下書きの欄と確定の欄を分けて持つ |
| 採点が人事評価に使われ始める | 育成のための材料と決め、運用の文書に書く |
| 評価者が下書きを信用しない | 項目ごとの覆した率を出し、率の高い項目から基準を直す |
上の2行が、いちばん起きやすい失敗です。 評価シートをそのまま渡すと、AI は「声が明るい」にも段階を付けて返し、返ってきた以上、記録表に入ります。
下から2行目は、導入の後でじわじわ起きます。 点数が数字としてそろうと、人事評価に使いたいという声が出ます。 使い道を最初に文書で決めておくことが、現場の協力を得る条件にもなります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 契約者の氏名・住所・生年月日・証券番号、給付金の請求に関わる病名や入院の事実、口座の情報、そしてオペレーター個人の応対の記録と評価です。
- 感情や態度を推し量らせない … Microsoft の AI サービスの行動規範は、表情や話し方などの特徴から人の感情の状態を推し量ろうとする使い方を禁じています。オペレーターについても顧客についても、感情を表す判定を下書きに書かせない設計にします
- 採点を人の監督なしに使わない … 行動規範は、雇用の機会などに重大な影響を与えうる判断を、適切な人の監督なしに行うことを禁じています。AI の段階は下書きで、確定は評価者が行い、処遇に直接つなげません
- オペレーターに仕組みを知らせる … AI が下書きを作ること、確定は評価者が行うこと、何に使うかを導入の前に説明します。行動規範も、出力が AI によるものであることの開示を求めています
- 病名などの情報を最小限にする … 給付金の請求の通話では病名が話されます。採点には要らないので、保存の期間と見られる人を絞ります
- データの扱いを確かめる … プロンプトと応答は OpenAI に提供されず、基盤モデルの学習に使われないとされています。一方で、Global や DataZone のデプロイでは処理の場所が広がり、不正利用の監視では一部を人が確認することがあります。デプロイの種類と監視の扱いを規程に照らして決めます
- 文字起こしの保存先を自社に置く … バッチ文字起こしの結果は、保存先を指定しないと Microsoft が管理するコンテナに置かれます。評価用のコンテナを指定し、見られる人を品質管理チームに限ります
誤りが起きた場合のリスクは、できていたオペレーターに「できていない」と伝えることと、AI の点数が独り歩きすることの2つです。 前者は根拠を録音で聞く確認で、後者は下書きと確定の欄を分けることで防ぎます。
10まず何から始めるか
1週目:評価シートの12項目を仕分ける
12項目を、発話で確かめられる項目と、受け取り方で決まる項目に分けます。後者のうち言い換えられるものは言い換え、残りは評価者が付ける項目にします。
2週目:基準を段階ごとに書き分ける
9項目について、good/partial/poor の基準と、それぞれに当たる言い回しの例を書きます。評価者全員で、同じ通話を3件採点して基準を突き合わせます。 ここで合わない項目は、AI を入れても合いません。
3週目:20件で試す
先月の通話から20件を選び、プレイグラウンドで採点させます。評価者の採点と項目ごとに突き合わせ、根拠の発話が段階の理由になっているかを最優先で見ます。
4週目:使い道を決めてオペレーターに説明する
採点を育成の材料に限ること、確定は評価者が行うことを文書にし、オペレーターに説明します。 チャネルの割り当ても確かめます。
2か月目: バッチ文字起こしと構造化出力の呼び出しをつなぎ、下書きを記録表に書き出します。3か月目以降: 確定の欄と覆した記録を足し、月末の要点の下書きを出します。項目ごとの覆した率が落ち着き、評価者どうしの点数のぶれを四半期の会議で数字で話せるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
構造化出力が指定した JSON スキーマに従い、Chat Completions API と Responses API の両方で使えること。すべてのフィールドを必須にし、additionalProperties: false を設定すること。最大100個のプロパティと最大5段の入れ子。文字列の minLength・pattern、配列の minItems・maxItems などが使えないこと。列挙型が使えること | Microsoft Learn: Azure OpenAI で構造化出力を使用する方法 | 2026-10-15 |
バッチ文字起こしが数分から数時間かかりうること。短い録音と長い録音を別の依頼に分けること。timeToLiveHours が必須で6時間から31日であること。チャネル0と1が既定で文字にされること。話者分離がモノラルの録音を前提とし、ステレオでは使えないこと。destinationContainerUrl を指定しないと Microsoft の管理するコンテナに置かれ、properties の外に書くと無視されること。Webhook の通知と、CognitiveServicesManagement からの受信を許可しないと通知が届かないこと | Microsoft Learn: Create a batch transcription | 2026-10-15 |
混み合う時間帯には処理の開始まで最大30分、完了まで最大24時間かかりうること。結果のファイルと report.json があること。結果の各フレーズに channel・offsetInTicks(1ティックは100ナノ秒)・nBest の confidence が付くこと | Microsoft Learn: Get batch transcription results | 2026-10-15 |
| 表情や話し方などの特徴から人の感情の状態を推し量ろうとする使い方が禁じられていること。雇用の機会などに重大な影響を与えうる判断を、適切な人の監督なしに行うことが禁じられていること。出力が AI によるものであることの開示が求められること | Microsoft Learn: Code of Conduct for Microsoft AI Services | 2026-10-15 |
| プロンプトと応答が他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないこと。Global と DataZone のデプロイでは処理の場所が広がること。Responses API が会話の履歴を保存すること。不正利用の監視で、兆候が検知されるとプロンプトと応答の一部が確認の対象になり、必要に応じて人が確認すること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-15 |
評価シートの項目と基準、採点の使い道は、自社の品質管理チームと人事の規程で決めてください。 本記事は、上記の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1618)についてのご相談はこちらから。
