# 风神取数口径验收器 候选 id:`aeolus-field-export-doctor` ## 诊断流程样例 ### 输入 - dataset: `human_service_raw_voice` - export: `downloads/aeolus_human_service_2026-04-13_2026-05-12.xlsx` - spec: `references/aeolus_dataset_fields.yml` - expected date range: `2026-04-13` 到 `2026-05-12` ### 执行 ```bash python tools/aeolus_field_export_doctor.py \ --dataset human_service_raw_voice \ --file downloads/aeolus_human_service_2026-04-13_2026-05-12.xlsx \ --date-start 2026-04-13 \ --date-end 2026-05-12 ``` ### 核心检查 | 检查项 | 通过信号 | 失败信号 | | --- | --- | --- | | 字段完整性 | `p_date/main_session_id/原声/进线渠道/人工工单解决率` 均存在 | 任一必需字段缺失或字段名漂移 | | 日期覆盖 | 30 天完整覆盖 | 出现 `2026-05-12` 这类断档日期 | | 粒度 | `main_session_id` 唯一数和行数差异可解释 | 维度组合导致 session 被异常放大 | | 参评口径 | `人工工单解决率` 非 NaN 作为参评识别 | 误把它当原始二值是否解决字段 | | 指标分布 | 允许 0/1/0.5/NaN,并展示计数 | 发现未登记的新取值或全量 NaN | ### 输出示例 ```json { "dataset": "human_service_raw_voice", "required_fields_ok": true, "date_coverage_ok": false, "missing_dates": ["2026-05-12"], "unique_main_session_id": 27276, "metric_distribution": {"0": 1234, "1": 26036, "0.5": 6, "NaN": 812}, "verdict": "fail" } ``` ### 后续动作 失败时不要直接进入离线打标或 session 分析;先回到风神检查日期筛选、维度选择和指标聚合方式,必要时更新 `references/aeolus_dataset_fields.yml` 里的 dataset 口径说明。