Files
DEMO-AGENT/docs/详细设计/skill/字段抽取报告生成Skill.md

90 lines
1.9 KiB
Markdown

# 字段抽取报告生成Skill 设计
## 1. Skill 定位
`字段抽取报告生成Skill` 负责将字段池写入结果组装成稳定的 `registration_field_extraction_report`,并生成页面展示、审计和飞书摘要所需的数据结构。
英文实现标识建议使用 `FieldExtractionReportBuildSkill`
## 2. 输入
```python
@dataclass
class FieldExtractionReportBuildInput:
context: FieldExtractionContext
field_pool_items: list[FieldPoolItem]
manual_review_fields: list[dict]
tool_calls: list[dict]
```
## 3. 输出
```python
@dataclass
class FieldExtractionReportBuildOutput:
report: dict
display_sections: list[dict]
audit_payload: dict
feishu_summary_payload: dict
```
## 4. 报告结构
报告必须包含:
1. `report_type`
2. `batch_id`
3. `field_schema_id`
4. `field_schema_version`
5. `summary`
6. `field_pool_items`
7. `manual_review_fields`
8. `evidence_refs`
9. `tool_calls`
## 5. 核心方法
### 5.1 `run(input) -> FieldExtractionReportBuildOutput`
主入口方法。
### 5.2 `build_summary(field_pool_items) -> dict`
汇总字段数量、已抽取数量、待复核数量和冲突候选数量。
### 5.3 `build_field_rows(field_pool_items) -> list[dict]`
生成字段池页面表格。
### 5.4 `build_audit_payload(report, context) -> dict`
生成审计载荷。
### 5.5 `build_feishu_summary_payload(report) -> dict`
生成飞书摘要载荷。
## 6. 技术实现
使用技术:
1. dataclass/Pydantic
2. JSONField
3. Audit 服务
4. 页面展示 schema
## 7. 异常处理
1. 字段池为空:输出空报告并提示无可用字段。
2. 报告字段缺失:任务失败。
3. 审计写入失败:报告仍返回,但记录系统警告。
4. 飞书摘要构建失败:不影响 Web 报告。
## 8. 测试要点
1. 输出 schema 稳定。
2. 字段池行展示完整。
3. 审计载荷包含字段 schema 版本。
4. 飞书摘要不包含敏感信息。