Files
zk-data-agent/skills/label-master/README.md
T
2026-05-09 17:49:53 +08:00

277 lines
7.8 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.
# label-master(标签大师)
`label-master` 是中控标签知识库 skill,中文名“标签大师”。它用于帮助 Agent 理解标签体系、比较标签边界、校验数据生成目标,并把旧标签文档逐步沉淀成可维护、可检索、可校验的 Markdown 知识。
这个目录不是一个黑盒分类器。它的目标是让 Agent 像人工标注同学一样,按步骤阅读知识、收敛候选、解释依据,并在不确定时向人确认。
## 什么时候使用
适合使用这个 skill 的场景:
- 判断一个 query 应该归属哪个标签。
- 解释两个标签之间的边界。
- 校验数据集里的 `target` 是否是合法标签、function、intent 或 Agent 包装。
- 为数据生成任务确认标签定义和输出形式。
- 分析线上 badcase 为什么容易混淆。
- 维护中控标签知识、补充边界经验。
不适合使用这个 skill 的场景:
- 直接生成训练集或评测集记录。
- 导出 jsonl、csv、prompt 表格等数据格式。
- 直接查询线上数据。
- 替代人工确认尚未共识的标签迁移方案。
这些能力应由 `product-data``online-mining` 或其他数据开发 skill 承接。
## 核心判断流程
标签判断不要直接从关键词跳到最终标签。推荐流程是:
```text
输入理解
-> 结构维度预判:complex / 多指令 / 自动任务
-> 候选召回:按动作、对象、资源、设备缩小候选
-> 业务标签判断:读取标签卡片和高频边界
-> 输出能力判断:function / intent / object / Agent 包装
-> 组合最终 target
-> 不确定则向用户确认
```
运行时入口:
- [SKILL.md](SKILL.md):给 Agent 注入的使用协议。
- [knowledge/决策流程.md](knowledge/决策流程.md):完整判断顺序。
- [knowledge/索引/候选召回索引.md](knowledge/索引/候选召回索引.md):第一步缩小候选范围。
- [knowledge/边界/边界索引.md](knowledge/边界/边界索引.md):高频边界入口。
## 目录结构
```text
label-master/
SKILL.md
README.md
knowledge/
决策流程.md
标签总览.md
迁移记录.md
标签迁移索引.md
索引/
候选召回索引.md
标签索引.md
维度索引.md
label_manifest.json
标签/
...
边界/
README.md
边界索引.md
高频混淆/
领域概览/
判断维度/
复杂度判断.md
多指令判断.md
自动任务判断.md
标注输出形态.md
输出能力/
README.md
函数目录.md
对象目录.md
意图目录.md
输出组合规范.md
scripts/
build_label_manifest.py
validate_label_output.py
迁移_docx标签表.py
```
## 知识分层
### `判断维度/`
维护独立于业务标签的判断维度:
- `复杂度判断.md`:快慢系统、complex 维度。
- `多指令判断.md`:是否需要拆成多个 subquery。
- `自动任务判断.md`:条件触发、condition 作用域、自动化任务。
- `标注输出形态.md`:最终输出应该是 function、intent、Agent 包装,还是需要确认。
这些维度不要写进每个标签卡片里。
### `标签/`
维护业务标签卡片。每个标签卡片描述:
- 标注输出候选。
- 适用范围。
- 典型 query。
- Function / Agent 说明。
- 满足边界问题。
- 易混淆标签。
- 划分原则。
标签卡片是业务能力知识,不直接决定最终输出格式。
### `输出能力/`
维护最终可消费 target 的能力定义:
- `函数目录.md`function 类型和参数。
- `对象目录.md`Location、Resource、PersonalDate 等 object。
- `意图目录.md`intent 名、承接 Agent 和范围。
- `输出组合规范.md`:如何组合 object + function、多指令 JSON、自动任务 JSON。
注意:object 只用于 function 填参,通常不单独作为最终 target。
### `边界/`
维护跨标签混淆经验:
- `高频混淆/`:人工维护的高频边界卡,运行时优先读取。
- `领域概览/`:从旧标签资料自动迁移出来的领域边界概览,只作为背景补充。
不要直接全量读取 `边界/`。先读 `边界索引.md`,再读命中的高频边界卡。
## 维护规则
### 修改标签定义
优先修改:
```text
knowledge/标签/<领域>/<标签名>.md
```
适合改这里的内容:
- 标签适用范围。
- 典型 query。
- Function / Agent 说明。
- 易混淆标签。
- 划分原则。
### 修改高频边界
优先修改:
```text
knowledge/边界/高频混淆/*.md
```
如果某类 badcase 或数据生成任务反复出现同一类混淆,应新增一张高频边界卡。
边界卡建议包含:
- 适用场景。
- 候选集合。
- 决策顺序。
- 正例。
- 反例。
- 输出建议。
- 仍需确认的问题。
### 修改输出格式
优先修改:
```text
knowledge/判断维度/标注输出形态.md
knowledge/输出能力/
```
不要在单个标签卡片里散落维护 function、intent、object 的全局规则。
### 修改索引
人工可维护:
- `knowledge/索引/候选召回索引.md`
- `knowledge/边界/边界索引.md`
脚本生成,不要手改:
- `knowledge/索引/label_manifest.json`
## 脚本
### 生成 manifest
修改 Markdown 知识后,运行:
```bash
python skills/label-master/scripts/build_label_manifest.py
```
检查 manifest 是否最新:
```bash
python skills/label-master/scripts/build_label_manifest.py --check
```
### 校验 target
校验 Agent 标签:
```bash
python skills/label-master/scripts/validate_label_output.py --target 'Agent(tag="地图导航")'
```
校验 function program
```bash
python skills/label-master/scripts/validate_label_output.py --target $'x0=Resource(type="DOC")\nSummarize(object=x0)'
```
校验多指令或自动任务 JSON
```bash
python skills/label-master/scripts/validate_label_output.py --target '[{"condition": null, "querys": [{"subquery": "附近有什么好吃的", "intent": "餐饮服务"}]}]'
```
批量校验 records 文件:
```bash
python skills/label-master/scripts/validate_label_output.py --file output/records.jsonl --field target
```
校验脚本只检查格式、存在性和引用关系,不负责判断 query 语义是否正确。
## 旧文件迁移状态
主体标签知识来自 `标签定义/Label定义-*.docx`,已经迁移为 Markdown 标签卡片。
暂不作为核心知识迁移:
- `标签定义/Agent技术方案汇总.docx`:主要是旧 Agent 方案、context 和统计信息,不是标签定义表。
- `标签定义/重构数据标签梳理.xlsx`:当前只有一个单元格 `老标签`,没有有效迁移内容。
旧文档只作为迁移输入和历史参考。后续维护以 `knowledge/` 下的 Markdown 为准。
## 推荐工作流
### 判断一个 query 的标签
1.`knowledge/决策流程.md`
2. 判断是否涉及 complex、多指令、自动任务。
3.`knowledge/索引/候选召回索引.md`
4. 读候选标签卡片。
5. 如命中混淆,读 `knowledge/边界/边界索引.md` 和对应高频边界卡。
6. 如需最终 target,读 `knowledge/判断维度/标注输出形态.md``knowledge/输出能力/`
7. 输出推荐标签、候选标签、依据、排除项、输出形态和不确定点。
### 维护一次标签知识
1. 修改标签卡片或高频边界卡。
2. 如新增高频边界,更新 `knowledge/边界/边界索引.md`
3. 如新增召回信号,更新 `knowledge/索引/候选召回索引.md`
4. 运行 `build_label_manifest.py`
5.`validate_label_output.py` 校验关键 target。
## 注意事项
- 不要把所有规则都塞进 `SKILL.md``SKILL.md` 只写 Agent 如何使用知识。
- 不要把 complex、多指令、自动任务写进每个标签卡片。
- 不要默认所有标签都输出 `Agent(tag="xxx")`
- 不要手动修改 `label_manifest.json`
- 不要长期依赖旧 docx/xlsx,知识确认后应沉淀到 Markdown。