5.2 KiB
5.2 KiB
当前邮件内容完整覆盖
用途
确保当前邮件中每一项有业务意义的内容都有明确去向。不得因为已经匹配一个支持业务事件,就停止读取或静默丢弃同一邮件中的其他当前意图。
本规则是邮件级共享规则,优先于具体事件 reference。它不扩大任务卡能力,也不把当前不支持的内容伪装成 Trace 或 Need Manual Review。
当前内容盘点
盘点范围包括:
body_current中的请求、询问、安排、事实和告知。- 当前附件、inline image、PDF、spreadsheet、OCR、表格和文件链接中的业务内容。
- 当前邮件明确继续处理的上文对象。
不作为独立业务内容:
- greeting、signature、disclaimer 和纯礼貌文字。
- HTML 与 plain-text MIME alternatives 中语义相同的重复内容。
- quoted thread、forwarded old mail 和其他 history-only 内容。
一个连续请求即使跨多句话,仍作为一个意图;互相独立的请求必须拆开,并按当前证据顺序保留。
完整覆盖不变量
每项有业务意义的当前内容必须且只能进入以下一个结果路径:
- 匹配支持事件并安全处理:普通
message_event,包括 linkedTrace。 - 已匹配支持事件但参数、目标或证据不安全:业务级
Need Manual Review。 - 意图清楚但现有事件或任务卡不支持,且同邮件还有至少一个支持事件:最终
unhandled_current_intents。 - 意图清楚但整封邮件没有任何支持事件:Main Agent 输出
S10。 - 输入不足,无法判断是否匹配支持事件:Main Agent 输出
S99。
不得用 relevant_message_excerpt、源邮件仍可查看或 extraction_warnings 代替上述覆盖结果。
Main Agent 内部 unknowns
当同邮件已经匹配至少一个支持事件,以下当前内容进入素材包 unknowns:
- 需要酒店批准的价格、退款、减免、豁免、账期、付款政策或合同条件询问。
- 意图清楚、具有业务意义,但当前支持事件目录或任务卡无法承接的其他内容。
内部结构使用:
{
"category": "unhandled_current_business_content",
"current_or_history": "current",
"reason_code": "requires_business_approval_or_unsupported_task_card",
"text_raw": "<当前证据原文>",
"case_keys": {
"group_code": null,
"confirmation_number": null,
"reservation_number": null,
"block_code": null
},
"attachments": [],
"file_references": []
}
case_keys 只能使用当前证据或允许的历史证据唯一支持的值;不能唯一绑定时保持全 null。目标不清本身不阻止邮件级展示,也不得为了填写 key 而猜测。
业务输出映射
booking-desk-event 必须把上述 unknowns 按原顺序一对一规范化到业务输出顶层 unhandled_current_intents:
{
"category": "unhandled_current_business_content",
"current_or_history": "current",
"reason_code": "requires_business_approval_or_unsupported_task_card",
"text_raw": "<当前证据原文>",
"visible_message": "当前邮件包含未被现有任务类型覆盖的业务意图:<忠实中文概述>。请查看原邮件并决定后续处理。",
"requires_user_decision": true,
"case_keys": {
"group_code": null,
"confirmation_number": null,
"reservation_number": null,
"block_code": null
},
"attachments": [],
"file_references": []
}
规则:
text_raw必须原样保留,不得只留翻译或摘要。visible_message必须忠实说明原意,不得增加批准、拒绝、执行或业务结论。无法安全翻译时使用“当前邮件包含未被现有任务类型覆盖的业务意图,请查看原文并决定后续处理。”requires_user_decision固定为true。- 只保留当前附件和当前 file reference;历史附件不得带入。
source_message_id只使用业务输出根对象中的值,不在 item 内重复。- 该 item 不是
MessageEvent,没有event_type,不得创建 TaskCard 或触发外部写入。
去重与边界
- HTML/plain MIME 重复、相同 OCR 重复和签名引用不得生成重复 item。
- 每个独立未覆盖意图一个 item;不得把不同问题压成模糊摘要。
- 已由主事件或 Trace 完整承接的内容不得再次进入该数组。
- 已确定的补充付款安排可以是
Trace.payment_information;询问酒店是否批准付款安排进入未覆盖意图。 - 内容不可读或语义不足时,不得伪装成清楚的未覆盖意图;按事件上下文使用
extraction_warnings、Need Manual Review或S99。 extraction_warnings只承载解析、OCR、抽取和证据质量问题,不承载清楚但不受支持的业务意图。
示例
- 当前付款凭证 + “余款能否入住时支付”:输出
Payment Evidence,并输出一个未覆盖意图。 - “余款将在入住时支付”且目标唯一:输出
Trace.payment_information,不输出未覆盖意图。 - 当前只有清楚的付款政策询问,没有任何支持事件:Main Agent 输出
S10,不调用业务 skill。 - 历史中有审批询问、当前只有
Thanks:不得从历史生成未覆盖意图。