信贷审批助手¶
项目背景与目标¶
信贷审批是银行核心业务流程,传统人工审批存在效率低、标准不一、风控依赖经验等问题。同时过度依赖硬规则又会拒掉优质客户。智能信贷审批助手通过 AI Agent 整合资料审核、信用评估、风险定价与审批建议,在提升审批效率的同时保证风控一致性,并能为被拒客户提供改善建议。
本项目目标是构建一个信贷审批 Agent,支持消费贷、经营贷、抵押贷等多场景,输出"通过/拒绝/人工复核"决策及详细依据,全程可审计、可解释,满足金融监管对算法公平性与透明度的要求。
需求分析¶
输入材料:身份信息、收入证明(流水/纳税)、征信报告、资产证明、用途凭证、申请表 核心能力: 1. 资料完整性校验与 OCR 识别 2. 信息一致性核验(流水金额 vs 申请收入、征信负债 vs 申报) 3. 信用评分(还款能力 + 还款意愿 + 稳定性) 4. 风险定价(额度、利率、期限建议) 5. 审批决策与拒绝原因解释 6. 改善建议(被拒客户如何提升资质)
合规要求:拒绝须给出主因;不得使用歧视性特征(性别、民族等);模型可解释;人工复核通道保留。
技术选型说明¶
| 模块 | 技术方案 | 选型理由 |
|---|---|---|
| OCR | PaddleOCR + LLM 纠错 | 多类型票据/流水识别 |
| Agent 框架 | LangGraph | 多步骤审批流程编排 |
| 信用评分 | LightGBM 评分卡 | 可解释、符合监管 |
| 规则引擎 | Drools / 自研 | 硬规则前置拦截 |
| LLM | Qwen-Max | 资料理解与拒绝原因生成 |
| 征信解析 | XBRL/结构化解析 | 征信中心数据标准化 |
| 后端 | Spring Boot / FastAPI | 对接银行核心系统 |
| 数据库 | PostgreSQL + MongoDB | 结构化审批记录 + 材料原档 |
架构设计¶
flowchart TD
APP[贷款申请] --> IN[资料上传]
IN --> OCR[OCR 识别]
OCR --> CHECK[完整性校验]
CHECK -->|缺失| SUP[补充材料通知]
CHECK -->|完整| RULE[规则引擎前置]
RULE -->|命中黑名单| REJ1[直接拒绝]
RULE -->|通过| AGENT[审批 Agent]
AGENT --> VERIFY[一致性核验]
AGENT --> SCORE[信用评分]
AGENT --> PRICE[风险定价]
VERIFY --> CRS[征信数据]
SCORE --> DEC{决策}
DEC -->|通过| APPROVE[审批通过+定价]
DEC -->|拒绝| REJ2[拒绝+原因]
DEC -->|复核| MANUAL[人工复核队列]
AGENT --> AUDIT[审计留痕]
关键模块实现思路¶
模块1:资料审核与一致性核验¶
OCR 识别流水、纳税证明、房产证等材料后,LLM 抽取关键字段(月收入、单位、纳税额、资产估值)。一致性核验比对:申报收入 vs 流水进账、征信负债 vs 申报负债、工作单位 vs 流水代发单位。不一致项标记风险等级,重大不一致直接转人工。
def verify_consistency(declared, extracted, credit):
flags = []
if abs(declared.income - extracted.income) / declared.income > 0.2:
flags.append(("收入差异大", "high"))
if credit.total_debt > declared.debt * 1.5:
flags.append(("负债瞒报", "high"))
return flags
模块2:信用评分卡¶
采用经典评分卡方法:分箱 → WOE 编码 → 逻辑回归 → 分数映射。特征维度包括还款能力(收入负债比 DTI、可支配收入)、还款意愿(征信逾期记录、查询次数)、稳定性(工作年限、居住年限、婚姻)、外部数据(多头借贷、司法涉诉)。
评分卡可解释性强,每个特征贡献可量化,满足监管对"拒绝主因"的要求。评分分段:A(优质)、B(良)、C(次级)、D(高风险)。
模块3:风险定价¶
基于信用等级与贷款产品确定额度、利率、期限。优质客户给更高额度更低利率,次级客户反向。定价模型需覆盖资金成本、风险成本、运营成本、预期利润,确保贷款利率不低于综合成本。
def pricing(grade, product, amount):
base_rate = funding_cost + risk_cost[grade] + op_cost + profit_margin
final_rate = max(base_rate, product.floor_rate)
final_amount = min(amount, grade_limit[grade])
return final_rate, final_amount
模块4:决策与解释¶
Agent 综合规则、评分、一致性核验给出决策。拒绝时 LLM 生成拒绝主因(如"负债收入比超 75%")与改善建议("建议结清 XX 笔小额贷款后重新申请")。所有决策因子与权重留痕,支持事后审计与申诉复核。
核心流程详解¶
审批主流程: 1. 客户提交申请 → 资料上传 2. OCR + 完整性校验 → 缺料则通知补充 3. 规则引擎前置:黑名单/反欺诈/年龄等硬规则拦截 4. Agent 编排:一致性核验 → 信用评分 → 风险定价 5. 决策:通过/拒绝/人工复核 6. 结果通知客户 + 审批记录入库
人工复核流程: 1. 中间灰度区间或大额贷款转人工 2. 审批员查看 Agent 给出的分析摘要与建议 3. 审批员可采纳或覆盖决策,覆盖需填写理由 4. 覆盖决策回流为训练样本,定期优化模型
部署与优化建议¶
- 规则与模型分离:硬规则前置减少模型调用,降低成本与延迟
- 模型监控:监控各评分段通过率、违约率、PSI 漂移指标
- 公平性审计:定期检验模型对不同性别/地域/年龄群体的差异
- 冷启动:新客群先用规则 + 征信分兜底,积累样本后再训练定制模型
- 拒绝原因库:标准化拒绝原因码,便于统计分析与客户告知
常见问题与解决方案¶
| 问题 | 原因 | 解决方案 |
|---|---|---|
| OCR 流水识别错 | 银行流水格式多样 | 模板库 + LLM 兜底纠错 |
| 评分卡区分度下降 | 客群迁移 | PSI 监控 + 季度重训 |
| 拒绝原因笼统 | 特征贡献分散 | 聚类主因 + 业务话术映射 |
| 人工覆盖率高 | 灰度区间过宽 | 调整阈值 + 增加自动通过比例 |
扩展方向¶
- 接入替代数据(水电煤、社保、电商行为)服务薄征信客群
- 贷后预警:审批数据复用做贷后风险监控
- 客户预审:营销阶段提前评估资质,提升转化
- 多产品组合定价(消费贷 + 信用卡联动)