# 08. label-master Skill 实现

![label-master Skill 实现](assets/08-label-master.png)

## 1. 定位

`label-master` 是标签知识和边界分析 Skill。

它不把“给 query 打标签”做成一个黑盒工具，而是让 Agent 逐步读取知识、比较候选、解释依据，并在必要时调用脚本校验最终输出格式。

典型链路：

```text
query / 标签边界问题 / target 校验需求
  -> 读取决策流程
  -> 读取候选召回索引
  -> 找 2-5 个候选标签
  -> 读取候选标签卡片
  -> 命中混淆时读取边界卡
  -> 判断 complex / 多指令 / 自动任务等结构维度
  -> 判断输出形态
  -> 给出推荐、候选、依据、排除项和不确定点
  -> 如要落数据，调用 validate_label_output.py
```

位置：

```text
skills/label-master/SKILL.md
skills/label-master/knowledge/
skills/label-master/scripts/
```

## 2. 知识组织

核心目录：

```text
knowledge/
  标签总览.md
  决策流程.md
  索引/
    候选召回索引.md
    标签索引.md
    维度索引.md
    label_manifest.json
  判断维度/
    复杂度/
    多指令/
    自动任务/
    标注输出形态.md
  输出能力/
  标签/
  边界/
    边界索引.md
    高频混淆/
    领域概览/
  迁移记录.md
```

设计原则：

```text
索引先行
  不直接读全量标签卡。

维度分离
  complex、多指令、自动任务不是业务标签。

标签卡片中文维护
  方便人工编辑。

输出能力独立
  function、intent、object、Agent 包装放在输出能力层。

边界卡优先人工维护
  高频混淆写清楚，不只依赖自动迁移总结。
```

## 3. Agent 使用方式

`label-master` 的关键在于利用 Agent 的多轮阅读和规划能力。

典型 Agent loop：

```text
模型选择 label-master
  -> read_file knowledge/决策流程.md
  -> read_file knowledge/索引/候选召回索引.md
  -> read_file 候选标签卡片
  -> read_file 高频混淆边界卡
  -> 必要时 read_file 判断维度/复杂度/*
  -> 必要时 read_file 输出能力/*
  -> 输出可 review 判断
```

为什么不做成单个 `classify_query(query) -> label` 工具：

- 标签判断常常需要比较候选和排除项。
- function / intent / Agent 包装要看迁移状态。
- complex、多指令、自动任务是独立维度。
- 人类 review 需要看到依据，而不是只看到最终标签。

因此脚本只做索引和校验，不替代语义判断。

## 4. 输出形态

标签知识中存在多种输出形态：

```text
Agent(tag="xxx")
function program
intent
object + function 组合
多指令 JSON
自动任务 JSON
complex=true/false
```

`complex` 是独立维度，不应该混在 target 里。

例如训练输出可以组合成：

```text
complex=false
Agent(tag="地图导航")
```

但内部判断要拆成：

```text
complex: false
target: Agent(tag="地图导航")
```

## 5. 脚本能力

### 5.1 build_label_manifest.py

用途：

```text
把 Markdown 知识生成机器索引。
```

位置：

```text
skills/label-master/scripts/build_label_manifest.py
```

输出：

```text
skills/label-master/knowledge/索引/label_manifest.json
```

使用场景：

- 新增标签卡。
- 修改输出能力。
- 修改判断维度。
- 修改边界知识。

### 5.2 validate_label_output.py

用途：

```text
校验 target/function/intent/Agent/多指令/自动任务输出格式。
```

位置：

```text
skills/label-master/scripts/validate_label_output.py
```

典型调用：

```text
python_exec(script_path="skills/label-master/scripts/validate_label_output.py", args=["--target", "Agent(tag=\"地图导航\")"])
```

批量校验：

```text
--file output/records.jsonl --field target
```

## 6. 和 product-data 的关系

`product-data` 在需要确认 target 或生成边界数据时，可以读取 `label-master` 的知识。

分工：

```text
label-master
  判断标签知识、边界、输出形态、target 合法性。

product-data
  做数据生成 review、draft、canonical records、导出。
```

当用户给出模糊标签名时，应该先用 `label-master` 辅助确认：

```text
标签是否存在
使用 Agent 包装还是 function
complex 默认是什么
是否有高频混淆边界
```

再进入 `product-data` 的生成计划。

## 7. 设计边界

`label-master` 负责：

- 标签知识检索。
- 候选标签比较。
- 边界解释。
- 输出形态判断。
- target 格式校验。

不负责：

- 生成数据集。
- 线上日志挖掘。
- 导出训练/评测格式。
- 直接替用户确认争议边界。
