損害保険の支払査定で、新しい事故案件に似た過去の事案を査定記録と査定基準から探し、判断の分かれ目と根拠を引く
査定者が新しい事故案件の状況と論点を入れると、過去の査定記録から似た事案を探し、論点ごとの判断とその理由、使った査定基準の箇所を引用付きで返します。支払うかどうかは査定者が決めます。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 保険/金融
- 対象部門
- カスタマーサポート
- 対象業務
- 内容確認・チェック/情報検索
- 主な課題
- 判断に時間がかかる/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/品質標準化/属人化解消
- 導入難易度
- ★★★★★
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 査定者が事故の報告、見積書、写真、診断書などを読み、論点を洗い出す
- 査定基準の文書を開き、その論点に当たる箇所を探す
- 査定システムで事故の種類と日付を絞り、似た事案を1件ずつ開いて判断の理由を読む
- 見つからない、または自信がないときは、経験の長い査定者に聞く
- 査定メモに、判断と理由、参照した事案と査定基準の箇所を書く
- 決裁者の確認に回す
- 自動査定システムで事案の決裁が終わると、事故状況、判断、判断の理由の文、決裁の記録を取り出す
- 自動Claude が、判断の理由の文を論点ごとに分け、論点の区分・判断・理由・根拠の条項を取り出す
- 人担当した査定者が、論点の分け方と区分を確かめて確定する
- 自動確定した事案を、事故状況の埋め込みと論点のまとまりとともに検索基盤に登録する
- 人査定者が新しい事案の事故の種類、事故状況の文、迷っている論点の区分と内容を入れる
- 自動事故状況の言葉の一致と文の近さで、似た過去の事案を最大50件集める
- 自動50件の中から、迷っている論点と同じ区分の論点を持つ事案を絞り、当たった論点を取り出して上位10件にする
- 自動査定基準の文書から、同じ論点の箇所を探す
- 自動Claude が10件と査定基準の箇所について、判断・理由・判断の分かれ目を引用付きでまとめる
- 人査定者が結果を読み、根拠の記録を開いて確かめ、自分で判断する
- 自動参照した事案と査定基準の箇所を、査定メモの下書きに書き出す
各工程の詳しい説明を読む
- 査定者が事故の報告、見積書、写真、診断書などを読み、論点を洗い出す
- 査定基準の文書を開き、その論点に当たる箇所を探す
- 査定システムで事故の種類と日付を絞り、似た事案を1件ずつ開いて判断の理由を読む
- 見つからない、または自信がないときは、経験の長い査定者に聞く
- 査定メモに、判断と理由、参照した事案と査定基準の箇所を書く
- 決裁者の確認に回す
(a)論点で探せない。 査定システムの検索は事故の種類と日付までで、判断の理由の文の中は探せません。 「経年劣化と判断した雨漏り」を探したくても、雨漏りの事案を数十件開いて読むしかありません。
(b)判断の理由が記録の中に埋もれる。 1件の査定記録には、事故の経緯、損害の調査、やり取りの記録が長く続き、判断の理由はその途中か最後に数行書かれています。 論点が複数ある事案では、どの理由がどの論点のものかを読み分ける必要があります。
(c)査定者によって判断がぶれる。 似た事案を見つけられた査定者と、見つけられなかった査定者で、同じような事案の結論が分かれることがあります。 品質の監査では、判断のぶれが毎年のように指摘されます。
(d)ベテランに質問が集まる。 過去の事案を覚えている査定者に質問が集中し、その人の査定が遅れます。 その人が異動すると、調べる手段ごと失われます。
取り込み(決裁が終わるたび)
- 【自動】 査定システムで事案の決裁が終わると、事故状況、判断、判断の理由の文、決裁の記録を取り出す
- 【自動】 Claude が、判断の理由の文を論点ごとに分け、論点の区分・判断・理由・根拠の条項を取り出す
- 【人】 担当した査定者が、論点の分け方と区分を確かめて確定する
- 【自動】 確定した事案を、事故状況の埋め込みと論点のまとまりとともに検索基盤に登録する
検索(判断に迷う事案のたび)
- 【人】 査定者が新しい事案の事故の種類、事故状況の文、迷っている論点の区分と内容を入れる
- 【自動】 事故状況の言葉の一致と文の近さで、似た過去の事案を最大50件集める
- 【自動】 50件の中から、迷っている論点と同じ区分の論点を持つ事案を絞り、当たった論点を取り出して上位10件にする
- 【自動】 査定基準の文書から、同じ論点の箇所を探す
- 【自動】 Claude が10件と査定基準の箇所について、判断・理由・判断の分かれ目を引用付きでまとめる
- 【人】 査定者が結果を読み、根拠の記録を開いて確かめ、自分で判断する
- 【自動】 参照した事案と査定基準の箇所を、査定メモの下書きに書き出す
10番目が、この設計の分かれ目です。 似た事案の判断は、いまの事案の判断ではありません。 契約の条件、事故の細部、提出された書類の内容が違えば、結論も変わります。この構成が出すのは判断の材料で、結論は査定者が自分で書きます。
7番目で論点を取り出すのは、読む場所を絞るためです。 事案を10件返すだけでは、査定者は長い記録を10件読むことになります。当たった論点のまとまりだけを並べれば、読むのは数行ずつで済みます。
02今回想定するシステム構成
【取り込み】査定システム(決裁の完了) ▼【トリガー】決裁の完了 AWS Lambda ── 事故状況・判断・判断の理由の文を取り出す ▼ Claude(Amazon Bedrock)── 論点ごとのまとまり(区分・判断・理由・根拠の条項) ▼【人】担当の査定者が確定 Cohere Embed v4(Amazon Bedrock)── 事故状況の文と、論点の理由の文を埋め込み ▼ Amazon OpenSearch Service(事案の索引。論点は nested の項目) 【検索】査定者の検索画面(事故状況・迷っている論点) ▼ Amazon OpenSearch Service ├── 1段目:事故状況で似た事案を集める(言葉の一致+文の近さ) └── 2段目:nested クエリで同じ区分の論点に絞り、inner_hits で当たった論点を返す ▼ Claude(Amazon Bedrock)── 検索結果のブロックで渡し、引用付きでまとめる ▼ 査定者が確認・判断 → 査定メモの下書きへ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(nested と inner_hits、細かなアクセス制御) | Azure AI Search、Vertex AI Search(Agent Search) |
| 埋め込み | Cohere Embed v4(Amazon Bedrock) | OpenAI の埋め込みモデル |
| 生成AI | Claude(Amazon Bedrock。論点の取り出しと検索結果のまとめ) | Gemini API、OpenAI API |
| 連携 | AWS Lambda(取り込み、2段の検索、査定メモへの書き出し) | AWS Step Functions |
| 保管 | Amazon S3(査定記録の写しと査定基準の文書) | 既存のファイルサーバー |
| 査定 | 既存の査定システム | ― |
この構成の中心は、OpenSearch の nested クエリと inner_hits です。 公開されているドキュメントでは、nested クエリはnested の項目を検索するためのクエリの包みで、nested のオブジェクトが当たると親の文書を返すとされています。索引には nested 型の項目が要ります。1件の事案に論点が複数あっても、論点の区分と理由の組み合わせが崩れません。
どの論点が当たったかは、inner_hits で取り出します。 nested の内側の当たりは既定では隠れていて、inner_hits を付けると当たった nested のオブジェクトが返ります。 from・size・sort・highlight も指定できます。査定者に見せるのは、この当たった論点だけです。
親の文書のスコアには score_mode を使います。 既定は当たった論点の平均(avg)で、max・min・sum・none も選べます。1件の事案に同じ区分の論点が複数あるときに平均で薄まらないよう、max にします。
03どうやって実装するのか
処理の起点を決める
取り込みと検索で、起点が2つあります。
取り込みは、査定システムで事案の決裁が終わったことを起点にします。 決裁前の事案を取り込まないのは、差し戻された判断や、途中の見立てを検索結果に出さないためです。 決裁の完了を通知できない仕組みなら、毎晩、決裁日で絞った一覧を取りに行きます。
過去の約3万件は、別に一括で取り込みます。 このときは担当の査定者の確認が取れないので、論点に「未確認」の印を付けます。検索結果では未確認の論点を区別して表示し、査定メモに参照として書くときに、その場で元の記録と照らしてもらいます。
検索は、査定者が検索画面で「探す」を押したときに動きます。 論点を洗い出した段階で、論点ごとに何度でも探せるようにします。1件の事案に論点が3つあれば、3回探します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 査定記録 | 事案の番号、保険の種類、事故の種類、事故状況の文、損害額、判断、判断の理由の文、決裁日 | 査定システム |
| 契約者の情報 | 契約者・被保険者の名前、住所、連絡先 | 査定システム(検索結果では伏せる) |
| 論点のまとまり | 取り込み時に作る。論点の区分、判断、理由の文、根拠の条項、記録の中の位置 | 検索基盤 |
| 査定基準 | 論点ごとの判断の目安、条項の解釈、改定日 | 査定基準の文書 |
| 新しい事案(検索時) | 保険の種類、事故の種類、事故状況の文、迷っている論点の区分と内容 | 検索画面 |
質を決めるのは、論点の区分です。 区分が査定者ごとに違うと、「経年劣化」「老朽化」「自然消耗」が別の論点になり、絞り込みが効きません。 最初に損害サービス部で区分を決めます。自動車保険なら、過失割合、修理費の相当性、全損の判定、免責の該当、告知・通知義務、因果関係、の6つ程度から始めます。
査定基準には改定日を持たせます。 過去の事案の判断は、当時の査定基準に従って行われたものです。 基準が改定されていれば、同じ判断がいまも正しいとは限りません。
データの取得方法を決める
査定記録は、査定システムから文字で取り出します。事故の報告書や診断書の画像は、この構成では取り込みません。 判断の理由として査定者が書いた文だけを対象にします。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 事故状況の文 | 査定記録 | 1段目の検索(言葉の一致と文の近さ) |
| 判断の理由の文 | 査定記録 | 論点ごとのまとまりの取り出し |
| 決裁の記録 | 査定記録 | 決裁者が判断を直したかどうか |
| 査定基準の本文と改定日 | 査定基準の文書 | 同じ論点の箇所と、当時の基準かどうか |
検索は2段に分けます。 1段目は、事故状況の文で似た事案を集めます。言葉の一致と、Cohere Embed v4 で search_query として埋め込んだ文の近さを組み合わせ、保険の種類と事故の種類を filter で絞ります。2段目は、1段目の50件の事案番号で絞ったうえで、nested クエリで迷っている論点と同じ区分の論点だけを探し、inner_hits で当たった論点を返します。
2段に分けるのは、事故状況の近さと論点の近さを別々に見るためです。 1つのクエリにまとめると、事故状況がよく似ていて論点が違う事案が上位に残ります。論点の区分は絞り込みの条件にし、近さの計算に混ぜません。
AIへ渡す前に整形する
- 契約者の情報の除去 … 事故状況の文と判断の理由の文から、契約者・被保険者・相手方の名前、住所、電話番号、車両の登録番号を取り除き、
[契約者]のような記号に置き換えます。埋め込みと Claude に渡すのは、置き換えたあとの文だけです - 文の長さの確認 … 事故状況の文が長い事案は、事故の経緯の部分だけを埋め込みます。やり取りの記録は対象にしません
- 論点への分割 … 判断の理由の文を論点ごとに分け、記録の中の位置(何段落目か)を付けます
- 区分の照合 … 取り出した論点の区分が、決めた区分のどれかに当たるかを確かめます。当たらないものは「その他」にし、確認の画面で目立たせます
- 査定基準の版の付与 … 決裁日から、その時点で有効だった査定基準の版を付けます
- 決裁で直された事案の印 … 決裁者が判断を直した事案には印を付け、直したあとの判断を正とします
1番目を軽く見ないでください。 項目として伏せても、事故状況の文の中には相手方の名前や住所がそのまま書かれていることがあります。 文の中から取り除かないと、伏せたはずの情報が検索結果とAIの入力に出てきます。
AIに処理させる
AIの仕事は2か所です。取り込み時の論点の取り出しと、検索結果のまとめです。
| 場面 | させること |
|---|---|
| 取り込み | 判断の理由の文を論点ごとに分け、論点の区分、判断(認めた/認めなかった/一部認めた)、理由の文、根拠の条項を取り出す |
| 検索 | 上位10件の論点について、判断と理由を並べ、判断が分かれた事案があれば、何が違ったかを記録の記載から書く |
| 検索 | 査定基準の該当箇所を引き、当時の基準と現在の基準が違う事案を示す |
| させないこと | 理由 |
|---|---|
| 新しい事案の支払の可否や金額の判断 | 決めるのは査定者と決裁者。AIの結論が査定メモに写される |
| 過失割合や損害額の算定 | 契約と事故の細部で変わる。計算の根拠が検証されない |
| 記録に書かれていない判断の理由の推測 | 推測された理由が「過去の判断の理由」として広まる |
| 判断の分かれ目の一般化 | 「この種の事案は不払が多い」と書くと、件数の偏りが基準のように読まれる |
| 契約者の推定 | 伏せた記号から、元の人を推し量らせない |
1行目がいちばん外せない線です。 過去の事案を並べると、AIは「以上から、本件も経年劣化と判断するのが妥当です」と添えたくなります。この一文が査定メモに写されると、査定者が判断していない結論が支払の根拠になります。
4行目も起きやすい失敗です。 10件のうち7件が不払なら、AIは「多くは不払」とまとめます。10件は検索で集めた偏った標本で、件数の多さは判断の正しさを示しません。
指示内容を固定する
取り込み時(論点の取り出し):
あなたは損害保険会社で、決裁済みの査定記録を整理する担当です。
判断の理由の文だけを根拠にしてください。推測で埋めないでください。
【論点の区分】
過失割合 / 修理費の相当性 / 全損の判定 / 免責の該当 / 告知・通知義務 / 因果関係 / その他
【やること】
判断の理由の文を論点ごとに分け、それぞれについて次を取り出してください。
- 論点の区分(上の一覧から1つ)
- 判断:accepted / rejected / partially_accepted
- 理由:記録に書かれた文をそのまま写す
- 根拠の条項:記録に書かれた約款や査定基準の条項番号
- 記録の中の位置(段落の番号)
【厳守事項】
- 理由は、記録に書かれた文だけを写してください。
書かれていなければ「記載なし」とし、理由を推測しないでください。
- 条項番号が書かれていなければ null にしてください。補わないでください。
- 判断は記録の結論の書き方に従ってください。読み替えないでください。
- 1つの段落に複数の論点があるときは、論点ごとに分けてください。
- [契約者] などの記号を、元の名前に戻そうとしないでください。
- 決裁で判断が直されているときは、直したあとの判断を使い、
revised に true を入れてください。
検索時(結果のまとめ):
あなたは支払査定の担当者の調べものを助ける担当です。
渡された検索結果だけを根拠に、過去の判断を並べてください。
【新しい事案】{new_claim}
【迷っている論点】{issue}
【過去の事案の論点(上位10件)と査定基準の箇所】検索結果として渡します
【書くこと】
1. 各事案の論点について、判断と理由(記録の記載どおり)
2. 判断が分かれた事案どうしについて、記録に書かれた違い
3. 査定基準の該当箇所と、当時の基準と現在の基準が違う事案
【厳守事項】
- 新しい事案の支払の可否、金額、過失割合を書かないでください。
- 「本件も〜と判断するのが妥当」のような結論を書かないでください。
- 件数の多い判断を、一般的な傾向として書かないでください。
- 理由を言い換えたり、付け足したりしないでください。
- 「未確認」の印のある論点は、その旨を必ず書いてください。
検索結果は、Claude の検索結果ブロックで渡します。 1件の論点を1つの search_result にし、source に事案の番号と段落、title に論点の区分と判断、content に理由の文と根拠の条項を別々のテキストブロックで入れます。査定基準の箇所も同じ形で、source に文書名と版と条項を入れます。引用を有効にすると、まとめの文ごとにどの記録のどの段落を根拠にしたかが付きます。 ドキュメントでは、引用の有効・無効はリクエスト内のすべての検索結果でそろえる必要があるとされているので、査定基準の箇所も含めて全部有効にします。
「結論を書かない」と「件数を傾向として書かない」は別々に書きます。 片方だけを禁じると、もう片方の形で結論が入ってきます。
出力形式を固定する
取り込み時の論点のまとまりは、次の形のJSONで受け取ります。
{
"claim_id": "CL-2022-018834",
"line": "auto | fire | personal_accident",
"issues": [
{
"category": "過失割合 | 修理費の相当性 | 全損の判定 | 免責の該当 | 告知・通知義務 | 因果関係 | その他",
"decision": "accepted | rejected | partially_accepted",
"reason": "",
"clauses": [""],
"paragraph": 0,
"revised": false
}
],
"standard_version": "",
"unconfirmed": false
}
1つ目の理由は、issues を nested の項目として索引に入れられることです。 category と decision と reason の組み合わせが1つのまとまりとして保たれるので、「免責の該当で、認めなかった論点」という条件が、同じ論点の中で成り立つかを見られます。 普通のオブジェクトの配列にすると、区分と判断の組み合わせが崩れ、別の論点の判断が当たってしまいます。
2つ目は、decision を決まった値に限れることです。 査定者によって「否認」「不担保」「対象外」と書き方が違っても、判断は3つにそろいます。判断が分かれた事案を並べる処理は、この値で行います。
3つ目は、standard_version と revised で読み方を変えられることです。 査定基準が改定されている事案と、決裁で直された事案を、検索結果で区別して見せます。
2段目の検索の要求は、次の考え方で組みます。
| 部分 | 中身 |
|---|---|
| 絞り込み | 1段目で集めた50件の事案番号、公開範囲 |
| nested クエリ | path は issues。issues.category が迷っている論点の区分、issues.reason に論点の内容の言葉 |
score_mode | max(同じ事案の同じ区分の論点で平均が薄まらないように) |
inner_hits | 当たった論点を3件まで。highlight で理由の文の当たった箇所を示す |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 査定システム | 決裁の通知、または毎晩の一覧の取得 | 決裁済みの事案を取り出す |
| Amazon S3 | Lambda から読み書き | 査定記録の写しと査定基準の文書 |
| Cohere Embed v4(Amazon Bedrock) | Lambda からの呼び出し | 事故状況の文と理由の文の埋め込み |
| Claude(Amazon Bedrock) | Lambda からの呼び出し | 論点の取り出しと、検索結果のまとめ |
| Amazon OpenSearch Service | 索引への登録と、2段の検索 | 事案と論点の検索 |
| 査定メモ | 検索画面からの書き出し | 参照した事案と査定基準の箇所を下書きへ |
埋め込みは、文書側を search_document、問い合わせ側を search_query で作ります。 Cohere Embed v4 の出力の次元は256、512、1,024、1,536から選べ、指定しなければ1,536です。索引の次元と同じ値を output_dimension で明示します。
査定システムには書き込みません。 査定メモへの書き出しは、参照した事案と査定基準の箇所を下書きに写すところまでです。判断と理由を書き、決裁に回すのは査定者です。
人が確認する
確認は2か所です。取り込み時の担当査定者と、検索時の査定者です。
- 担当査定者が論点を確定する … 決裁の直後に、論点の分け方と区分、判断を確かめます。「その他」に入った論点と、
revisedが付いた事案を優先して見ます - 査定者が根拠の記録を開く … 参照に書く事案は、引用の付いた記録の段落を必ず開いて確かめます
- 査定基準の版を確かめる … 当時の基準と現在の基準が違う事案を参照に使うときは、現在の基準で読み直します
- 判断は自分で書く … まとめの文を査定メモに写さず、自分の判断と理由を書きます。参照した事案は「参照事案」の欄にだけ書きます
1件の事案あたり12分を目安にします。 10件の論点を読み、うち数件の記録を開いて確かめ、査定基準の箇所を読む時間です。
4番目が、この構成の線引きです。 決裁者が見る査定メモに、AIのまとめの文が混ざらないようにします。
例外に対処する
| 起きること | 対応 |
|---|---|
| 判断の理由が書かれていない事案 | 論点を作らず、事故状況だけで登録する。2段目では当たらない |
| 論点の区分が決まらない | 「その他」にして担当査定者が確かめる。多い言い方は区分に足す |
| 文の中に名前や住所が残る | 前処理の取り除きを直し、その事案を登録し直す |
| 担当査定者が異動・退職している | 同じ課の査定者を確認者にする。いなければ「未確認」のまま登録 |
| 2段目で論点が0件 | 「同じ論点の過去の判断は見つかりませんでした」と表示する。事故状況だけ似た事案を論点の例として出さない |
| 判断が分かれた事案しかない | 分かれたことをそのまま示す。どちらが正しいかは書かない |
| 査定基準が改定されている | 当時の版と現在の版を並べ、改定があったことを示す |
| 公開範囲の外の事案が候補に入る | 文書レベルのセキュリティで検索時点で除外される。まとめには渡さない |
| Bedrock の呼び出しに失敗した | 論点の一覧だけを表示し、まとめは再試行を促す |
| 同じ事故で複数の保険の事案がある | 事案番号ごとに別に登録し、関連する事案番号を項目に持たせる。判断は保険ごとに分けて見せる |
5行目が、この構成でいちばん大事な例外です。 同じ論点の判断が見つからないとき、事故状況が似た事案を代わりに出すと、別の論点の判断が、迷っている論点の答えのように読まれます。 0件は0件として見せます。
記録を残す
- 取り込んだ事案の番号、決裁日、取り込んだ日時、当時の査定基準の版
- Claude が返した論点のJSONと、担当査定者が確定した時に直した項目
- 検索のたびの新しい事案の条件、1段目の50件、2段目で当たった論点
- Claude に渡した検索結果と、返ってきたまとめと引用
- 査定者が参照に選んだ事案と、選ばなかった事案
- 「同じ論点の過去の判断は見つかりませんでした」と出た論点の記録
5つ目の記録は、判断のぶれを見るための材料になります。 同じ論点で、参照した事案と逆の結論を書いた査定が続くなら、査定基準の書き方か、過去の判断のどちらかを見直す時期です。 品質の監査で、論点ごとに集計して使います。
04実装レベルの3段階
半自動化で、論点の区分による絞り込みまでは自動になります。 ただし事故状況の近さを見ないので、同じ区分でも事故の型がまったく違う事案が並びます。本格構成との差はここで、本記事の想定は本格構成です。
05工数削減シミュレーション
導入後 300件 × 12分 ÷ 60 = 60 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車保険・火災保険・傷害保険などの損害サービス部門で、査定記録が査定システムに文章で蓄積しており、支払・一部支払・不払の判断の理由が記録に残っている会社。免責に当たるか、損害額が相当か、事故との因果関係があるかといった判断の分かれ目で、似た過去の事案を探すのにベテランの記憶に頼っている場合。査定者によって同じような事案の判断がぶれることが、品質の監査で指摘されている場合。AWS を社内の基盤として使っており、契約者の情報を伏せたまま検索と生成AIを閉じた環境で動かせる場合。
- 査定記録に判断の理由が書かれておらず、支払額と結論しか残っていない場合(先に記録の様式を決める必要がある)。月の事案が少なく、査定者が全件を覚えていられる規模の場合。少額で定型の事案が大半で、査定基準の表を引けば判断がつく場合。なお、支払うかどうか、いくら支払うかの判断は査定者と決裁者に残り、この構成はそれを代わりに行いません。
07最小構成で試す方法
- 1つの論点(たとえば火災保険の「経年劣化か事故か」)について、過去の事案を50件選び、手で論点のまとまりを作る(判断、理由、条項、段落)
- 最近その論点で迷った事案を20件選び、当時、参照した事案と結論を控える
- 50件をスプレッドシートにし、20件それぞれに同じ論点の事案を選ぶ
- 同じ20件について、手元のAIサービスに名前を伏せたまとまりを貼り付け、判断と理由のまとめを作らせる
- その論点を長く扱っている査定者に、選ばれた事案が「思い当たる事案」と合っているかを見てもらう
20件は必ず、経験の長い査定者と一緒に見てください。 論点の区分で絞ることが、その人の記憶と合っているかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 査定者が思い当たる事案が並ぶ | 取り込みと検索基盤の構築に進む |
| 区分は同じなのに「これは別の話」と言われる | 区分が粗い。 「雨漏り」「外壁」など対象で区分を分けて試し直す |
| まとめに結論や傾向が混ざる | 指示の書き方で直る。構成は有効 |
2行目は失敗ではなく、査定者が暗黙に見ていた区分が1つ分かったということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 論点を普通のオブジェクトの配列で持つ | 区分と判断の組み合わせが崩れる。nested 型にする |
| どの論点が当たったか分からない | inner_hits を付ける。 既定では内側の当たりは隠れている |
| 同じ区分の論点が平均で薄まる | score_mode を max にする |
| 事故状況と論点を1つのクエリで探す | 状況が似て論点が違う事案が残る。2段に分ける |
| 伏せた項目で検索できない | 伏せた項目は検索できない。 検索に使う項目と伏せる項目を分ける |
| 文の中に名前や住所が残る | 項目の伏せ方では消えない。前処理で文から取り除く |
| まとめに結論が入る | 指示で禁じ、査定メモの判断欄に写させない |
| 件数が傾向として書かれる | 検索結果は偏った標本。指示で禁じる |
| 当時の査定基準で判断された事案をそのまま使う | 版を付け、改定があれば示す |
上の2行が、この構成の失敗のほとんどです。 どちらも「1件の事案に論点が複数ある」ことから出ています。論点を nested で持ち、当たった論点だけを返せるかで、査定者に使われるかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 契約者・被保険者・相手方の名前と住所、事故の状況、けがの内容と通院の記録、損害額と支払額、不正請求の調査の記録です。個人情報と、機微な健康の情報を含みます。
- 契約者の項目は伏せる … OpenSearch の項目の伏せ方(field masking)は、項目を消すのではなく、読めないハッシュの値に置き換えます。 既定のハッシュは BLAKE2b で、正規表現で一部だけを置き換える方法もあります。伏せた項目は検索できなくなるので、検索に使う項目と伏せる項目を最初に分けます
- 項目の伏せ方は、細かなアクセス制御の機能として使う … Amazon OpenSearch Service の細かなアクセス制御では、索引・文書・項目の単位で制限でき、項目を伏せる設定は役割ごとに付けます。 査定者の役割では伏せ、事案の担当者だけが元の値を見られるようにします
- 不正請求の調査の事案は見せる範囲を限る … 文書レベルのセキュリティで、調査の担当の役割だけが検索できるようにします
- 細かなアクセス制御は、有効にしたあと無効にできない … 有効にするには、HTTPS、保存時の暗号化、ノード間の暗号化が必要です。構築の最初に有効にします
- 支払の判断をAIに寄せない … この構成が出すのは過去の判断の事実までです。支払の可否と金額は査定者と決裁者が決め、査定メモにAIのまとめの文を写しません
誤りが起きた場合のリスクは、過去の判断が新しい事案の結論として使われることと、契約者の情報が見えてはいけない人に見えることの2つです。 前者は指示と査定メモの書き方で、後者は項目の伏せ方と前処理で防ぎます。どちらも構築の最初に決める設計なので、後から足そうとしないでください。
10まず何から始めるか
1週目:論点の区分を決める
損害サービス部で、保険の種類ごとに論点の区分を6つ程度決めます。あわせて、判断の理由の文を書くときに論点ごとに段落を分けるよう、査定メモの書き方をそろえます。
2週目:50件の論点と20件の事案で試す
1つの論点の過去の事案50件を手でまとめ、最近の20件で同じ論点の事案を選びます。経験の長い査定者の思い当たる事案と合うかを見て、区分を直します。
3週目:伏せ方と取り出しの指示を作る
事故状況の文から名前と住所を取り除く前処理を作り、同じ事案を Claude に読ませて論点を取り出します。理由を補っていないか、文の中に名前が残っていないかを最優先で見ます。
4週目:決裁のたびの取り込みを始める
新しく決裁される事案から、担当査定者の確認付きで論点をためます。この時点では検索は区分と保険の種類の絞り込みだけにします。
2か月目: OpenSearch Service の索引を作り、細かなアクセス制御と項目の伏せ方を有効にして、事故状況の埋め込みと2段の検索、inner_hits を足します。3か月目以降: 過去の事案を論点ごとに一括で取り込み、引用付きのまとめを足します。品質の監査で、論点ごとの判断のぶれを参照の記録から集計できるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
nested クエリが nested の項目を検索するためのクエリの包みで、当たると親の文書を返すこと。path が必須で、score_mode が avg(既定)/max/min/sum/none であること。inner_hits で当たった内側の文書を返せること。索引に nested 型の項目が要ること | OpenSearch Documentation: Nested query | 2026-10-06 |
inner_hits が、既定では隠れている nested の内側の当たりや子の文書を返すこと。from・size・sort・name を指定でき、highlight と組み合わせられること | OpenSearch Documentation: Inner hits | 2026-10-06 |
項目の伏せ方が値をハッシュに置き換えるもので、既定が BLAKE2b であること。正規表現による置き換えもできること。役割ごとに masked_fields で指定すること。伏せた項目は検索できないこと | OpenSearch Documentation: Field masking | 2026-10-06 |
| 細かなアクセス制御が索引・文書・項目の単位の制限と項目の伏せ方を提供すること。文書レベルのセキュリティが役割のクエリに合う文書だけを返すこと。有効化に HTTPS・保存時の暗号化・ノード間の暗号化が必要で、有効にしたあと無効にできないこと | Amazon OpenSearch Service: Fine-grained access control | 2026-10-06 |
Cohere Embed v4 の input_type に search_document と search_query があり、検索では文書と問い合わせで使い分けること。output_dimension が256/512/1,024/1,536で既定1,536であること | Amazon Bedrock: Cohere Embed v4 | 2026-10-06 |
検索結果ブロック(source・title・content)で自社の文書を渡すと、Claude が引用付きで回答すること。引用の有効・無効はリクエスト内のすべての検索結果でそろえる必要があること。Claude API、Amazon Bedrock、Google Cloud で使えること | Claude Docs: Search results | 2026-10-06 |
保険金を支払うかどうか、いくら支払うかは、査定者と決裁者が約款と査定基準に照らして決めてください。 本記事は公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0435)についてのご相談はこちらから。
