--- name: label-fast-slow-routing description: 依据 2026.7 产品标准,对单条或批量 query 进行“快 / 慢 / 模糊”三档可解释打标。先用精简标签知识召回垂域,再优先应用垂域规则;未覆盖时依次使用多指令、自动任务等结构规则和产品核心原则,并输出决策层级、规则 ID、证据、冲突和能力承接状态。用于快慢分流标注、评测、边界仲裁和 badcase 分析。 --- # 快慢分流打标 ## 目标 按用户对响应速度和结果质量的预期判断 `快`、`慢`、`模糊`。业务垂域、结构信号和当前系统能力只参与解释与路由,不代替语义标签。 ## 渐进加载 每条 case 按下面顺序读取,命中后及时停止,不要加载整个 `references/`: 1. 第一动作读取 [references/index.md](references/index.md),完成垂域召回和结构信号预判;垂域不明显或命中召回边界时,再读取 [references/preclassification.md](references/preclassification.md)。 2. 读取一个主垂域卡;只有主垂域确实无法确定时,才读取第二个候选垂域卡。 3. 出现多轮依赖、多指令或自动任务信号时,再读取对应结构卡。多轮先重建当前任务,自动任务还要读取自动化垂域卡。 4. 垂域和结构卡都没有明确覆盖时,才读取 [references/core-policy.md](references/core-policy.md)。 5. 命中标记为冲突的规则,或做规则维护时,再读取 [references/policy-conflicts.md](references/policy-conflicts.md)。 6. 处理边界样本或校准时,按需读取 [references/golden-examples.md](references/golden-examples.md)。 普通 case 通常只需读取索引和一个垂域卡。不要运行时读取相邻 `label-master`;本 Skill 已包含所需的精简知识快照。 ## 决策优先级 按以下优先级裁决: 1. 用户当前任务明确给出的已批准口径。 2. 2026.7 产品文档中的明确垂域规则。 3. 2026.7 跨垂域结构规则。 4. 2026.7 产品核心原则。 5. 快系统能力状态,只记录承接情况,不修改语义标签。 垂域规则和核心原则冲突时,以垂域规则为最终结论,并记录 `policy_conflict=true` 和冲突证据。 ## 工作流 1. 提取当前 query、前轮、设备、端侧、时间窗口和已提供的能力清单。 2. 使用索引输出一个主垂域、最多两个候选垂域,以及多指令、自动任务、上下文依赖信号。 3. 存在上下文依赖时读取 `references/structure-multi-turn.md`,识别上下文关系并重建当前完整任务;不得按上一轮实际路由直接继承标签。 4. 读取主垂域卡并查找明确规则。命中时设置 `decision_level="domain"`。 5. 未命中垂域规则时检查结构卡。命中时设置 `decision_level="structure"`。 6. 仍未命中时使用核心原则,设置 `decision_level="core"`。 7. 做反证检查,说明为什么没有选择其他档位。 8. 只在有明确能力清单或验证结果时填写 `fast_system_pending`;未检查时填 `null`。 9. 需要完整落盘时,按 schema 输出并运行校验脚本。 ## 输出 默认返回简短结论: ```text 标签:慢 判断层级:导航/生服垂域 命中规则:NAV_SLOW_CONDITIONED_POI 依据:单地点规划带明确筛选条件,命中导航垂域慢规则。 ``` 如果外层评测协议只接受 `prediction`、`reason` 等通用字段,把层级和规则 ID 写在 `reason` 开头,例如: ```text [domain:NAV_SLOW_CONDITIONED_POI] 单地点规划带明确筛选条件,按导航垂域给慢。 ``` 需要落盘、批量评测或用户要求完整记录时,输出符合 [schemas/label-record.schema.json](schemas/label-record.schema.json) 的对象: ```json { "query": "导航去附近评分4.5以上的泰国菜", "label": "慢", "default_route": "慢系统", "domain": "导航/生服", "candidate_domains": ["导航/生服"], "decision_level": "domain", "decision_rule_id": "NAV_SLOW_CONDITIONED_POI", "decision_source": "references/domain-navigation-life.md", "decision_path": [ "preclassification:导航/生服", "domain:NAV_SLOW_CONDITIONED_POI" ], "reason": "单地点规划带明确筛选条件,命中导航垂域慢规则。", "evidence": ["“评分4.5以上”是明确筛选条件"], "counterevidence": ["核心快规则把目标明确的简单条件操作视为快"], "structural_signals": { "complex": null, "multi_instruction": false, "auto_task": false, "context_dependent": false }, "context_used": false, "context_relation": "independent", "fast_system_pending": null, "route_override": null, "policy_conflict": true, "conflict_refs": ["CONFLICT_NAV_CONDITIONED_POI"], "confidence": "high", "review_required": false, "uncertainties": [], "policy_version": "FAST-SLOW-2026.7" } ``` 新生成的多轮记录应填写 `context_relation`,取值和判断方法见 `references/structure-multi-turn.md`。单轮或与历史无关时填写 `"independent"`;为兼容旧产物,该字段在 schema 中保持可选。只有实际使用了 历史内容时,`context_used` 和 `structural_signals.context_dependent` 才能为 `true`。 使用 `null` 表示未评估,不要猜测端侧、上下文、能力状态或复杂度。 ## 校验 单条记录: ```bash python scripts/validate_label.py --record '' ``` JSON 或 JSONL: ```bash python scripts/validate_label.py --file output/fast_slow_labels.jsonl ``` 校验器会检查字段不变量、决策层级、知识来源文件和规则 ID。结构通过不代表语义正确。 ## 复核门禁 满足任一情况时设置 `review_required=true`: - 缺少会改变垂域或标签的前轮、端侧或设备信息。 - 当前轮明显依赖前文,但无法唯一重建原任务。 - 两个同优先级规则给出不同结论。 - 自动任务端侧未知,且不同端侧策略不同。 - 只能依赖未确认的能力清单。 - `confidence="low"`。 已由优先级解决的产品文档冲突只需记录,不自动要求人工复核。 ## 禁止事项 - 不按字数、句长、关键词数量或既有标签比例直接定标。 - 不因快系统当前不支持而把 `快`改成`慢`。 - 不把 `complex=true` 直接等同于`慢`。 - 不把所有多指令或自动任务无条件判慢,必须检查专项例外。 - 不把多轮、指代、确认、取消或上一轮实际路由直接等同于快慢标签。 - 不使用 2026.6、`FAST_DIRECT` 或 `SLOW_*` 旧策略。 - 不输出没有规则 ID、证据和判断层级的裸标签。