Files
zk-data-agent/skills/label-master/knowledge/判断维度/多指令判断.md
T
2026-05-09 17:49:53 +08:00

3.2 KiB

多指令判断

多指令是独立维度,不属于业务标签树。它用于判断一个 query 是否需要拆成多个可独立执行的子任务,以及每个子任务对应的业务标签或 intent。

输出目标

推荐结构:

[
  {
    "condition": null,
    "querys": [
      {"subquery": "关闭卧室的灯", "intent": "设备控制"},
      {"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟"}
    ]
  }
]

其中 condition 由自动任务维度负责判断;没有条件时为 null

单意图

以下情况通常不要拆分:

  • 简单单意图:只有一个核心动作或询问目标。
  • 子句存在强执行依赖:拆分会导致参数丢失、顺序错误或重复执行。
  • 同品类单操作:同一动作作用于同一功能品类的多个位置或实例。
  • 多查询:多个查询类目标可以作为一个查询意图处理。
  • 内容播放 + 播放控制:播放具体内容并设置上一首、下一首、循环等,通常视为单个播放意图。
  • 顺序执行操作:多个连续步骤共同完成单一任务,例如打开应用、搜索内容、点击结果。
  • 改口重复:口误、重复词或重说只保留一次核心意图。
  • 相反操作:同一设备或功能连续相反动作,通常视为单意图或口语修正。

需要切分

以下情况通常需要拆成多个子任务:

  • 并列连词:和、并、然后、再、顺便、同时、并且。
  • 明显语义独立的动作或查询目标。
  • 同属一个意图类别但语义完整且可独立执行的子句。
  • 同一设备或部件存在多个不同方向调整,例如“后视镜往里往前调”。

切分原则

  • 每个子句必须能独立构成一个完整意图。
  • 不可过度细分,导致子句无法理解。
  • 拆分后需要继承必要动作、位置或设备信息。

改写规则

动作继承

“打开空调和电视”应改写为:

[
  {
    "condition": null,
    "querys": [
      {"subquery": "打开空调", "intent": "设备控制"},
      {"subquery": "打开电视", "intent": "设备控制"}
    ]
  }
]

无 trigger 的位置继承

“打开客厅电视和吸顶灯”应改写为:

[
  {
    "condition": null,
    "querys": [
      {"subquery": "打开客厅电视", "intent": "设备控制"},
      {"subquery": "打开客厅吸顶灯", "intent": "设备控制"}
    ]
  }
]

设备继承

“客厅吸顶灯调到最亮色温调到最大”应改写为:

[
  {
    "condition": null,
    "querys": [
      {"subquery": "客厅吸顶灯调到最亮", "intent": "设备控制"},
      {"subquery": "客厅吸顶灯色温调到最大", "intent": "设备控制"}
    ]
  }
]

典型单意图例子

  • 打开空调调到二十六度。
  • 扫地机设置为又扫又拖清理一下客厅。
  • 打开网易云音乐播放青花瓷。
  • 关闭主驾和后排车窗。
  • 明天武汉和北京的天气。
  • 播放张杰的天下并调成单曲循环模式。

典型多指令例子

  • 关闭所有的座椅加热然后声音放到十三。
  • 将能量回收调到柔和并打开氛围灯。
  • 关闭卧室的灯定一个明天下午四点的闹钟。
  • 关闭 QQ 音乐打开网易云音乐。
  • HUD 角度往左往上偏一点。