1.7 KiB
1.7 KiB
审核范围确认Skill 设计
1. Skill 定位
审核范围确认Skill 负责确认本次一致性核查的文档范围,避免把不同项目、不同产品或法规依据资料混入同一轮比对。
英文实现标识建议使用 ReviewScopeResolveSkill。
2. 输入
@dataclass
class ReviewScopeResolveInput:
batch_id: int
documents: list[DocumentFact]
selected_document_ids: list[int] = field(default_factory=list)
3. 输出
@dataclass
class ReviewScopeResolveOutput:
scope_documents: list[DocumentFact]
excluded_documents: list[dict]
scope_warnings: list[dict]
scope_status: str
4. 范围规则
- 必须同一批次。
- 必须是业务申报资料。
- 法规资料排除。
- 处理失败资料排除。
- 待人工复核资料保留但标记警告。
- 用户选中范围优先。
5. 核心方法
5.1 run(input) -> ReviewScopeResolveOutput
主入口方法。
5.2 filter_by_selected_documents(documents, ids) -> list[DocumentFact]
根据用户选择过滤文档。
5.3 exclude_non_submission_documents(documents) -> list[dict]
排除法规资料和非业务资料。
5.4 build_scope_warnings(documents) -> list[dict]
生成范围警告。
6. 技术实现
使用技术:
- 文档主数据
- Django ORM
- 资料来源角色枚举
7. 异常处理
- 范围为空:任务不可执行。
- 只有单个文档:允许执行,但只能输出单来源结果。
- 全部文档待复核:输出低可信警告。
8. 测试要点
- 选中文档范围生效。
- 法规资料被排除。
- 待复核文档输出警告。
- 空范围返回错误。