2.0 KiB
2.0 KiB
法规流程识别Skill 设计
1. Skill 定位
法规流程识别Skill 负责确认当前完整性检查适用哪一类法规流程,避免把注册申报、变更备案、变更注册和延续注册混用。
英文实现标识建议使用 RegulationWorkflowResolveSkill。
V1 默认只执行 registration,但设计上保留扩展位。
2. 输入
@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. 输出
@dataclass
class RegulationWorkflowResolveOutput:
workflow_type: str
confidence: str
source: str
supported: bool
warnings: list[dict]
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. 技术实现
使用技术:
- 场景 YAML
- 批次模型字段
- 规则包元数据
- Python 枚举
流程枚举:
registrationchange_recordchange_registrationrenewal
7. 异常处理
- 流程为空:使用
registration。 - 流程冲突:标记警告。
- 流程不支持:阻断完整性检查。
- 用户输入非法:返回业务化错误。
8. 测试要点
- 默认返回
registration。 - 用户显式选择优先。
- 场景和批次冲突时输出警告。
- 不支持流程返回
supported = false。