feat: 增强规则资产管理与审计页面运行时调试

后端新增规则资产版本管理和规则文件 CRUD 接口,优化风险
规则生成模板执行和员工数据模型字段,知识库 RAG 增强本
地回退和文档提取能力,清理旧风险规则文件统一由生成引擎
管理,前端审计页面增加运行时调试面板和规则资产编辑交互,
补充单元测试覆盖。
This commit is contained in:
caoxiaozhu
2026-05-24 21:44:17 +08:00
parent 575f093c74
commit 50b1c3f9a9
113 changed files with 13896 additions and 5044 deletions

View File

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