78 lines
1.6 KiB
Markdown
78 lines
1.6 KiB
Markdown
# 字段完全一致比对Skill 设计
|
|
|
|
## 1. Skill 定位
|
|
|
|
`字段完全一致比对Skill` 负责按强一致规则对同一字段的不同来源值执行完全一致比对。
|
|
|
|
英文实现标识建议使用 `ExactFieldCompareSkill`。
|
|
|
|
本 Skill 不做语义相似判断。
|
|
|
|
## 2. 输入
|
|
|
|
```python
|
|
@dataclass
|
|
class ExactFieldCompareInput:
|
|
compare_units: list[FieldCompareUnit]
|
|
rules: list[ConsistencyFieldRule]
|
|
```
|
|
|
|
## 3. 输出
|
|
|
|
```python
|
|
@dataclass
|
|
class ExactFieldCompareOutput:
|
|
compare_results: list[FieldCompareResult]
|
|
conflict_fields: list[dict]
|
|
consistent_fields: list[dict]
|
|
manual_review_fields: list[dict]
|
|
```
|
|
|
|
## 4. 比对规则
|
|
|
|
1. 标准值完全相等才算一致。
|
|
2. 空值不算一致证据。
|
|
3. 待复核来源不算通过证据。
|
|
4. 原始值明显差异但标准值相同,进入待复核。
|
|
|
|
## 5. 核心方法
|
|
|
|
### 5.1 `run(input) -> ExactFieldCompareOutput`
|
|
|
|
主入口方法。
|
|
|
|
### 5.2 `compare_exact(unit, rule) -> FieldCompareResult`
|
|
|
|
完全一致比对。
|
|
|
|
### 5.3 `build_conflict_result(unit, values, rule) -> FieldCompareResult`
|
|
|
|
构建冲突结果。
|
|
|
|
### 5.4 `build_consistent_result(unit, rule) -> FieldCompareResult`
|
|
|
|
构建一致结果。
|
|
|
|
## 6. 技术实现
|
|
|
|
使用技术:
|
|
|
|
1. Python 字符串比较
|
|
2. 字段标准化值
|
|
3. 风险规则
|
|
|
|
## 7. 异常处理
|
|
|
|
1. 无候选值:待人工复核。
|
|
2. 单来源:不判冲突。
|
|
3. 字段无规则:不检查。
|
|
4. 候选来源待复核:结果待复核。
|
|
|
|
## 8. 测试要点
|
|
|
|
1. 相同标准值判一致。
|
|
2. 不同标准值判冲突。
|
|
3. 单来源不判冲突。
|
|
4. 待复核来源进入人工复核。
|
|
|