| name | vlm-verifier |
| description | 企业信贷跨模态材料核验与分析技能。基于贷款申请材料(图片、文档、流水)与基准数据源,以视觉语言模型(VLM)解析图像证据,结合LLM对文本/结构化数据的分析,实现跨模态数据交叉比对,构建结构化检测点,通过迭代推理验证材料真实性,输出可解释的跨模态核验报告。触发词包括:"材料核验"、"反欺诈审查"、"交叉验证"、"材料真实性核验"、"VLM识别"、"多模态分析"、"欺诈检测"、"跨模态证据核查"。不适用于:个人信贷材料核验、非反欺诈场景(如行业分析/估值建模)、要求输出审批意见或违约概率预测。
|
| target_role | 信贷审批官 / 反欺诈分析专家 / 风险审查人员 |
| business_domain | 信贷风险管理 > 贷前反欺诈审查 |
| risk_level | high |
| version | 1.0.0 |
| status | draft |
| upstream_skills | [] |
| downstream_skills | [] |
| data_sources | ["用户上传材料(图片/文档/流水)","官方权威数据源(工商/征信/司法)","银行内部数据(核心系统流水/信贷系统)","references/fraud-patterns.md","references/cross-validation-matrix.md","references/data-sources-priority.md","references/confidence-rules.md"] |
企业信贷反欺诈多模态交叉验证
Target Role
- 角色:信贷审批官 / 反欺诈分析专家 / 风险审查人员
- 使用场景:贷前申请材料真实性核验、反欺诈交叉验证、多模态证据链构建
- 输出用途:生成结构化反欺诈评估报告,为信审决策提供客观证据链
- 决策层级:风险提示信号,需经信贷人员人工复核后使用,不构成审批意见
- 执行频率:按需执行,每笔企业贷款申请可调用一次
Data Sources
必需数据
| 数据项 | 来源 | 获取方式 | 敏感级别 |
|---|
| 用户上传材料 | 客户提交 | 文件上传(图片/文档/流水) | 内部 |
| 工商登记信息 | 国家企业信用信息公示系统 | API/人工查询 | 公开 |
| 征信报告 | 人民银行征信系统 | 需人工授权后API获取 | 机密 |
| 司法执行信息 | 中国执行信息公开网 | API/人工查询 | 公开 |
| 行业基准数据 | references/cross-validation-matrix.md | 文件读取 | 内部 |
数据脱敏规则
- 个人身份证号:显示前3后4,中间用*替代(如:110***********1234)
- 银行账号:仅显示后4位(如:**** **** **** 5678)
- 联系方式:不在输出中出现
- 企业敏感财务数据:仅展示比对结果,不展示原始数值
降级策略
- 如果征信数据不可用:标注"未纳入征信维度",其余分析继续
- 如果现场照片缺失:标注"视觉验证维度未覆盖",依赖文本数据源交叉验证
- 如果行业基准数据缺失:使用references/中的通用参考值,并明确标注"使用行业估计值"
- 如果VLM工具不可用:降级为LLM基于文本描述判断,并在报告中标注"视觉分析置信度降低"
- 如果多个数据源均缺失:标注"证据不足,待核实",不得用猜测替代真实数据
Workflow
📋 严格遵循"先读后写"原则,步骤0验证通过后才执行后续步骤。
步骤0:数据确认与验证(数据来源:user_upload, 执行主体:ai, 确认机制:none)
- 读取并列出所有输入材料(图片/文档/流水)
- 确认材料时间范围(近6个月流水、近1个月照片、最近一期财务报表)
- 对照
references/data-sources-priority.md检查数据源优先级与时效性
- 如果关键材料缺失(如无流水、无现场照片):标注"降级模式运行",继续但降低相关维度置信度
- 仅在验证通过后开始分析,不得跳过此步骤
步骤1:材料分类与信息提取(数据来源:context, 执行主体:ai, 确认机制:none)
- 按类型分类输入材料(图片类/文档类/数据类),查阅
references/fraud-patterns.md识别适用欺诈模式
- 从图片中提取:场所规模、设备数量、装修档次、证件文字信息
- 从文档中提取:财务核心指标、申报经营数据、合同交易方
- 从流水中提取:月均流水、对手方分布、资金沉淀规律、大额往来
- 所有提取字段必须标注来源文件名,不得笼统表述"根据材料显示"
步骤2:行业规则匹配(数据来源:reference, 执行主体:ai, 确认机制:none)
- 基于申请企业所属行业,从
references/cross-validation-matrix.md加载对应反欺诈规则集与行业基准
- 结合用户自定义规则(如有)进行融合
- 输出本次评估适用的完整规则集
- 不得套用与行业无关的通用规则
步骤3:检测点构建(数据来源:context, 执行主体:ai, 确认机制:none)
- 将规则转化为独立可执行的验证任务,每个检测点必须至少涉及2个独立数据源
- 每个检测点包含:验证目标、所需数据源、判断标准
- 相互独立,可并行执行
- 优先构建高置信度的检测点(数据充分的维度)
步骤4:迭代推理验证(数据来源:context, 执行主体:ai, 确认机制:none)
- 对每个检测点执行Think→Check→Research循环(查阅
references/confidence-rules.md):
- Think:规划当前检测点的验证路径,确定需要哪些数据
- Check:执行数据比对;图片分析优先用LLM基于描述判断,置信度<70%时再调用VLM分析原图
- Research:分析差异是否构成欺诈信号;对照
references/cross-validation-matrix.md常见误判场景表排除合理例外情形
- 循环直到置信度≥0.6或达到最大迭代次数3次
- 不得跳过任何检测点,即使中间结果"看起来正常"
- 所有数字必须展示计算过程,不得直接给出结论
- 如果某检测点结果与预期不符,必须停下来分析原因,不得忽略继续
步骤5:报告聚合(数据来源:context, 执行主体:ai, 确认机制:none)
- 汇总所有检测点结论,使用
assets/verification-report-template.md模板输出结构化反欺诈评估报告
- 每条结论必须标注数据来源文件名及提取字段
- 异常信号须给出具体差异量(如"申报营收1200万元,流水汇总仅280万元,差异率77%")
- 证据不足的检测点须以"待核实"状态输出,不得因材料不足而跳过不写
- 待核实清单中的核实方式须具体(如"建议调取近12个月增值税申报记录"),禁止"联系客户确认"此类空泛建议
步骤6:先读后写验证(数据来源:context, 执行主体:ai, 确认机制:none)
- 运行
scripts/validate_fraud_report.py验证输出报告结构完整性
- 验证必填章节(报告基本信息/材料分类汇总/反欺诈检测结果/异常信号汇总/建议核实清单/覆盖度说明/数据来源与免责说明)
- 验证免责声明包含"不构成"、"仅供参考"关键词
- 如果验证失败:定位具体问题并修正,不得输出未通过验证的报告
Output Format
使用assets/verification-report-template.md模板。
报告必须包含以下章节:
- 报告基本信息(企业名称/评估时间/适用行业/输入材料清单)
- 材料分类汇总(表格:材料名称/类型/提取关键信息摘要/质量评估)
- 反欺诈检测结果(每个检测点:验证目标/数据来源/比对结果/推理过程/检测结论/置信度)
- 异常信号汇总(已确认异常/疑似异常,按置信度分级)
- 建议核实清单(表格:优先级/待核实事项/建议核实方式/所需材料)
- 覆盖度说明(表格:欺诈类别/是否覆盖/检测点数量/未覆盖原因)
- 数据来源与免责说明(引用
assets/verification-report-template.md中的免责声明模板)
所有数据标注:数据来源 + 数据日期 + 是否审计后数据。
禁止在输出中使用"高风险/低风险"等主观分级术语,仅描述欺诈事实与异常信号。
⚠️ 免责声明:每次输出必须包含免责声明,引用assets/verification-report-template.md模板,确保"不构成信贷审批意见"、"检测结论仅供参考"等必要声明。
Constraints
- 禁止收益承诺与投资建议:任何情况下不得给出"这笔贷款可以批准"或"违约风险低"等确定性结论或承诺性表述。
- 证据链完整:每条欺诈判断必须对应具体数据来源和比对结果,禁止无依据的主观判断,不得笼统表述"根据材料显示"。
- 禁止数据猜测:缺失数据 = 标注"待核实",严禁用行业平均值或猜测替代真实数据(行业平均值仅用于对标比较)。
- 数据时效性:如果数据超过3个月,必须在报告开头醒目标注"⚠️ 数据可能已过时";超过6个月拒绝使用,要求更新。
- 禁止风险分级混淆:仅描述欺诈事实与异常信号,不输出"高风险/低风险"等主观分级,不预测违约概率。
- 禁止越权建议:本报告不构成任何形式的信贷审批意见、风险定论或决策建议,最终风险判断由专业人员做出。
- 交叉验证优先:单一来源的信息不得直接得出结论,必须与至少一个独立数据源交叉印证,单源结论须标注"待交叉核实"。
- 禁止跳过步骤:不得跳过Workflow中任何步骤,即使中间步骤的结果"看起来正常";所有数字必须展示计算过程。
Audit Trail
每次评估结束后,生成审计日志 audit/{企业简称}_{日期}_fraud_audit.json:
{
"skill_name": "vlm-verifier",
"skill_version": "1.0.0",
"execution_time": "2026-05-05T14:00:00+08:00",
"company_name": "[企业全称]",
"input_files": ["门头照.jpg", "银行流水.xlsx", "贷款申请书.pdf"],
"operator": "[工号/姓名]",
"steps": [
{
"step": "数据确认与验证",
"executor": "ai",
"data_source": {"type": "user_upload", "files": ["门头照.jpg", "银行流水.xlsx"]},
"result": "pass"
},
{
"step": "迭代推理验证",
"executor": "ai",
"data_source": {"type": "context"},
"detection_points_count": 5,
"high_confidence_count": 3,
"low_confidence_count": 2,
"result": "pass"
}
],
"detection_summary": {
"total_points": 5,
"confirmed_anomalies": 1,
"suspected_anomalies": 2,
"pending_verification": 2
},
"warnings": ["现场照片超过1个月,可能影响视觉评估置信度"],
"references_used": ["references/fraud-patterns.md", "references/cross-validation-matrix.md", "references/confidence-rules.md"]
}
审计日志保留期限:至少3年。
Gotchas
#1:误判装修投入造假
- 症状:现场照片显示高档装修,但银行流水无装修支出记录,系统判定为"疑似虚报装修"
- 原因:装修可能由房东承担,租赁合同中有装修责任条款
- 解决:每次检测到装修支出异常时,必须检查租赁合同,查看装修责任条款(参照
references/cross-validation-matrix.md常见误判场景表)
#2:流水远低于申报营收误判
- 症状:银行流水金额远低于申报营收,判定为"收入虚报"
- 原因:客户主要收款账户可能不在本行,或使用微信/支付宝等第三方支付
- 解决:要求客户提供其他银行流水或第三方支付记录,核实总收款规模后再做结论
#3:非营业时段拍摄误判停业
- 症状:现场照片显示人少、货架稀疏,判定为"疑似停业/空壳经营"
- 原因:拍摄时间可能为非营业时段(如清晨、深夜、休息日)
- 解决:要求客户提供不同时段照片,或核实近期交易记录是否活跃
#4:单一数据源无法交叉验证
- 症状:仅提供单一类型材料(如仅有贷款申请书,无流水/照片),系统输出"待核实"
- 原因:交叉验证原则要求每个检测点至少涉及2个独立数据源
- 解决:在报告中明确标注"未覆盖XX维度",列出缺失材料清单,建议补充后再评估
Examples
示例1:标准餐饮企业反欺诈核验
用户输入:
请对"XX火锅餐饮有限公司"的贷款申请材料进行反欺诈核验。
行业:H62 餐饮业
上传材料:门头照.jpg、经营场所内部照.jpg、银行流水_近6月.xlsx、贷款申请书.pdf、工商营业执照.pdf
申报信息:月营业额30万,装修投入50万,经营面积200平米
Skill执行流程:
- 步骤0:确认5份材料均在有效期内(近6个月流水、近1个月照片)
- 步骤1:分类材料并提取关键字段(照片→面积200平米/装修中档/80座位;流水→月均流入35万)
- 步骤2:加载餐饮行业反欺诈规则集与行业基准(每平米日均收入20-40元)
- 步骤3:构建3个检测点(装修投入真实性、经营规模与流水匹配度、申报信息一致性)
- 步骤4:迭代推理验证每个检测点(如装修估值16-40万 vs 申报50万,差异率25%-212%,但查阅租赁合同发现装修由房东承担,排除误判)
- 步骤5:聚合报告,输出2个检测点"未发现异常",1个"待核实"(建议补充他行流水)
- 步骤6:运行验证脚本,确认7个必填章节完整,免责声明合规
输出要点:
- 核心结论:装修投入与经营规模未发现异常,流水与申报基本匹配
- 异常信号:无已确认异常,1个待核实事项(确认主要收款账户)
- 覆盖度:财务造假类✅、经营虚假类✅、身份与资质类⚠️(缺征信)、抵押物类⚠️(信用贷无抵押)
示例2:材料不完整降级模式
用户输入:
请对"XX零售商店"进行反欺诈核验。
上传材料:门头照.jpg、贷款申请书.pdf
Skill执行流程:
- 步骤0:发现缺少银行流水、现场内部照片、财务报表等关键材料,标注"降级模式运行"
- 步骤1-3:仅能构建1个检测点(申报信息一致性:门头照字号 vs 申请书字号)
- 步骤4:由于仅单一数据源,置信度极低(<0.4),输出"待核实"
- 步骤5:报告明确标注"未覆盖财务造假类/经营虚假类/身份与资质类/抵押物类"
- 步骤6:验证通过,但报告包含大量"待核实"标注
输出要点:
- 核心结论:证据不足,无法完成有效反欺诈核验
- 待核实清单:建议补充近6个月银行流水、经营场所内部照片、财务报表、征信报告
- 覆盖度:全部4类欺诈均为⚠️未覆盖
Out of Scope
- 本 Skill 不处理个人信贷/零售业务的材料核验(仅适用于企业信贷)
- 本 Skill 不生成信贷审批意见、风险定论或决策建议(仅提供风险提示信号)
- 本 Skill 不输出"高风险/低风险"等主观分级或违约概率预测(仅描述欺诈事实与异常信号)
- 本 Skill 不直接执行交易系统操作或对接审批系统(仅生成评估报告)
- 本 Skill 不进行非反欺诈场景的分析(如行业分析/估值建模/财务健康检查,请使用对应 Skill)
- 如果用户请求以上内容,明确告知并建议使用合适的 Skill 或联系信贷审批部门