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

1.9 KiB

字段抽取报告生成Skill 设计

1. Skill 定位

字段抽取报告生成Skill 负责将字段池写入结果组装成稳定的 registration_field_extraction_report,并生成页面展示、审计和飞书摘要所需的数据结构。

英文实现标识建议使用 FieldExtractionReportBuildSkill

2. 输入

@dataclass
class FieldExtractionReportBuildInput:
    context: FieldExtractionContext
    field_pool_items: list[FieldPoolItem]
    manual_review_fields: list[dict]
    tool_calls: list[dict]

3. 输出

@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. 飞书摘要不包含敏感信息。