后端新增规则资产版本管理和规则文件 CRUD 接口,优化风险 规则生成模板执行和员工数据模型字段,知识库 RAG 增强本 地回退和文档提取能力,清理旧风险规则文件统一由生成引擎 管理,前端审计页面增加运行时调试面板和规则资产编辑交互, 补充单元测试覆盖。
2.2 KiB
2.2 KiB
深度风险扫描模块设计 (Risk Scan Module)
1. 业务目标
将单点硬规则风控(如:发票大于 500 元是否合规)升级为图谱式全局风控。Hermes 将利用大语言模型(LLM)的逻辑推理能力,在海量历史数据中寻找隐藏的违规模式。
2. 核心扫描链路
本模块将作为一个独立的 Skill 被定时任务触发。
第一步:数据快照聚合
- 提取目标:拉取状态为
draft、submitted且最近 30 天内活跃的报销单,同时带出相关的发票明细。 - 降维处理:为避免超出大模型的 Token 上下文限制,必须对单据信息进行降维。仅提取:
申请人、时间、地点、商户名、金额、报销类型形成精简的 CSV 或 JSON Lines 格式。
第二步:大模型批量推理 (LLM Batch Inference)
- 风险定义植入:通过 System Prompt 将目前财务最头疼的几类风险定义给模型(如拆单、套现、虚假连号发票)。
- 执行方式:将数据按“同部门”或“同地域”分块 (Chunking) 喂给大模型。
- Prompt 示例:
你是一个内控审计 Agent。以下是某部门近半个月的报销流水清单。 请找出其中是否存在: 1. 拆单行为(同人、同地点、连日、小额累加) 2. 聚众套现行为(不同人、同偏僻餐馆、同日极高额) 如果发现风险,请输出对应的单号集合以及你的推理过程。
第三步:风险标记与处置
- 解析大模型返回的结构化 JSON。
- 对被判定的高危单据,在主库中插入
hermes_risk_report记录。 - 动作反馈:如果该单据正处于
submitted状态,并且得分极高(如虚假连号发票),可以通过 X-Financial 原有接口自动注入“退回”动作,并附加大模型的分析日志。
3. 防抖与自我迭代
- 扫描去重:利用
expense_claim.hermes_scanned_at防止已经出具过报告的单据被重复投入分析队列。 - 人工纠偏 (Human-in-the-loop):当财务在前端驳回 Hermes 的风险提示(即认为没问题)时,事件将被记录。Hermes 可通过夜间的反思任务优化下一次 Prompt 中的判定容忍度。