Skip to content

风控决策架构 ​

风控是信贷的"看门人":授信进件要它批(贷前)、每笔支用要它过(贷中)、逾期了它给催收策略打标(贷后)。这篇讲四块:决策引擎三层、实时特征平台、名单库、决策链路的性能约束与降级。它在上游的位置见信贷业务全景与领域模型。

决策引擎三层:规则、模型、策略编排 ​

            ┌──────────────────────────────────────┐
请求 ──▶    │ 策略编排层(Decision Flow)              │
            │  前置规则 → 模型评分 → 后置规则 → 决策路由 │
            │  (拒绝/通过/人工 + 额度 + 定价)           │
            └──────┬───────────────────┬───────────┘
                   ▼                   ▼
          ┌────────────────┐  ┌────────────────────┐
          │ 规则层           │  │ 模型层               │
          │ 专家规则/决策表    │  │ 评分卡/A 车型/机器学习  │
          │ 硬拒绝/准入/反欺诈 │  │ 输出: 分数/概率/等级    │
          │ 毫秒级,可解释     │  │ 输入: 特征向量          │
          └────────────────┘  └─────────┬──────────┘
                                      ▼
                            ┌──────────────────┐
                            │ 实时特征平台        │
                            └──────────────────┘
  • 规则层:人写的显式逻辑——年龄准入、命中黑名单拒绝、多头借贷 N 家拒绝、月收入负债比。特点是毫秒级、完全可解释、改一条立刻生效(热更新)。承载"合规红线"和"专家经验",任何模型都无权越过它;
  • 模型层:统计学/机器学习产物——A 卡(申请评分)、B 卡(行为评分)、C 卡(催收评分)。输入特征向量,输出违约概率,再映射为分数/等级。特点是能吃几百维特征捕捉非线性。但不可解释、迭代要重训重评(监管要求可解释时还要配影子评分/原因码);
  • 策略编排层:把规则和模型按流程串起来的人。用 DSL 决策流表达"先反欺诈硬规则 → 通过则查 A 卡 → 分数 < 550 拒绝 → 550~650 人工 → 650+ 按等级给额度定价"。策略与代码分离是这一层的存在意义。策略分析师在后台拖流程图、调阈值、灰度发布,不需要发版。信贷机构一年改几百次策略,每次都发版就是每次都是事故窗口。

一次支用决策的完整时序(谁在链路上、各花多少时间):

支用域          编排层              规则/模型层        特征平台
  │  决策请求     │                   │                │
  ├────────────▶│ 前置规则(准入/黑名单) │                │
  │             ├──────────────────▶│ 命中即短路拒绝    │
  │             │  ◀─── 3ms ───────┤                │
  │             │ 取特征向量          │                │
  │             ├──────────────────────────────────▶│ 点查(Redis/KV)
  │             │  ◀────────────── 40ms ─────────────┤
  │             │ A/B 卡推理          │                │
  │             ├──────────────────▶│ 模型服务          │
  │             │  ◀─── 25ms ──────┤                │
  │             │ 后置规则(额度/定价)   │                │
  │  ◀─ 决策+快照─┤                   │                │
  ├─ 决策快照落库(版本号: 策略v12/模型v7/特征快照)

注意决策快照与决策应答同步落库:快照丢了,这次决策就变成"无法解释的放款/拒绝"。

分层的关键约束是依赖方向:编排层依赖规则与模型的抽象接口,规则和模型互不感知。换模型(评分卡换成深度学习)不动编排,改编排(加一道人工分流)不动模型。这也是领域模型vs数据模型,应该怎么用?里"业务语义内聚在自己的层里演化"的同一原则。

实时特征平台:点查、圈选、穿透 ​

特征是决策的原料("近 30 天申请次数""近 6 个月平均逾期天数"),平台按消费形态分三种读法:

形态是什么延迟要求典型用途
点查单用户的实时特征向量P99 < 50ms决策链路在线取数
圈选按条件筛人群(离线批量)小时级 T+1营销名单、策略回溯分析
穿透从聚合值下钻到明细(哪些单构成逾期次数)秒级人工审批、客诉解释、模型归因
 生产侧                          消费侧
行为流水(交易/还款/登录) ──┐
渠道/三方数据(征信/多头) ──┼──▶ Flink 实时聚合 ──▶ 在线KV(Redis)  ──▶ 点查(决策)
                         │         │
离线数仓(T+1 全量) ────────┘         └──▶ Hive/OLAP ──▶ 圈选(名单/分析)
明细日志(事件流) ────────────────────────────────────▶ 穿透(明细下钻)
  • 线上线下一致性是特征平台第一难题。在线用 Flink 算的"近 30 天申请次数"和离线数仓回溯算的必须逐值相等。否则会"离线评估模型很好、上线效果崩掉"。工程手段是特征双写(同一份特征定义,在线实时算、离线按同口径重算)+ 定期比对;
  • 特征可用性降级:某个三方数据源超时,特征取不到。这时按特征重要度配置当缺失值还是当最差值。核心特征(收入)缺失走保守策略。普通特征缺失给默认值并打标。这个配置权在策略分析师手里,不在代码里。

