# 字段分组Skill 设计 ## 1. Skill 定位 `字段分组Skill` 负责将统一字段池中的字段候选按字段编码和来源文档分组,形成可比对的数据单元。 英文实现标识建议使用 `FieldGroupSkill`。 ## 2. 输入 ```python @dataclass class FieldGroupInput: field_pool_items: list[FieldPoolItem] field_candidates: list[FieldCandidateRecord] scope_documents: list[DocumentFact] ``` ## 3. 输出 ```python @dataclass class FieldGroupOutput: compare_units: list[FieldCompareUnit] single_source_fields: list[dict] excluded_candidates: list[dict] ``` ## 4. 核心方法 ### 4.1 `run(input) -> FieldGroupOutput` 主入口方法。 ### 4.2 `group_by_field_key(candidates) -> dict` 按字段编码分组。 ### 4.3 `filter_candidates_by_scope(candidates, scope_documents) -> list` 只保留审核范围内来源文档的候选。 ### 4.4 `build_compare_unit(field_key, candidates) -> FieldCompareUnit` 构建字段比对单元。 ## 5. 技术实现 使用技术: 1. Python 分组 2. 字段池候选记录 3. 文档范围过滤 ## 6. 异常处理 1. 字段无候选:进入待复核。 2. 来源文档不在范围内:排除候选。 3. 单来源字段:标记 `single_source`。 ## 7. 测试要点 1. 候选按字段分组正确。 2. 范围外候选被排除。 3. 单来源字段识别正确。