---
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 object>'
```

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、证据和判断层级的裸标签。
