Files
zk-data-agent/skills/label-fast-slow-routing/SKILL.md
T

151 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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、证据和判断层级的裸标签。