# 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。