From 54bc581cf2a1a654d81fe260b063e98ae7f50cc9 Mon Sep 17 00:00:00 2001 From: wangsenhao Date: Mon, 8 Jun 2026 14:43:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9label-master?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../knowledge/判断维度/复杂度/复杂度判断.md | 3 +- .../knowledge/判断维度/复杂度/简单数学.md | 148 +++++++++++++++ .../knowledge/标签/工具类/简单数学问题.md | 2 + .../knowledge/标签/工具类/闹钟.md | 23 ++- .../标签/系统控制和IOT设备控制/小憩模式.md | 102 +++++++++++ .../knowledge/索引/label_manifest.json | 65 +++++-- .../label-master/knowledge/索引/标签索引.md | 3 +- .../knowledge/输出能力/函数目录.md | 9 + .../knowledge/输出能力/对象目录.md | 168 ++++++++++++++++++ .../knowledge/输出能力/意图目录.md | 15 +- .../knowledge/边界/领域概览/工具类边界.md | 6 +- 11 files changed, 519 insertions(+), 25 deletions(-) create mode 100644 skills/label-master/knowledge/判断维度/复杂度/简单数学.md create mode 100644 skills/label-master/knowledge/标签/系统控制和IOT设备控制/小憩模式.md diff --git a/skills/label-master/knowledge/判断维度/复杂度/复杂度判断.md b/skills/label-master/knowledge/判断维度/复杂度/复杂度判断.md index f860d15..b5c4bbe 100644 --- a/skills/label-master/knowledge/判断维度/复杂度/复杂度判断.md +++ b/skills/label-master/knowledge/判断维度/复杂度/复杂度判断.md @@ -12,7 +12,7 @@ complex 维度是独立维度,不属于业务标签本身。业务标签负责 ## 当前临时定义 - `complex=false`:原子化、短链路、可直接执行或直接回答的请求。 -- `complex=true`:需要规划、分析、推理、组合多个步骤、跨信息源综合,或需要长上下文处理的请求。 +- `complex=true`:需要规划、分析、推理、组合多个步骤、跨信息源综合,或需要长上下文处理的请求;**或者用户在表达需求时叠加了自身感受/状态/场景/约束等"表达复杂度"信号——只要存在这类信号,整条 query 即视为 `complex=true`,不因为同一句中又给出了具体动作而降级**。 ## 判断原则 @@ -47,6 +47,7 @@ complex 维度是独立维度,不属于业务标签本身。业务标签负责 | 通用条件 | 所有 query 的基础复杂度判断 | 本文件 | | 地图导航专项条件 | query 涉及导航、路线规划、POI 搜索、终点附近、沿途、顺路、路线偏好、单 POI 筛选或多轮路线约束 | [地图导航复杂度判断](地图导航.md) | | 垂域专项条件 | query 涉及车控、IoT 设备控制、生活服务、系统控制、应用控制、图片问答、媒体资源播放,并出现感受/场景/约束/跨应用/视觉推理/模糊资源推断等复杂样式 | [垂域专项复杂度判断](垂域专项.md) | +| 简单数学问题专项条件 | 业务标签判断为 `简单数学问题`,需要按公式计算、单位转换、汇率换算、称谓计算、数列计算等非复杂任务清单分流 | [简单数学问题复杂度判断](简单数学.md) | 使用方式: diff --git a/skills/label-master/knowledge/判断维度/复杂度/简单数学.md b/skills/label-master/knowledge/判断维度/复杂度/简单数学.md new file mode 100644 index 0000000..2aa1902 --- /dev/null +++ b/skills/label-master/knowledge/判断维度/复杂度/简单数学.md @@ -0,0 +1,148 @@ +# 简单数学问题复杂度判断 + +本文件是 [复杂度判断](复杂度判断.md) 的专项条件表,父维度是 `complex` / 复杂度判断。 + +它专门用于在业务标签为 `简单数学问题` 时,进一步分流 `complex=false` 与 `complex=true`。命中本文件的非复杂任务清单时,给 `complex=false`;其余符合简单数学问题但未命中清单的 query,给 `complex=true`。 + +## 使用原则 + +- 本文件只在业务标签判断为 `简单数学问题` 时启用,不替代标签判断。 +- 复杂度分流以"任务形态"为准,不以题面长短或数字大小为准。 +- 命中下方非复杂任务清单的,给 `complex=false`;未命中但仍属于简单数学问题的,统一给 `complex=true`。 +- 如果 query 同时涉及多指令或自动任务,仍需分别读取对应维度文件,不要混成一个结论。 + +## 非复杂任务清单(complex=false) + +只有命中以下任一类型,才给 `complex=false`: + +### 公式计算 + +四则运算、根号、幂运算、小数、分数、百分比之间的直接计算。 + +示例: + +- 三加五乘以二等于多少 +- 根号一百四十四是多少 +- 二的十次方是多少 +- 零点三七五加零点二五等于几 +- 三分之二加四分之一是多少 +- 八十的百分之十五是多少 + +判断要点: + +- 计算对象是数字与基础运算符的组合,无需引入外部知识。 +- 不需要拆步骤推理,公式直接落到一次计算。 + +### 单位转换 + +长度、面积、体积、重量、速度、时间、温度等度量单位之间的换算。 + +示例: + +- 五公里等于多少米 +- 三斤是多少千克 +- 一百华氏度是多少摄氏度 +- 两小时三十分钟一共多少秒 + +判断要点: + +- 输入与输出都是同一物理量在不同单位下的表达。 +- 转换关系是固定常数,不涉及实时数据。 + +### 汇率换算 + +货币之间的金额换算。 + +示例: + +- 一千美元等于多少人民币 +- 五百欧元换成日元是多少 +- 港币一万兑换成人民币 + +判断要点: + +- 任务是一次金额从源币种到目标币种的换算。 +- 即使汇率本身需要查询,任务形态仍然是单步换算,给 `complex=false`。 + +### 称谓计算 + +亲属关系、辈分、称呼之间的推算。 + +示例: + +- 我爸爸的姐姐的儿子叫我什么 +- 我妈妈的弟弟的女儿是我的什么人 +- 表哥的爸爸应该怎么称呼 + +判断要点: + +- 任务是从一条亲属链推出对应称谓。 +- 输出是一个称谓词,不需要规划或多方案比较。 + +### 数列计算 + +等差、等比、简单递推数列的下一项、项数、求和等基础题。 + +示例: + +- 二四六八下一个数是多少 +- 一三五七九的第十项是多少 +- 一加二加三一直加到一百等于多少 +- 等比数列首项二公比三第五项是多少 + +判断要点: + +- 数列规则可以一步识别,套公式或一次累加即可得到答案。 +- 不涉及证明、构造、分类讨论或多步推理。 + +## 复杂任务(complex=true) + +不在上述清单中、但仍属于简单数学问题的 query,统一给 `complex=true`。 + +典型范围: + +- 应用题:需要从自然语言情境中抽取数量关系,再列式计算(例如 BMI、利息、折扣、行程、工程、浓度、年龄等问题)。 +- 多步推理:需要先求中间量,再用中间量算最终答案。 +- 条件分类讨论:需要根据条件取不同公式或方案。 +- 几何/三角计算需要图形分析或多公式组合。 +- 概率、统计、组合数等需要建模才能列式的问题。 + +判断要点: + +- 即使最终落到一次算式,只要算式不是用户直接给出,而是需要从语义中推出来,就给 `complex=true`。 +- 题面里出现"如果""假设""至少""至多""每""共""相遇""往返""打几折""年化"等需要建模的关键词时,倾向于 `complex=true`。 + +## 列竖式的处理 + +"列竖式"只是输出形态要求,不改变任务本身的复杂度。判断时剥离"列竖式"这一表层要求,再看底层任务命中哪一类: + +- 列竖式 + 非复杂任务清单中的题目 → `complex=false`。 +- 列竖式 + 不在清单中的题目(应用题、多步推理、分类讨论等)→ `complex=true`。 + +示例: + +| query | complex | 原因 | +| --- | --- | --- | +| 列竖式计算二十三加四十五 | false | 底层是四则运算,命中公式计算 | +| 列竖式算一下三斤等于多少千克 | false | 底层是单位转换 | +| 列竖式算这道应用题:小明有 5 个苹果,给了小红 2 个… | true | 底层是应用题,需要建模 | +| 列竖式求两位数乘三位数余多少 | true | 底层涉及多步推理或分类讨论 | + +判断要点: + +- 不要因为 query 出现"列竖式""写过程""分步"等表达就升级或降级复杂度。 +- 先回答"如果不要求列竖式,这道题是哪一类",再据此决定 complex。 + +## 判断流程 + +1. 先判断业务标签是否为 `简单数学问题`;不是则不读本文件。 +2. 如 query 含"列竖式"等输出形态要求,先剥离再判断底层任务类型。 +3. 检查 query 是否命中"非复杂任务清单"的任一类型;命中给 `complex=false`。 +4. 没有命中时,给 `complex=true`。 +5. 如果 query 同时是多指令或自动任务,按对应维度文件单独判断,不在本文件处理。 + +## 待维护问题 + +- 进位、退位、竖式、心算等更基础的小学题型是否单列。 +- 含变量的简单代数式(例如 `x+3=10`)的归属,目前默认归 `complex=true`。 +- 与"知识问答"边界:纯定义类问题("什么是质数")通常归到 QA,不走本维度。 diff --git a/skills/label-master/knowledge/标签/工具类/简单数学问题.md b/skills/label-master/knowledge/标签/工具类/简单数学问题.md index 2df70b5..7eda3c0 100644 --- a/skills/label-master/knowledge/标签/工具类/简单数学问题.md +++ b/skills/label-master/knowledge/标签/工具类/简单数学问题.md @@ -41,6 +41,8 @@ BMI计算 原则:给mathQA,短线给arith即可 +复杂度分流见 [简单数学问题复杂度判断](../../判断维度/复杂度/简单数学.md):公式计算、单位转换、汇率换算、称谓计算、数列计算属于非复杂任务(`complex=false`),其余归 `complex=true`。 + ## 未解决问题 待补充。 diff --git a/skills/label-master/knowledge/标签/工具类/闹钟.md b/skills/label-master/knowledge/标签/工具类/闹钟.md index 046f03b..59edf61 100644 --- a/skills/label-master/knowledge/标签/工具类/闹钟.md +++ b/skills/label-master/knowledge/标签/工具类/闹钟.md @@ -4,11 +4,13 @@ > 注意:旧标签资料中同时存在 tag 标签和 Function 定义。本卡片不直接声明最终训练标签;生成数据前必须结合 `判断维度/标注输出形态.md` 确认当前任务使用 Agent 形式还是 Function 形式。 -- 旧 tag 标签:闹钟闹钟/小憩定时闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中 +- 旧 tag 标签:闹钟闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中 - Agent 包装候选(不代表最终):Agent(tag="闹钟") -- Function 输出候选:x0 = Alarm()Search(alarm=[x0])x0 = Alarm(type="RESTMODE")Search(alarm=[x0]) +- Function 输出候选:x0 = Alarm()Search(alarm=[x0]) - 推荐输出形态:待确认。 +> 小憩相关(小憩定时、小憩查询、`Alarm(type="RESTMODE")`)已迁出到 [`标签/系统控制和IOT设备控制/小憩模式.md`](../系统控制和IOT设备控制/小憩模式.md),本卡不再维护。 + ## 功能抽象 闹钟 @@ -19,7 +21,7 @@ ## 典型 Query -查询我的闹钟查询此次小憩时间我休息多长时间 +查询我的闹钟 ## 三级语义功能点 @@ -27,11 +29,17 @@ ## Function / Agent 说明 -x0 = Alarm()Search(alarm=[x0])x0 = Alarm(type="RESTMODE")Search(alarm=[x0]) +x0 = Alarm()Search(alarm=[x0]) + +> 小憩查询的 Function 形式 `Alarm(type="RESTMODE")` 已迁出到 [`小憩模式.md`](../系统控制和IOT设备控制/小憩模式.md)。 ## 满足边界问题 -边界1:clock,reminder,自动任务3个功能是互相覆盖,有一定边界问题边界2:小憩模式打开小憩模式30分钟(控制?自动任务?)小憩模式30分钟边界3:叫醒,闹钟和提醒创建早晨6点的提醒用白噪声喊我八点遛狗边界4:自动任务30分钟后叫我30分钟后提醒我充满电的时候叫醒我 +边界1:clock,reminder,自动任务3个功能是互相覆盖,有一定边界问题 +边界2:叫醒,闹钟和提醒创建早晨6点的提醒用白噪声喊我八点遛狗 +边界3:自动任务30分钟后叫我30分钟后提醒我充满电的时候叫醒我 + +> 小憩模式相关边界("打开小憩模式 30 分钟"等)已迁出到 [`小憩模式.md`](../系统控制和IOT设备控制/小憩模式.md) 边界 1 节。 ## 易混淆标签 @@ -39,7 +47,10 @@ x0 = Alarm()Search(alarm=[x0])x0 = Alarm(type="RESTMODE")Search(alarm=[x0]) ## 划分原则 -原则1:睡觉叫醒我属于闹钟叫醒我的过程是把我从睡觉的状态叫醒,需要用到闹钟,所以给到闹钟垂域叫我、叫醒我、喊我都是闹钟,需要连续响铃提醒我,是提醒-备忘录原则2:提醒和闹钟的边界在于query中是否明确包含闹钟,如果明确包含闹钟,给到闹钟,否则给到提醒优先级:闹钟>提醒原则3:小憩模式/休息等类似表述+时间(待讨论,控制类问题)一部分是控制(打开关闭),一部分是tools,区分有困难打开小憩模式打开小憩模式30分钟小憩模式是一种独立功能,是一种让用户睡觉休息的模式这种要给闹钟,因为这种query的主要目的是要在固定时间后休息结束,闹钟响起。但是反过来,时间+小憩模式/休息,这种是固定时间后打开小憩模式的目的,所以要给到系统定时控制 +原则1:睡觉叫醒我属于闹钟叫醒我的过程是把我从睡觉的状态叫醒,需要用到闹钟,所以给到闹钟垂域叫我、叫醒我、喊我都是闹钟,需要连续响铃提醒我,是提醒-备忘录 +原则2:提醒和闹钟的边界在于query中是否明确包含闹钟,如果明确包含闹钟,给到闹钟,否则给到提醒优先级:闹钟>提醒 + +> 原则 3「小憩模式/休息等类似表述+时间」相关划分("打开小憩模式" / "打开小憩模式 30 分钟" / "30 分钟后打开小憩模式"等)已迁出到 [`小憩模式.md`](../系统控制和IOT设备控制/小憩模式.md) 边界 1 节统一维护。 ## 未解决问题 diff --git a/skills/label-master/knowledge/标签/系统控制和IOT设备控制/小憩模式.md b/skills/label-master/knowledge/标签/系统控制和IOT设备控制/小憩模式.md new file mode 100644 index 0000000..8fbb5f6 --- /dev/null +++ b/skills/label-master/knowledge/标签/系统控制和IOT设备控制/小憩模式.md @@ -0,0 +1,102 @@ +# 小憩模式 + +## 标注输出 + +> 注意:旧标签资料中同时存在 tag 标签和 Function 定义。本卡片不直接声明最终训练标签;生成数据前必须结合 `判断维度/标注输出形态.md` 确认当前任务使用 Agent 形式还是 Function 形式。 + +- tag 标签:小憩模式(包含小憩定时、小憩查询) +- Agent 包装候选:Agent(tag="小憩模式") +- Function 输出候选: + - 小憩查询类:`x0 = Alarm(type="RESTMODE")` `Search(alarm=[x0])` +- 推荐输出形态:待确认。 + +## 功能抽象 + +小憩模式:在车内(或具备小憩能力的端上)触发短时静止休息所需的协同状态——通常包括但不限于关闭主屏 / 调暗灯光 / 调整座椅 / 静音 / 锁定 / 倒计时唤醒 等若干动作的组合,由系统按"休息场景"统一编排,无需用户逐项指定。 + +## 适用范围 + +下列三类 query 都归本标签: + +1. **小憩模式控制**:直接命名小憩模式的开关、状态切换。 + - 示例:打开小憩模式 / 关闭小憩模式 / 进入小憩模式 / 退出小憩模式 +2. **休息意图表达**:query 中蕴含"用户要短时休息/睡觉/眯一会儿"的意图,无论是否显式带"小憩模式"四个字、是否带时长。 + - 示例:我要休息 / 我要休息 30 分钟 / 我要睡觉 / 我要睡一会儿 / 想小憩一下 / 让我眯一会 +3. **小憩状态查询**:查询当前小憩定时/剩余时间。 + - 示例:查询此次小憩时间 / 我休息多长时间 / 还有多久结束小憩 + +判定要点: + +- **"要休息"是核心信号**——只要 query 表达了用户当下要进入短时静止休息状态,归本标签。 +- 是否含具体时长(30 分钟 / 一会儿 / 十几分钟)不影响 tag 归属,只影响是否同时叠加自动任务/定时维度(见下方边界)。 +- 是否在车内场景作为标签判定的优先线索;其他端是否支持本标签由实现端决定,本卡片不限定。 + +## 典型 Query + +- 打开小憩模式 +- 关闭小憩模式 +- 进入小憩模式 30 分钟 +- 我要休息 +- 我要休息 30 分钟 +- 我要睡觉 +- 我要睡一会儿 +- 想小憩一下 +- 查询此次小憩时间 +- 我休息多长时间 + +## 三级语义功能点 + +待补充。 + +## Function / Agent 说明 + +- 小憩查询类(来自原闹钟卡片迁移):`x0 = Alarm(type="RESTMODE")` `Search(alarm=[x0])` +- 控制类(开/关):待与业务方共识。 + +## 满足边界问题 + +### 边界1:小憩模式 vs 闹钟(clock)/ 系统定时控制 / 自动任务 + +clock、reminder、自动任务三个功能本身互相有覆盖,与小憩模式叠加后边界更复杂。处理原则: + +- **不带时长的小憩控制 / 休息意图表达**("打开小憩模式"、"我要休息"、"我要睡觉")→ 归本标签 **小憩模式**。 +- **小憩模式 + 时长**("打开小憩模式 30 分钟"、"小憩模式 30 分钟")→ 主要目的是"在固定时间后休息结束、闹钟响起",归 **闹钟**。原因:小憩模式是一种独立功能,是让用户睡觉休息的模式;这种 query 的主要目的是要在固定时间后休息结束、闹钟响起。 +- **时长 + 小憩模式/休息**("30 分钟后打开小憩模式"、"30 分钟后我要休息")→ 主要目的是"固定时间后开启小憩",归 **系统定时控制**。 +- **小憩状态查询**("查询此次小憩时间"、"我休息多长时间")→ 归本标签 **小憩模式**(Function 形式 `Alarm(type="RESTMODE")` 仅是底层实现,不影响 tag 归属)。 + +> 该原则原属 `标签/工具类/闹钟.md` 划分原则 3 与边界 2,已迁移到本卡片统一维护。 + +### 边界2:小憩模式 vs 闲聊 + +query 必须表达短时休息的现实意图,不是抽象抒发。"累死了"/"困了"无后续动作意图、且无车内/休息场景锚点 —— 通常归 闲聊/QA,不归小憩模式(同 `判断维度/复杂度/垂域专项.md` "我好热啊"反例处理)。 + +### 边界3:小憩模式 vs 系统控制 + +意图目录里小憩模式属系统控制 controlAgent 子项;当 query 是显式的小憩模式开关或显式的休息意图触发时,**优先**给到本独立 tag「小憩模式」;当 query 只是泛化的"系统层控制"且未触发休息意图时,回到「系统控制」。 + +### 边界4:小憩模式 vs 车载控制 + +车载控制覆盖具体单设备/单空间的车内动作(空调、座椅、灯);小憩模式是协同的休息场景。如果 query 同时含具体车控动作和小憩意图("打开小憩模式并把空调调到 24 度"),按 `判断维度/多指令判断.md` 拆分,不要混到一个标签里。 + +## 易混淆标签 + +闹钟、系统控制、车载控制、闲聊、系统定时控制、自动任务 + +## 划分原则 + +- **核心信号是"要休息"**:query 中的休息/睡觉/眯/小憩等意图表达 + 显式小憩模式控制 = 本标签。 +- 不依赖关键词共现去归类——"困了/累了"等单纯感受词不构成本标签的判定依据,必须有明确的"要休息"意图。 +- 表达复杂度信号(自身感受/场景/约束 等)会同时影响 `complex` 维度判断(见 `判断维度/复杂度/复杂度判断.md`),但不改变本标签归属。 + +## 复杂度提示 + +`complex` 与本 tag 独立判断: + +- **直接命名小憩模式或休息意图**("打开小憩模式" / "我要休息" / "我要睡觉")—— 通常 `complex=false`。 +- **叠加表达复杂度信号**(自身感受 / 场景描述 / 间接表达 / 模糊指代 / 约束)—— `complex=true`,例如"想眨一会儿,就停这里歇一歇"、"中午太困了,眨个十几分钟"。 +- 详见 `判断维度/复杂度/复杂度判断.md` 与 `判断维度/复杂度/垂域专项.md`。 + +## 未解决问题 + +- 推荐输出形态待确认(Agent 形式 vs Function 形式)。 +- 控制类小憩 query 的 Function 形式待与业务方共识("打开/关闭小憩模式" code 形态)。 diff --git a/skills/label-master/knowledge/索引/label_manifest.json b/skills/label-master/knowledge/索引/label_manifest.json index 172cfcb..130128d 100644 --- a/skills/label-master/knowledge/索引/label_manifest.json +++ b/skills/label-master/knowledge/索引/label_manifest.json @@ -51,6 +51,7 @@ "家庭传声", "家用设备状态查询(IoT)", "小学数学应用题", + "小憩模式", "小爱帮助", "小米产品帮助", "工资税收计算", @@ -127,7 +128,7 @@ "问答", "闲聊", "闹钟", - "闹钟闹钟/小憩定时闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中", + "闹钟闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中", "限号查询", "音乐播放", "音乐问答", @@ -212,11 +213,11 @@ } ], "counts": { - "agent_tags": 133, - "functions": 12, - "intents": 82, - "labels": 124, - "objects": 13 + "agent_tags": 134, + "functions": 13, + "intents": 83, + "labels": 125, + "objects": 14 }, "description": "标签大师的中控标签知识库机器索引;由 scripts/build_label_manifest.py 从 Markdown 生成。", "dimensions": [ @@ -234,6 +235,10 @@ "name": "复杂度判断", "path": "knowledge/判断维度/复杂度/复杂度判断.md" }, + { + "name": "简单数学问题复杂度判断", + "path": "knowledge/判断维度/复杂度/简单数学.md" + }, { "name": "多指令判断", "path": "knowledge/判断维度/多指令判断.md" @@ -249,6 +254,13 @@ ], "display_name": "标签大师", "functions": [ + { + "allow_unknown_params": false, + "name": "通用规则:device 参数", + "params": {}, + "path": "knowledge/输出能力/函数目录.md", + "summary": "" + }, { "allow_unknown_params": false, "name": "CalendarQA", @@ -852,7 +864,14 @@ "instruction_type": "指令操作", "name": "系统控制", "path": "knowledge/输出能力/意图目录.md", - "scope": "系统层控制、车载控制、重复朗读、小憩模式等" + "scope": "系统层控制、车载控制、重复朗读等(小憩模式相关已独立为 `小憩模式` intent)" + }, + { + "agent": "controlAgent", + "instruction_type": "指令操作", + "name": "小憩模式", + "path": "knowledge/输出能力/意图目录.md", + "scope": "小憩模式开关、休息意图触发(\"我要休息\"/\"我要睡觉\"等)、小憩状态查询" }, { "agent": "controlAgent", @@ -964,7 +983,7 @@ "instruction_type": "指令操作", "name": "闹钟计时器", "path": "knowledge/输出能力/意图目录.md", - "scope": "闹钟、倒计时、秒表、小憩模式定时" + "scope": "闹钟、倒计时、秒表(小憩模式定时相关已迁至 `小憩模式` intent)" }, { "agent": "mapAgent", @@ -1912,7 +1931,7 @@ "name": "简单数学问题", "old_tag": "简单数学问题", "path": "knowledge/标签/工具类/简单数学问题.md", - "principles": "原则:给mathQA,短线给arith即可", + "principles": "原则:给mathQA,短线给arith即可\n\n复杂度分流见 [简单数学问题复杂度判断](../../判断维度/复杂度/简单数学.md):公式计算、单位转换、汇率换算、称谓计算、数列计算属于非复杂任务(`complex=false`),其余归 `complex=true`。", "recommended_output_shape": "待确认。", "scope": "计算BMI" }, @@ -1959,12 +1978,12 @@ "agent_candidate": "Agent(tag=\"闹钟\")", "confusing_labels": "提醒系统定时控制(自动任务)提醒", "domain": "工具类", - "examples": "查询我的闹钟查询此次小憩时间我休息多长时间", - "function_candidate": "x0 = Alarm()Search(alarm=[x0])x0 = Alarm(type=\"RESTMODE\")Search(alarm=[x0])", + "examples": "查询我的闹钟", + "function_candidate": "x0 = Alarm()Search(alarm=[x0])", "name": "闹钟", - "old_tag": "闹钟闹钟/小憩定时闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中", + "old_tag": "闹钟闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中", "path": "knowledge/标签/工具类/闹钟.md", - "principles": "原则1:睡觉叫醒我属于闹钟叫醒我的过程是把我从睡觉的状态叫醒,需要用到闹钟,所以给到闹钟垂域叫我、叫醒我、喊我都是闹钟,需要连续响铃提醒我,是提醒-备忘录原则2:提醒和闹钟的边界在于query中是否明确包含闹钟,如果明确包含闹钟,给到闹钟,否则给到提醒优先级:闹钟>提醒原则3:小憩模式/休息等类似表述+时间(待讨论,控制类问题)一部分是控制(打开关闭),一部分是tools,区分有困难打开小憩模式打开小憩模式30分钟小憩模式是一种独立功能,是一种让用户睡觉休息的模式这种要给闹钟,因为这种query的主要目的是要在固定时间后休息结束,闹钟响起。但是反过来,时间+小憩模式/休息,这种是固定时间后打开小憩模式的目的,所以要给到系统定时控制", + "principles": "原则1:睡觉叫醒我属于闹钟叫醒我的过程是把我从睡觉的状态叫醒,需要用到闹钟,所以给到闹钟垂域叫我、叫醒我、喊我都是闹钟,需要连续响铃提醒我,是提醒-备忘录\n原则2:提醒和闹钟的边界在于query中是否明确包含闹钟,如果明确包含闹钟,给到闹钟,否则给到提醒优先级:闹钟>提醒\n\n> 原则 3「小憩模式/休息等类似表述+时间」相关划分(\"打开小憩模式\" / \"打开小憩模式 30 分钟\" / \"30 分钟后打开小憩模式\"等)已迁出到 [`小憩模式.md`](../系统控制和IOT设备控制/小憩模式.md) 边界 1 节统一维护。", "recommended_output_shape": "待确认。", "scope": "查询闹钟" }, @@ -2319,6 +2338,19 @@ "recommended_output_shape": "待确认。", "scope": "家庭传声功能描述:家庭成员利用小爱的语音通道实现消息传递。例如,在手机端对着小爱说“和家里的音箱说一下今晚不回去吃饭了”,此时家庭传声链路会截取用户query中“今晚不回去吃饭了”的音频,然后将其转发给家里的音箱进行播报家庭传声支持的设备:被传声设备支持音箱和电视,主要支持家庭场景家庭传声的case语义特征较为明显,通常会包含“对xx说”,或者家庭关键字参考文档:【小爱研发项目】家庭传声" }, + { + "agent_candidate": "", + "confusing_labels": "闹钟、系统控制、车载控制、闲聊、系统定时控制、自动任务", + "domain": "系统控制和IOT设备控制", + "examples": "- 打开小憩模式\n- 关闭小憩模式\n- 进入小憩模式 30 分钟\n- 我要休息\n- 我要休息 30 分钟\n- 我要睡觉\n- 我要睡一会儿\n- 想小憩一下\n- 查询此次小憩时间\n- 我休息多长时间", + "function_candidate": "- 小憩查询类:`x0 = Alarm(type=\"RESTMODE\")` `Search(alarm=[x0])`", + "name": "小憩模式", + "old_tag": "", + "path": "knowledge/标签/系统控制和IOT设备控制/小憩模式.md", + "principles": "- **核心信号是\"要休息\"**:query 中的休息/睡觉/眯/小憩等意图表达 + 显式小憩模式控制 = 本标签。\n- 不依赖关键词共现去归类——\"困了/累了\"等单纯感受词不构成本标签的判定依据,必须有明确的\"要休息\"意图。\n- 表达复杂度信号(自身感受/场景/约束 等)会同时影响 `complex` 维度判断(见 `判断维度/复杂度/复杂度判断.md`),但不改变本标签归属。", + "recommended_output_shape": "待确认。", + "scope": "下列三类 query 都归本标签:\n\n1. **小憩模式控制**:直接命名小憩模式的开关、状态切换。\n - 示例:打开小憩模式 / 关闭小憩模式 / 进入小憩模式 / 退出小憩模式\n2. **休息意图表达**:query 中蕴含\"用户要短时休息/睡觉/眯一会儿\"的意图,无论是否显式带\"小憩模式\"四个字、是否带时长。\n - 示例:我要休息 / 我要休息 30 分钟 / 我要睡觉 / 我要睡一会儿 / 想小憩一下 / 让我眯一会\n3. **小憩状态查询**:查询当前小憩定时/剩余时间。\n - 示例:查询此次小憩时间 / 我休息多长时间 / 还有多久结束小憩\n\n判定要点:\n\n- **\"要休息\"是核心信号**——只要 query 表达了用户当下要进入短时静止休息状态,归本标签。\n- 是否含具体时长(30 分钟 / 一会儿 / 十几分钟)不影响 tag 归属,只影响是否同时叠加自动任务/定时维度(见下方边界)。\n- 是否在车内场景作为标签判定的优先线索;其他端是否支持本标签由实现端决定,本卡片不限定。" + }, { "agent_candidate": "Agent(tag=\"相机\")", "confusing_labels": "应用控制", @@ -2796,6 +2828,13 @@ "params": {}, "path": "knowledge/输出能力/对象目录.md", "summary": "文本" + }, + { + "allow_unknown_params": false, + "name": "Device", + "params": {}, + "path": "knowledge/输出能力/对象目录.md", + "summary": "当 query 中出现\"主控设备 / 房间 / 空间 / 车内位置 / 设备模式\"任一类信息时,作为 function 的 `device=` 参数补充设备约束。" } ], "schema_version": 1, diff --git a/skills/label-master/knowledge/索引/标签索引.md b/skills/label-master/knowledge/索引/标签索引.md index b14068d..a1f03e7 100644 --- a/skills/label-master/knowledge/索引/标签索引.md +++ b/skills/label-master/knowledge/索引/标签索引.md @@ -74,7 +74,8 @@ | 工具类 | 翻译功能操作 | 翻译功能操作 | Agent(tag="翻译功能操作") | x0=XiaoAiTranslation(name="REALTIME")Close(object=x0) | [翻译功能操作](../标签/工具类/翻译功能操作.md) | | 工具类 | 课程表 | 课程表 | Agent(tag="课程表") | 无 | [课程表](../标签/工具类/课程表.md) | | 工具类 | 通讯录 | 通讯录 | Agent(tag="通讯录") | SynchronizeContacts() | [通讯录](../标签/工具类/通讯录.md) | -| 工具类 | 闹钟 | 闹钟闹钟/小憩定时闹钟的增、删、改、查、打开、关闭,倒计时和闹钟... | Agent(tag="闹钟") | x0 = Alarm()Search(alarm=[x0])x0 = Alarm(type="RESTMODE")Sea... | [闹钟](../标签/工具类/闹钟.md) | +| 工具类 | 闹钟 | 闹钟闹钟的增、删、改、查、打开、关闭,倒计时和闹钟都在时钟App中 | Agent(tag="闹钟") | x0 = Alarm()Search(alarm=[x0]) | [闹钟](../标签/工具类/闹钟.md) | +| 系统控制和IOT设备控制 | 小憩模式 | 小憩模式开关、休息意图触发("我要休息"/"我要睡觉"等)、小憩状态查询 | Agent(tag="小憩模式") | x0 = Alarm(type="RESTMODE")Search(alarm=[x0]) | [小憩模式](../标签/系统控制和IOT设备控制/小憩模式.md) | | 应用控制和搜索 | 应用定时控制 | 应用定时控制 | Agent(tag="应用定时控制") | 待确认 | [应用定时控制](../标签/应用控制和搜索/应用定时控制.md) | | 应用控制和搜索 | 应用控制 | 应用控制 | Agent(tag="应用控制") | function定义:参数定义:app: 对应的应用名page: 打开的对应的页面Action: 具体的操作,如:ope... | [应用控制](../标签/应用控制和搜索/应用控制.md) | | 应用控制和搜索 | 搜索\|应用名(搜索\|QQ音乐) | 搜索\|应用名(搜索\|QQ音乐) | Agent(tag="搜索\|应用名(搜索\|QQ音乐)") | function定义:参数定义:app: 对应的应用名content: 需要搜索的内容示例:Query:打开快手搜索情侣... | [搜索\|应用名(搜索\|QQ音乐)](../标签/应用控制和搜索/搜索-应用名-QQ音乐.md) | diff --git a/skills/label-master/knowledge/输出能力/函数目录.md b/skills/label-master/knowledge/输出能力/函数目录.md index 44668f4..2e2dc55 100644 --- a/skills/label-master/knowledge/输出能力/函数目录.md +++ b/skills/label-master/knowledge/输出能力/函数目录.md @@ -2,6 +2,15 @@ function 可以作为最终 target 输出。若 function 参数需要 object,先构造 object,再调用 function。 +## 通用规则:device 参数 + +**所有 function 都允许并要求带 `device=` 参数**——只要 query 中含主控设备 / 房间 / 空间 / 车内位置 / 设备模式 任一类信息(按 `Device` 的"任务定义",被控设备不算),就必须把 `device=Device(...)` 抽进来,写到 function 调用里。 + +- 这条规则**没有函数级例外**:FinanceQA / CalendarQA / Generate / WeatherQA / VisionQA / Summarize / Chat / QA / 自定义 Agent tag … 全部适用。 +- `device=` 抽取规则(哪些槽位、字面量怎么归一化、共现怎么写)见 [`对象目录.md::Device`](./对象目录.md#device)。 + +下文各 function 的"参数"小节列的是核心业务参数,`device=` 因为是通用规则,**不再逐一重复**——除非该 function 对 device 抽取有特殊补充约定。 + ## CalendarQA 返回类型:`function` diff --git a/skills/label-master/knowledge/输出能力/对象目录.md b/skills/label-master/knowledge/输出能力/对象目录.md index 33a0d4b..606d411 100644 --- a/skills/label-master/knowledge/输出能力/对象目录.md +++ b/skills/label-master/knowledge/输出能力/对象目录.md @@ -102,3 +102,171 @@ VisionQA(imageSource="PHOTO",direction="前",object=x0) x0=Image() Generate(object=x0) ``` + +## Device + +返回类型:`object` + +功能范围:当 query 中出现"主控设备 / 房间 / 空间 / 车内位置 / 设备模式"任一类信息时,作为 function 的 `device=` 参数补充设备约束。 + +### 任务定义(什么时候抽 Device) + +- **抽**:query 显式表达"指定某个主控设备执行某个动作",例如"电视播放小猪佩奇"。 +- **不抽**:query 中的设备是**被控设备**而非主控设备,例如"空调调到二十六度"——空调是被控对象,不抽 `device`。 + +判断要点:query 是不是在告诉系统「请用 X 这个设备执行 Y 动作」?是 → 抽 X 进 device。X 仅作为动作目标 → 不抽。 + +### 抽取槽位 + +| 槽位 | 类型 | 描述 | +| --- | --- | --- | +| `category` | `List[str]` | 主控设备类型,**按词表归一化**(见下) | +| `room` | `List[str]` | 房间名,不归一化,直接抽 query 中出现的房间 | +| `space` | `List[str]` | 空间类型,可选值:`家`、`车` | +| `location` | `List[str]` | 车上设备位置,不归一化,直接抽 query 中出现的位置 | +| `mode` | `str` | 模式类型,可选值:`AllDevice`(指定全部设备)、`WholeHousePlay`(全屋播放) | + +### 主控设备归一化词表(`category` 槽用) + +| `category` 归一化值 | query 泛化词 | +| --- | --- | +| 手机 | 手机、折叠机、全面屏、红米手机、小米手机 | +| 平板 | 平板、pad | +| 音箱 | 音箱、音响、无屏音箱、sound、sound pro、AI 音箱、Sound、有屏音箱、触屏音箱、带屏音箱 | +| 闺蜜机 | 闺蜜机 | +| 电视 | 电视、TV、蓝牙电视、红外电视、65 寸电视、75 寸电视、85 寸电视、100 寸电视、小米电视、红米电视、小米盒子、电视盒子 | +| 中控屏 | 家庭屏、智慧屏、智能家庭屏、智慧面板、中控屏、车机、车载屏幕、中控 | +| 手表 | 手表、智能手表、小米手表、儿童手表 | +| 手环 | 手环、智能手环、小米手环 | +| 耳机 | 耳机、蓝牙耳机、小米耳机 | +| 眼镜 | 眼镜、智能眼镜、AI 眼镜、小米眼镜 | +| 投影仪 | 投影仪 | +| 显示器 | 显示器、显示屏 | +| 笔记本电脑 | 电脑、笔记本、笔记本电脑、笔电 | + +> 词表外的设备 query 字面(含"屏"/"屏幕"等独立词),按 query 字面量保留写入 `category`,不强行归一。 + +### 抽取示例 + +#### 只包含设备信息 + +```text +电视播放小猪佩奇 +→ Agent(tag="视频播放",device=Device(category=["电视"])) + +音箱回答我天空为什么这么蓝 +→ QA(device=Device(category=["音箱"])) +``` + +#### 只包含房间信息 + +```text +卧室播放儿歌 +→ Agent(tag="音乐播放",device=Device(room=["卧室"])) + +客厅播放海绵宝宝 +→ Agent(tag="视频播放",device=Device(room=["客厅"])) +``` + +#### 只包含空间信息 + +```text +家里播放音乐 +→ Agent(tag="音乐播放",device=Device(space=["家"])) + +车上放个电影 +→ Agent(tag="视频播放",device=Device(space=["车"])) +``` + +#### 只包含位置信息 + +```text +后排播放电台 +→ Agent(tag="电台播放",device=Device(location=["后排"])) + +前排播放音乐 +→ Agent(tag="音乐播放",device=Device(location=["前排"])) +``` + +#### 包含设备 + 房间 + +```text +客厅音箱播放青花瓷 +→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["客厅"])) + +卧室电视播报一下天气 +→ WeatherQA(device=Device(category=["电视"],room=["卧室"])) +``` + +#### 包含设备 + 位置 + +```text +后排电视打开抖音 +→ Agent(tag="应用控制",device=Device(category=["电视"],location=["后排"])) + +二排电视画一个小狗 +→ x0=Image() + Generate(object=x0,device=Device(category=["电视"],location=["二排"])) +``` + +#### 包含设备 + 位置 + 空间 + +```text +让我车上后排的电视唱一首歌 +→ Agent(tag="音乐播放",device=Device(category=["电视"],space=["车"],location=["后排"])) + +车上后排电视报一下天气 +→ WeatherQA(device=Device(category=["电视"],space=["车"],location=["后排"])) +``` + +#### 包含设备 + 房间 + 空间 + +```text +家里主卧的音箱播放周杰伦的歌 +→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["主卧"],space=["家"])) + +让我家客厅的电视播放熊出没 +→ Agent(tag="视频播放",device=Device(category=["电视"],room=["客厅"],space=["家"])) +``` + +#### 全部设备模式(mode="AllDevice") + +```text +全部电视播放小猪佩奇 +→ Agent(tag="视频播放",device=Device(category=["电视"],mode="AllDevice")) + +全部音箱停止播放音乐 +→ Agent(tag="播放器控制",device=Device(category=["音箱"],mode="AllDevice")) +``` + +#### 全屋播放模式(mode="WholeHousePlay",线上未实现,仅协议定义) + +```text +全屋播放小猪佩奇 +→ Agent(tag="视频播放",device=Device(mode="WholeHousePlay")) + +全屋播放青花瓷 +→ Agent(tag="音乐播放",device=Device(mode="WholeHousePlay")) +``` + +#### 被动多轮(继承上一轮的 device) + +```text +q1: 客厅电视播放电影 +q2: 声音大点 +→ Agent(tag="系统控制",device=Device(category=["电视"],room=["客厅"])) + +q1: 卧室音箱播放音乐 +q2: 播放周杰伦的歌 +→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["卧室"])) +``` + +#### 特殊规则("屏"/"屏幕"不归一) + +```text +前排屏播放音乐 +→ Agent(tag="音乐播放",device=Device(category=["屏"],location=["前排"])) + +后排屏幕播放动画片 +→ Agent(tag="视频播放",device=Device(category=["屏幕"],location=["后排"])) +``` diff --git a/skills/label-master/knowledge/输出能力/意图目录.md b/skills/label-master/knowledge/输出能力/意图目录.md index 210362f..54a6a7c 100644 --- a/skills/label-master/knowledge/输出能力/意图目录.md +++ b/skills/label-master/knowledge/输出能力/意图目录.md @@ -71,7 +71,8 @@ intent 表示业务意图名。它可以作为 intent target,也可以在用 | 留言 | toolsAgent | 指令操作 | 小爱音箱语音留言创建、查看、编辑、删除 | | 相机控制 | controlAgent | 指令操作 | 拍照、录视频、相机设置、打开关闭相机 | | 简单数学问题 | ToolsAgent | 指令问答 | 计算、单位换算、关系称谓、税收、BMI 等 | -| 系统控制 | controlAgent | 指令操作 | 系统层控制、车载控制、重复朗读、小憩模式等 | +| 系统控制 | controlAgent | 指令操作 | 系统层控制、车载控制、重复朗读等(小憩模式相关已独立为 `小憩模式` intent) | +| 小憩模式 | controlAgent | 指令操作 | 小憩模式开关、休息意图触发("我要休息"/"我要睡觉"等)、小憩状态查询 | | 系统状态查询 | controlAgent | 指令操作 | 系统动态信息或设置项查询 | | 翻译控制 | ToolsAgent | 指令操作 | 翻译工具打开关闭、字幕字体调节等 | | 航班信息查询 | lifeAgent | 指令操作 | 航班到达、延误、航站楼、起飞、机票查询购买 | @@ -87,7 +88,7 @@ intent 表示业务意图名。它可以作为 intent target,也可以在用 | 违章查询 | mapAgent | 指令操作 | 查询用户自己的违章情况 | | 通讯录 | ToolsAgent | 指令操作 | 同步通讯录、打开通话记录 | | 酒店 | lifeAgent | 指令操作 | 订酒店、查找酒店、酒店问答 | -| 闹钟计时器 | ToolsAgent | 指令操作 | 闹钟、倒计时、秒表、小憩模式定时 | +| 闹钟计时器 | ToolsAgent | 指令操作 | 闹钟、倒计时、秒表(小憩模式定时相关已迁至 `小憩模式` intent) | | 限行 | mapAgent | 指令问答 | 限行、限号查询 | | 音乐播放 | contentAgent | 指令操作 | 播放音乐、听歌识曲、唱歌 | | 餐厅订座排号 | lifeAgent | 指令操作 | 餐厅订座、排号 | @@ -125,7 +126,17 @@ intent 表示业务意图名。它可以作为 intent target,也可以在用 打开空调 打开座椅加热 重复你刚才的话 +``` + +### 小憩模式 + +```text 打开小憩模式 +关闭小憩模式 +我要休息 +我要休息30分钟 +我要睡觉 +查询此次小憩时间 ``` ### 闹钟计时器 diff --git a/skills/label-master/knowledge/边界/领域概览/工具类边界.md b/skills/label-master/knowledge/边界/领域概览/工具类边界.md index 949c601..f303b71 100644 --- a/skills/label-master/knowledge/边界/领域概览/工具类边界.md +++ b/skills/label-master/knowledge/边界/领域概览/工具类边界.md @@ -52,9 +52,11 @@ - 易混淆:提醒系统定时控制(自动任务)提醒 -- 划分原则:原则1:睡觉叫醒我属于闹钟叫醒我的过程是把我从睡觉的状态叫醒,需要用到闹钟,所以给到闹钟垂域叫我、叫醒我、喊我都是闹钟,需要连续响铃提醒我,是提醒-备忘录原则2:提醒和闹钟的边界在于query中是否明确包含闹钟,如果明确包含闹钟,给到闹钟,否则给到提醒优先级:闹钟>提醒原则3:小憩模式/休息等类似表述+时间(待讨论,控制类问题)一部分是控制(打开关闭),一部分是tools,区分有困难打开小憩模式打开小憩模式30分钟小憩模式是一种独立功能,是一种让用户睡觉休息的模式这种要给闹钟,因为这种query的主要目的是要在固定时间后休息结束,闹钟响起。但是反过来,时间+小憩模式/休息,这种是固定时间后打开小憩模式的目的,所以要给到系统定时控制 +- 划分原则:原则1:睡觉叫醒我属于闹钟叫醒我的过程是把我从睡觉的状态叫醒,需要用到闹钟,所以给到闹钟垂域叫我、叫醒我、喊我都是闹钟,需要连续响铃提醒我,是提醒-备忘录原则2:提醒和闹钟的边界在于query中是否明确包含闹钟,如果明确包含闹钟,给到闹钟,否则给到提醒优先级:闹钟>提醒 + > 原则 3「小憩模式/休息+时间」相关划分已迁出到 [`标签/系统控制和IOT设备控制/小憩模式.md`](../../标签/系统控制和IOT设备控制/小憩模式.md) 边界 1 节。 -- 满足边界问题:边界1:clock,reminder,自动任务3个功能是互相覆盖,有一定边界问题边界2:小憩模式打开小憩模式30分钟(控制?自动任务?)小憩模式30分钟边界3:叫醒,闹钟和提醒创建早晨6点的提醒用白噪声喊我八点遛狗边界4:自动任务30分钟后叫我30分钟后提醒我充满电的时候叫醒我 +- 满足边界问题:边界1:clock,reminder,自动任务3个功能是互相覆盖,有一定边界问题边界2:叫醒,闹钟和提醒创建早晨6点的提醒用白噪声喊我八点遛狗边界3:自动任务30分钟后叫我30分钟后提醒我充满电的时候叫醒我 + > 小憩模式相关边界("打开小憩模式 30 分钟" / "小憩模式 30 分钟")已迁出到 [`标签/系统控制和IOT设备控制/小憩模式.md`](../../标签/系统控制和IOT设备控制/小憩模式.md)。 ## 倒数日