学習塾で教室長と保護者の面談の録音を文字にして、学習状況・家庭の希望・受講の変更・約束したことを面談記録の項目に分け、次の面談までの宿題を教室の予定に載せる
教室長と保護者の面談の録音を Azure AI Speech で話者ごとに文字にし、学習状況・家庭の希望・受講の変更・約束したことを面談記録の項目に分けます。教室側が引き受けた宿題は、期日をつけて教室の予定に載せます。
- 生成AI
- Azure OpenAI Service/Claude
- AIサービス
- Azure AI
- 対象業界
- その他/教育
- 対象部門
- カスタマーサポート/営業
- 対象業務
- 台帳・マスタ管理/記録・議事録作成
- 主な課題
- 引き継ぎができていない/書類作成に時間がかかる/期限・対応漏れが起きる
- AIで行う処理
- 抽出
- 主な効果
- 属人化解消/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 面談の前に、生徒の成績と前回の面談の記録を見る
- 面談をしながら、手元の用紙にメモを取る
- 面談の後、メモと記憶をもとに面談の記録を生徒の管理システムに書く
- 受講の変更があれば、申請票に書いて本部へ送る
- 教室が引き受けた約束を、自分の手帳か教室の予定表に書く
- 担当の講師に、面談で出た学習の課題を口頭かメッセージで伝える
- 次の面談の前に、前回の記録を読み直す
- 人面談の始めに録音の同意を保護者に確かめ、タブレットのアプリで生徒を選んで録音を始める
- 人面談の冒頭で、決まった言葉で始める(「本日の面談を始めます。教室長の○○です」)
- 自動録音の保存をきっかけに、Azure AI Speech の高速文字起こしで話者を分けて文字にする
- 自動冒頭の決まった言葉を話した話者を教室長とし、残りを保護者・生徒とする
- 自動生成AIが、学習状況・家庭の希望・受講の変更・約束を項目に取り出す
- 自動受講の変更を `agreed` / `requested` / `considering` に分け、約束を誰が引き受けたかで分ける
- 自動期日の言い方(「来週中」「次の模試の後」)を、面談の日と教室の行事の予定から日付に直す
- 人教室長が下書きを確かめて直し、記録を確定する
- 自動確定した教室側の約束を、期日つきで教室の共有の予定表に載せる
- 人`agreed` の受講の変更だけを、申請票の下書きから本部へ出す
各工程の詳しい説明を読む
- 面談の前に、生徒の成績と前回の面談の記録を見る
- 面談をしながら、手元の用紙にメモを取る
- 面談の後、メモと記憶をもとに面談の記録を生徒の管理システムに書く
- 受講の変更があれば、申請票に書いて本部へ送る
- 教室が引き受けた約束を、自分の手帳か教室の予定表に書く
- 担当の講師に、面談で出た学習の課題を口頭かメッセージで伝える
- 次の面談の前に、前回の記録を読み直す
(a)記録は記憶で書かれる。 面談の最中は保護者の顔を見て話すので、メモは単語の走り書きになります。3番目は、その走り書きと記憶から書く作業です。 夜の面談が3件続いた日は、どの家庭の話だったかが混ざります。
(b)約束が予定に載らない。 5番目は教室長の習慣に任されており、手帳に書いた約束は他の職員に見えません。 「来週までに資料を送ります」が漏れ、保護者から問い合わせが来て初めて気づきます。
(c)希望と合意が混ざる。 「回数を増やしたい」と言われたことを、合意したつもりで申請票に書くことがあります。翌月の請求で保護者が驚き、説明と取り消しの手間が生まれます。 逆に、合意した変更を書き忘れることもあります。
(d)教室長が替わると経緯が消える。 自由記述の記録は書き手ごとに書き方が違い、後任が約束の中身と期日を拾い出すのに、生徒1人あたり何分もかかります。 教室長の異動は春に重なりやすく、引き継ぎの時期と受験の相談が増える時期がぶつかります。 前任が保護者に何を約束していたかが分からないまま、次の面談を迎えることになります。
4つに共通するのは、面談で話されたことが、記録に移る途中で形を変えることです。 記録を書く人の記憶と書き方に任せている限り、話されたことの一部は記録に届きません。
- 【人】 面談の始めに録音の同意を保護者に確かめ、タブレットのアプリで生徒を選んで録音を始める
- 【人】 面談の冒頭で、決まった言葉で始める(「本日の面談を始めます。教室長の○○です」)
- 【自動】 録音の保存をきっかけに、Azure AI Speech の高速文字起こしで話者を分けて文字にする
- 【自動】 冒頭の決まった言葉を話した話者を教室長とし、残りを保護者・生徒とする
- 【自動】 生成AIが、学習状況・家庭の希望・受講の変更・約束を項目に取り出す
- 【自動】 受講の変更を
agreed/requested/consideringに分け、約束を誰が引き受けたかで分ける - 【自動】 期日の言い方(「来週中」「次の模試の後」)を、面談の日と教室の行事の予定から日付に直す
- 【人】 教室長が下書きを確かめて直し、記録を確定する
- 【自動】 確定した教室側の約束を、期日つきで教室の共有の予定表に載せる
- 【人】
agreedの受講の変更だけを、申請票の下書きから本部へ出す
8番目の後でしか予定表に載せないのが、この設計の要です。 予定表は他の職員も見るので、誤って載った約束は、誰かが実行してしまいます。 教室長が確かめた約束だけを載せます。
6番目で受講の変更を3つに分けているのが、第1章の要点です。 agreed だけが申請の下書きになり、requested と considering は「次に連絡すること」として予定に載ります。
02今回想定するシステム構成
教室のタブレット(生徒を選んで録音) │ 音声ファイル+生徒ID+面談日時 ▼【トリガー】録音の保存 Azure Functions(中継の処理) ├──▶ 生徒の講座・教材・学校名から語句の一覧を作る ▼ Azure AI Speech(高速文字起こし+話者の分離+フレーズリスト) │ 文ごとの話者・時刻・信頼度 ▼ Azure Functions ── 冒頭の言葉で教室長の話者を決める/氏名を記号に置き換える ▼ Azure OpenAI(Microsoft Foundry) ── 構造化出力 │ 学習状況/家庭の希望/受講の変更/約束 ▼ Azure Functions ── 期日の言い方を日付に直す ▼ 面談記録の下書き ──【教室長が確認・確定】 ├──▶ Microsoft Graph ── 教室の共有の予定表に教室側の約束を登録 └──▶ 受講の変更の申請票の下書き(agreed のみ)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Azure AI Speech(高速文字起こし、話者の分離、フレーズリスト) | Google Cloud Speech-to-Text、Amazon Transcribe |
| 生成AI | Azure OpenAI(Microsoft Foundry)(構造化出力で面談記録の項目を取り出す) | Claude API |
| 連携 | Azure Functions(話者の割り当て、期日の計算、予定の登録) | Azure Logic Apps |
| 予定 | Microsoft Graph の予定表のAPI | ― |
| 記録 | 既存の生徒の管理システム | ― |
生徒の管理システムと予定表は、新しく足すものではありません。 足すのは録音のアプリ、中継の処理、音声認識と生成AIです。最初の準備は、面談記録の項目を決めることです。 自由記述の欄を、学習状況・家庭の希望・受講の変更・約束・次回の面談の5つに分けます。
代替候補に Gemini API を挙げていないのは意図してのことです。 面談には生徒が同席して話すことがあり、未成年の発言が入力に含まれます。利用規約で年齢に関わる条件を定めているサービスもあるため、採用の前に各サービスの規約を確かめてください。
文字起こしには、Azure AI Speech の高速文字起こしを使います。 音声ファイルを渡すと同期で結果を返し、5時間未満・500MB未満の音声が対象です。日本語(ja-JP)は高速文字起こしの対応言語に入っています。話者の分離(ダイアライゼーション)を有効にすると、1つのチャンネルの中で話者を分け、文ごとに話者の番号が付きます。
03どうやって実装するのか
処理の起点を決める
アプリで録音が保存されたことを起点にします。 教室長は面談を始める前に、アプリで生徒を選びます。選んだ生徒IDと面談の日時が、音声に付いて保存されます。 生徒を選ばずに録音を始めることはできないようにします。
録音を始める前に、保護者の同意を確かめる画面を出します。 同意が得られなかった面談は録音せず、「録音なし」として記録の欄だけを用意します。同意の有無と確かめた日時は、録音とひもづけて残します。
面談の当日中に下書きが届くようにします。 高速文字起こしは同期で返るので、30分の面談でも処理は面談の直後に終わります。下書きを見るのが翌日以降になると、直すための記憶が薄れます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 音声 | 30分前後の面談の録音。モノラル | タブレットのアプリ |
| 録音の付帯情報 | 生徒ID、面談の日時、教室長、同意の有無 | アプリ |
| 生徒の情報 | 学年、受講中の講座と回数、学校名、志望校 | 生徒の管理システム |
| 前回の面談記録 | 前回の約束と、その期日 | 生徒の管理システム |
| 教室の行事の予定 | 模試・定期試験・講習の日程 | 教室の共有の予定表 |
| 講座の一覧 | 講座名、回数の選び方、略し方 | 本部の講座の一覧 |
質を決めるのは、教室の行事の予定です。 面談では期日を「次の模試の後」「夏期講習の前に」と行事で言います。行事の日付が引けないと、約束が期日のない宿題になり、予定表に載せられません。
前回の面談記録は、AIに渡しません。 前回の約束が今回果たされたかは、中継の処理が前回の約束の一覧を教室長の確認画面に並べて、教室長が印を付けます。AIに前回の約束を見せると、今回の面談で話していない約束を「継続」として書き足します。
データの取得方法を決める
文字起こしは、高速文字起こしのAPIに音声とその定義を送ります。
| 指定するもの | 値 | 理由 |
|---|---|---|
locales | ["ja-JP"] | 言語が決まっているので指定する |
diarization | {"enabled": true, "maxSpeakers": 3} | 教室長・保護者・生徒の3人まで。値は話者の数の目安として渡す |
phraseList | その生徒の講座名・教材名・学校名・志望校 | 固有名詞の聞き違いを減らす |
| 返ってくる値 | phrases の文ごとの speaker・offsetMilliseconds・confidence | 話者の割り当て、時刻、聞き取れなかった文の印 |
話者の分離は、1つのチャンネルの音声で使います。 公式の案内では、ステレオの音声で話者の分離を有効にしたとき、2つのチャンネルを分けて指定することはできないとされています。アプリはモノラルで録音する設定にします。
POST https://{リソース名}.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15
audio = 面談IDを名前にした音声ファイル
definition = {
"locales": ["ja-JP"],
"diarization": { "enabled": true, "maxSpeakers": 3 },
"phraseList": { "phrases": ["個別指導コース", "週2回", "定期テスト対策講座",
"<学校名>", "<志望校名>", "全国模試"] }
}
フレーズリストは、認識の直前に渡す語句の一覧で、モデルの学習は要りません。 2,000語句を超えないようにし、長いほど品質と待ち時間に影響するとされています。全教室の講座を渡さず、その生徒に関わる語句だけを渡します。
AIへ渡す前に整形する
- 音声の長さを確かめる … 1分未満は録音の失敗として教室長に知らせます
- 教室長の話者を決める … 冒頭の決まった言葉(「本日の面談を始めます」)を含む文の
speakerを教室長とします - 保護者と生徒を分ける … 残りの話者のうち、発言の多いほうを保護者とし、決まらなければ
familyとしてまとめます - 聞き取れなかった文に印を付ける …
confidenceがしきい値を下回る文をlow_confidenceにします - 氏名を記号に置き換える … 生徒・保護者・きょうだいの氏名を
<生徒><保護者><きょうだい1>に置き換えてから生成AIへ渡します - 雑談の区間を残す … 面談の冒頭と終わりの雑談も消さずに渡します。約束が雑談の中で出ることがあるからです
2番目は、話者の番号が人を表さないことへの対策です。 話者の分離が返すのは0、1、2という番号だけで、どの番号が教室長かは分かりません。 決まった言葉で始める運用にしておけば、規則で決められます。
AIに処理させる
させるのは、話者つきの文字起こしから面談記録の項目を取り出し、それぞれに根拠の文を付けることだけです。
| 取り出すもの | やり方 | 判断できないときの扱い |
|---|---|---|
| 学習状況 | 成績・家庭での学習・苦手な単元など、誰が言ったかを付けて書く | 話者が family なら family のまま |
| 家庭の希望 | 志望校、回数、曜日、科目などの希望を、話された言葉のまま | 言い換えない |
| 受講の変更 | 講座・回数・曜日の変更を agreed / requested / considering に分ける | 合意の言葉が無ければ agreed にしない |
| 約束 | 何を、誰が(school / family / both)、いつまでに | 期日の言い方は話されたまま |
| 次回の面談 | 次の面談の時期 | 話に無ければ null |
agreed の条件を厳しくするのが要です。 教室長が「では来月から週3回にしましょう」と言い、保護者が「お願いします」と応じた文の組があるときだけ agreed にします。「増やしたいんですが」「考えてみます」は requested と considering です。
| させないこと | 理由 |
|---|---|
| 受講の変更を勧めるかの判断 | 授業料に関わる。教室長と保護者が決める |
| 期日の日付への変換 | 中継の処理が行事の予定から計算する |
| 生徒の評価・性格の決めつけ | 「やる気がない」などを記録に書かない |
| 前回の約束の引き継ぎ | 今回話していない約束を書き足さない |
| 家庭の事情の推測 | 話に出ていない経済状況や家族関係を書かない |
3行目は記録の扱いに関わります。 保護者が「最近やる気がなくて」と言ったなら、保護者の発言としてそのまま残します。AIが「意欲の低下」とまとめると、教室の評価として記録に残ります。
指示内容を固定する
あなたは学習塾の教室長の補助として、保護者面談の文字起こしから
面談記録の項目を取り出す立場です。
文字起こしに書かれていることだけを使ってください。推測で補わないでください。
【話者】teacher(教室長)/ parent(保護者)/ student(生徒)/ family(保護者か生徒か不明)
【取り出す項目】
1. study_status … 学習の状況。発言した話者を speaker に書く
2. family_wishes … 家庭の希望(志望校、回数、曜日、科目など)。話された言葉のまま
3. course_changes … 受講の変更。status は agreed / requested / considering
4. promises … 約束。owner は school / family / both。due_text は話された言葉のまま
5. next_meeting … 次の面談の時期。話に無ければ null
【厳守事項】
- 受講の変更は、教室長の提案と保護者の承諾の両方が文字起こしにあるときだけ
agreed にしてください。希望だけなら requested、検討なら considering です。
- 期日を日付に直さないでください。「来週中」「次の模試の後」はそのまま書いてください。
- 生徒の性格や意欲を評価する言葉を、あなたの言葉で書かないでください。
保護者や生徒の発言は、発言として引用してください。
- 話に出ていない家庭の事情を推測しないでください。
- 各項目に、根拠にした文の番号 sentence_id と、その文を evidence にそのまま写してください。
- low_confidence の印が付いた文から取った項目は、low_confidence を true にしてください。
- <生徒> <保護者> などは置き換えた記号です。中身を推測しないでください。
【講座の一覧】{course_master}
【文字起こし(文番号・話者・信頼度の印つき)】{sentences}
agreed の条件を、両方の発言がそろうことに置いたのが要です。 生成AIは、面談の流れから「増やす方向で決まった」と読み取りがちです。決まったかどうかは、言葉で確かめられる形にしておきます。
期日を日付に直させないのは、行事の日付を渡していないからです。 渡せば直せますが、直した日付が誤っていても、教室長は気づきにくくなります。 計算は規則の側に置きます。
出力形式を固定する
次の形のJSONで受け取ります。 Azure OpenAI の構造化出力で、このスキーマに従わせます。
{
"study_status": [{ "text": "", "speaker": "teacher | parent | student | family",
"sentence_id": 0, "evidence": "", "low_confidence": false }],
"family_wishes": [{ "text": "", "sentence_id": 0, "evidence": "" }],
"course_changes": [{ "course": "", "change": "",
"status": "agreed | requested | considering",
"sentence_ids": [0], "evidence": "" }],
"promises": [{ "what": "", "owner": "school | family | both",
"due_text": null, "sentence_id": 0, "evidence": "" }],
"next_meeting": null
}
構造化出力では、すべての項目を必須にし、省略したいものは null との共用体型で表します。 オブジェクトには additionalProperties: false が必要です。due_text を null にできる型にしておくと、「期日を言わなかった約束」を機械で拾えます。
中継の処理は、due_text を日付に直します。
| 話された言い方 | 直し方 | 直せないとき |
|---|---|---|
| 「来週中」「月末までに」 | 面談の日から暦で計算 | ― |
| 「次の模試の後」「講習の前に」 | 教室の行事の予定から該当の日を引く | due_unresolved |
| 期日を言っていない | 教室で決めた既定の日数(例:7日後)を仮に入れる | 教室長の確認で必ず直す |
due_unresolved と仮の期日は、確認画面で色を変えます。 期日のない約束は、予定表に載った時点で「いつかやること」になり、漏れていきます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 録音のアプリ | 中継の処理への送信 | 音声、生徒ID、面談の日時、同意の有無 |
| Azure AI Speech | API呼び出し | 話者つきの文字起こし |
| Azure OpenAI | API呼び出し(構造化出力) | 面談記録の項目の取り出し |
| 生徒の管理システム | 確定後に記録を登録 | 5つの項目に分けた面談記録 |
| 教室の共有の予定表 | Microsoft Graph の予定の作成 | owner が school と both の約束を、期日に登録 |
| 本部 | 申請票の下書き | agreed の受講の変更だけ |
| 担当の講師 | 生徒の管理システムの連絡欄 | 教室長が「講師へ」と印を付けた学習状況 |
講師への連絡は、教室長が印を付けたものだけです。 確認画面で学習状況の各行に「講師へ」の印を付けると、確定の後に生徒の管理システムの連絡欄へ入ります。保護者の発言をそのまま講師に回すと、家庭の事情まで広く伝わることがあるため、選んで渡します。
予定の登録には、Microsoft Graph の予定の作成のAPIを使います。 ユーザーの指定した予定表に予定を作るAPIで、必要な権限は Calendars.ReadWrite です。transactionId を付けると、再送したときにサーバー側で余計な重複を減らせるとされています。 通信の失敗で再送しても、同じ約束が2つ載らないようにします。
予定の件名には、生徒の氏名ではなく生徒IDと約束の中身を書きます。 予定表は教室の職員全員が見ます。氏名は、予定から生徒の管理システムへのリンクを開いた先で見る形にします。
人が確認する
確かめるのは、面談をした教室長です。 面談の当日中に、確認画面で次の順に見ます。
course_changesを最初に見る …agreedが本当に合意だったかを確かめます。授業料に直結するので、ここだけは根拠の文を必ず読みますpromisesのownerと期日を確かめる … 教室側の約束か家庭側の約束か、期日は合っているかを見ます- 前回の約束に印を付ける … 確認画面に並んだ前回の約束が、果たされたかに印を付けます
- 記録を確定する … 確定した後に、予定表への登録と申請票の下書きが動きます
確認画面には、根拠の文の音声へのリンクを付けます。 low_confidence の文から取った項目は、文字だけでは確かめられないことがあります。数秒の音声を聞けば済むようにしておくと、確認の時間が延びません。
1番目を省かないでください。 requested を agreed に直すのは教室長の判断で、保護者に確かめずに直すと、第3章の(c)がそのまま残ります。 迷ったら considering のままにし、保護者への確認を約束として予定に載せます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 保護者が録音に同意しない | 録音せず、記録の欄だけ用意する |
| 冒頭の決まった言葉が無い | 教室長の話者が決まらない。確認画面で教室長が話者を選ぶ |
| 話者が4人以上(祖父母の同席など) | family にまとめ、教室長が確認画面で直す |
| 周りの授業の声が入る | low_confidence の文が増える。面談の場所を見直す |
| 期日が行事の予定から引けない | due_unresolved として教室長が日付を入れる |
| 面談の途中で録音が切れた | 複数の音声を面談IDでつなげて処理する |
| 高速文字起こしが429を返す | 公式の案内に沿って間隔を空けて再送する |
| 予定の登録が失敗した | transactionId を付けて再送する。確定した記録は失われない |
受講の変更が agreed なのに申請が出ない | 確定から3日たっても申請が無ければ教室長に知らせる |
上から2行目は、運用で減らします。 決まった言葉で始めることを、面談の手順書の最初に書きます。話者の取り違えは、学習状況を誰が言ったかを入れ替え、記録の意味を変えます。
記録を残す
- 録音の同意の有無と、確かめた日時
- 元の音声ファイル(記録の確定後、教室で決めた期間で消す)
- 文字起こしの全文と、文ごとの話者・時刻・信頼度
- 生成AIの出力と、教室長が直した箇所
- 予定表に登録した約束と、その結果(成功・再送)
agreedの受講の変更と、申請票を出した日
音声を消す期間を先に決めておくのは、未成年の声を必要以上に持たないためです。 記録が確定し、受講の変更の申請が済めば、音声の役目はほぼ終わります。文字起こしと確定した記録で、後から経緯をたどれるようにしておきます。
04実装レベルの3段階
最小構成では、件数がさばけません。 1件ずつ手で貼るので、月300件には使えません。確かめるための段階です。 半自動化で、1件20分が10分程度になります。 記録の下書きは届きますが、約束を予定表に載せる作業と申請票の記入が残ります。本格構成で6分になり、この段階が本記事の想定です。 差が大きいのは、予定表への登録と期日の計算が、約束ごとの手作業だからです。 段階を飛ばさないでください。 半自動化の下書きを1か月見ると、話者の取り違えの多い教室と、期日を言わない約束の多さが分かります。運用を直してから予定表への登録を足すほうが、誤った予定が減ります。
05工数削減シミュレーション
導入後 300件 × 6分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 複数の教室を持ち、教室長が生徒ごとに定期的な保護者面談を行っている学習塾。面談の記録を教室長が後から思い出して書いており、約束した連絡や教材の手配が漏れて保護者からの問い合わせになっている場合。教室の予定を Microsoft 365 の予定表で共有している場合。保護者から面談の録音の同意を取る運用を決められる場合。
- 生徒数が少なく、面談が年に数回で、手書きのメモで足りる教室。保護者が録音に同意しない家庭が多い地域や業態。面談の記録を残さない方針の塾。なお、生徒の進路や受講の変更を勧めるかどうか、保護者への約束を引き受けるかどうかの判断は、この構成では行いません。
07最小構成で試す方法
- 教室長2名に協力を頼み、同意を得た保護者面談を10件録音する(冒頭の決まった言葉で始める)
- 同じ面談について、いつもどおり記録を書いてもらう
- 録音を Speech Studio などで文字にし、手元のAIサービスに貼り付ける
- 「この面談の文字起こしから、学習状況・家庭の希望・受講の変更(合意/希望/検討に分けて)・約束(誰が、いつまでに)を取り出してください。合意は、教室の提案と保護者の承諾の両方があるときだけにしてください」と指示する
- 取り出した項目を、教室長の書いた記録と突き合わせる
10件は必ずやってください。 中継の処理を組む前に、「希望を合意にしないか」と「約束を取りこぼさないか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 教室長の記録より約束が多く取れた | アプリと予定表への登録の構築に進む |
| 希望を合意にした | 指示の書き方で直る。構成は有効 |
| 話者が入れ替わった | 冒頭の言葉と録音の位置が先。 AIの問題ではない |
1行目が出ることが多いはずです。 面談の後に書く記録は、約束の数が実際より少なくなりがちです。取れた約束のうち、記録に無かったものが漏れの候補です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 希望が合意として記録される | 提案と承諾の両方の発言があるときだけ agreed |
| 話者の番号が誰か分からない | 冒頭の決まった言葉で教室長を決める |
| ステレオで録って話者が分かれない | モノラルで録音する |
| 期日の無い約束が予定表で埋もれる | due_text: null を拾い、既定の日数を仮に入れて確認させる |
| 行事で言った期日が日付にならない | 教室の行事の予定を予定表で持つ |
| 前回の約束が今回の記録に紛れ込む | 前回の記録をAIに渡さない |
| 生徒の評価がAIの言葉で残る | 発言は発言として引用させる |
| 同じ約束が予定表に2つ載る | transactionId を付けて登録する |
| 予定の件名に氏名が出る | 生徒IDで登録し、氏名はリンク先で見る |
| 音声を持ち続ける | 記録の確定後に消す期間を決める |
上の2行が、この構成の失敗のほとんどです。 どちらも「誰が何を言ったか」を取り違える失敗です。面談の記録は、誰の発言かで意味が変わります。
下から3行目も早く効いてきます。 通信が不安定な教室で再送が続くと、同じ約束が予定表に並び、どれが本物か分からなくなります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 生徒と保護者の声、成績、志望校、家庭の事情、授業料に関わる受講の情報です。未成年の生徒の発言が含まれます。
- 録音の同意を毎回確かめる … 面談の始めに保護者に確かめ、同意の有無を残します。同意が無い面談は録音しません
- 利用するAIサービスの規約を確かめる … 未成年の発言を入力に含むので、年齢に関わる利用条件を各サービスの規約で確かめてから採用してください
- 生成AIに渡すのは、氏名を記号に置き換えた文字起こしだけにする … 前回の記録や成績の一覧は渡しません
- 受講の変更を自動で申請しない … 授業料に直結します。
agreedでも、教室長の確定の後に申請票の下書きを出すまでです - 予定表に氏名を出さない … 教室の職員全員が見る予定表には、生徒IDと約束の中身だけを載せます
- 音声を消す期間を決める … 記録の確定と申請が済んだ後、教室で決めた期間で消します
誤りが起きた場合のリスクは、合意していない変更が請求に入ることと、引き受けた約束が漏れることの2つです。 前者は希望を合意と取り違えると起き、後者は期日の無い約束や予定への登録漏れで起きます。前者は agreed の条件と教室長の確認で、後者は期日の計算と確定後の自動登録で、設計で防ぎます。
10まず何から始めるか
1週目:面談記録の項目と面談の手順を決める
面談記録を学習状況・家庭の希望・受講の変更・約束・次回の面談の5つに分け、面談の手順書に「同意の確認」と「冒頭の決まった言葉」を書きます。
2週目:10件で試す
教室長2名で同意を得た面談を録音し、手元のAIサービスで項目を取り出します。希望を合意にしていないか、約束を取りこぼしていないかを最優先で見ます。
3週目:行事の予定と講座の一覧を整える
教室ごとの模試・定期試験・講習の日程を共有の予定表に入れ、講座名と略し方の一覧を本部で作ります。期日の計算とフレーズリストの材料になります。
4週目:録音から下書きまでをつなぐ
録音のアプリから中継の処理、高速文字起こし、構造化出力までをつなぎ、面談記録の下書きを教室長に届けます。この時点では予定表への登録をせず、下書きだけを見てもらいます。
2か月目: 期日の計算と予定表への登録を足し、due_unresolved と話者の取り違えの件数を毎週数えます。3か月目以降: 全教室へ広げ、1件20分が何分になったかを実測します。約束の漏れによる保護者からの問い合わせが減り、教室長が替わっても前任の約束を一覧で引き継げた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
高速文字起こしが同期のAPIで、音声が5時間未満・500MB未満であること。locales、diarization(maxSpeakers と enabled)、phraseList(API バージョン 2025-10-15)を指定できること。話者の分離が1つのチャンネルの中で話者を分け、ステレオの音声で有効にしたときは2つのチャンネルを分けて指定できないこと。結果の phrases に speaker・offsetMilliseconds・confidence が付くこと。429(Too Many Requests)への対処が案内されていること | Microsoft Learn: Use the fast transcription API | 2026-10-08 |
| フレーズリストが認識の直前に渡す語句の一覧で、モデルの学習が要らないこと。高速文字起こしで使えること。2,000語句を超えないようにし、長いほど品質と待ち時間に影響すること | Microsoft Learn: Improve recognition accuracy with phrase list | 2026-10-08 |
| 日本語(ja-JP)が音声認識の高速文字起こしに対応していること | Microsoft Learn: Language and voice support for the Speech service | 2026-10-08 |
構造化出力でモデルが指定したJSONスキーマに従うこと。すべての項目を必須にし、省略したいものは null との共用体型で表すこと。additionalProperties: false が必要なこと | Microsoft Learn: Azure OpenAI で構造化出力を使用する方法 | 2026-10-08 |
ユーザーの既定または指定の予定表に予定を作れること。必要な権限が Calendars.ReadWrite であること。transactionId を付けるとサーバー側で不要な再試行を減らせること。成功時に 201 Created を返すこと | Microsoft Learn: Create event (Microsoft Graph v1.0) | 2026-10-08 |
録音の同意の取り方と、生徒・保護者の情報の扱いは、塾の個人情報の取り扱いの規程に従ってください。 本記事は公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0897)についてのご相談はこちらから。
