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

9.3 KiB
Raw Blame History

name, description
name description
label-fast-slow-routing 依据 XA4.1 2026.6 新标准,对单条或批量 query、带会话上下文的请求和快慢分流评测数据进行“快 / 慢 / 模糊”三档可解释打标,给出默认路由、原因码、证据、置信度和复核标记,并在需要时兼容旧 FAST_DIRECT / SLOW_* 评测标签。用于快慢系统策略标注、旧评测集重标、边界 case 仲裁、标注 Prompt 编写、标签一致性检查和 badcase 分析;可结合相邻 label-master skill 判断业务领域、候选标签、复杂度、多指令和自动任务,但不得把这些辅助维度直接等同于快慢标签。

快慢分流打标

目标

按用户对响应速度和结果质量的预期判断语义标签,不按当前系统能力反推标签。始终分开输出:

  • label模糊
  • default_route:三档标签的默认系统策略。
  • fast_system_pending:已确认的快系统能力缺口。
  • 业务标签及 complex、多指令、自动任务等辅助维度。

加载知识

  1. 每次打标前读取 references/policy.md
  2. 处理边界 case、校准标注员或编写 Prompt 时,再读取 references/golden-examples.md
  3. 迁移旧评测集、输出 FAST_DIRECT / SLOW_*、设计评测集或做质检时,再读取 references/legacy-eval-and-quality.md
  4. 需要业务领域、业务标签、候选标签或结构维度时,按“结合 label-master”一节渐进加载相邻知识;不要一次读取整个知识库。

遵守真源优先级

按以下顺序处理冲突:

  1. 用户在当前任务中明确给出的已批准新口径。
  2. 《【XA4.1】快慢分流新标准-2026.6》最终汇总(物理页 7–10)。
  3. 同文档的垂域调研细则(物理页 2–7),仅补充最终汇总未覆盖的场景。
  4. 《快慢系统分发-评测集构建》的旧八类标签,仅用于原因解释、旧数据迁移和评测方法。
  5. label-master 的业务标签与正交维度,仅用于辅助理解。

明确处理以下冲突:

  • 把“导航去附近评分 4.5 以上的泰国菜”标为 ,不要沿用旧的筛选即慢。
  • 把“那个压线噔噔的声音关掉”标为 ,前提是功能可唯一识别且动作明确。
  • 把纯静态产品知识、故障诊断、设备或环境状态查询标为 模糊,不要直接沿用旧的快或慢。
  • 把多个全部明确的设备控制动作标为 ;不要仅因多指令就标慢。
  • 不要使用“长度不超过 5 字默认快”。它只是旧候选挖掘捷径,不是语义规则。

执行工作流

1. 整理输入

提取并保留:

  • 当前 query
  • 已提供的前轮、系统回复、时间窗口、设备、端侧和场景。
  • 用户要求的输出格式和旧标签兼容要求。
  • 已提供的快系统能力清单;没有清单时不要猜测能力支持状态。

只使用可见上下文。缺少会改变结论的上下文时,保留不确定点并设置 review_required=true

2. 判断业务与结构辅助信息

需要时使用 label-master 判断:

  • 业务领域和 25 个候选业务标签。
  • 是否为多指令、自动任务或 complex
  • 当前轮是否真正依赖上文。

保持这些结果与快慢标签正交。特别注意:

  • complex=true 不自动等于
  • 多指令不自动等于
  • 自动任务要结合端侧专项策略。
  • 业务标签不自动决定快慢。

3. 按三档策略裁决

使用 references/policy.md 的完整决策树。执行以下最小顺序:

  1. 先区分纯信息获取和带副作用的执行请求。
  2. 对执行请求,先检查是否必须反推意图、映射场景、消歧、补槽、依赖上下文或规划多步;命中则倾向
  3. 再检查动作和目标能否直接识别、是否无需先决定“做什么”;满足则标
  4. 对纯闲聊、开放问答、产品知识、故障诊断、设备或环境状态查询标 模糊
  5. 无法可靠归入快或慢、或速度和质量预期同时明显存在时标 模糊,不要把“模型自己不确定”伪装成确定标签。
  6. 聚合多个子请求时使用 慢 > 模糊 > 快;多个全部明确的设备控制动作使用 特例。

同时做反证检查:说明为什么没有选择另外两档。不要只凭关键词命中一个规则。

4. 确定默认路由和能力状态

按固定映射填写:

  • default_route="快系统"
  • default_route="慢系统"
  • 模糊 → 默认 default_route="慢系统";只有用户另给细分部署策略时才在下游覆盖,语义标签保持 模糊

