# 人工复核 ## 入口结果边界 Main Agent 在调用业务 skill 前先完成支持范围分类: - 当前输入可理解,但没有匹配 `00-output-contract.md` 列出的支持业务事件时,输出 `S10`。 - 当前输入不足,无法判断是否匹配支持业务事件时,输出 `S99`。 - `S10` 和 `S99` 都展示源邮件并由用户自行决定是否回复或进行其他处理。 - `S10` 和 `S99` 不由 `booking-desk-event` skill 输出。 Thank you、裸 FYI、acknowledgement、Noted、Received 等没有具体预订业务信息的文字,以及一般咨询和当前不支持的 Booking Confirmation Request,都不匹配 Trace。FYI 或单纯告知中包含与明确预订对象相关的具体补充信息时,匹配 `Trace`。正文只有 `see attached` 且附件无法取得、无法识别业务方向时走 `S99`。 需要酒店批准的价格、退款、减免、账期、付款政策或合同条件询问不是 Trace。此类具有当前业务意义但没有任务卡承接的内容必须保留在 `unknowns`:同邮件存在支持事件时输出到 `unhandled_current_intents`,整封邮件没有支持事件时走 S10。意图清楚但不受支持不等于业务判断不安全,不得仅因此输出 `Need Manual Review`。 ## Need Manual Review Main Agent 已经匹配至少一个支持业务事件,但普通事件处理不安全时,使用 `Need Manual Review`: - current action 在多个支持事件类型之间冲突且无法安全裁决 - target object unclear 或不唯一 - current/history boundary unclear - 已匹配支持事件,但 attachment/file/OCR/table 不可读 - required room type / Rate Code / settlement price mapping 无法唯一支持 - QBD/LianTai row/highlight/current-row evidence 缺失或歧义 - system context 显示 duplicate、pending/open task、active workflow、lock 或 conflict 例如正文明确 `please update as attached`,但附件不可读时,已经匹配 Update 事件,应输出业务级 `Need Manual Review`,不得降级为 `S99`。 `Need Manual Review` 使用 `manual_review.review_record_type=business_event_review`。入口 `S99` 继续使用 `manual_review.review_record_type=main_agent_entry_review`,两者不得混用。 ## 必要结构 业务级 Manual Review 必须包含: - `reason_code` - `visible_reason` - `review_record_type` - `missing_fields` - `blocking_points` - `conflicting_points` - `suggested_human_actions` - `evidence_to_check` - `known_fields` 未知字段用 `null`、空字符串或空数组。不要猜。 ## 常见 Reason Code - `current_history_boundary_unclear` - `target_object_unclear` - `multiple_target_candidates` - `attachment_or_ocr_unreadable` - `event_type_conflict_unclear` - `room_type_mapping_unconfirmed` - `room_type_mapping_multiple_candidates` - `rate_code_unconfirmed` - `rate_code_rule_not_covered` - `settlement_price_required` - `manual_price_unconfirmed` - `composite_unit_price_unconfirmed` - `fix_charge_unconfirmed` - `qbd_liantai_row_evidence_unreadable` - `parent_child_split_evidence_unclear` - `stay_date_inference_unclear` - `existing_order_record_found` - `pending_or_active_workflow_found`