名单库与灰名单 ​

名单是规则层里最古老也最有效的部分,难点在状态管理而非存储:

  • 黑名单:确定性拒绝(内控黑、司法失信、欺诈确认)。进入要证据链,退出要审批——误上黑名单是重大客诉与合规风险;
  • 白名单:确定性放行或加分(优质存量客户、代发薪客群);
  • 灰名单:疑似风险,不自动拒绝、进人工审核(多头申请突增、设备指纹异常、联系人重叠欺诈网络)。灰名单是"缓冲区":直接拒会误伤,直接放会漏。交给人工/延迟决策(挂起 2 小时等更多行为数据)是性价比最高的中间态。
名单生命周期:  证据事件 ──▶ 命中规则 ──▶ 进入名单(黑/灰) ──▶ 定期复审 ──▶ 移出/升级
                                              │
                              决策链路查询: 点查 RPC + 本地缓存(秒级过期,名单变更发失效消息)

名单按来源分三类,管理强度完全不同:

来源例子进入方式复审要求
内控名单员工关联人、恶意投诉黑审批流进入年度复审
外部权威名单司法失信、监管处罚数据同步,只进不出跟随源数据
风险计算名单欺诈网络团伙、多头共债模型/图计算产出,有置信度高频复审(月/周),必须可退出

工程要点:名单变更对决策准实时生效(缓存短 TTL + 变更广播失效)。每次决策要落"命中了哪些名单、哪些规则、模型多少分"的决策快照。监管检查、拒绝原因告知(监管要求信贷拒绝要能给出原因码)、策略回溯全靠它。

决策链路的 P99 约束与降级 ​

决策链路的延迟预算是硬约束。授信决策 P99 < 1 s(用户在 App 里等)。支用交易决策 P99 < 200 ms,在支付链路里同步串联,串联方等不起。同款毫秒级逻辑见支付回调的HMAC验签与幂等设计。预算分解:

总预算 200ms:  特征点查 50ms + 模型推理 30ms + 名单/规则 20ms + 编排开销 20ms
              + 重试余量与网络 80ms(两个串行 RPC 的抖动空间)

注:节点级细分口径见决策引擎系统设计(本文为业务侧粗粒度口径)。

超时降级按"降级后剩下的东西还够不够安全"分级——风控挂了放不放行没有统一答案,只有分级:

场景降级策略理由
授信/开户类(贷前)fail-close:拒绝受理,引导稍后重试没有风控就放额度 = 敞口无限大;授信不是时效敏感交易,拒了可以再来
支用类(贷中,有授信在先)降级到静态规则:限额(如单日 ≤ 额度 30%)+ 黑名单缓存兜底授信时已做过完整风控,贷中是复检;有额度上限做天花板,静态规则做地板
支付反欺诈(交易类)降级到低风险放行 + 事后异步复核:小额放行、大额挂起与支付可用性权衡:全拒伤支付体验,小额欺诈损失有上限
模型超时(仅模型不可用)fallback 评分卡:上一代简单模型或规则评分顶上规则层完好时仅损失模型精度,不损失决策能力
特征源超时缺失值策略(见上)单一数据源故障不该瘫痪决策

分级的技术形态:决策编排 DSL 里每个节点声明超时与降级动作(跳过/默认值/短路拒绝)。故障时自动执行预案而非人工拍板。半夜故障时等人工决定"放不放行",每一秒都在积累用户流失或风险敞口。

业界实践参照(样本银行A vs 样本银行B) ​

样本银行A把"决策引擎 + 实时风控"做成了普惠信贷的公开标杆。310 全链路即"大数据风控 + 决策引擎 + 实时信贷决策" [媒体]。其数据平台以毫秒级实时风控输出支撑在线决策 [官方]。逐层对回本文架构:

本文概念样本银行A对应实践事实要点可信度
决策引擎三层 + 实时决策310 实时信贷决策进件 3 分钟 / 授信 1 秒 / 0 人工,单笔贷款成本约 2.3 元[媒体]
特征平台的另类数据源大山雀(卫星遥感)遥感影像+深度学习识别种植面积/种类/长势,融合气候/地理/行业景气建模,准确率 93%+,累计服务约 180 万农户[媒体]
贷中交互式风控(灰名单补数据)百灵 1.0 → 2.0CV 解析合同/发票/门头照等 26 种凭证做提额自证;2.0 转统一 Agent 服务 4200 万小微[媒体]
人工缓冲区的人机协同千里眼 / 定海针工作台千里眼(量化风控)误处置 -40%;定海针(人审风控)复杂件处理 ×20[媒体]
模型层前沿栈信贷 AI 风控算法团队信用评估/欺诈检测/GNN 图学习/多模态/AutoML 全链路;LLM 栈 SFT/RLHF/DPO/RAG/Agent[JD推断]

