リースの新しい申込を審査するときに、業種・規模・物件の近い過去の審査記録を探し、当時の判断と条件・その後の延滞の有無を根拠付きで返す
リースの新しい申込を審査するときに、業種・規模・物件の近い過去の審査案件を探し、当時の判断と付けた条件、契約後に延滞が起きたかを、案件番号付きで並べます。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 商社/金融
- 対象部門
- 財務
- 対象業務
- 情報検索/比較検討
- 主な課題
- 判断に時間がかかる/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/品質標準化/属人化解消/検索時間短縮
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 支店から申込が回り、スコアリングの結果とあわせて審査部の担当に割り当てられる
- 担当が、審査システムで業種と物件の区分を条件にして過去の案件を検索する
- 出てきた一覧から、規模の近いものを目で選び、審査コメントを1件ずつ開いて読む
- 似た案件が見つからなければ、古参の審査役に「この業種でこの物件は前にあったか」を聞く
- 承認した前例について、その後の延滞を債権管理の部署にメールで問い合わせる
- 前例を踏まえて審査の意見書を書き、決裁に回す
- 自動審査の判断が決裁されると、申込の属性・物件・判断・条件・審査コメントを1件の文書にして検索基盤に登録する。審査コメントから意味のベクトルを作って持たせる
- 自動毎月の締めのあと、債権管理の仕組みから契約ごとの結果(延滞なし/30日以上の延滞あり/期限前の解約/物件の引揚げ/経過中)を受け取り、該当する案件に付け足す
- 人担当が審査システムの申込の画面から「前例を探す」を押す。申込の属性と、担当が書いた審査コメントの下書きが渡される
- 自動業種の中分類・物件の区分・規模の帯で絞り、審査コメントの意味の近さで上位を返す。足りなければ、業種を大分類に、さらに物件の区分だけに、と一段ずつ緩める
- 自動判断・条件・延滞の有無は記録の値を、似ている点と違う点は Claude が審査コメントを引用して書き、案件番号ごとに並べる
- 人担当が並んだ前例を読み、意見書に使う案件を選び、必要なら原本の審査記録を開く
- 人担当が意見書を書き、決裁に回す
各工程の詳しい説明を読む
- 支店から申込が回り、スコアリングの結果とあわせて審査部の担当に割り当てられる
- 担当が、審査システムで業種と物件の区分を条件にして過去の案件を検索する
- 出てきた一覧から、規模の近いものを目で選び、審査コメントを1件ずつ開いて読む
- 似た案件が見つからなければ、古参の審査役に「この業種でこの物件は前にあったか」を聞く
- 承認した前例について、その後の延滞を債権管理の部署にメールで問い合わせる
- 前例を踏まえて審査の意見書を書き、決裁に回す
(a)検索の条件が硬すぎるか、緩すぎる。 2番目で業種を細かく指定すると0件、大きく指定すると数百件になります。ちょうどよい粒度を、担当が毎回手で探しています。
(b)審査コメントは開かないと読めない。 一覧に出るのは会社の属性と判断の結果だけで、なぜその判断になったか、何を懸念したかは1件ずつ開かないと分かりません。 似ているかどうかは、そこを読んで初めて決まります。
(c)その後の結果が審査に戻ってこない。 5番目の問い合わせは返事に1〜2日かかり、急ぎの申込では聞かずに意見書を書きます。 承認した前例が後で延滞していても、それを知らないまま同じ判断を繰り返すことがあります。
(d)前例が人に付いている。 4番目で答えてくれるのは、その業種を長く見てきた審査役です。異動や退職で、その業種の前例がまとめて消えます。
取り込み(審査の確定と、毎月の締め)
- 【自動】 審査の判断が決裁されると、申込の属性・物件・判断・条件・審査コメントを1件の文書にして検索基盤に登録する。審査コメントから意味のベクトルを作って持たせる
- 【自動】 毎月の締めのあと、債権管理の仕組みから契約ごとの結果(延滞なし/30日以上の延滞あり/期限前の解約/物件の引揚げ/経過中)を受け取り、該当する案件に付け足す
新しい申込を審査するとき
- 【人】 担当が審査システムの申込の画面から「前例を探す」を押す。申込の属性と、担当が書いた審査コメントの下書きが渡される
- 【自動】 業種の中分類・物件の区分・規模の帯で絞り、審査コメントの意味の近さで上位を返す。足りなければ、業種を大分類に、さらに物件の区分だけに、と一段ずつ緩める
- 【自動】 判断・条件・延滞の有無は記録の値を、似ている点と違う点は Claude が審査コメントを引用して書き、案件番号ごとに並べる
- 【人】 担当が並んだ前例を読み、意見書に使う案件を選び、必要なら原本の審査記録を開く
- 【人】 担当が意見書を書き、決裁に回す
4番目で一段ずつ緩めたときに、どの段で当たったかを必ず画面に出すのが、この設計の分かれ目です。 業種の中分類まで一致した前例と、物件の区分しか一致しない前例では、重みがまるで違います。同じ一覧に区別なく並べると、遠い前例が近い前例と同じ顔で読まれます。
5番目で判断と延滞の有無を記録の値にしているのも、意図してのことです。 審査の結論に直結する値をAIの文章から読ませると、要約の言い回し一つで「承認」と「条件付き承認」が入れ替わります。 値は値のまま出します。
02今回想定するシステム構成
【取り込み】審査の決裁/毎月の締め(債権管理の結果) ▼【トリガー】決裁のたび/毎月の締めのあと AWS Lambda ── 属性・物件・判断・条件・審査コメントを1件の文書に ├─ Amazon Titan Text Embeddings V2(Amazon Bedrock)── 審査コメントのベクトル ▼ Amazon OpenSearch Service(審査の索引。k-NN(faiss)+細かなアクセス制御) 【審査するとき】担当が「前例を探す」を押す ▼ Amazon OpenSearch Service ├─ knn+filter:業種の中分類・物件の区分・規模の帯・過去7年 ├─ 足りなければ:業種の大分類 → 物件の区分だけ、と緩める └─ 返す項目:判断・条件・延滞の有無(記録の値) ▼ Claude(Amazon Bedrock)── 審査コメントを検索結果のブロックで渡し、似ている点と違う点を引用付きで ▼ 審査システムの画面(前例・当たった段・判断・条件・その後の結果・案件番号)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(k-NN の絞り込み付き検索、細かなアクセス制御) | Azure AI Search、Vertex AI Search(Agent Search) |
| 埋め込み | Amazon Titan Text Embeddings V2(Amazon Bedrock) | Cohere Embed、OpenAI の埋め込みモデル |
| 生成AI | Claude(Amazon Bedrock。似ている点と違う点を引用付きで書く) | Gemini API、OpenAI API |
| 連携 | AWS Lambda(取り込み、結果の付け足し、段階的な検索) | AWS Step Functions |
| 保管 | Amazon S3(取り込みの元データと、検索の記録) | ― |
| 台帳 | 既存の審査システムと債権管理の仕組み | ― |
審査システムと債権管理の仕組みには、書き込みません。 審査の記録と決裁は、これまでどおり審査システムで行います。この構成は、決裁された案件と毎月の結果を取り込み、前例として引けるようにするだけです。
絞り込み付きの検索は、k-NN の filter で行います。 公式のドキュメントでは、lucene、faiss、jvector のエンジンで使え、絞り込みのあとに残る件数に応じて、絞り込んでから全件を比べる正確な検索と、近似の検索とを自動で切り替えます。 faiss では、近似の検索で k 件に届かず、絞り込みに合う文書が k 件以上あるときは、絞り込んだ文書の中で正確な検索に切り替えて k 件をそろえると書かれています。業種と物件で絞ると残りが数十件になることが多いこの題材には、この動きが合います。
日本語の言葉の検索は、この構成では主役にしません。 申込の属性は区分の値で絞り、審査コメントは意味の近さで比べます。ただし案件番号や物件の型式で引く画面のために、対応プラグインの一覧で日本語向けに推奨されている Sudachi の項目を1つ持たせます。
03どうやって実装するのか
処理の起点を決める
取り込みは2つの起点で動きます。
1つ目は、審査の判断が決裁されたときです。 審査システムが決裁の確定を記録したところで、その案件を1件の文書にして登録します。決裁前の案件は取り込みません。 担当の下書きの懸念点が、決まった判断の理由のように返るのを防ぎます。
2つ目は、毎月の締めのあとです。 債権管理の仕組みが月末の入金を確定させたあと、契約ごとの結果を受け取り、該当する案件の outcome を更新します。延滞は月をまたいで起き、解消もするので、毎月上書きします。 いちばん重かった状態は別の項目に残します。
検索は、担当が申込の画面で「前例を探す」を押したときに動きます。 申込が回ってきた時点で自動で探すこともできますが、審査コメントの下書きが無いと意味の近さで比べる材料が無いので、担当が事業の内容と懸念点を数行書いてから押す形にします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 審査の記録 | 案件番号、申込日、業種(中分類と大分類)、売上の帯、従業員数の帯、業歴の帯、物件の区分、新品か中古か、リースの期間、金額の帯、判断(承認/条件付き承認/否決/取下げ)、付けた条件、審査コメント、審査基準の版 | 審査システム |
| 契約後の結果 | 案件番号、結果(延滞なし/30日以上の延滞あり/期限前の解約/物件の引揚げ/経過中)、いちばん重かった状態、確認した月 | 債権管理の仕組み |
| 新しい申込(検索時) | 業種、売上の帯、物件の区分、新品か中古か、金額の帯、担当が書いた審査コメントの下書き | 審査システムの申込の画面 |
質を決めるのは、審査コメントに「懸念点」と「判断の理由」が書かれているかです。 「問題なし」だけの案件は、意味の近さで比べる材料がありません。承認の案件ほど短く書かれがちなので、取り込みで文字数を見て、短すぎるものに印を付けます。
会社名・代表者名・所在地は、索引に入れません。 審査コメントの中に出てくるものも、取り込みで「申込先」「代表者」に置き換えます。前例として見たいのは会社の属性と判断の筋道で、どの会社かではありません。
データの取得方法を決める
審査システムからは、決裁の確定ごとに案件のデータを受け取ります。画面の表示ではなく、審査システムの持つ出力の仕組み(データの書き出しやAPI)から取ります。 どの方式が使えるかは審査システムによるので、この部分は利用環境に応じた個別の実装になります。
債権管理の仕組みからは、毎月の締めのあとに契約ごとの状態の一覧を書き出してもらいます。 債権管理の側は契約番号で、審査の側は案件番号で管理していることが多いので、契約を起こしたときに両方の番号を持つ対応表を作り、それで結びつけます。 1件の審査から複数の契約が起きることもあるので、結果は契約ごとに持ち、いちばん重い状態を案件の値にします。
索引は1件の審査を1件の文書にします。 審査コメントは長くても数千字なので、節に分けません。
| 項目 | 型 | 使いどころ |
|---|---|---|
case_id | keyword | 案件番号。原本へのリンク |
industry_mid/industry_major | keyword | 絞り込みの1段目と2段目 |
sales_band/employee_band | integer(帯の番号) | 規模の近さ。前後1つの帯までを range で絞る |
asset_class/asset_condition | keyword | 物件の区分と新品・中古。全段で絞る |
decision/conditions | keyword | 判断と条件。画面に値のまま出す |
outcome/outcome_worst/outcome_month | keyword/date | 契約後の結果。画面に値のまま出す |
policy_version | keyword | 審査基準の版。いまの版と違えば印を付ける |
comment | text | 審査コメント。Claude に渡す本文 |
comment_vector | knn_vector(1,024次元、faiss) | 意味の近さ |
decided_on | date | 過去7年の絞り込み |
意味のベクトルは、Amazon Titan Text Embeddings V2 で作ります。 公式のドキュメントでは、入力は最大8,192トークンまたは50,000文字、出力は1,024(既定)、512、256次元で、日本語を含む多言語に対応するとされています。
AIへ渡す前に整形する
- 固有名を外す … 審査コメントの会社名・代表者名・取引銀行名・所在地を、記号に置き換えます
- 数値を帯にする … 売上・従業員数・業歴・金額を、社内で決めた帯の番号にします。決算の数値そのものは索引に入れません
- 短いコメントに印を付ける … 審査コメントが一定の字数に満たない案件は、意味の検索の対象から外し、属性だけで引ける形で残します
- 審査基準の版を付ける … 決裁の日から、その時点の審査基準の版を付けます
- 否決と取下げを区別する … 否決の案件と、申込先が取り下げた案件を別の値にします。取下げは判断の前例になりません
- ベクトルを作る … 審査コメントについて、Titan Text Embeddings V2 でベクトルを作ります
2番目で決算の数値を入れないのは、 数値が近いことを似ていることと取り違えないためです。売上が同じでも、利益の出方と借入の重さで判断は分かれます。 数値は担当が決算書で見るもので、前例は判断の筋道を見るために使います。
AIに処理させる
AIの仕事は、新しい申込と前例のあいだの、似ている点と違う点を、審査コメントの引用付きで書くことだけです。 前例を探すのは検索基盤、判断・条件・結果を出すのは記録の値です。
| させること | 中身 |
|---|---|
| 当時の懸念点の書き出し | 前例の審査コメントから、懸念点と判断の理由を引用する |
| 似ている点 | 事業の内容、申込の背景、物件の使い道のどこが同じか |
| 違う点 | 業種の細かさ、物件の使い道、申込の背景、当時の審査基準の版のどこが違うか |
| させないこと | 理由 |
|---|---|
| 申込の可否の提案 | 決めるのは審査部と決裁権限を持つ者 |
| 条件の提案 | 前例の条件は記録の値として見せるだけ |
| 延滞の起きやすさの予測 | 前例の結果は少数で、予測の根拠にならない |
| 判断・条件・結果の言い換え | 値は画面に記録のまま出す。文章では触れない |
| 申込先の評価 | 審査コメントに無い評価を足さない |
3行目が、いちばん外せない線です。 前例が5件出て、そのうち2件で延滞があれば、AIは「延滞の可能性が高い」と書きがちです。5件は統計ではありません。 延滞は景気や取引先の倒産でも起き、申込先の属性だけで決まりません。結果は記録の値として並べ、どう読むかは審査役に任せます。
「違う点」に審査基準の版を入れるのは、 前例の判断が、いまとは違う基準で行われていることがあるためです。基準を改めた理由が、まさにその種類の案件の延滞だったということもあります。
指示内容を固定する
あなたはリース会社の審査部で、新しい申込の審査のために過去の前例を整理する係です。
渡された検索結果(前例の審査コメント)だけを根拠にしてください。
一般的な業界の知識や与信の知識で補わないでください。
【新しい申込】
業種:{industry} 物件:{asset_class}({asset_condition}) 規模の帯:{sales_band}
担当の審査コメントの下書き:{draft_comment}
【検索結果】
前例ごとに、案件番号、当たった段(業種の中分類まで一致/大分類まで一致/物件だけ一致)、
審査基準の版、審査コメントが渡されます。
【前例ごとに書くこと】
1. 当時の懸念点と判断の理由(審査コメントの文を引用)
2. 新しい申込と似ている点(事業の内容、申込の背景、物件の使い道)
3. 新しい申込と違う点(業種の細かさ、物件の使い道、背景、審査基準の版)
【厳守事項】
- 申込を承認すべきか、否決すべきかを書かないでください。
- 付けるべき条件を書かないでください。
- 延滞が起きそうか、起きにくいかを書かないでください。
- 判断の結果、付けた条件、契約後の結果には触れないでください。
これらは画面に別に表示されます。
- 審査コメントに無い申込先の評価を書かないでください。
- 違う点が見つからないときも「違う点:記載から判断できない」と書き、空欄にしないでください。
- 審査基準の版が現在の版({current_policy})と違う前例には、必ずそのことを違う点に書いてください。
「判断の結果に触れない」を入れるのは、 値と文章が食い違う経路を消すためです。画面には記録の値があり、AIの文章が「当時は承認」と書けば、言い換えの誤りがあったときにどちらが正しいかで担当が迷います。
審査コメントは、Claude の検索結果ブロックで渡します。 前例1件を1つの search_result にし、source に案件番号、title に当たった段と審査基準の版、content に審査コメントを入れます。公式の説明では、検索結果ブロックは Claude API、Amazon Bedrock、Google Cloud で使え、引用は content の中のテキストブロック単位です。懸念点と判断の理由を別のブロックに分けて渡すと、引用がどちらから来たかが分かります。
出力形式を固定する
1段目の検索は、次のように組みます。
POST /lease-reviews/_search
{
"size": 8,
"_source": ["case_id", "decision", "conditions", "outcome", "outcome_worst",
"policy_version", "decided_on", "comment"],
"query": {
"knn": {
"comment_vector": {
"vector": [0.017, -0.022],
"k": 8,
"filter": { "bool": { "must": [
{ "term": { "industry_mid": "24" } },
{ "term": { "asset_class": "工作機械" } },
{ "term": { "asset_condition": "中古" } },
{ "range": { "sales_band": { "gte": 3, "lte": 5 } } },
{ "range": { "decided_on": { "gte": "now-7y/d" } } }
] } }
}
}
}
}
2段目は industry_mid を industry_major に、3段目は業種の条件を外して物件と規模だけにします。 Lambda は1段目で5件に満たなければ2段目を投げ、どの段で当たった案件かを tier として結果に付けます。 1段目の案件と重なるものは2段目から除きます。vector は担当の下書きから作った1,024個の数値です。
画面に返す形は、次のJSONです。
{
"application": { "industry_mid": "24", "asset_class": "工作機械", "sales_band": 4 },
"precedents": [
{ "case_id": "RV-2022-03318", "tier": 1, "decided_on": "2022-09-14",
"policy_version": "2021版", "policy_differs": true,
"decision": "条件付き承認", "conditions": ["期間短縮", "保証金"],
"outcome": "延滞なし", "outcome_worst": "延滞なし", "outcome_month": "2026-09",
"concerns_quoted": "", "same_points": "", "different_points": "",
"citations": ["RV-2022-03318"] }
],
"relaxed_to": 1,
"not_found": false
}
1つ目の理由は、decision・conditions・outcome を、AIを通さずに索引から直接入れられることです。 Lambda が検索結果の値を写し、Claude の答えは concerns_quoted・same_points・different_points にだけ入れます。結論に関わる値は、生成の経路を一度も通りません。
2つ目は、tier と relaxed_to で、前例の遠さを画面で示せることです。 3段目まで緩めて当たった前例は薄い色で出し、「物件だけ一致」と見出しを付けます。
3つ目は、outcome と outcome_worst を分けていることです。 いまは延滞が解消していても、一度30日以上延滞した案件は outcome_worst に残ります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 審査システム | 決裁の確定ごとのデータの受け取り(個別の実装) | 案件を1件の文書にして取り込む |
| 債権管理の仕組み | 毎月の締めのあとの書き出し | 契約ごとの結果を付け足す |
| Amazon Bedrock(Titan) | Lambda からの呼び出し | 審査コメントのベクトルを作る |
| Amazon OpenSearch Service | 索引への登録と検索 | 絞り込み付きの k-NN と、段階的な緩め |
| Claude(Amazon Bedrock) | Lambda からの呼び出し | 似ている点と違う点を引用付きで書く |
| 審査システムの画面 | 「前例を探す」のボタンと結果の表示 | 担当が使う |
審査の意見書には、何も自動で書き込みません。 担当が前例を選び、自分の言葉で意見書に書きます。
人が確認する
この構成の確認は、必須です。 出てくるのは前例の材料で、可否と条件は審査部が決めます。
- 当たった段を見る … 1段目の前例から読み、3段目の前例は参考にとどめます
- 審査基準の版を見る … いまと違う版の前例は、基準を改めた理由と照らして読みます
- 原本を開いて確かめる … 意見書に使う前例は、審査記録の原本を開き、引用された懸念点が原本にあるかを確かめます
- 使った前例を意見書に書く … 案件番号と、何を参考にしたかを一言添えます
1件あたり10分を目安にします。 前例が5件出れば、当たった段と結果の値を見て2〜3件に絞り、似ている点と違う点を読み、原本を開くのは1〜2件です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 3段目まで緩めても前例が無い | 「前例は見つかりませんでした」と出し、申込の属性を記録する。4段目は作らない |
| 下書きの審査コメントが短すぎる | 意味の検索をせず、属性の絞り込みだけで新しい順に出す。その旨を画面に出す |
| 前例の結果が「経過中」 | 結果の欄に「経過中(○か月経過)」と出す。延滞なしと同じ扱いにしない |
| 前例が否決で、契約の結果が無い | 結果の欄を「契約なし」とする |
| 債権管理の取り込みが遅れた | 結果の欄に最後に確認した月を出す |
| 案件番号が債権管理と結びつかない | 結果を「不明」とし、取り込みの記録に残す |
| Bedrock の呼び出しに失敗した | 前例の値と審査コメントの冒頭をそのまま表示する |
4行目を見落とすと、前例の読み方が偏ります。 否決した案件には契約後の結果がありません。結果が付いているのは承認した案件だけなので、「延滞なしの前例が多い」は「承認した案件の中では」という意味でしかありません。 画面の結果の欄に「契約なし」をはっきり出すのはそのためです。
記録を残す
- 取り込んだ案件番号と決裁日、取り込んだ日時と審査基準の版
- 毎月付け足した結果と、付け足した月
- 検索の入力(属性と下書き)、当たった段、返した案件番号
- Claude に渡した審査コメントと、返ってきた答えと引用
- 担当が意見書に使った前例と、使わなかった前例
- 前例が見つからなかった申込の属性
5つ目からは、当たった段ごとの使われ方も数えます。 3段目の前例がほとんど使われていなければ、緩める段を2段で止めてよいということです。6つ目は、審査の記録の書き方を直す材料です。 前例が見つからない業種と物件の組み合わせが偏っていれば、その区分の審査コメントが短いか、物件の区分が細かすぎることが多いです。
04実装レベルの3段階
半自動化で、①の検索の時間は大きく減ります。 ただし契約後の結果は付かないので、延滞の問い合わせは残ります。 本格構成で1件10分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を1〜2か月使うと、前例が見つからない業種と物件の組み合わせと、審査コメントが短すぎて意味の検索に乗らない案件の多さが先に分かります。そこを直してから債権管理と結びつけるほうが、結果の付いた前例が早く増えます。
05工数削減シミュレーション
導入後 120件 × 10分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 中小企業向けのリースを多く扱い、工作機械・建設機械・医療機器・店舗設備などの申込を本部の審査部で月に百件単位で見ているリース会社や、販売金融を持つ商社・メーカー系のリース会社で、過去の審査の記録が審査システムに数年分あるのに、似た案件を探すのが古参の審査役の記憶頼みになっている場合。契約後の延滞や期限前の解約の情報が債権管理の仕組みにあり、審査の記録と案件番号で結びつけられる場合。AWS を使っており、検索基盤と生成AIを同じ環境で動かせる場合。
- 小口の申込をスコアリングで自動審査しており、人が前例を見る案件がほとんど無い場合。審査の記録が承認・否決の結果だけで、判断の理由や懸念点の文が残っていない場合(先に記録の書き方をそろえる必要がある)。審査の可否そのものをAIに決めさせたい場合。なお、申込の可否と条件の決定は審査部と決裁権限を持つ者が行い、この構成はそれを代わりに行いません。
07最小構成で試す方法
- 古参の審査役に、過去2年の申込から「この2件は似た案件だった」と分かっている組を10組選んでもらう
- その20件と、同じ業種の大分類の別の案件30件の審査コメントを集める(合わせて50件。固有名は伏せる)
- 手元のAIサービスに50件を貼り、10組の片方の審査コメントだけを入れて「似た前例を3件、似ている点と違う点を添えて挙げてください。可否や条件を提案しないでください」と指示する
- 組のもう片方が3件に入ったかを数える
- 入らなかった組について、審査コメントのどこが違って見落とされたかを書き出す
| 出てきた内容 | 判断 |
|---|---|
| 10組のうち多くで、組の片方が3件に入る | 索引と絞り込み付きの検索の構築に進む |
| 入るが、可否や延滞の見込みを書く | 指示の書き方と、値を文章から外す設計で直る。構成は有効 |
| 審査コメントが短く、似ている理由が説明できない | 審査コメントの書き方が先。 検索の問題ではない |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 意味の近さだけで探し、業種の違う案件が上がる | 業種・物件・規模で絞ってから意味の近さで並べる |
| 絞り込みが厳しく0件になる | 段階的に緩め、当たった段を画面に出す |
| 遠い前例が近い前例と同じ顔で並ぶ | tier で見出しと色を分ける |
| AIが判断や結果を言い換えて誤る | 値は索引から直接出し、AIの文章で触れさせない |
| AIが延滞の見込みを書く | 指示で禁じ、出力に予測の項目を作らない |
| 「延滞なしが多い」と読む | 否決の案件は「契約なし」と出し、結果が承認の案件だけにあることを示す |
| 経過中を延滞なしと読む | 「経過中(○か月経過)」と分けて出す |
| 古い審査基準の前例をそのまま使う | 審査基準の版を付け、違えば違う点に書かせる |
| 決算の数値で似ていると取り違える | 数値は帯にし、決算の数値そのものは索引に入れない |
上の4行が、この構成の失敗のほとんどです。 どれも、前例の近さと結論の値を、どこまで機械に任せるかという同じ線の上にあります。近さは検索に、値は記録に、読み方は審査役に、と分けます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 申込先の業種と規模、物件、審査の判断と条件、審査コメント、契約後の延滞の有無です。審査コメントには、申込先の経営者の事情や取引銀行との関係が書かれていることがあります。
- 固有名と決算の数値を索引に入れない … 会社名・代表者名・所在地・取引銀行名は記号に、数値は帯にします。前例の画面から、どの会社かが分からない形にします
- 見える範囲を役割で分ける … OpenSearch の細かなアクセス制御では、文書・項目の単位で見える範囲を役割ごとに決められ、項目を消す代わりに伏せ字にする(マスキング)こともできます。 支店の審査担当には審査コメントを見せず、判断と結果の値だけを見せる、といった分け方ができます。有効にしたあとは無効にできないので、ドメインを作るときに決めます
- 前例を可否の根拠として意見書に書かない … 前例は判断の材料です。意見書の判断の理由は、その申込の決算と事業の内容で書きます
- 前例で特定の業種を一律に避けない … ある業種の前例に延滞が多くても、それは承認した数件の結果です。業種だけで否決が続く運用になっていないかを、使った前例の記録から定期的に見ます
誤りが起きた場合のリスクは、遠い前例や古い基準の前例をそのまま判断に持ち込むことと、少数の前例の結果を傾向として読むことの2つです。 前者は当たった段と基準の版の表示で、後者は結果を値のまま出し予測を書かせないことで防ぎます。
10まず何から始めるか
1週目:記録の結びつきを確かめる
過去2年の審査の記録から30件を選び、案件番号で債権管理の仕組みの契約と結びつくか、審査コメントに懸念点と判断の理由があるかを数えます。
2週目:10組で試す
古参の審査役に「似た案件だった」と分かっている組を10組選んでもらい、手元のAIサービスで前例を挙げさせます。組の片方が上位に入るか、可否や延滞の見込みを書いていないかを最優先で見ます。
3週目:帯と緩める段を決める
売上・従業員数・金額の帯と、業種の中分類→大分類→物件だけ、という緩める段を審査部で決めます。あわせて、審査コメントの書式に懸念点と判断の理由の欄を足します。
4週目:審査の記録を取り込み、絞り込み付きの検索で出す
過去2年分の審査の記録を取り込み、1段目の絞り込みと意味の検索で前例の一覧を出します。審査部の担当が、新しい申込のたびにこの一覧を使い始めます。
2か月目: 債権管理の結果の付け足しと、段階的な緩めを足します。3か月目以降: 似ている点と違う点の引用付きの整理と、役割ごとの見え方の制御を足し、過去7年分に広げます。前例を探すときに古参の審査役へ聞く場面と、債権管理の部署へ延滞を問い合わせる場面が無くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Amazon OpenSearch Service が OpenSearch 3.5、3.3、3.1 などのバージョンに対応していること | Amazon OpenSearch Service: What is Amazon OpenSearch Service? | 2026-10-08 |
| 対応プラグインの一覧で、Sudachi Analysis が日本語向けに推奨され、k-NN が含まれること | Amazon OpenSearch Service: Plugins by engine version | 2026-10-08 |
k-NN の絞り込み付きの検索が lucene・faiss・jvector で使え、絞り込み後の件数に応じて正確な検索と近似の検索を切り替えること。faiss で近似の検索が k 件に届かず絞り込みに合う文書が k 件以上あるときは、正確な検索に切り替えて k 件をそろえること。knn の中に filter を書く形 | OpenSearch Documentation: Efficient k-NN filtering | 2026-10-08 |
| 細かなアクセス制御で、文書・項目の単位のセキュリティと項目のマスキングを役割ごとに設定できること。有効にしたあと無効にできないこと | Amazon OpenSearch Service: Fine-grained access control | 2026-10-08 |
| Titan Text Embeddings V2 の入力が最大8,192トークンまたは50,000文字、出力が1,024(既定)・512・256次元で、日本語を含む多言語に対応すること | Amazon Bedrock: Amazon Titan Text Embeddings models | 2026-10-08 |
検索結果ブロック(source・title・content)で引用付きの答えが返り、Claude API、Amazon Bedrock、Google Cloud で使えること。引用がテキストブロック単位であること | Claude Docs: Search results | 2026-10-08 |
申込の可否と条件の決定は、自社の審査規程と決裁権限に従ってください。 本記事は公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1038)についてのご相談はこちらから。
