# 法规完整性检查Skill 设计 ## 1. Skill 定位 `法规完整性检查Skill` 是第二步工作流的总编排 Skill,负责根据资料包目录汇总结果、法规流程类型和本地规则包,组织完整性检查链路并输出结构化完整性报告。 英文实现标识建议使用 `RegulationCompletenessCheckSkill`,用于 Python 类名和 Tool Registry 注册处理器。 本 Skill 不直接解析原始文件,不负责字段抽取,不负责综合风险报告。它消费第一步产生的文档事实。 ## 2. 输入 ```python @dataclass class RegulationCompletenessCheckInput: batch_id: int scenario_id: str = "registration_completeness_check" workflow_type: str = "registration" rule_package_id: str = "nmpa_ivd_registration_v1" chapter_scope: list[str] = field(default_factory=list) selected_document_ids: list[int] = field(default_factory=list) enable_rag_evidence: bool = True ``` ## 3. 输出 ```python @dataclass class RegulationCompletenessCheckOutput: report_type: str batch_id: int rule_package_id: str rule_version: str summary: dict matched_items: list[dict] missing_items: list[dict] misplaced_items: list[dict] manual_review_items: list[dict] evidence_refs: list[dict] audit_id: int | None = None ``` ## 4. 依赖 Skill 1. `法规流程识别Skill` 2. `法规规则包加载Skill` 3. `资料要求匹配Skill` 4. `缺失错放判定Skill` 5. `法规证据检索Skill` 6. `完整性报告生成Skill` ## 5. 核心方法 ### 5.1 `run(input) -> RegulationCompletenessCheckOutput` 主入口方法。 执行顺序: 1. 读取资料包目录汇总。 2. 调用 `法规流程识别Skill`。 3. 调用 `法规规则包加载Skill`。 4. 按章节范围展开法规要求项。 5. 调用 `资料要求匹配Skill`。 6. 调用 `缺失错放判定Skill`。 7. 按需调用 `法规证据检索Skill`。 8. 调用 `完整性报告生成Skill`。 9. 写入审计记录。 10. 返回完整性报告。 ### 5.2 `load_execution_context(input) -> CompletenessExecutionContext` 加载执行上下文。 包含: 1. 批次信息。 2. 目录汇总报告。 3. 选中文档范围。 4. 场景配置。 5. 用户输入参数。 ### 5.3 `select_document_facts(context) -> list[DocumentFact]` 从目录汇总中筛选参与完整性检查的文档。 如果 `selected_document_ids` 为空,则使用当前批次所有业务申报资料。 ### 5.4 `build_requirement_scope(rule_package, chapter_scope) -> list[RequirementItem]` 根据章节点范围展开法规要求项。 V1 默认: 1. 有 `chapter_scope` 时按范围执行。 2. 无 `chapter_scope` 时优先执行 `CH1`。 3. 后续支持全六章。 ## 6. 技术实现 使用技术: 1. Python dataclass 或 Pydantic 2. Tool Registry 3. Django 服务层调用 4. JSONField 报告快照 5. Audit 服务 建议注册名: ```python tool_registry.register( name="regulation_completeness_check", handler=RegulationCompletenessCheckSkill().run, ) ``` ## 7. 异常处理 | 异常 | 处理 | |---|---| | 批次不存在 | 返回业务错误并写失败审计 | | 目录汇总不存在 | 提示先执行资料包导入与目录汇总 | | 规则包不存在 | 返回任务不可执行 | | 流程不支持 | 返回流程配置错误 | | RAG 不可用 | 保留规则判断,证据标记不可用 | | 所选文档为空 | 返回空范围报告 | ## 8. 测试要点 1. 能基于目录汇总生成完整性报告。 2. 能调用依赖 Skill 并合并结果。 3. 规则包缺失时写入失败审计。 4. RAG 失败不阻断主链路。 5. 输出 schema 稳定。