結婚相談所のカウンセラーが入会面談の記録から会員のプロフィール文の下書きを Azure OpenAI で作り、禁止している表現と個人が特定できる記載を拾う
入会面談の記録と会員の自己紹介のアンケートから、プロフィール文の下書きを Azure OpenAI で作ります。あわせて、面談の記録に無いことを書いていないか、個人が特定できる記載や禁止の表現が入っていないかを、文ごとに拾います。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Power Automate
- 対象業界
- その他
- 対象部門
- カスタマーサポート/営業
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 属人化している/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 生成
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 入会の面談の記録と、会員の自己紹介のアンケートを読み返す
- 自己PRと推薦文に使う話を選び、書きぶりを考えながら下書きを書く
- 文字数を数え、連盟の仕組みの文字数の上限に合わせて削る
- 勤務先、住んでいる町、学校など、本人が特定されそうな記載が無いかを読み直す
- 相談所で禁止している表現(相手の条件を断る書き方、他の会員と比べる書き方など)が無いかを読み直す
- 会員本人に下書きを送り、直してほしいところを聞いて書き直す
- 了承をもらったら、連盟の仕組みに貼り付けて掲載する
- 人面談の記録を会員管理の仕組みに残し、「下書きを作る」を押す
- 自動会員管理の仕組みから、面談の記録・アンケート・公開してよい項目の印を取り出す
- 自動氏名・電話番号・住所・メールアドレスを機械的に伏せ字に置き換える
- 自動Azure OpenAI が、面談の記録とアンケートだけを根拠に、自己PRと推薦文の下書きを作る。文ごとに根拠の行番号を付ける
- 自動自社の禁止表現の一覧と、特定につながる語の一覧で機械的に照合する
- 自動Azure OpenAI が、特定できる記載・同意の要る記載・根拠の無い文を拾い、理由を書く
- 自動文字数を数え、上限を超えたら短くする指示を付けて作り直す
- 人カウンセラーが下書きと拾われた記載を見て、直す・消す・本人に確かめるを決める
- 人会員本人に送り、了承をもらってから連盟の仕組みに貼る
各工程の詳しい説明を読む
- 入会の面談の記録と、会員の自己紹介のアンケートを読み返す
- 自己PRと推薦文に使う話を選び、書きぶりを考えながら下書きを書く
- 文字数を数え、連盟の仕組みの文字数の上限に合わせて削る
- 勤務先、住んでいる町、学校など、本人が特定されそうな記載が無いかを読み直す
- 相談所で禁止している表現(相手の条件を断る書き方、他の会員と比べる書き方など)が無いかを読み直す
- 会員本人に下書きを送り、直してほしいところを聞いて書き直す
- 了承をもらったら、連盟の仕組みに貼り付けて掲載する
(a)話を選ぶのに時間がかかる。 1時間の面談の記録は数千字になります。どの話を自己PRに、どの話を推薦文に回すかを決めるまでに、記録を2回3回と読み返します。
(b)書きぶりが人によって違う。 経験の長いカウンセラーの推薦文は具体的で読みやすく、新しいカウンセラーの文は「明るく優しい方です」で終わりがちです。申込の数に差が出ることを、カウンセラー自身も知っています。
(c)特定できる記載を見落とす。 「駅前の◯◯病院で看護師をしています」とは書かなくても、「市内の総合病院の救急外来で10年」「毎朝◯◯川沿いを走る」が重なると、知っている人には分かります。 1文ずつは問題なく見えるので、読み直しでも落ちます。
(d)本人が公開を望まない事情が混ざる。 面談で聞いた持病や、家族の介護の事情、信仰は、紹介の相手を選ぶときにカウンセラーが知っておくべき話ですが、プロフィール文に載せるかは本人が決めることです。記録から文を起こすと、そのまま混ざることがあります。
(e)記録に無いことが書かれる。 推薦文を魅力的にしようとして、「料理上手」「聞き上手」のような、面談で確かめていない言葉が足されることがあります。お見合いの席で相手が期待した姿と違えば、困るのは本人です。 どの文が記録のどこから来たのかを、書いた本人も後から説明できません。
- 【人】 面談の記録を会員管理の仕組みに残し、「下書きを作る」を押す
- 【自動】 会員管理の仕組みから、面談の記録・アンケート・公開してよい項目の印を取り出す
- 【自動】 氏名・電話番号・住所・メールアドレスを機械的に伏せ字に置き換える
- 【自動】 Azure OpenAI が、面談の記録とアンケートだけを根拠に、自己PRと推薦文の下書きを作る。文ごとに根拠の行番号を付ける
- 【自動】 自社の禁止表現の一覧と、特定につながる語の一覧で機械的に照合する
- 【自動】 Azure OpenAI が、特定できる記載・同意の要る記載・根拠の無い文を拾い、理由を書く
- 【自動】 文字数を数え、上限を超えたら短くする指示を付けて作り直す
- 【人】 カウンセラーが下書きと拾われた記載を見て、直す・消す・本人に確かめるを決める
- 【人】 会員本人に送り、了承をもらってから連盟の仕組みに貼る
8番目が、この設計の分かれ目です。 拾われた記載のうち、同意の要る記載は消すのではなく「本人に確かめる」に回します。 持病を自分から書きたい会員もいます。消すか残すかをAIに決めさせると、本人の意思が抜け落ちます。
5番目を機械の照合にしているのも、意図してのことです。 相談所が禁止している表現は、決まった一覧として持っているので、照合で漏れなく拾えます。 生成AIには、一覧で拾えない「組み合わせると分かる」記載と根拠の確認を任せます。
02今回想定するシステム構成
入会面談の記録・自己紹介のアンケート(会員管理の仕組み) │【トリガー】「下書きを作る」のボタン ▼ Azure Functions ├── 氏名・電話番号・住所・メールアドレスを伏せ字に ├── 公開してよい項目の印を取り出す ▼ Azure OpenAI(Chat Completions、構造化出力)── 1回目:下書き │ 自己PR/推薦文/文ごとの根拠の行番号 ▼ Azure Functions ── 禁止表現の一覧・特定につながる語の一覧で照合、文字数の確認 ▼ Azure OpenAI ── 2回目:拾う │ 特定できる記載/同意の要る記載/根拠の無い文 ▼ 【カウンセラーが確認】 → 会員本人の了承 → 連盟の仕組みへ人が貼る
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude API、Gemini API |
| 連携 | Azure Functions(伏せ字、照合、文字数の確認、2回の呼び出しの順番) | Power Automate |
| 保管 | 会員管理の仕組み(下書き、拾われた記載、確認の結果) | SharePoint |
連盟のお見合いの仕組みへは、この構成から掲載しません。 会員本人が了承した文を、カウンセラーがいつもの画面に貼ります。 本人が見ていない文が他の会員に読まれる経路を、最初から作りません。
生成AIには Azure OpenAI(Microsoft Foundry)を使い、構造化出力で受け取ります。 公式のページでは、Chat Completions API では response_format に、Responses API では text.format に JSON スキーマを定義するとされています。すべてのフィールドを必須にし、オブジェクトには additionalProperties: false を設定します。
Chat Completions API を選ぶ理由は、会話の履歴を残さないためです。 Microsoft のデータとプライバシーのページでは、Responses API は複数回のやり取りのためにメッセージの履歴などを保存するとされています。下書きは1回ずつの呼び出しで足りるので、履歴を持たない呼び出し方にします。 同じページでは、プロンプトと出力は基盤のモデルの学習に使われず、OpenAI には提供されないとされています。
03どうやって実装するのか
処理の起点を決める
カウンセラーが会員管理の仕組みで「下書きを作る」を押したときに動かします。 面談の記録を保存した瞬間に自動で動かす形にはしません。面談の直後は記録が途中のことが多く、書き足す前に下書きができてしまうからです。
書き直しのときは、同じボタンで「前のプロフィール文」も一緒に渡します。前の文の良いところを残し、新しい面談で出た話を足す指示に切り替えます。押すたびに1件ずつ動かし、同じ会員について前の下書きがあれば版を分けて残します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 入会面談の記録 | 仕事、休日、家族、結婚後の暮らし、相手に望むこと。カウンセラーが書いた文章 | 会員管理の仕組み |
| 自己紹介のアンケート | 好きなこと、大切にしていること、相手へのメッセージ。会員本人の文章 | 会員管理の仕組み |
| 公開してよい項目の印 | 職種の書き方(業種まで/職種まで)、居住地の粒度(都道府県まで/市区町村まで)、本人が公開を望んだ事情 | 入会時の確認の書面を会員管理の仕組みに写したもの |
| 禁止表現の一覧 | 相談所として載せない書き方と、その理由 | 自社で用意する一覧 |
| 特定につながる語の一覧 | 地域の駅名・病院名・学校名・大きな会社名など | 自社で用意する一覧 |
| 前のプロフィール文 | 書き直しのときだけ | 会員管理の仕組み |
質を決めるのは、3つ目の「公開してよい項目の印」です。 入会のときに、職業や居住地をどこまでの粒度で載せるか、面談で話した事情のうち載せたいものがあるかを本人に聞いて書面に残し、会員管理の仕組みに印として写します。 印が無ければ、下書きは毎回いちばん粗い粒度で書かせます。
年収・学歴・身長などの数値の項目は渡しません。 これらは連盟の仕組みに提出書類で確かめた値を載せる欄があり、文章の中で数値を言い直すと、確かめた値と食い違うことがあるからです。
データの取得方法を決める
会員管理の仕組みから、会員番号を鍵に4つの項目を取り出します。 面談の記録は行ごとに番号を振って渡します。この行番号が、下書きの文ごとの根拠になります。
| 取るもの | 何に使うか |
|---|---|
| 面談の記録(行番号付き) | 下書きの材料と、文ごとの根拠の照合 |
| アンケート(行番号付き) | 自己PRの言葉づかいを本人に寄せる |
| 公開してよい項目の印 | 下書きの粒度の指示と、拾うときの基準 |
| 前のプロフィール文 | 書き直しで残すところの判断 |
行番号は面談の記録とアンケートで頭文字を分けます。 面談の記録は M12、アンケートは Q3 のように振ります。カウンセラーが確認するとき、どちらの言葉を元にしたかが一目で分かります。
アンケートは本人の文章なので、誤字もそのまま渡します。 前処理で直すと、自己PRの言葉づかいを本人に寄せる材料が減ります。直すのは下書きの段階で、カウンセラーが本人に見せる前です。
会員管理の仕組みに外から読む口が無いときは、記録を書き出したファイルを決まった場所に置き、Azure Functions がそれを読む形にします。 その場合も、書き出すのは対象の会員1人分だけにします。
AIへ渡す前に整形する
- 伏せ字 … 氏名、電話番号、住所、メールアドレス、SNSのアカウント名を、正規表現と会員の登録情報で照合して
[氏名]のように置き換えます - 特定につながる語の印 … 一覧にある駅名・病院名・学校名・会社名に印を付けます。伏せずに印だけ付けるのは、2回目の呼び出しで「この語が文に残っていないか」を見せるためです
- 行番号 … 面談の記録とアンケートを行に分け、番号を振ります
- 公開の粒度の指示 … 印から「職業は業種まで」「居住地は都道府県まで」のような指示文を組み立てます
- 長さの確認 … 面談の記録が長すぎるときは、書き直しなら直近の面談の分だけに絞ります
- 数値の除外 … 年収・身長・体重などの数値の行を、渡す前に外します
1番目を生成AIにさせないのは、伏せ字の漏れを仕組みで防ぐためです。 氏名と連絡先は、プロフィール文には一度も要りません。要らないものは、最初から渡しません。
2番目の一覧は、店舗のある地域に合わせて作ります。 全国の駅名を入れると「本町」「中央」のような一般的な語まで当たります。一覧は会員が増えた地域から足し、半年に1回は当たった回数を見て、一度も当たらない語と当たりすぎる語を整理します。
5番目の書き直しの絞り込みには、理由がもう1つあります。 入会のときの記録と3か月後の記録では、本人の希望が変わっていることがあります。 古い記録を全部渡すと、もう望んでいない条件が下書きに戻ってきます。
AIに処理させる
させることは2つです。1つ目は下書きを作ること、2つ目は下書きの中の気になる記載を拾うことです。 呼び出しを分けるのは、書いた本人に点検させると、自分の文を甘く読むからです。
| させること | 中身 | 判断できないときの扱い |
|---|---|---|
| 自己PRの下書き | アンケートの言葉づかいに寄せ、本人の一人称で書く | 材料が足りなければ短く書き、missing_topics に挙げる |
| 推薦文の下書き | カウンセラーの視点で、面談で見えた人柄を具体的なエピソードで書く | エピソードが無ければ「面談で確かめる」と挙げる |
| 文ごとの根拠 | 下書きの1文ごとに、元にした行番号を付ける | 根拠の行が無い文は書かない |
| 特定できる記載を拾う | 1文ずつではなく、文の組み合わせで本人が分かるかを見る | 迷ったら拾う |
| 同意の要る記載を拾う | 病歴、障害、信仰、家族の事情など | 公開の印が無ければ拾う |
| 根拠の無い文を拾う | 1回目の根拠の行番号を、元の行と照らす | 言い換えの範囲か迷ったら拾う |
「迷ったら拾う」を2か所に書いているのは、拾いすぎの損より見落としの損が大きいからです。 拾いすぎた記載はカウンセラーが数秒で外せますが、見落として掲載された記載は、他の相談所の会員にも読まれます。
| させないこと | 理由 |
|---|---|
| 記載を消すか残すかの決定 | 公開するかは本人が決める |
| 面談の記録に無い長所を足すこと | 事実と違う紹介は、お見合いの後で本人の信用を落とす |
| 年収・学歴・身長などの数値を書くこと | 提出書類で確かめた値の欄と食い違う |
| 相手の条件を断る書き方 | 相談所として禁止している |
| 他の会員や一般の人と比べる書き方 | 同上 |
| 会員の成婚の見込みや人柄の評価 | カウンセラーが責任を持つ判断 |
2行目がいちばん起きやすい失敗です。 「料理が得意」と記録に無いのに、「家庭的な方です」と書きたくなるのが生成AIの癖です。書かれた長所が事実と違えば、お見合いの席で本人が困ります。
同意の要る記載の範囲は、個人情報保護委員会のガイドラインを目安にします。 ガイドライン(通則編)は、要配慮個人情報として人種、信条、社会的身分、病歴、犯罪の経歴、犯罪により害を被った事実、心身の機能の障害があることなどを挙げ、その取得には原則としてあらかじめ本人の同意が必要としています。相談所では、これらに加えて家族の介護や離婚の事情も「本人に確かめる」に入れます。
指示内容を固定する
1回目(下書き)のシステムの指示:
あなたは結婚相談所のカウンセラーを手伝う立場です。
面談の記録(M で始まる行)とアンケート(Q で始まる行)だけを材料に、
お見合いの仕組みに載せる自己PRと推薦文の下書きを作ってください。
【書き方】
- 自己PR:本人の一人称。アンケートの言葉づかいに寄せる。{pr_limit}字以内
- 推薦文:カウンセラーの視点。面談で見えた人柄を、具体的な出来事で書く。{rec_limit}字以内
- 1文ごとに、元にした行番号を source に入れる
【厳守事項】
- 行に書かれていないことを書かないでください。長所を足さないでください。
- 根拠の行が無い文は、書かずに missing_topics に話題の名前を挙げてください。
- 年収・学歴・身長・体重などの数値を書かないでください。
- 職業は「{job_level}」、居住地は「{area_level}」の粒度で書いてください。
勤務先の名前、駅名、学校名、病院名を書かないでください。
- 病気、障害、信仰、家族の事情は、公開の印にあるものだけ書いてください。
印に無ければ書かないでください。
- 相手の条件を断る書き方、他の人と比べる書き方をしないでください。
- 成婚の見込みや「理想の結婚相手」などの評価を書かないでください。
【公開の印】{consent_flags}
【面談の記録】{interview_lines}
【アンケート】{survey_lines}
2回目(拾う)のシステムの指示(要点): 「下書きの文と、元の行を照らしてください。①文の組み合わせで本人が分かる記載、②病歴・障害・信仰・家族の事情で公開の印に無いもの、③元の行に書かれていない内容、④一覧で印を付けた語が残っているもの、を拾い、種類・該当の文・理由を書いてください。直し方の提案は書いてよいが、消すか残すかは決めないでください。迷ったら拾ってください」。
「行に書かれていないことを書かない」だけでは足りません。 生成AIは根拠の行番号を付けながら、その行を膨らませて書くことがあります。2回目の呼び出しで、行と文を突き合わせ直すのはそのためです。
出力形式を固定する
1回目は次の形のJSONで受け取ります。
{
"self_pr": [
{ "text": "休日は友人とキャンプに出かけます。", "source": ["Q2", "M18"] }
],
"recommendation": [
{ "text": "面談では、職場の後輩の相談に…", "source": ["M24"] }
],
"missing_topics": ["結婚後の住まいの希望"]
}
2回目は次の形で受け取ります。
{
"flags": [
{ "type": "identifiable | sensitive | unsupported | listed_term",
"sentence": "",
"reason": "",
"suggestion": "" }
]
}
1つ目の理由は、文ごとに根拠を持たせられることです。 カウンセラーの画面では、下書きの文にマウスを重ねると元の行が出ます。根拠を確かめる時間が、記録を読み返す時間より短くなります。
2つ目は、type で確認の仕方を分けられることです。 identifiable と listed_term はカウンセラーが直し、sensitive は本人に確かめ、unsupported は面談で聞き直すか消します。
文字数はスキーマで縛れません。 公式のページでは、文字列の minLength・maxLength・pattern・format はサポートされないキーワードとされています。Azure Functions が文字数を数え、上限を超えたら「あと何字短く」と付けて1回だけ作り直します。 スキーマには最大100個のオブジェクトのプロパティ、入れ子は5段までという上限もあるので、文の配列は1段の深さに収めます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 会員管理の仕組み | 読み取りの口または書き出しファイル | 面談の記録、アンケート、公開の印を読む。下書きと拾われた記載を書き戻す |
| Azure OpenAI | Chat Completions API | 下書きと拾う処理の2回の呼び出し |
| 連盟のお見合いの仕組み | 人が貼る | 本人が了承した文だけ |
会員管理の仕組みへの書き戻しは、下書きの欄だけにします。 掲載中のプロフィール文の欄には書きません。掲載している文と下書きを別の欄に置けば、確認の途中の文が掲載用の欄に入ることがありません。
デプロイの種類は、処理の場所で選びます。 Microsoft のデータとプライバシーのページでは、Global や DataZone の種類でなければ、プロンプトと応答は顧客が指定した地域(geography)の中で処理されるとされています。Global の種類は、そのモデルが展開されているどの地域でも処理されうるとされています。会員の面談の記録を扱うので、Global の種類は使わず、日本の地域の中で処理される種類にします。
人が確認する
カウンセラーは、拾われた記載を先に見てから下書きを読みます。
sensitiveを見る … 公開の印に無い病歴や家族の事情。消さずに、本人に確かめる一覧に入れるidentifiableとlisted_termを直す … 「市内の総合病院の救急外来」→「医療の仕事」のように粒度を上げるunsupportedを確かめる … 元の行に無い長所や出来事。面談で確かめていなければ消す- 下書きを読み、書きぶりを直す … 本人らしさが出ているか。ここはカウンセラーの腕の見せどころです
- 会員本人に送る …
sensitiveの記載は「載せてよいか」を一緒に聞く
1番目を消さずに本人に回すのが、この運用の約束です。 持病を知ったうえで出会いたい、と書きたい会員もいます。決めるのは本人で、カウンセラーは確かめる役です。
本人の了承をもらうまで、掲載しません。 書き直しのときも同じで、前の文を了承していても、新しい文は改めて見せます。
4番目の書きぶりの手直しを省かないでください。 下書きは記録に沿っていても、どの会員の推薦文も同じ組み立てになりやすいからです。最初の1か月は、経験の長いカウンセラーが新しいカウンセラーの手直しを週に1回まとめて読み、どこを直すとその人らしさが出るのかを共有します。この共有が、属人化していた書き方を相談所の中に広げる場になります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 面談の記録が短く材料が足りない | 下書きは短いまま出し、missing_topics を次の面談で聞くことの一覧にする |
| 文字数の上限を超える | 「あと何字短く」と付けて1回だけ作り直す。それでも超えたらカウンセラーが削る |
| 入力が安全の仕組みで止まる | 離婚の事情や過去の被害の話が止まることがある。その行を外して作り直し、外した行は人が扱う |
| 出力が安全の仕組みで止まる | finish_reason が content_filter。下書きを出さず、カウンセラーが手で書く |
| 公開の印が会員管理の仕組みに無い | いちばん粗い粒度で書き、「印が無い」と表示して入会時の書面を確かめる |
| 伏せ字の照合で漏れが見つかる | 2回目の listed_term で拾う。伏せ字の規則に足して、同じ漏れを繰り返さない |
| 書き直しで前の文と大きく変わる | 前の文と下書きを並べて表示し、本人に違いを説明する |
| 生成AIの応答が返らない | 下書きの欄を空のままにし、カウンセラーに知らせる。手で書く道は残す |
本人が sensitive の記載の公開を断った | 下書きから消し、公開の印に「載せない」と記録する。次の書き直しで同じ記載が戻らないようにする |
3行目は、相談所の業務では避けられません。 既定の安全方針は、ヘイトと公平性・性的・暴力・自傷の4つについて、プロンプトと出力の両方で重大度が中以上を止めるとされています。家族や恋愛の関係に触れるだけなら安全の範囲とされていますが、過去の被害の経緯が詳しく書かれた記録は止まりうるので、その行は最初からプロフィール文の材料に入れない運用にします。
記録を残す
- 下書きを作った日時、カウンセラー、会員番号、版
- 生成AIへ渡した入力(伏せ字にした後のもの)と、2回の呼び出しの出力
- 拾われた記載と、カウンセラーが「直した」「消した」「本人に確かめた」のどれにしたか
- 会員本人が了承した文と、了承した日時
- 掲載した日と、掲載した文が了承した文と同じであること
4つ目が、いちばん大事な記録です。 掲載した文について後から会員から問い合わせがあったとき、本人が了承した文がどれだったかを示せることが、相談所の信用を守ります。
拾われた記載の種類ごとの件数も、月ごとに数えます。 unsupported が多いカウンセラーは面談の記録が短く、identifiable が多い地域は一覧が足りていません。直す先が、指示ではなく記録の書き方や一覧だと分かります。
伏せ字の前の入力は、ログに残しません。 面談の記録そのものは会員管理の仕組みにあるので、ログに同じものを二重に持つ理由がありません。
04実装レベルの3段階
最小構成では伏せ字が手作業です。 1件ずつ手で消すので、月120件には使えません。確かめるための段階です。 半自動化で、1件45分が15分になり、この段階が本記事の想定です。 下書きと読み直しの多くが自動になり、カウンセラーは拾われた記載の判断と書きぶりの手直しに時間を使います。本格構成で減るのは本人とのやり取りの手間で、この試算には入れていません。 本格構成に急いで進む必要はありません。 本人に文を見せるやり取りは、カウンセラーと会員の関係を作る機会でもあります。 了承の受け付けを仕組みにするかは、会員の声を聞いて決めてください。
05工数削減シミュレーション
導入後 120件 × 15分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- カウンセラーが数名から十数名いて、入会と書き直しを合わせて月に数十件から百件以上のプロフィール文を書いている結婚相談所。入会面談の記録を会員管理の仕組みに文章で残しているものの、プロフィール文の書きぶりと点検の細かさがカウンセラーごとに違い、勤務先が分かる書き方や、本人が公開を望んでいない事情が載ってしまったことがある場合。Azure の契約があるか、委託先に Azure Functions で小さな連携を作ってもらえる場合。
- 会員が数十名で、代表のカウンセラーが全員のプロフィール文を自分で書いている場合。面談の記録が紙の手書きで、文章として取り出せない場合(先に記録の電子化から始めます)。加盟する連盟や本部がプロフィール文の書式と点検を一括で行っており、相談所の側で文を書かない場合。なお、会員の紹介の可否、成婚の見込み、どの表現を禁止するかの方針は、この構成では代替できません。面談の記録から下書きを作り、気になる記載を拾うまでです。
07最小構成で試す方法
- 本人の了承をもらったうえで、過去に掲載したプロフィール文と元の面談の記録を10件選ぶ(経験の長いカウンセラーと新しいカウンセラーの分を半分ずつ)
- 面談の記録から氏名・連絡先・勤務先の名前を手で消し、行番号を振る
- 社内で使える Azure OpenAI の画面(Microsoft Foundry のプレイグラウンド)に、第7章の1回目の指示と記録を貼る
- 出てきた下書きを、実際に掲載した文と並べて読む
- 同じ下書きに2回目の指示を貼り、拾われた記載を見る
10件は必ずやってください。 連携を作る前に、面談の記録が下書きの材料として足りているかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 掲載した文に近い出来の下書きが出た | 連携と点検の仕組みに進む |
| 長所を足した、数値を書いた | 指示の書き方で直る。構成は有効 |
| 材料が足りず、どれも短く一般的な文になった | 面談の記録の書き方が先。 AIの問題ではない |
3行目が出たら、面談の記録の項目を見直す機会です。 「休日の過ごし方」を「楽しい」とだけ書くか、「月に1回、友人と山に登る」と書くかで、下書きの出来は大きく変わります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 記録に無い長所を足す | 文ごとに根拠の行を出させ、2回目で行と文を突き合わせ直す |
| 1文ずつは問題ないのに、組み合わせで本人が分かる | 2回目は文の組み合わせで見るよう指示する |
| 同意の要る記載をAIが消してしまう | 消すか残すかは決めさせない。本人に確かめる一覧に回す |
| 年収や身長を文の中で言い直す | 数値の行を渡す前に外す |
| 文字数の上限を超える | maxLength はスキーマで使えない。Functions で数えて作り直す |
| 特定につながる語の一覧が当たりすぎる | 店舗のある地域に絞り、一般的な語を外す |
| 離婚の事情や被害の話で入力が止まる | その行を外して作り直す。最初から材料に入れない運用にする |
| Global のデプロイで処理の場所が変わる | 日本の地域の中で処理される種類を選ぶ |
| 会話の履歴が残る呼び出し方を選ぶ | 1回ずつの呼び出しで足りる。Chat Completions を使う |
| 公開の印が無い会員がいる | いちばん粗い粒度で書かせ、入会時の書面を確かめる |
| 下書きをそのまま本人に送る | カウンセラーの手直しの時間を15分の中に残す |
| 本人が断った記載が書き直しで戻る | 公開の印に「載せない」を記録し、次の下書きの指示に入れる |
上の3行が、この構成の失敗のほとんどです。 どれも本人が知らない、または望まない内容が載る失敗です。根拠の行と、本人に確かめる一覧を設計に入れてあるかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 会員の面談の記録(仕事、家族、暮らし、相手に望むこと)、自己紹介のアンケート、公開の粒度の印です。病歴や信仰など、要配慮個人情報に当たる内容が含まれることがあります。
- 生成AIへ渡すのは伏せ字にした記録だけにする … 氏名と連絡先はプロフィール文に要りません。年収や身長の数値も渡しません
- 要配慮個人情報を載せるかは本人が決める … 個人情報保護委員会のガイドラインは、要配慮個人情報の取得に原則として本人の同意が必要としています。面談で聞いたことと、プロフィール文で公開することは別の話です。 公開の印が無ければ載せません
- 掲載は本人の了承の後 … この構成は下書きまでです。本人が見ていない文が、他の相談所の会員に読まれる経路を作りません
- 処理の場所を決めておく … Global のデプロイでは、そのモデルが展開されているどの地域でも処理されうるとされています。会員の記録を扱うので、日本の地域の中で処理される種類にします
- 会話の履歴を残さない呼び出し方にする … Responses API はメッセージの履歴を保存するとされています。Chat Completions で1回ずつ呼びます
- 紹介の判断に使わない … 下書きと点検のための仕組みで、どの会員に誰を紹介するか、成婚の見込みがあるかを判断させません
誤りが起きた場合のリスクは、事実と違う紹介が載ることと、本人が特定できる記載や望まない事情が載ることの2つです。 前者は根拠の行で、後者は伏せ字・一覧の照合・本人の了承で防ぎます。どちらも、掲載の前に人が止められる位置に置きます。
10まず何から始めるか
1週目:公開の粒度を聞く書面を作る
入会のときに、職業と居住地をどの粒度で載せるか、面談で話した事情のうち載せたいものがあるかを聞く書面を作ります。活動中の会員には、次の面談のときに聞きます。
2週目:10件で試す
過去の面談の記録とプロフィール文を、本人の了承をもらって10件選び、手で伏せ字にしてプレイグラウンドで下書きを作らせます。長所を足していないか、数値を書いていないかを最優先で見ます。
3週目:2つの一覧を作る
禁止表現の一覧と、店舗のある地域の特定につながる語の一覧を作ります。 禁止表現は、これまでの読み直しで直してきた書き方を集めると早く作れます。
4週目:ボタンから書き戻しまでをつなぐ
Azure Functions で記録を取り出し、伏せ字にして1回目の呼び出しをし、下書きを書き戻すところまで作ります。この時点では2回目の呼び出しを入れず、根拠の行番号が正しく付くかだけを見ます。
2か月目: 2回目の呼び出しと一覧の照合を足し、拾われた記載の種類ごとの件数を毎週数えます。3か月目以降: 1件45分が何分になったかを実測します。拾われた記載のうちカウンセラーが外したものを見て一覧と指示を直し、新しいカウンセラーの文が経験の長いカウンセラーの文と同じ点検を通るようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Chat Completions API と Responses API の両方で構造化出力が使え、それぞれ response_format・text.format でスキーマを定義すること。すべてのフィールドを必須にし additionalProperties: false を設定すること。文字列の minLength・maxLength・pattern・format が非対応であること。最大100個のオブジェクトのプロパティ、入れ子5段までであること | Microsoft Learn: Azure OpenAI で構造化出力を使用する方法 | 2026-10-26 |
| プロンプトと出力が OpenAI に提供されず、基盤のモデルの学習に使われないこと。Global・DataZone 以外は顧客が指定した地域の中で処理され、Global はモデルが展開されたどの地域でも処理されうること。Responses API がメッセージの履歴などを保存すること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-26 |
既定の安全方針(DefaultV2)が、ヘイトと公平性・性的・暴力・自傷の4つについて、プロンプトと出力の両方で重大度が中以上をブロックすること。家族や恋愛の関係への言及が性的の区分で安全に当たる例とされること。入力が止まるとエラー、出力が止まると finish_reason が content_filter になること。日本語が学習・評価された言語に含まれること | Microsoft Learn: Default safety policies in Microsoft Foundry | 2026-10-26 |
| 要配慮個人情報(法第2条第3項)として人種、信条、社会的身分、病歴、犯罪の経歴、犯罪により害を被った事実、心身の機能の障害があることなどが挙げられること。要配慮個人情報の取得には原則としてあらかじめ本人の同意が必要なこと(法第20条第2項) | 個人情報保護委員会: 個人情報の保護に関する法律についてのガイドライン(通則編) | 2026-10-26 |
どの記載を公開するか、どの表現を禁止するかは、会員本人とカウンセラー、相談所の方針で決めてください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1855)についてのご相談はこちらから。
