# 法规流程识别Skill 设计 ## 1. Skill 定位 `法规流程识别Skill` 负责确认当前完整性检查适用哪一类法规流程,避免把注册申报、变更备案、变更注册和延续注册混用。 英文实现标识建议使用 `RegulationWorkflowResolveSkill`。 V1 默认只执行 `registration`,但设计上保留扩展位。 ## 2. 输入 ```python @dataclass class RegulationWorkflowResolveInput: batch_workflow_type: str | None scenario_workflow_type: str | None user_workflow_type: str | None rule_package_supported_workflows: list[str] ``` ## 3. 输出 ```python @dataclass class RegulationWorkflowResolveOutput: workflow_type: str confidence: str source: str supported: bool warnings: list[dict] ``` ## 4. 识别优先级 1. 用户显式选择。 2. 场景配置。 3. 资料包批次字段。 4. 系统默认值 `registration`。 如果多个来源冲突,标记为 `manual_review_required`,并优先使用用户显式选择。 ## 5. 核心方法 ### 5.1 `run(input) -> RegulationWorkflowResolveOutput` 主入口方法。 ### 5.2 `resolve_workflow_type(input) -> str` 按优先级解析流程类型。 ### 5.3 `detect_workflow_conflict(input) -> list[dict]` 检测用户选择、场景配置和批次字段是否冲突。 ### 5.4 `validate_supported(workflow_type, supported_workflows) -> bool` 校验规则包是否支持当前流程。 ## 6. 技术实现 使用技术: 1. 场景 YAML 2. 批次模型字段 3. 规则包元数据 4. Python 枚举 流程枚举: 1. `registration` 2. `change_record` 3. `change_registration` 4. `renewal` ## 7. 异常处理 1. 流程为空:使用 `registration`。 2. 流程冲突:标记警告。 3. 流程不支持:阻断完整性检查。 4. 用户输入非法:返回业务化错误。 ## 8. 测试要点 1. 默认返回 `registration`。 2. 用户显式选择优先。 3. 场景和批次冲突时输出警告。 4. 不支持流程返回 `supported = false`。