証券会社の営業員が書く勧誘の記録を、適合性の原則と社内規程に照らして点検し、記載の抜けと確認が要る勧誘を管理部門に回す
証券会社の営業員が電話や訪問の勧誘ごとに書く面談記録を、社内規程の記載事項と照らして点検します。記載の抜けと、承認の無い勧誘や乗換えの勧誘など確認が要る記述を拾い、内部管理責任者に回します。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Power Automate
- 対象業界
- 金融
- 対象部門
- 営業/法務
- 対象業務
- 内容確認・チェック
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 前日の面談記録の一覧を、顧客管理システムで支店ごとに開く
- 1件ずつ読み、日時・方法・相手・案内した商品・顧客の反応が書かれているかを見る
- 顧客の年齢と、案内した商品の区分を見て、事前承認が要る勧誘かを判断する
- 要るなら、承認の記録のシステムを開いて、その日の承認があるかを確かめる
- 「売却して別の商品へ」のような乗換えの記述や、「投資目的を見直したい」のような記述があれば、取引の状況と顧客カードを開く
- 気になるものをメモし、営業員に書き足しや事情の説明を求める
- 重いものは本社の営業管理部に報告する
- 自動毎朝、前日の面談記録を顧客管理システムから書き出す
- 自動Azure Functions が、記録ごとに顧客の区分(年齢の区分、投資目的、投資経験)、その日の承認の記録、直近の取引の回数と手数料の集計を付ける
- 自動Azure OpenAI に、記載事項の有無と、確認が要る型に当たる記述を引用付きで判定させる
- 自動Azure Functions が、引用が記録にあるかを照合し、承認の要否を社内規程の規則で決め、記録ごとの点検の結果をまとめる
- 人内部管理責任者が、点検の結果が「要確認」「記載不足」の記録だけを読み、営業員に事情を聞くか書き足させる
- 人重いものは本社の営業管理部に報告し、必要なら顧客に直接連絡する
各工程の詳しい説明を読む
- 前日の面談記録の一覧を、顧客管理システムで支店ごとに開く
- 1件ずつ読み、日時・方法・相手・案内した商品・顧客の反応が書かれているかを見る
- 顧客の年齢と、案内した商品の区分を見て、事前承認が要る勧誘かを判断する
- 要るなら、承認の記録のシステムを開いて、その日の承認があるかを確かめる
- 「売却して別の商品へ」のような乗換えの記述や、「投資目的を見直したい」のような記述があれば、取引の状況と顧客カードを開く
- 気になるものをメモし、営業員に書き足しや事情の説明を求める
- 重いものは本社の営業管理部に報告する
(a)毎日の量が多い。 支店ごとに1日20〜30件の記録があり、内部管理責任者は自分の業務の合間にそれを読みます。月末や相場の大きく動いた日は記録が増え、読み方が浅くなります。
(b)承認の確認が手作業。 記録の文章から商品と顧客を読み取り、承認の記録のシステムを別に開いて探します。承認が要るかの判断を毎回頭の中で行うので、見落としが出ます。
(c)型に当たる記述が文章に埋もれる。 監督指針は、顧客属性や投資目的に適合しない高頻度の売買の勧誘、適合しない商品を勧誘するために投資目的の変更を求める行為、合理的な理由が無いのに手数料の高い商品を勧誘する行為などを、不適当な勧誘の例に挙げています。記録には「お客さまから見直しの希望」と書かれていても、それが顧客の申出なのか、営業員が持ちかけたのかは、文章を丁寧に読まないと分かりません。
(d)点検の目が支店ごとに違う。 ある支店では記載の抜けを細かく直させ、別の支店では承認の確認を中心に見ます。本社から見ると、どの支店の記録がどこまで点検されたかがそろいません。
- 【自動】 毎朝、前日の面談記録を顧客管理システムから書き出す
- 【自動】 Azure Functions が、記録ごとに顧客の区分(年齢の区分、投資目的、投資経験)、その日の承認の記録、直近の取引の回数と手数料の集計を付ける
- 【自動】 Azure OpenAI に、記載事項の有無と、確認が要る型に当たる記述を引用付きで判定させる
- 【自動】 Azure Functions が、引用が記録にあるかを照合し、承認の要否を社内規程の規則で決め、記録ごとの点検の結果をまとめる
- 【人】 内部管理責任者が、点検の結果が「要確認」「記載不足」の記録だけを読み、営業員に事情を聞くか書き足させる
- 【人】 重いものは本社の営業管理部に報告し、必要なら顧客に直接連絡する
5番目が、この設計の分かれ目です。 内部管理責任者は全件を読みません。AIとプログラムが「要確認」「記載不足」とした記録を読み、それ以外は一覧で件数と営業員を流し見ます。
承認が要るかを、AIではなく規則で決めているのも意図してのことです。 年齢の区分と商品の区分の組み合わせで承認が要るかは、社内規程そのものです。AIに判断させると、規程がAIの解釈に置き換わります。AIには、記録から「何の商品を案内したか」を読み取らせるところまでを任せます。
02今回想定するシステム構成
顧客管理システム(面談記録・顧客カード)+承認の記録+取引と手数料のデータ │ 前日の面談記録を書き出し ▼【トリガー】毎朝の定時(Azure Functions のタイマー) Azure Functions ── 顧客の区分、承認の記録、取引の集計の付加、個人情報の置き換え ▼ Azure OpenAI(構造化出力)── 記載事項の有無、案内した商品の読み取り、型に当たる記述の引用 │ ① 記載事項(日時・方法・相手・商品・反応・次の予定) │ ② 案内した商品と区分 ③ 乗換え・投資目的の変更・顧客からの申出の別 ▼ Azure Functions ── 引用の照合、承認の要否の規則、取引の集計との突き合わせ ▼ 点検の一覧(支店ごと・営業員ごと) ▼ 【内部管理責任者が「要確認」「記載不足」だけ読む】 ├──▶ 営業員への書き足し・事情の聴取 └──▶ 重いもの → 本社の営業管理部
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude API、Gemini API |
| 連携 | Azure Functions(書き出し、付加、置き換え、照合、規則、集計) | Power Automate |
| 保管 | Azure Blob Storage(入力、判定、確認の記録) | 顧客管理システムの保管領域 |
顧客管理システム、承認の記録、取引のデータには書き込みません。 この構成は、前日の記録を読んで点検の一覧を作るだけです。営業員への書き足しの指示と、顧客への連絡は、いまと同じく内部管理責任者が行います。
Azure OpenAI を選ぶ理由は、構造化出力で JSON スキーマに沿った出力を受けられることです。 公式の説明では、構造化出力は指定した JSON スキーマに従うもので、Chat Completions API と Responses API の両方で使えるとされています。記載事項ごとの有無と、型ごとの引用を決まった形で受けられるので、後段で引用を照合し、承認の記録と突き合わせられます。 顧客の情報を Azure の中で扱い、契約と権限の管理を一つにまとめられることも理由です。
03どうやって実装するのか
処理の起点を決める
毎朝の定時に、前日の面談記録をまとめて処理します。 内部管理責任者は朝に前日の記録を読んでいるので、その時刻までに点検の一覧が出ていれば足ります。 記録は営業員が夕方から夜に書くことが多いので、翌朝の処理なら前日分がほぼそろっています。
前日の夜より後に書き足された記録は、翌日の処理で拾います。 書き足しの日時を見て、一度点検した記録が書き足されたら、もう一度点検の対象に入れます。 内部管理責任者の指示で書き足された記録が、指示どおりに直ったかを確かめるためです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 面談記録 | 日時、方法(電話・訪問・来店)、相手、記録の本文、営業員 | 顧客管理システム |
| 顧客の区分 | 年齢の区分、投資目的、投資経験、資産の区分 | 顧客カード |
| 承認の記録 | 承認の日時、承認した役席者、対象の商品、有効期間 | 承認の記録のシステム |
| 取引の集計 | 直近の取引の回数、売買の組み合わせ(売却と購入が同じ日にあるか)、手数料の累計 | 取引と手数料のデータ |
| 商品の区分の一覧 | 商品ごとの社内の区分(承認が要る区分か) | 商品の管理の一覧 |
| 記載事項の一覧 | 面談記録に必ず書く事項と、「記載あり」「記載なし」の例 | 社内規程と手引き(版の番号付き) |
質を決めるのは、記載事項の一覧の例です。 「顧客の反応」を「検討する」の一言で記載ありとするか、何を検討するのかまで要るかを、例で決めておきます。 例の無い一覧では、AIも内部管理責任者と同じだけ迷います。
取引の集計は、プログラムで作って渡します。 監督指針は、合理的な理由を欠く高頻度の売買かの判断にあたって、顧客の年間の平均投資残高に対する支払手数料の累計額の割合や、顧客の過去の取引頻度などに留意するとしています。この割合は取引のデータから計算するもので、AIに計算させるものではありません。 AIには、計算した値と社内の目安を超えたかの印だけを渡します。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 面談記録 | 顧客管理システム | 前日分と、書き足された記録を日付で書き出す(方式はシステムの仕様による) |
| 顧客の区分 | 顧客カード | 顧客の番号で読む。生年月日は年齢の区分に変換してから使う |
| 承認の記録 | 承認の記録のシステム | 顧客の番号と日付で、その日に有効な承認を読む |
| 取引の集計 | 取引と手数料のデータ | 顧客の番号ごとに、直近の期間の回数と手数料を集計する |
顧客管理システムからの書き出しの方式は、製品によって違います。 この部分は、利用しているシステムに応じた個別の実装になります。 承認の記録が別のシステムにある場合は、顧客の番号でひも付けられるかを最初に確かめます。
承認の記録は「その日に有効なもの」を引きます。 承認に有効期間を設けている社内規程なら、勧誘の日が有効期間の中にあるかを見ます。勧誘の日より後の承認は、事前承認になりません。
AIへ渡す前に整形する
- 個人情報の置き換え … 顧客の氏名、住所、電話番号、口座番号を記録の本文から外し、顧客の番号に置き換えます。本文中の家族の名前や勤務先も、顧客カードの登録値で探して置き換えます
- 区分への変換 … 生年月日は年齢の区分に、金融資産の額は資産の区分に変換し、値そのものは渡しません
- 承認の記録の付加 … その日に有効な承認があれば、対象の商品と承認した役席者の役職を付けます
- 取引の集計の付加 … 直近の取引の回数、同じ日の売却と購入の有無、手数料の割合と社内の目安を超えたかの印を付けます
- 短すぎる記録の扱い … 本文が数文字の記録(「不在」「留守電」など)は、勧誘が無かったものとして記載事項だけを見ます
- 版の記録 … 使った記載事項の一覧と商品の区分の一覧の版を、記録ごとに残します
2番目を省かないでください。 年齢と資産の額をそのまま渡すと、AIはそれを使って「この年齢でこの商品は不適当」と書きます。適合性の判断はこの構成の外に置くので、判断の材料になる値を必要以上に渡しません。 承認の要否は、区分を使って規則が決めます。
AIに処理させる
させるのは、記載事項ごとの有無の判定、記録から案内した商品を読み取ること、確認が要る型に当たる記述を引用することです。
| 見るもの | 判定の仕方 | 判断できないときの扱い |
|---|---|---|
| 記載事項 | 一覧の事項ごとに、記載があるか。例に照らす | 書いてあるが中身が無ければ vague |
| 案内した商品 | 記録に出てくる商品名を、商品の区分の一覧の名前と対応させる | 一覧に無い名前なら unknown_product |
| 乗換えの勧誘 | 保有する商品の売却と別の商品の購入を、営業員が持ちかけた記述 | どちらが持ちかけたか書かれていなければ initiator_unclear |
| 投資目的の変更 | 投資目的やリスクの許容度を変える話が出た記述と、誰が持ちかけたか | 同上 |
| 顧客からの申出 | 資産・収入の状況や投資目的が変わったという顧客の発言 | 判断しない。引用するだけ |
3行目と4行目の右端が、この構成でいちばん大事な区別です。 監督指針が不適当な勧誘の例に挙げるのは、適合しない商品を勧誘するために、顧客に投資目的の変更を求める行為です。顧客が自分から見直したいと言った場合とは、意味が違います。記録に「誰が言い出したか」が書かれていないなら、それ自体が書き足しを求める理由になります。
最後の行は、顧客カードの更新につながります。 監督指針は、顧客の申出等で資産・収入の状況や投資目的が変化したことを把握した場合に、顧客カード等の登録内容の変更を行うか否かを顧客に確認した上で変更を行うことを着眼点にしています。記録にそうした申出が出てきたら、顧客カードが直されたかを内部管理責任者が確かめる材料にします。
| させないこと | 理由 |
|---|---|
| 勧誘が適合性の原則に反するかの結論 | 内部管理責任者と管理部門が判断する |
| 承認が要るかの判断 | 年齢の区分と商品の区分の組み合わせで規則が決める |
| 手数料や回数の計算 | 取引のデータから前処理で計算する |
| 記録に無い事情の推測 | 「おそらく顧客の希望」と補わない |
| 営業員の評価や点数付け | 点検は記録の確認で、人事評価ではない |
4行目がいちばん起きやすい失敗です。 記録に「見直しのご相談」とだけあると、AIは文脈から「顧客の希望による」と補います。補った瞬間に、書き足しを求めるべき記録が「問題なし」に変わります。
指示内容を固定する
あなたは証券会社の営業管理の担当として、営業員の面談記録を点検します。
渡された記録と一覧だけを見て判定してください。推測で補わないでください。
【記載事項ごとの status】
- written .. 一覧の例の「記載あり」に当たる記述がある
- vague .... 記述はあるが、例の「記載なし」に当たるほど中身が無い
- missing .. 記述が無い
迷ったときに written を選ばないでください。
【確認が要る型】
- switching: 保有する商品の売却と別の商品の購入を勧める記述
- objective_change: 投資目的やリスクの許容度を変える話が出た記述
- customer_report: 資産・収入の状況や投資目的が変わったという顧客の発言
各型について、initiator を sales(営業員が持ちかけた)/ customer(顧客から)/ unclear で示す。
【厳守事項】
- quote には、根拠にした記録の文を、記録のとおりに一字一句写してください。
- 記録に誰が持ちかけたか書かれていなければ、initiator は unclear にしてください。
文脈から推測して customer にしないでください。
- 案内した商品は、記録に出てくる名前を products_mentioned に写し、
商品の区分の一覧で対応する名前があれば product_code に入れてください。無ければ unknown_product。
- 承認が要るか、承認があったかを判断しないでください。承認の記録は別に照合します。
- 勧誘が適合性の原則に反するか、不適当かを書かないでください。
- 年齢、資産の額について書かないでください。営業員を評価しないでください。
【記載事項の一覧(版:{rule_version})】{required_items}
【商品の区分の一覧】{product_list}
【この記録の付加情報(顧客の区分・取引の集計の印)】{context}
【面談記録】{record}
「誰が持ちかけたか書かれていなければ unclear」を独立した1項目にしているのは、ここが点検の要だからです。 一般的な「推測しない」だけでは、AIは文脈から読み取れることは推測ではないと考えます。この項目だけは、明示されていなければ unclear と決めます。
「承認が要るか判断しない」を入れているのは、渡した顧客の区分から、AIが承認の要否まで言い出すからです。 AIの判断と規則の判断が食い違ったとき、どちらが正しいかの議論になるのを避けます。
出力形式を固定する
次の形のJSONを、構造化出力のスキーマで受け取ります。
{
"record_id": "",
"rule_version": "",
"required_items": [
{ "item_no": "", "status": "written | vague | missing", "quote": "" }
],
"products_mentioned": [ { "name_in_record": "", "product_code": "" } ],
"patterns": [
{ "type": "switching | objective_change | customer_report",
"initiator": "sales | customer | unclear", "quote": "" }
]
}
公式の説明では、構造化出力ではすべてのフィールドを必須にし、オブジェクトには additionalProperties: false を設定する必要があり、最大100個のオブジェクトのプロパティと最大5段の入れ子が持てるとされています。
1つ目の理由は、引用をプログラムで照合できることです。 Azure Functions が quote を記録の本文と突き合わせ、一致しないものは unverified として扱い、その指摘を採用しません。
2つ目は、AIの読み取りと規則の判断を別の層に置けることです。 AIは products_mentioned で商品を読み取り、承認が要るかは、顧客の年齢の区分と product_code の区分の組み合わせで規則が決めます。 承認が要るのにその日に有効な承認が無ければ、approval_missing とします。
乗換えの記述が拾われた記録では、patterns にたとえば次の要素が返ります。
{ "type": "switching", "initiator": "unclear",
"quote": "保有中のAファンドの一部を売却し、新しい外債ファンドへの切替えをご案内。前向きにご検討とのこと。" }
「ご案内」とあっても、切替えの話をどちらが先に出したかは書かれていないので unclear です。 内部管理責任者は、営業員にどちらから出た話かを確かめ、記録に書き足させます。
3つ目は、取引の集計と突き合わせられることです。 switching が拾われた記録で、取引のデータに同じ日の売却と購入があれば、記録の文章と実際の取引がそろって乗換えを示していることになります。
| 点検の結果 | 条件 |
|---|---|
clear | 記載事項がすべて written で、patterns が無く、承認の照合が通る |
insufficient | missing か vague が1つ以上ある |
review | patterns に initiator が sales か unclear のものがある、または customer_report がある、または取引の集計の印が付いている |
escalate | approval_missing、または switching の initiator が sales で手数料の割合の印が付いている |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 顧客管理システム | 書き出し(製品の仕様による) | 前日の面談記録、顧客カードの区分 |
| 承認の記録のシステム | 読み取り(製品の仕様による) | その日に有効な承認 |
| 取引と手数料のデータ | 読み取り用のビューから集計 | 回数、同じ日の売買、手数料の割合 |
| Azure OpenAI | Chat Completions API(構造化出力) | 記載事項、商品の読み取り、型の引用 |
| 点検の一覧の画面 | Azure Functions が書き込む | 点検の結果、引用、承認の照合の結果 |
どのシステムにも書き込みません。 点検の結果を顧客管理システムに戻すと、確かめる前の判定が顧客の記録に残ります。 書き足しの指示は、内部管理責任者がいまの方法で行います。
人が確認する
escalateを最初に見る … 承認の記録が本当に無いか、承認のシステムへの登録が遅れただけかを確かめます。無ければ営業員に事情を聞き、本社に報告しますreviewを読む … 引用と記録の前後を読み、乗換えや投資目的の変更を誰が持ちかけたかを営業員に確かめます。customer_reportは顧客カードが直されたかを見ますinsufficientを営業員に戻す … 抜けている記載事項を示して書き足させますclearは一覧で流し見る … 営業員ごとの件数と、引用の無い記録だけを見ます- 判定を直したら記録する … どの記録の、どの判定を、何に変えたかを残します
1番目で「登録の遅れ」を必ず確かめてください。 承認は口頭で得て、システムへの登録が翌日になることがあります。登録の遅れを承認の無い勧誘として扱うと、営業員は点検そのものを信じなくなります。 登録の遅れが多いなら、それは承認の運用の問題として本社に上げます。
目標は、4,500件をならして1件1分です。 clear は流し見で数秒、review と escalate は記録の前後を読み、営業員に確かめるので数分かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 記録に出てくる商品名が一覧に無い | unknown_product。承認の要否が決められないので review |
| 顧客カードの区分が空 | 承認の要否が決められない。review にし、顧客カードの整備を支店に求める |
| 承認の登録が勧誘の翌日 | 規則では approval_missing。人が登録の遅れかを確かめる |
| 1つの記録に複数の顧客(夫婦での来店など) | 顧客ごとに分けられなければ review |
| 記録が書き足された | 書き足しの後の版で点検し直し、前の結果と並べて示す |
| 引用が記録に見つからない | unverified。その指摘を採用しない |
| 記載事項の一覧や商品の区分が改定された | 改定日以降の記録から新しい版を使い、版の番号を記録する |
上の2行は、AIの問題ではなく台帳の問題です。 商品の区分の一覧と顧客カードが整っていないと、規則が承認の要否を決められず、review が増えます。 一覧の整備が、点検の精度を上げるいちばんの近道です。
記録を残す
- 面談記録の版(書き足しの前後)と、点検した日時
- 付加した顧客の区分、承認の記録、取引の集計の印
- 使った記載事項の一覧と商品の区分の一覧の版
- Azure OpenAI に渡した入力と、返ってきたJSONの全文
- 引用の照合の結果と、規則で決めた点検の結果
- 内部管理責任者が判定を直した記録と、営業員への指示・聴取の記録
最後の行は、監督指針が内部管理部門に求める検証の材料にもなります。 監督指針は、内部管理部門が勧誘の実態の把握の方法を定め、その状況を把握・検証して見直すことを着眼点にしています。どの型の指摘がどれだけ出て、どう処理されたかが残っていれば、点検の方法そのものを見直せます。
04実装レベルの3段階
半自動化で、1件3分が2分程度になります。 記載事項と型の判定は出ますが、承認の記録と取引のデータを開く作業が残ります。本格構成で1分になり、この段階が本記事の想定です。 差が大きいのは、承認の記録との照合が、記録ごとに別の画面を開く手作業だからです。
05工数削減シミュレーション
導入後 4,500件 × 1分 ÷ 60 = 75 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 対面営業の証券会社で、営業員が電話・訪問・来店の勧誘ごとに面談記録を自由記述で残し、支店の内部管理責任者や本社の管理部門がそれを読んで点検している場合。高齢の顧客や一部の商品の勧誘に役席者の事前承認を求める社内規程があり、承認の記録をシステムで持っている場合。Azure を使っている場合。
- 面談記録が選択式の項目だけで、自由記述がほとんど無い場合。勧誘の件数が月に数百件で、内部管理責任者が全件を読める場合。承認の記録が紙で、面談記録と機械で突き合わせられない場合。なお、勧誘が適合性の原則に反するかの判断と、顧客への対応の判断はこの構成では代替できません。
07最小構成で試す方法
- 先月の面談記録から50件を選ぶ(うち数件は、内部管理責任者が当時指摘した記録を入れる)
- 顧客の氏名などを外し、顧客の区分と取引の集計の印を手で付ける
- 第7章の指示と記載事項の一覧を使い、Azure OpenAI の画面で1件ずつ判定させる
- 出てきた判定を、当時の内部管理責任者の点検の結果と突き合わせる
- 食い違った記録は、どちらが正しいかを内部管理責任者と確かめる
50件は必ずやってください。 記載事項の判定より先に、initiator の判定が当時の指摘と合うかを見ます。
| 出てきた内容 | 判断 |
|---|---|
当時指摘した記録が review か insufficient で出た | 自動の処理に進む |
initiator が文脈から推測されて customer になった | 指示の unclear の項目を強める。構成は有効 |
| 記載事項の判定が支店によって当時と食い違う | 記載事項の一覧の例が先。 AIの問題ではない |
3行目は、多くの会社で出ます。 第3章の(d)の支店ごとの違いが、50件の中で見えたということです。例を本社で一つにそろえることが、この構成のいちばんの準備になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 誰が持ちかけたかをAIが文脈から補う | 書かれていなければ unclear と明示する |
vague と written が支店ごとにぶれる | 記載事項の一覧に例を付け、本社で一つにそろえる |
| 記録の商品名が愛称や略称で一覧に当たらない | 商品の区分の一覧に呼び方を足す |
承認の登録の遅れが approval_missing になる | 人が確かめる。遅れが多ければ承認の運用を見直す |
| AIが年齢から適合性の判断まで書く | 年齢と資産は区分で渡し、判断を書かせない |
| 手数料の割合をAIが計算して誤る | 取引のデータから前処理で計算する |
| 書き足した記録が点検されない | 書き足しの日時を見て再点検の対象に入れる |
| 点検の結果が営業員の評価に使われる | 点検は記録の確認と決め、運用の規程に書く |
上の2行が、この構成の失敗のほとんどです。 どちらも、記録の文章の読み方の基準が、AIと人のあいだ、あるいは支店のあいだでずれることで起きます。unclear に倒すことと例をそろえることで、運用に乗るかが決まります。
最後の行は、AIの問題ではありません。 点検の件数が営業員ごとに数字で出ると、評価に使いたくなります。評価に使われると分かった時点で、記録は短く、当たり障りのないものになり、点検で拾えるものが減ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧客の面談記録(保有する商品、売買の意向、資産や家族の状況の話)、顧客の区分、承認の記録、取引の集計です。
- 個人を特定する項目を外してから渡す … 判定に要るのは区分と記録の内容で、氏名・住所・口座番号は要りません。本文中の家族の名前や勤務先も置き換えます
- 処理の地域を決める … 公式の説明では、プロンプトと応答は顧客が指定した地域の中で処理され、Global や DataZone のデプロイの種類ではそれぞれの範囲で処理されうるとされています。日本の地域の標準のデプロイを選びます
- 学習への利用と不正利用の監視を確かめる … 公式の説明では、プロンプトと応答は他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないとされています。一方で、不正利用の監視で兆候が検知されると、プロンプトと応答の一部が確認の対象になり、必要に応じて人が確認するとされています。顧客の取引の情報を扱うので、監視の扱いの変更を申請できる条件に当たるかを確かめます
- 履歴を残す機能を使わない … Responses API は会話の履歴を保存する機能とされています。記録ごとに完結する処理なので Chat Completions API を使います
- 適合性の判断をAIに任せない … 金融商品取引法第40条は、顧客の知識、経験、財産の状況及び契約を締結する目的に照らして不適当と認められる勧誘を行って投資者の保護に欠けることのないよう業務を行うことを求めています。勧誘がこれに当たるかを判断するのは内部管理責任者と管理部門です
- 点検の結果を人事評価に使わない … 点検は記録の確認と事情の聴取の材料です
誤りが起きた場合のリスクは、確認が要る勧誘を見逃すことと、問題の無い勧誘で営業員を問い詰めることの2つです。 前者は initiator を推測で customer にすることで、後者は承認の登録の遅れを確かめないことで起きます。どちらも、unclear に倒し、承認の記録を人が確かめることで防ぎます。
10まず何から始めるか
1週目:記載事項の一覧に例を付ける
社内規程と手引きから、面談記録に必ず書く事項を書き出し、番号を振ります。過去に内部管理責任者が書き足しを求めた記録を集め、「記載あり」「記載なし」の例にします。 本社と支店で例を一つにそろえます。
2週目:50件で試す
先月の記録から50件を選び、氏名を外して判定させます。当時の点検の結果と突き合わせ、initiator を推測で埋めていないかを最優先で見ます。
3週目:承認の要否を規則に書き起こす
年齢の区分と商品の区分の組み合わせで承認が要る場合を、社内規程から規則にします。商品の区分の一覧に、記録に出てくる呼び方を足します。 承認の記録と取引のデータを、顧客の番号でひも付けられるかを確かめます。Azure の処理の地域と、不正利用の監視の扱いを決めます。
4週目:毎朝の処理をつなぐ
前日の記録の書き出しと判定、一覧への書き出しまでを作ります。この時点では承認の照合を入れず、記載事項と型の判定だけを内部管理責任者がいまの点検と並べて見ます。
2か月目: 承認の記録と取引の集計の付加、引用の照合、規則での点検の結果を足します。escalate と review の件数を毎週数えます。3か月目以降: 全支店に広げ、1件3分が何分になったかを実測します。内部管理責任者が判定を直す件数が減り、支店ごとの指摘の傾向が本社で比べられるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 金融商品取引業者等が、顧客の知識、経験、財産の状況及び金融商品取引契約を締結する目的に照らして不適当と認められる勧誘を行って投資者の保護に欠けることとなる状況にないよう業務を行わなければならないこと(第40条第1号) | e-Gov 法令API: 金融商品取引法 | 2026-10-14 |
| 適合性原則(III-2-3-2-1)の着眼点として、顧客の申出等で資産・収入の状況や投資目的の変化を把握した場合に顧客カード等の登録内容の変更を行うか否かを顧客に確認すること。取引の頻度・金額が顧客属性や投資目的に適うことの合理的な理由の検討・評価。顧客属性等に応じて一定の金融商品の投資勧誘を管理職による承認制とする等の慎重な販売管理。不適当な勧誘の例として、適合しない高頻度の売買の勧誘(年間の平均投資残高に対する支払手数料の累計額の割合や過去の取引頻度に留意)、適合しない商品を勧誘するための投資目的の変更の要求、合理的な理由の無い手数料の高い商品の勧誘。内部管理部門による検証。営業員管理態勢(III-2-3-2-2)で勧誘実態の把握の方法を定め検証すること | 金融庁: 金融商品取引業者等向けの総合的な監督指針 III. 監督上の評価項目と諸手続(共通編) | 2026-10-14 |
構造化出力が指定した JSON スキーマに従い、Chat Completions API と Responses API の両方で使えること。すべてのフィールドを必須にし additionalProperties: false を設定すること。最大100個のオブジェクトのプロパティと最大5段の入れ子 | Microsoft Learn: Azure OpenAI で構造化出力を使用する方法 | 2026-10-14 |
| プロンプトと応答が他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないこと。プロンプトと応答は顧客が指定した地域で処理され、Global と DataZone のデプロイではそれぞれの範囲で処理されうること。Responses API が会話の履歴を保存すること。不正利用の監視で、兆候が検知されるとプロンプトと応答の一部が確認の対象になり、必要に応じて人が確認すること。監視の扱いの変更を申請できること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-14 |
事前承認が要る顧客と商品の区分、面談記録の記載事項は、自社の社内規程と所属する自主規制機関の規則に沿って決めてください。 本記事は、上記の公開情報で確認できた範囲だけを扱っています。高齢の顧客の年齢の区分などの具体的な基準は、会社ごとに異なります。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1589)についてのご相談はこちらから。