两点观察。其一,百灵的"26 种凭证 CV"本质是把本文灰名单的"挂起等用户补数据"产品化。用户主动上传凭证、模型实时解析回填特征,挂起等待变成交互式自证。

其二,千里眼/定海针是"人机共生"路线的量化证据 [媒体]。策略分析师与人工审批没有被 AI 取代,而是被工作台放大(误处置 -40%、人效 ×20)。这对应本文"灰名单交给人工是性价比最高的中间态"的 AI 增强形态。

样本银行B: 样本银行B把风控前移到了产品形态本身。它还在企业风控上给出数据密度的公开上限:

本文概念样本银行B对应实践事实要点可信度
风控即产品形态微粒贷白名单 + 小额分散白名单邀请制(无主动申请入口)+ 小额分散 + 循环授信——"谁能看到入口"与"单笔敞口有限"本身就是第一道风控[媒体]
特征/变量规模上限微业贷 30+ 数据源衍生数千参数国内首个线上无抵押企业流贷(2017):0 纸质资料、最高 1000 万、最快 1 分钟到账;工商/税务/征信/交易/物流等 30+ 数据源衍生数千参数[官方]
企业风控的数据重心政务/税务数据与样本银行A"经营流水 + 遥感"路线对照,样本银行B企业风控重心在政务/税务数据;企业贷款占比 2020 年 36% → 2024 年 49%,首次超过个人消费贷款[媒体]
风控能力对外交付联合贷样本银行B出风控样本银行B出风控、数百家合作银行出资,监管要求平台自主风控——决策快照与可解释不只是内控与监管需求,也是给合作资方的交付物[媒体]/[JD推断]

两点观察。其一,白名单邀请是"授信 fail-close"的产品化前置。本文降级矩阵里"拒绝受理"是故障预案,样本银行B把它做成常态。不邀请即不暴露,进件流量本身被风控圈选控制。

其二,"数千参数"对回本文变量工厂。千参规模下变量的注册/版本化/口径审批不再是工程细节,而是风控资产能否持续迭代的前提。

追问链 ​

Q1:模型和规则冲突听谁的(规则说拒、模型说优质)? 规则是合规红线,一票否决;模型只在没有红线命中时参与排序与定价。反过来"模型分高可以洗白黑名单"是典型的策略漏洞。黑名单命中必须走独立的人工豁免流程并留痕,不能被自动化逻辑绕过。

Q2:决策快照为什么必须落库,落日志不行吗? 拒绝原因告知、监管检查、策略回溯都要按"当时的规则版本、模型版本、特征值"重放当时的决策。日志会被滚动清理且无版本快照语义。决策快照 = 决策请求 + 全部输入快照 + 命中明细 + 版本号,是决策不可抵赖的凭证。它与账务凭证(见账务系统设计-复式记账与日切)同级严肃。

Q3:灰名单挂起等数据,用户等着要额度怎么办? 挂起有 SLA(如 2 小时),到期按现有证据强制决策;挂起期间的新证据事件触发提前重评。挂起队列本身有容量与超时告警——灰名单堆积成"永久等待"等于把 fail-close 伪装成了中间态。

Q4:新策略怎么上线,直接全量切? 冠军/挑战者(Champion/Challenger)分流:新策略按流量比例(如 5%)灰度运行。双跑期对比通过率/违约预测/审批时效。观察窗口覆盖至少一个完整表现周期。信贷的坏账表现要 6~12 个月才充分显现,短窗口看到的"通过率升了"可能只是风险滞后。

模型同理:新模型先影子模式(Shadow)跑——只记分不参与决策,验证线上线下分数分布一致后才切流量。策略与模型的每次切换都以决策快照里的版本号为回溯依据。

Q5:决策链路怎么压测?特征平台扛得住大促吗? 决策链路压测的难点是特征平台的读放大:一次决策点查 N 个特征键,大促峰值是日常 10 倍。做法是特征键预先散热(按用户打散到分片)、热点特征(名单类)走本地缓存。压测流量用影子标记打到真实链路但不落决策快照。容量规划以上一个大促峰值 × 1.5 做水位线——风控挂了支付降级放行,等于大促期间裸奔。

小结 ​

  • 决策引擎三层:规则(红线、可解释、热更)、模型(概率、不可解释、要 fallback)、策略编排(DSL 化、策略与代码分离);
  • 特征平台三读法:点查(在线决策)、圈选(离线人群)、穿透(明细归因);线上线下一致性是第一难题;
  • 名单三分:黑确定性拒、白确定性放、灰进人工缓冲区;名单与决策都要留版本化快照;
  • 延迟预算硬分解到节点。降级按场景分级:授信 fail-close、支用降级静态规则、交易反欺诈小额放行大额挂起。预案自动化,不靠人工拍板。

2026-10 新增(金融信贷域系列)。