投資信託を販売したときの提案記録を、顧客カードの属性・投資経験・意向と照らして点検し、記録の不足と確認漏れを営業店へ戻す
投資信託などを販売したときに営業店が残す提案・面談の記録を、顧客カードの属性・投資経験・投資目的と並べて1件ずつ読み、記録の不足と確認の漏れを拾います。本部の担当者は、照会が要るものだけを読みます。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Google Apps Script/Power Automate/Python
- 対象業界
- 金融
- 対象部門
- 営業/法務
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 営業店システムから前営業日の約定一覧を出し、点検の対象を割り振る
- 1件ずつ、提案・面談の記録と顧客カードと商品マスタを別々の画面で開く
- 記録を読み、意向の確認、交付した書面、リスクと手数料の説明、顧客の理解の確認が書かれているかを見る
- 顧客カードの投資目的・資金の性格・投資経験と、提案した商品のリスク区分を見比べる
- 顧客の年齢が社内規則の基準に当たる場合は、役席者の承認の記録を探す
- 足りないものがあれば、営業店への照会文を書き、照会の仕組みで送る
- 営業店の回答を読み、記録の追記を確かめて照会を閉じる
- 自動毎朝、前営業日の約定データと、対応する提案・面談の記録、顧客カード、商品マスタを取り出す
- 自動年齢の基準、役席者の承認の記録、顧客カードの最終更新日、商品のリスク区分と顧客のリスク許容の区分を規則で照らす
- 自動記録の自由記述と顧客カードの値を生成AIに渡し、必ず書く事項の有無を1つずつ判定させる
- 自動同じく、顧客カードの属性・意向と記録の内容の食い違いを、記録の原文を引用して書き出させる
- 自動食い違いごとに、理由や意向の変化の経過が記録に書かれているかを判定させる
- 自動2番から5番の結果から、`clear` / `ask_branch` / `escalate` を規則で決める
- 自動`ask_branch` のものについて、営業店への照会文の下書きを作る
- 人担当者が `ask_branch` と `escalate` のものを読み、判定と照会文を確かめて送る
- 人`escalate` のものは、コンプライアンス統括部と扱いを決める
- 【人/自動】 営業店の回答と追記を受けて、照会を閉じる
各工程の詳しい説明を読む
- 営業店システムから前営業日の約定一覧を出し、点検の対象を割り振る
- 1件ずつ、提案・面談の記録と顧客カードと商品マスタを別々の画面で開く
- 記録を読み、意向の確認、交付した書面、リスクと手数料の説明、顧客の理解の確認が書かれているかを見る
- 顧客カードの投資目的・資金の性格・投資経験と、提案した商品のリスク区分を見比べる
- 顧客の年齢が社内規則の基準に当たる場合は、役席者の承認の記録を探す
- 足りないものがあれば、営業店への照会文を書き、照会の仕組みで送る
- 営業店の回答を読み、記録の追記を確かめて照会を閉じる
(a)全件を読みきれない。 2番から6番までを1件ずつ行うと15分かかります。600件で月150時間で、点検に使える時間を超えます。 抽出にすると、照会が要る記録が点検の対象から外れた月に、そのまま残ります。
(b)記録の書き方がそろわない。 「リスクについてご説明」とだけ書く担当者もいれば、基準価額が下がる例を挙げて説明した内容まで書く担当者もいます。どこまで書いてあれば説明の記録と認めるかが、点検する人によって違います。 照会された営業店から「前は通った」と返ってくることがあります。
(c)食い違いは、画面をまたがないと見えない。 顧客カードの投資目的は「元本の安全性を重視」なのに、記録には「分配金を重視されたため、毎月分配型を提案」とある。同じ画面に並ばないので、急いでいると読み流します。
(d)顧客カードが古いことに気づかない。 投資目的や資産の状況が変わったら、顧客に確かめたうえで顧客カードを変更することが求められています。記録には「退職金が入った」と書かれているのに、顧客カードの資産の区分が数年前のまま、という記録が残ります。 これも、記録と顧客カードを並べて読まないと見えません。
- 【自動】 毎朝、前営業日の約定データと、対応する提案・面談の記録、顧客カード、商品マスタを取り出す
- 【自動】 年齢の基準、役席者の承認の記録、顧客カードの最終更新日、商品のリスク区分と顧客のリスク許容の区分を規則で照らす
- 【自動】 記録の自由記述と顧客カードの値を生成AIに渡し、必ず書く事項の有無を1つずつ判定させる
- 【自動】 同じく、顧客カードの属性・意向と記録の内容の食い違いを、記録の原文を引用して書き出させる
- 【自動】 食い違いごとに、理由や意向の変化の経過が記録に書かれているかを判定させる
- 【自動】 2番から5番の結果から、
clear/ask_branch/escalateを規則で決める - 【自動】
ask_branchのものについて、営業店への照会文の下書きを作る - 【人】 担当者が
ask_branchとescalateのものを読み、判定と照会文を確かめて送る - 【人】
escalateのものは、コンプライアンス統括部と扱いを決める - 【人/自動】 営業店の回答と追記を受けて、照会を閉じる
8番目が、この設計の分かれ目です。人が読むのは全件ではありません。 clear のものは一覧で件数と店を流し見て終わりにし、照会が要るものと判断がつかなかったものだけに時間を使います。 全件を人が読み直す設計にすると、150.0時間はほとんど減りません。
6番目を規則で決めているのも、意図してのことです。 記載が無い、食い違っているという事実はAIに書かせますが、それを照会の理由とするかどうかは社内規則の側に置きます。 照会の基準は監査の指摘や規則の改定で変わるからです。
02今回想定するシステム構成
営業店システム(約定データ/提案・面談記録/顧客カード)+ 商品マスタ │【トリガー】毎朝6時、前営業日の約定分を取り出す ▼ Python(前処理と規則の照合) │ ・顧客番号で記録・顧客カード・商品をひも付ける │ ・年齢の基準、役席者の承認、顧客カードの更新日を照らす │ ・商品のリスク区分と顧客のリスク許容の区分を表で照らす ▼ Azure OpenAI(Microsoft Foundry) │ ・必ず書く事項の有無を1つずつ判定する │ ・顧客カードと記録の食い違いを、原文を引用して書き出す │ ・食い違いごとに、理由の記載の有無を判定する │ ・structured outputs(strict)でスキーマどおりのJSONを返させる ▼ Python(判定)── clear / ask_branch / escalate を規則で決める ▼ 点検結果の一覧 ── 照会文の下書き ▼ 【人】担当者が確かめて営業店へ照会 ── 回答を受けて閉じる
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude API、Gemini API |
| 連携 | Python(約定データ・記録・顧客カードの取り出しと、照会の仕組みへの受け渡し) | Power Automate |
| 差異計算 | Python(年齢・承認・更新日・リスク区分の照合と、判定の規則) | Google Apps Script |
| 保管 | 行内のデータベース(点検結果とログ) | 文書管理システム |
| 通知 | 社内の照会・回答の仕組み | Teams |
営業店システムと照会の仕組みは、今のものを使います。 この構成は記録を読み、照会文の下書きを作るところまでです。営業店システムの記録や顧客カードへは書き込みません。 追記するのは営業店の担当者です。
最初の準備作業は、「必ず書く事項」を一覧にすることです。 社内規則と販売の手引きから、提案・面談の記録に必ず残す事項を番号付きで書き出し、それぞれにどこまで書いてあれば記載ありとするかの例を付けます。第3章の(b)で人によって違っていた基準を、ここで1つにします。
Azure OpenAI を選ぶ理由は、データの取り扱いが明示されていることです。 記録には顧客の氏名、年齢、資産の状況、家族の事情まで書かれます。公開されている説明によれば、プロンプトと出力は他の顧客にも OpenAI などのモデルの提供元にも提供されず、提供元のモデルやサービスの改善に使われず、許可や指示なしに基盤モデルの学習に使われることもないとされています。
処理される場所も、デプロイの種類で決まります。 プロンプトと応答は顧客が指定した地理の中で処理されますが、Global または DataZone のデプロイでは、その範囲の外で処理されることがあるとされています。保存される内容は指定した地理に保存されます。顧客の情報を国外で処理してよいかは、行内の規程で先に決めてください。
出力は structured outputs で受け取ります。 指定したJSON Schemaに従わせる機能で、Chat Completions API と Responses API の両方で使えます。すべての項目を required にし、オブジェクトには additionalProperties: false を付けることが求められ、項目数は合計100まで、入れ子は5段までです。
03どうやって実装するのか
処理の起点を決める
毎朝6時に、前営業日に約定した分をまとめて取り出します。 記録の入力は約定の当日か翌日に終わる運用が多いので、約定の翌営業日の朝に点検すれば、営業店の担当者が面談を覚えているうちに照会できます。月に一度まとめて点検すると、照会が届くころには担当者が面談の中身を思い出せません。
記録が未入力のものは、その日の点検から外し、翌日に持ち越します。 3営業日たっても入力されないものは、記録が無いこと自体を escalate として一覧に出します。 入力を待ち続ける設計にすると、記録の無い販売がいつまでも点検されません。
販売の取消しや約定の訂正があった場合も、翌朝の取り出しで拾い直します。同じ約定を二度点検しないよう、約定番号で既処理を管理します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 約定データ | 約定番号、顧客番号、商品コード、金額、約定日、取扱者、取扱店 | 営業店システム |
| 提案・面談の記録 | 面談日時、提案した商品、交付した書面、説明した内容、顧客の発言(自由記述) | 営業店システム |
| 顧客カード | 生年月日、職業、年収と金融資産の区分、投資経験の種類と年数、投資目的、資金の性格、リスク許容の区分、最終更新日 | 営業店システム |
| 商品マスタ | 商品のリスク区分、仕組みの複雑さの区分、通貨選択型などの属性 | 商品マスタ |
| 承認の記録 | 役席者の事前承認の有無、承認者、日時 | 営業店システム |
| 必ず書く事項の一覧 | 番号、事項、記載ありとする例と記載なしとする例 | 本部で用意する一覧 |
質を決めるのは、いちばん下の一覧です。 「リスクを説明した」という記載を、記載ありとするのか、何のリスクをどう説明したかまで要るのかが決まっていなければ、AIは書いた人の数だけ違う判定を返します。 一覧の例は、過去の照会で営業店とやり取りした記録から作るのが早く、照会して追記された実例が、そのまま「記載あり」の例になります。
顧客カードの最終更新日を必ず入れます。 第3章の(d)を拾うには、記録に書かれた資産や収入の変化と、顧客カードがいつ更新されたかを並べる必要があります。
データの取得方法を決める
営業店システムから、毎朝のバッチで3つのデータを取り出します。つなぎ方は、約定番号から顧客番号、顧客番号から顧客カードの順です。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 前営業日の約定 | 約定データ | 点検の対象を決める |
| 約定に対応する記録 | 提案・面談の記録(約定番号または顧客番号と面談日で引く) | AIに読ませる本文 |
| 約定日時点の顧客カード | 顧客カードの履歴 | 照合の基準 |
| 商品の属性 | 商品マスタ | リスク区分の照合 |
| 承認の記録 | 承認のデータ | 規則の照合 |
顧客カードは、約定日時点の内容を取ります。 点検する日までに顧客カードが更新されていると、最新の内容では食い違いが消えて見えます。履歴を持っていない場合は、取り出した時点の内容を点検結果と一緒に保存します。
記録が約定番号でひも付かない運用もあります。その場合は顧客番号と、約定日の前14日以内の面談日で引き、複数見つかれば全部を渡します。提案から約定まで数回の面談を重ねることがあるからです。
AIへ渡す前に整形する
- ひも付けの確認 … 約定に対応する記録が見つからないものは、AIに渡さず
escalateの候補にします - 規則の照合 … 年齢が社内規則の基準に当たるか、当たる場合に承認の記録があるか、承認の日時が約定より前かを照らします
- リスク区分の照合 … 商品のリスク区分と顧客のリスク許容の区分を、本部が決めた対応表で照らし、範囲外なら
out_of_rangeを付けます - 顧客カードの鮮度 … 最終更新日からの経過を計算し、本部が決めた期間を超えていれば印を付けます
- 個人を特定する項目を外す … 氏名、住所、電話番号、口座番号は記録の本文から置き換え、顧客番号は仮の番号に置き換えます
- 値を文章に直す … 顧客カードの選択式の値を、「投資目的:元本の安全性を重視」のような項目名付きの文にします
2番から4番を、AIより先に済ませるのが大事です。 これらは答えがデータから決まり、AIに読ませると読み落としたり、それらしい解釈を足したりする余地が生まれます。 結果はAIに「すでに分かっている事実」として渡し、文章の読み取りにだけ集中させます。
5番目で氏名を外しても、点検はできます。 判定に要るのは年齢の区分や投資目的であり、名前ではありません。家族の名前や勤務先が記録の本文に書かれていることもあるため、置き換えの規則は辞書と正規表現の両方で作ります。
AIに処理させる
させるのは、記録の文章について3つのことを判定し、根拠にした文を原文のまま書き出すことだけです。
| 見るもの | 判定の仕方 | 判断できないときの扱い |
|---|---|---|
| 必ず書く事項 | 一覧の事項ごとに written / vague / missing | 一覧の例に当てはまらなければ vague |
| 顧客カードとの食い違い | 記録に書かれた意向・資金の性格・経験と、顧客カードの値が合わない箇所 | 記録の書き方からどちらとも取れれば unclear |
| 理由の記載 | 食い違いごとに、理由や意向の変化の経過が記録にあるか | 一部だけ書かれていれば partial |
| 顧客カードの更新の要否 | 記録に資産・収入・投資目的の変化が書かれているか | 変化かどうか判断できなければ unclear |
右端の列が、この構成でいちばん大事な区別です。 missing は記録に何も書かれていないこと、vague は書かれているが一覧の基準に届かないことで、営業店への照会の書き方が変わります。 前者は「記載がありません」、後者は「何をどう説明したかを追記してください」です。混ぜると、営業店は何を書き足せばよいか分かりません。
食い違いと理由を別の欄にするのは、第1章のとおりです。 食い違いがあっても、「お客様から、分配金を生活費に充てたいとのご意向。元本が減る可能性を、基準価額の推移の例で説明し、ご理解いただいた」と書かれていれば、理由は written です。照会するかどうかは、その組み合わせで規則が決めます。
| させないこと | 理由 |
|---|---|
| 販売が適合していたかの結論 | 合理的な理由があるかの評価は、本部とコンプライアンスが行う |
| 照会するかどうかの決定 | 社内規則の基準で決め、人が確かめる |
| 年齢・承認・リスク区分の照合 | 前処理の規則で済ませ、結果を渡す |
| 書かれていない説明の推測 | 「通常は説明しているはず」で埋めない |
| 顧客の人柄や判断能力の評価 | 記録に無い評価を足さない |
4行目がいちばん起きやすい失敗です。 「目論見書を交付」とだけある記録を読ませると、目論見書にリスクが書いてあるのだから説明したのだろうと考えて written にしがちです。交付したことと説明したことは別の事項として一覧に並べ、指示でも分けます。
指示内容を固定する
あなたは銀行の本部で、投資信託などの販売記録を点検する立場です。
営業店が残した提案・面談の記録を読み、記録として残っているかどうかだけを判定してください。
販売が顧客に適合していたかどうかの結論は書かないでください。
【必ず書く事項】{required_items}
(番号、事項、記載ありとする例、記載なしとする例が並んでいます)
【status の選び方(必ず書く事項)】
- written ... 一覧の「記載ありとする例」と同じ程度に具体的に書かれている
- vague ..... 触れているが、例の程度に届かない(例:「リスクを説明」とだけある)
- missing ... 記録のどこにも書かれていない
迷ったときに written を選ばないでください。
【食い違いの書き出し方】
- 顧客カードの値と、記録に書かれた意向・資金の性格・投資経験が合わない箇所を、
記録の原文をそのまま引用して書き出してください。
- 食い違いごとに、その理由や意向が変わった経過が記録に書かれているかを
written / partial / missing で答えてください。
- 記録に書かれていないことを補って理由を作らないでください。
【厳守事項】
- 書面を交付したことと、その内容を説明したことは別の事項です。
「目論見書を交付」だけを根拠に、リスクや手数料の説明を written にしないでください。
- 「通常は説明している」「おそらく理解している」といった推測で埋めないでください。
- evidence には、判定の根拠にした記録の文を一字も変えずに写してください。
根拠が無い場合は空にしてください。
- 年齢の基準、承認の有無、リスク区分の照合結果は【確認済みの事実】として渡します。
これを読み直したり、別の結論を書いたりしないでください。
- 顧客の人柄、判断能力、理解力について、記録に無い評価を書かないでください。
- 記録に資産・収入・投資目的の変化が書かれていれば、card_update_hint に原文を写してください。
【確認済みの事実】{rule_results}
【顧客カード(約定日時点)】{customer_card}
【商品の属性】{product}
【提案・面談の記録】{records}
「交付と説明は別」を明記しないと written が増えます。 記録には「重要事項説明書、目論見書を交付し説明」のように、交付と説明が一文に並んで書かれることが多く、何も言わなければその一文を根拠に、リスク・手数料・元本割れの可能性のすべてを written にします。一覧の側でも、交付と説明を別の番号にしておきます。
「確認済みの事実を読み直さない」と書くのは、AIが規則の結果を上書きしようとするためです。 承認の記録が無いと渡すと、本文の「課長同席」という記載を見つけて承認ありと書き直すことがあります。同席と承認は別のものとして、規則の側で扱います。
出力形式を固定する
次の形のJSONで受け取ります。
{
"trade_id": "",
"required_items": [
{ "item_no": "R03", "status": "written | vague | missing", "evidence": "" }
],
"conflicts": [
{
"field": "investment_purpose | fund_character | experience | risk_tolerance",
"card_value": "",
"record_quote": "",
"reason_status": "written | partial | missing",
"reason_quote": ""
}
],
"card_update_hint": "",
"unclear_points": [""],
"inquiry_draft": ""
}
required_items には一覧の事項を全部並べます。判定を省いた事項があると、後段で missing と区別がつかないためです。 structured outputs は項目をすべて required にするので、省くこと自体ができません。
1つ目の理由は、AIの判定と照会の決定を別の層に置けることです。 required_items と conflicts はAIが埋め、照会するかどうかは Python が規則で決めます。
| 判定 | 条件(規則の例) |
|---|---|
clear | 必ず書く事項がすべて written、食い違いが無いか、あっても理由が written、前処理の照合に問題なし |
ask_branch | vague か missing がある、または食い違いの理由が partial か missing、または顧客カードの更新の手がかりがある |
escalate | 年齢の基準に当たるのに承認の記録が無い、リスク区分が out_of_range で理由が missing、記録そのものが無い |
2つ目は、照会の基準が変わっても直すのは規則だけで済むことです。 監査の指摘で「手数料の説明が vague なら照会」を「missing のときだけ照会」に変える、といった変更が、プロンプトを触らずにできます。
3つ目は、evidence と record_quote で確認が速くなることです。 担当者は記録の全文を開く前に、AIが何を根拠にしたかを一覧で読めます。evidence が記録の中に一字一句そのまま存在するかは、Python で文字列として照合します。 存在しなければ、その判定は unclear に落とします。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 営業店システム | 毎朝のバッチによるデータの取り出し(読み取りのみ) | 約定・記録・顧客カード・承認の記録 |
| 商品マスタ | データの取り出し | リスク区分と商品の属性 |
| Azure OpenAI | API呼び出し(structured outputs) | 必ず書く事項・食い違い・理由の判定と照会文の下書き |
| 点検結果の一覧 | 行内のデータベースと画面 | 担当者が確認する一覧 |
| 照会・回答の仕組み | 既存の仕組みへの登録(人が送信) | 営業店への照会 |
営業店システムへは書き込みません。 記録の追記と顧客カードの変更は、顧客に確かめたうえで営業店の担当者が行うものだからです。監督指針も、顧客カードの登録内容の変更は顧客に確認したうえで行うことを求めています。この構成が出すのは、「変更の要否を確かめてください」という照会までです。
照会の送信も人が行います。下書きは照会の仕組みの入力欄に貼れる形で作り、送るかどうか、文面をどう直すかは担当者が決めます。
人が確認する
人が読むのは ask_branch と escalate のものだけです。 clear のものは、店ごと・担当者ごとの件数を一覧で流し見ます。
escalateを先に読む … 承認の記録が無い、記録そのものが無いなど、照会では済まないものが入っています。 コンプライアンス統括部へ回すかを決めますask_branchの根拠を確かめる …evidenceとrecord_quoteを読み、必要なら記録の全文を開きます。missingの事項が本当に書かれていないかを、全文で確かめます- 照会文を直して送る … 営業店が何を追記すればよいかが分かる書き方になっているかを見ます
- 判定を覆したら記録する … どの事項を、どちらに変えたかと理由を残します
2番目を省かないでください。 記録が複数の面談に分かれていて、AIに渡した範囲に説明の記載が無かっただけ、ということがあります。照会の空振りは、営業店の点検への信頼を下げます。
clear の抜き取りも続けます。 毎月、clear から数十件を選んで人が全文を読み、AIが written にした事項が本当に書かれていたかを確かめます。 照会の一覧だけを見ていると、見逃しの側の誤りに気づけません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 約定に対応する記録が見つからない | AIに渡さず、3営業日たっても無ければ escalate |
| 記録が複数の面談に分かれている | 約定日の前14日以内の記録をすべて渡し、evidence にどの面談かを付ける |
| 顧客カードの履歴が取れない | 取り出した時点の内容で点検し、その内容を結果と一緒に保存する |
| 記録の本文が極端に短い | 必ず書く事項はほぼ missing になる。判定はそのまま出し、照会で追記を求める |
evidence が記録の中に見つからない | その判定を unclear にし、人が全文で確かめる |
| AIの応答が拒否・途中終了になる | 再実行し、再び失敗したものは人の点検へ回す |
| 販売の取消し・訂正があった | 翌朝の取り出しで拾い直し、元の点検結果に取消しの印を付ける |
| 同じ顧客が同じ日に複数の商品を買った | 約定ごとに点検し、記録は共通で渡す |
| 必ず書く事項の一覧が改定された | 改定日を点検結果に残し、改定前の約定は改定前の一覧で見る |
4行目を「AIが読めなかった」と扱わないでください。 記録が短いことは、それ自体が点検で拾いたい事実です。短い記録を人の点検へ回すと、照会の件数がAIの導入前と変わらなくなります。
最後の行は、監査のときに効いてきます。 どの時点の基準で点検したかが残っていないと、過去の判定が正しかったかを説明できません。
記録を残す
- 点検の対象にした約定番号と、取り出した日時
- AIに渡した記録・顧客カード・商品の属性・確認済みの事実(個人を特定する項目を置き換えた後のもの)
- AIが返したJSONの全文と、使ったモデルのデプロイ名と、必ず書く事項の一覧の版
- 規則で決めた判定(
clear/ask_branch/escalate)と、その根拠になった条件 - 人が判定を覆した記録 … どの事項を、どちらに変えたか、理由
- 照会を送った日時、営業店の回答、追記の有無、照会を閉じた日時
- 店ごと・担当者ごとの
vagueとmissingの発生率
3つ目で一覧の版を残すのは、基準が後から変わるためです。 「記載あり」の例を書き換えると、過去の判定の意味が変わります。当時の基準が残っていないと、監査で問われたときに説明できません。
最後の行は、営業店の研修の材料になります。 特定の店や担当者に同じ事項の vague が続くなら、記録の書き方を教えるほうが、照会を繰り返すより早く直ります。
04実装レベルの3段階
最小構成では件数がさばけません。 1件ずつ貼り付けるので、600件には使えません。確かめるための段階です。 半自動化で、1件15分が8分程度になります。 記録と顧客カードを並べる作業と、必ず書く事項の読み取りは自動になりますが、年齢や承認の確認と照会文の作成が手作業で残ります。本格構成で4分になり、この段階が本記事の想定です。 差が大きいのは、規則の照合と照会文の作成が、1件ずつの手作業だからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、判定が割れやすい事項とひも付けが外れやすい店が分かります。そこを直してから進むほうが、照会の空振りが減ります。
05工数削減シミュレーション
導入後 600件 × 4分 ÷ 60 = 40 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 銀行や証券会社で、営業店の窓口や外訪の担当者が投資信託・債券などを販売し、そのたびに提案・面談の記録を自由記述で残している場合。本部の販売管理やコンプライアンスの担当者が、月に数百件の記録を顧客カードと並べて読み、記録の不足を営業店へ照会しているが、全件を見きれず抽出点検になっている場合。点検する人によって照会する・しないの基準が違う場合。商品ごとのリスク区分と、社内規則で定めた高齢顧客などの基準がデータとして取り出せる場合。
- 販売件数が月に数十件で、担当者の目視で全件を見られる場合。提案・面談の記録が選択式の項目だけで、自由記述がほとんど無い場合(規則によるチェックで足ります)。顧客カードが紙のままで、属性や投資目的をデータとして取り出せない場合。なお、その販売が適合性原則に照らして適切だったかの最終的な判断と、法令・社内規則の解釈は、この構成では代替できません。
07最小構成で試す方法
- 先月の販売から30件を選ぶ(うち数件は、過去に照会して追記された記録を入れる)
- その30件について、当時の点検で何を見て、どこを照会したかを担当者に聞く
- 必ず書く事項の一覧を、まず10項目程度で作る
- 30件の記録と顧客カードの値から氏名などを外し、手元のAIサービスの画面に1件ずつ貼り付ける
- 「この記録に、一覧の事項が書かれているかを1つずつ written / vague / missing で判定し、根拠の文を写してください。顧客カードと食い違う箇所と、その理由が書かれているかも書き出してください。推測で埋めないでください」と指示する
- 出てきた判定を、当時の点検の結果と突き合わせる
30件は必ずやってください。 バッチやAPIを組む前に、「一覧の基準で判定が安定するか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の照会と同じ不足が出た | データの取り出しとAPIの連携に進む |
交付だけで説明を written にした | 指示と一覧の書き方で直る。構成は有効 |
| 同じ記録で判定が試すたびに変わる | 一覧の例が足りない。 AIの問題ではない |
3行目が出ることは珍しくありません。 失敗ではなく、人の点検で基準がそろわなかった理由が見えたということです。 判定が割れた事項に例を足し、同じ30件で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
交付の記載だけで説明が written になる | 交付と説明を別の事項にする。 指示にも明記する |
vague と missing が混ざる | 一覧に「記載あり」「記載なし」の例を付ける。混ぜると照会文が書けない |
| 食い違いがあるだけで照会になる | 理由の記載を別の欄で判定し、組み合わせで規則が決める |
| 承認の記録をAIが上書きする | 規則の結果を「確認済みの事実」として渡し、読み直しを禁じる |
| 点検日の顧客カードで食い違いが消える | 約定日時点の顧客カードを取る |
| 複数の面談の記録の一部しか渡していない | 約定日の前14日以内の記録をすべて渡す |
evidence が記録に存在しない | 文字列で照合し、見つからなければ unclear に落とす |
| 氏名や家族の名前がAIに渡る | 辞書と正規表現で置き換えてから渡す |
| 照会の基準を販売管理だけで決める | コンプライアンス統括部と一緒に決める |
clear を誰も見ない | 毎月の抜き取りで、見逃しの側の誤りを確かめる |
| 照会文が自動で送られる | 下書きまでにする。 送信は人が行う |
上の3行が、この構成の失敗のほとんどです。 事実の判定と照会の決定を分けてあるかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧客の年齢、職業、年収と金融資産の区分、投資経験、投資目的、取引の内容と金額、そして記録に書かれた家族の事情や資金の使い道です。
- 個人を特定する項目を外してから渡す … 判定に要るのは区分と記録の内容で、氏名・住所・口座番号は要りません。本文中の家族の名前や勤務先も置き換えます
- デプロイの種類を行内の規程で決める … Global または DataZone のデプロイでは、指定した地理の外で処理されることがあるとされています。顧客の情報を国外で処理してよいかを、先に決めてください
- この構成は適合性の判断を代替しません … 販売が顧客に適合していたか、合理的な理由があったかを評価するのは本部とコンプライアンスです。この構成が出すのは、記録に何が書かれ、何が書かれていないかという事実だけです
- 照会を自動で送らない … 出すのは下書きまでです。営業店との関係と、点検への信頼に直接ひびきます
- 記録や顧客カードを書き換えない … 顧客カードの変更は、顧客に確かめたうえで営業店が行います。AIの判定から顧客カードを直す経路を作らないでください
- 点検結果を人事評価に直結させない … 担当者ごとの発生率は研修の材料として使い、AIの判定だけで担当者を評価しないでください
誤りが起きた場合のリスクは、記録の不足を見逃すことと、不足でないものを照会することの2つです。 前者は毎月の抜き取りで、後者は照会前の全文の確認で守ります。
10まず何から始めるか
1週目:必ず書く事項の一覧を作る
社内規則と販売の手引きから、提案・面談の記録に必ず残す事項を書き出し、番号を振ります。過去1年の照会のうち、営業店が追記して閉じたものを集め、「記載あり」「記載なし」の例にします。 交付と説明は別の番号にします。
2週目:30件で試す
先月の記録から30件を選び、氏名などを外して手元のAIサービスに貼り付け、一覧の事項ごとに判定させます。当時の点検の結果と突き合わせ、交付だけで説明を written にしていないかを最優先で見ます。
3週目:照会の基準を決める
どの組み合わせなら照会し、どれならコンプライアンスへ回すかを、コンプライアンス統括部と決めます。 あわせて、顧客の情報をどの地理で処理するか、個人を特定する項目をどう置き換えるかを、行内の規程と照らして決めます。
4週目:取り出しから判定までをつなぐ
営業店システムから前営業日の約定と記録を取り出し、APIで判定して一覧に書き出すところまで作ります。この時点では照会の判定を出さず、required_items と conflicts の一覧だけを見ます。
2か月目: 年齢・承認・リスク区分の規則の照合と、clear / ask_branch / escalate の判定を足します。照会の件数と空振りの件数を毎週数えます。3か月目以降: 照会文の下書きを足し、1件15分が何分になったかを実測します。店ごとの vague の発生率を見て、記録の書き方の研修に使い始めた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 適合性原則(III-2-3-2-1)として、顧客の知識、経験、財産の状況、投資目的やリスク管理判断能力等に応じた勧誘が求められること。顧客の投資目的を十分確認して顧客カード等を作成し、資産・収入の状況や投資目的の変化を把握した場合には登録内容の変更を行うか否かを顧客に確認したうえで変更すること。個別の商品が顧客属性や投資目的に適うことの合理的な理由があるかを検討・評価していること。元本の安全性を重視する顧客への通貨選択型ファンドの勧誘が不適切な例として挙げられていること | 金融庁: 金融商品取引業者等向けの総合的な監督指針 III | 2026-10-06 |
structured outputs が指定したJSON Schemaに従わせる機能で、Chat Completions API と Responses API の両方で使えること。すべての項目を required にし、additionalProperties: false を付ける必要があること。項目数が合計100まで、入れ子が5段までであること | Microsoft Learn: How to use structured outputs with Azure OpenAI | 2026-10-06 |
| プロンプトと出力が他の顧客や OpenAI などのモデルの提供元に提供されず、モデルの改善や許可のない学習に使われないこと。プロンプトと応答が指定した地理の中で処理され、Global または DataZone のデプロイではその外で処理されることがあること。保存されるデータは指定した地理に保存されること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-06 |
どこまで書いてあれば記載ありとするか、どの記録を照会するかは、本部の販売管理とコンプライアンスの担当で決めてください。 本記事は金融庁の監督指針で確認できた範囲だけを扱っています。高齢顧客の基準など、社内規則や自主規制規則で定める事項は、各社の規則を確認してください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0446)についてのご相談はこちらから。