仅在有明确能力清单或验证结果证明“语义上应为快,但当前快系统尚不支持”时填写 fast_system_pending=true。没有检查能力时填 null,不要填 false 假装已验证。

5. 生成可审查结果

默认每条样本输出一个符合 schemas/label-record.schema.json 的 JSON 对象:

{
  "query": "太冷了,调一下空调",
  "label": "快",
  "default_route": "快系统",
  "primary_reason_code": "DIRECT_ACTION",
  "reason_codes": ["DIRECT_ACTION"],
  "reason": "用户明确给出调节动作和空调对象,无需反推要操作什么。",
  "evidence": ["“调一下空调”同时包含动作和可识别对象"],
  "counterevidence": ["含感受词“太冷”,但感受词不覆盖明确执行目标"],
  "domain_label": "设备控制",
  "candidate_domain_labels": ["设备控制", "车载控制"],
  "structural_signals": {
    "complex": null,
    "multi_instruction": false,
    "auto_task": false
  },
  "context_used": false,
  "fast_system_pending": null,
  "legacy_eval_label": "FAST_DIRECT",
  "confidence": "high",
  "review_required": false,
  "uncertainties": [],
  "policy_version": "XA4.1-2026.6"
}

使用 null 表示未评估,不要用猜测值补齐辅助字段。用户只要求简表时至少保留 querylabelprimary_reason_codereasonreview_required;落盘数据仍使用完整契约。

6. 校验后再落盘

对单条结果执行:

python skills/label-fast-slow-routing/scripts/validate_label.py \
  --record '{"query":"开空调","label":"快","default_route":"快系统","primary_reason_code":"DIRECT_ACTION","reason_codes":["DIRECT_ACTION"],"reason":"动作和对象明确。","evidence":["开+空调"],"context_used":false,"fast_system_pending":null,"confidence":"high","review_required":false,"uncertainties":[],"policy_version":"XA4.1-2026.6"}'

对 JSON、JSONL 文件执行:

python skills/label-fast-slow-routing/scripts/validate_label.py \
  --file output/fast_slow_labels.jsonl

出现 valid=false 时先修正结构和不变量,再写入训练集或评测集。校验器只保证结构和跨字段一致性,不能替代语义复核。

结合 label-master

需要业务标签时按以下最短路径读取:

  1. 读取 ../label-master/knowledge/决策流程.md
  2. 读取 ../label-master/knowledge/索引/候选召回索引.md../label-master/knowledge/标签总览.md
  3. ../label-master/knowledge/索引/标签索引.md 召回 25 个候选。
  4. 命中高频混淆时读取对应边界卡,再读取候选标签卡。
  5. 只在任务需要时读取复杂度、多指令或自动任务文件。

复用它的“候选召回 → 边界比较 → 排除理由 → 不确定点”方法,不复用它的 Agent / function target 作为快慢输出。

label-master 与本策略冲突时:

  • 保留其业务标签与结构维度结论。
  • 按本 skill 的真源优先级独立重算快慢标签。
  • counterevidence 中记录冲突,不静默覆盖。

批量与评测集要求

  • 保留原始 ID、query、上下文和来源,不修改原始数据。
  • 逐条执行完整语义判断,不按字数、关键词或既有类别比例直接定标。
  • 对同一 session 使用相同的上下文截取规则;缺上下文样本单独标记。
  • 模糊 保留为语义标签;需要二值评测时另派生默认路由,不要覆盖原标签。
  • 旧八类标签只写入 legacy_eval_label;无法无损映射时填 null 并解释。
  • 对高流量、高分歧、高风险误分样本优先双人盲标并仲裁。
  • 分别统计三档标签、垂域、端侧和方向性错误;不要只看总准确率。

复核门禁

满足任一情况时设置 review_required=true

  • 缺少会改变标签的前轮、设备或端侧信息。
  • 快慢规则同时有强证据,且优先级无法消解。
  • 只能依赖未确认的系统能力或白名单。
  • 旧标签无法无损迁移到新三档。
  • confidence="low"

模糊 不自动等于需要人工复核。产品知识或状态查询可以高置信地标为 模糊

禁止事项

  • 不要因快系统当前不支持而把 改成
  • 不要把 complex=true、长 query、联网、搜索、排序、模糊词或多轮中的任一项当成单独硬触发器。
  • 不要把非标准叫法等同于真实歧义;先判断对象能否唯一识别。
  • 不要脑补前轮、设备位置、说话人位置或能力清单。
  • 不要把旧评测集的样本占比当成先验配额。
  • 不要输出没有证据或排除理由的裸标签。