首页 > 试题广场 >

个人信贷风控引擎

[编程题]个人信贷风控引擎

你的任务是根据用户的画像,基于《个人消费贷授信管理办法 (v2.0)》,计算用户的最高可贷额度最终年化利率

你需要写一个 Prompt,把用户的输入转换成我们规定的 JSON 格式。

知识库素材 (Knowledge Base)

《个人消费贷授信管理办法 (v2.0)》
[C.1] 准入红线(优先级最高):
    - 若用户存在"当前逾期 (Overdue)"记录,或年龄 < 18岁,直接拒贷。
    - 触发标签:VETO_HARD

[C.2] 额度计算规则:
    - 基础额度 = 用户月收入 x 12倍。
    - 系统设定单人最高授信上限为 500,000 元(即超过50万按50万计)。
    - 若触发了上限截断,需记录标签。
    - 触发标签:CAP_REACHED

[C.3] 信用分定基础利率(APR):
    - 信用分 < 600 分:拒贷。触发标签:VETO_LOW_SCORE
    - 600 <= 信用分 < 720:基础利率 12%。
    - 信用分 >= 720:基础利率 8%。

[C.4] 行业风险调整(职业负面清单):
    - 若用户职业为 "KTV"、"采矿"、"高空作业",视为高风险。
    - 惩罚1(额度):在 [C.2] 计算出的额度基础上 **减半 (x0.5)**。
    - 惩罚2(利率):在 [C.3] 确定的基础利率上 **上浮 2%**(即 +2%)。
    - 触发标签:HIGH_RISK_JOB

[C.5] 优质客户激励:
    - 若用户在平台注册时长超过 5年,最终利率 **下调 1%**(即 -1%)。
    - 此激励在风险调整 [C.4] 之后计算。
    - 触发标签:LOYALTY_BONUS

输入描述:
一段包含年龄、月收入、职业、信用分、逾期记录、注册年限的自然语言描述。


输出描述:
{
    "approval_status": "string", //"APPROVED" / "REJECTED" 
    "max_quota": int, //最终额度,拒贷为0 
    "final_rate": "string", //带百分号,如 "10%",拒贷为 "0%" 
    "risk_tags": ["string"] //List[String], 标准枚举值的集合,无则为空列表 []
}
示例1

输入

用户 30岁,职业采矿。月收入60,000元。信用分730。无逾期,注册仅 1年。

输出

{
"approval_status": "APPROVED",
"max_quota": 250000,
"final_rate": "10%",
"risk_tags": ["CAP_REACHED", "HIGH_RISK_JOB"]
}

备注:
提示词学习 提示词工程指南