跳转至

反欺诈检测 Agent

项目背景与目标

金融交易欺诈(盗刷、套现、洗钱、虚假交易)每年造成巨额损失,传统基于规则的风控系统面临规则爆炸、漏报率高、新型欺诈适应慢等问题。基于 AI Agent 的实时反欺诈系统通过行为序列分析、设备指纹、图谱关联与实时风险评分,能在毫秒级完成交易风险判断并执行拦截/放行/挑战动作。

本项目目标是构建一个端到端的实时反欺诈 Agent,覆盖交易前预警、交易中拦截、交易后调查三个阶段,平衡风险控制与用户体验(误杀率可控)。

需求分析

核心能力: 1. 实时风险评分:单笔交易 < 100ms 完成评分 2. 行为序列建模:基于用户历史行为刻画"正常模式",检测偏离 3. 关联图谱:识别团伙欺诈(同一设备/IP/收款方关联多账户) 4. 自适应规则:新欺诈模式出现后快速迭代规则 5. 案件管理:拦截后生成调查工单,支持人工复核闭环

性能要求:TPS > 5000;评分延迟 P99 < 100ms;误杀率 < 0.1%;召回率 > 90%。

技术选型说明

模块 技术方案 选型理由
实时特征 Flink + Redis 流式计算行为特征,毫秒级更新
风险评分 XGBoost + 图神经网络 表格特征 + 关联特征双模型
Agent 编排 LangGraph 拦截决策与案件调查多步流程
LLM Qwen-Max 案件摘要与调查报告生成
图数据库 Neo4j 设备-账户-收款方关联图谱
消息队列 Kafka 交易事件高吞吐解耦
在线服务 Triton Inference Server 模型低延迟推理
后端 Go + gRPC 高并发实时决策

架构设计

flowchart TD
    TX[交易事件] --> KAFKA[(Kafka)]
    KAFKA --> FLINK[Flink 特征计算]
    FLINK --> REDIS[(实时特征 Redis)]
    TX --> DEC[决策引擎 gRPC]
    REDIS --> DEC
    DEC --> XGB[XGBoost 评分]
    DEC --> GNN[图谱关联评分]
    XGB --> AGENT[决策 Agent]
    GNN --> AGENT
    AGENT --> ACT{动作}
    ACT -->|放行| PASS[通过]
    ACT -->|挑战| CHAL[短信/人脸验证]
    ACT -->|拦截| BLOCK[阻断+工单]
    NEO[(Neo4j 图谱)] --> GNN
    BLOCK --> CASE[案件管理]
    CASE --> LLM[调查报告 LLM]

关键模块实现思路

模块1:实时特征计算

Flink 消费 Kafka 交易流,维护两类滑动窗口特征:用户维度(过去 1 分钟/1 小时/1 天交易次数、金额、地理跨度)、设备维度(同设备关联账户数、首次出现设备标记)。特征写入 Redis 供决策引擎实时读取,TTL 控制内存占用。

特征设计要兼顾实时性与区分度,避免维度爆炸。建议先从 30-50 个高价值特征起步,逐步扩充。

模块2:风险评分双模型

XGBoost 模型处理结构化表格特征(金额、时间、地理、用户画像、历史行为统计),输出 0-100 分。优势是训练快、可解释(SHAP 值)。

图神经网络模型从 Neo4j 提取交易双方的多跳关联子图(设备、IP、手机号、收款方),识别团伙欺诈。GNN 对孤立的"看似正常但属于欺诈网络"的交易有强区分力。

两模型分数加权融合,权重通过离线回测调优。融合分数超过阈值触发对应动作。

模块3:决策 Agent 与动作策略

决策不是简单的阈值判断,而是 Agent 多步推理:先看分数区间,再查历史拦截记录(避免重复打扰老用户),再评估挑战成本(小额交易挑战成本可能高于损失),最终输出"放行/挑战/拦截"决策及理由。

def decide(score, tx, user_history):
    if score < 30: return ("pass", "低风险")
    if score > 80: return ("block", "高风险拦截")
    # 中间区间:看挑战成本与用户价值
    if tx.amount < 50 and user_history.is_vip:
        return ("pass", "小额VIP免挑战")
    return ("challenge", "短信验证")

挑战方式按风险递进:短信验证码 → 人脸识别 → 人工外呼。

模块4:案件管理与自学习

拦截后自动生成工单,LLM 汇总交易特征、关联图谱、历史行为生成调查摘要。人工复核结论回流为标注数据,定期重训模型。新型欺诈模式由风控分析师录入新规则,规则与模型并行运行(规则兜底模型盲区)。

核心流程详解

实时拦截流程: 1. 交易请求到达支付网关 → 同步发送 Kafka 2. 决策引擎从 Redis 读取特征 → 调用 XGBoost 与 GNN 推理 3. Agent 综合决策 → 返回动作(< 100ms) 4. 拦截/挑战 → 工单落库 → 推送调查员 5. Flink 异步更新特征 → 形成闭环

模型迭代流程: 1. 每日导出标注数据(确认欺诈 + 误杀申诉) 2. 离线训练新模型 → A/B 回测对比 3. 灰度上线 10% 流量 → 监控指标 4. 全量切换 → 旧模型保留兜底 1 周

部署与优化建议

  • 特征预热:新用户首次交易前预计算基础特征,避免冷启动
  • 模型量化:XGBoost 转 ONNX,Triton 部署降低推理延迟
  • 降级策略:模型服务超时时降级为规则引擎,避免交易卡死
  • 图谱更新:Neo4j 写入异步化,避免影响实时决策
  • 监控告警:评分分布漂移、特征缺失率、拦截率突变实时告警

常见问题与解决方案

问题 原因 解决方案
误杀率突升 模型过拟合新样本 引入对抗验证 + 灰度放量
GNN 推理慢 子图过大 限制 2 跳邻居 + 子图采样
新型欺诈漏报 训练样本不足 规则快速兜底 + 主动学习采样
特征缺失 上游数据延迟 缺失值填充策略 + 降级规则

扩展方向

  • 接入设备指纹与生物行为(击键节奏、滑动轨迹)
  • 跨机构联邦学习,共享欺诈样本不泄露数据
  • 反洗钱(AML)可疑交易上报自动化
  • 实时可视化风控大盘,攻击态势感知