# 风险归并Skill 设计

## 1. Skill 定位

`风险归并Skill` 负责合并重复风险、关联同根因风险，并生成可排序的风险组。

英文实现标识建议使用 `RiskMergeSkill`。

## 2. 输入

```python
@dataclass
class RiskMergeInput:
    risk_items: list[RiskItem]
```

## 3. 输出

```python
@dataclass
class RiskMergeOutput:
    merged_risk_items: list[RiskItem]
    risk_groups: list[RiskGroup]
```

## 4. 核心方法

### 4.1 `run(input) -> RiskMergeOutput`

主入口方法。

### 4.2 `build_fingerprint(risk_item) -> str`

生成风险指纹。

### 4.3 `merge_duplicates(items) -> list[RiskItem]`

合并重复风险。

### 4.4 `link_related(items) -> list[RiskGroup]`

关联同根因风险。

## 5. 技术实现

使用技术：

1. Python 分组
2. 风险指纹
3. 关联规则

## 6. 异常处理

1. 风险项为空：返回空集合。
2. 风险缺少关键字段：不合并并记录警告。

## 7. 测试要点

1. 重复风险可合并。
2. 产品名称冲突和混档风险可关联。
3. 空风险列表可处理。

