8.4 KiB
name, description, when_to_use, aliases, allowed_tools
| name | description | when_to_use | aliases | allowed_tools |
|---|---|---|---|---|
| label-master | 标签大师:读取和使用中控标签知识库,辅助标签边界理解、候选标签比较、数据生成目标校验和标签知识问答。 | 当用户要求判断 query 应该归属哪个标签、解释标签边界、校验数据生成目标中的 target、整理标签知识或分析标签混淆时使用。 | label-knowledge, 标签大师, 标签知识, label, 标签体系 | read_file, write_file, edit_file, grep_search, glob_search, ask_user_question, python_exec, bash |
使用这个 skill 作为“标签知识理解和标签边界分析”的入口。它不直接把标签判断收敛成一个黑盒分类工具,而是指导 Agent 逐步阅读知识、比较候选、解释依据,并在不确定时向用户确认。
知识入口
长期维护入口在本 skill 的 knowledge/ 目录:
knowledge/标签总览.md:标签体系总览、领域索引和推荐阅读路径。knowledge/决策流程.md:完整判断顺序,覆盖结构维度、业务标签、输出能力和最终组合。knowledge/索引/候选召回索引.md:根据 query 的动作、对象、资源和设备快速缩小候选范围。knowledge/索引/标签索引.md:Agent 第一阶段使用的轻量索引,包含领域、标签、旧 tag、Agent 候选、Function 候选和知识卡片路径。knowledge/索引/维度索引.md:Agent 第一阶段判断是否需要加载标注输出、complex、多指令、自动任务等维度知识。knowledge/输出能力/:维护 object、function、intent 和最终 target 组合规范。knowledge/判断维度/:独立维护标注输出形态、complex、多指令、自动任务等非业务标签维度。knowledge/标签/:按标签维护的知识卡片,文件名使用中文。knowledge/边界/边界索引.md:高频混淆边界入口。knowledge/边界/高频混淆/:人工维护的高频边界卡,运行时优先读取。knowledge/边界/领域概览/:旧资料自动迁移出的领域边界概览,只作为补充背景。knowledge/迁移记录.md:仅记录从旧文档迁移到 Markdown 知识库的过程,不作为运行时主要依据。
如果用户问单个标签,优先读 knowledge/索引/标签索引.md 定位对应卡片,再读 knowledge/标签/*.md。如果用户问边界、分类或最终 target,先读 knowledge/决策流程.md,再按流程读取 候选召回索引.md、候选标签、边界索引.md、高频混淆卡、判断维度和输出能力文件。
决策流程
处理标签判断、边界解释、目标校验或数据 target 确认时,按下面流程工作:
- 提取用户 query、上下文、设备、已有候选标签、用户给出的标签假设。
- 读取
knowledge/决策流程.md,按“结构维度 -> 业务标签 -> 输出能力 -> 组合结果”的顺序推进。 - 先判断是否涉及自动任务、多指令或 complex;必要时读取
knowledge/索引/维度索引.md和knowledge/判断维度/。 - 再读取
knowledge/索引/候选召回索引.md、knowledge/标签总览.md、knowledge/索引/标签索引.md,找出 2-5 个候选领域或候选标签。 - 如果命中高频混淆,读取
knowledge/边界/边界索引.md和knowledge/边界/高频混淆/下对应文件。 - 读取候选标签卡片,重点看“标注输出”“适用范围”“不适用范围”“易混淆标签”“划分原则”。
- 如果仍然不清楚,再读取
knowledge/边界/领域概览/下对应领域文件作为补充。 - 如任务涉及最终 target 输出,读取
knowledge/判断维度/标注输出形态.md和knowledge/输出能力/下对应文件。 - 输出判断时必须包含:
- 推荐标签
- 候选标签
- 判断依据
- 排除哪些标签以及原因
- 输出形式判断:function program、intent、Agent 包装,或需要用户确认
- complex 判断(如任务需要)
- 不确定点或需要用户确认的问题
不要只给一个标签名。标签判断应该可解释、可 review。不要一开始读取整个 标签/、边界/ 或 输出能力/ 目录;先读索引,再读候选文件。
输出形式约束
旧标签资料中同时存在 tag标签、Function及参数定义、object、function、intent 和承接 Agent。不要默认把所有标签都写成 Agent(tag="...")。需要判断输出格式时,先读取 knowledge/判断维度/标注输出形态.md 和 knowledge/输出能力/输出组合规范.md。
阅读标签卡片时,必须区分:
旧 tag 标签:旧表里的标签名。Agent 形式候选:如果当前任务仍使用 tag 体系,可能写成Agent(tag="xxx")。Function 形式候选:如果当前任务使用 function 体系,需要参考卡片中的函数、参数或满足方式。object:只在 function 需要参数时抽取,例如Location、PersonalDate、Resource。intent:业务意图输出,可以直接作为 intent target,也可以按任务要求包装为 Agent。当前最终输出:没有明确迁移状态时,一律视为待确认。
当用户要生成训练/评测数据,且没有明确说明使用 function program、intent 还是 Agent 包装时,必须先确认 target 输出格式,不要自行选择。
脚本化能力
本 skill 提供两个确定性脚本。脚本只负责知识索引、格式检查和合法性校验,不负责替代 Agent 做 query 语义判断。
生成知识索引
当标签知识 Markdown 被新增或修改后,调用:
python skills/label-master/scripts/build_label_manifest.py
脚本会读取 knowledge/标签/、knowledge/输出能力/、knowledge/判断维度/ 和 knowledge/边界/,生成:
skills/label-master/knowledge/索引/label_manifest.json
这个 manifest 是 Agent 和校验脚本使用的机器索引。人工维护仍以 Markdown 为准,不要直接手改 manifest。需要检查 manifest 是否同步时,调用:
python skills/label-master/scripts/build_label_manifest.py --check
校验标签输出
当 Agent 已经给出 target、function program、intent、Agent 包装、多指令 JSON 或自动任务 JSON 后,在写入数据集前调用:
python skills/label-master/scripts/validate_label_output.py --target 'Agent(tag="地图导航")'
常见示例:
python skills/label-master/scripts/validate_label_output.py --target 'Agent(tag="餐饮服务")'
python skills/label-master/scripts/validate_label_output.py --target $'x0=Resource(type="DOC")\nSummarize(object=x0)'
python skills/label-master/scripts/validate_label_output.py --target '[{"condition": null, "querys": [{"subquery": "附近有什么好吃的", "intent": "餐饮服务"}]}]'
批量校验 JSON/JSONL 文件中的 target 字段:
python skills/label-master/scripts/validate_label_output.py --file output/records.jsonl --field target
校验结果会输出 JSON:
{
"valid": true,
"detected_type": "agent",
"normalized_output": "Agent(tag=\"地图导航\")",
"errors": [],
"warnings": [],
"references": []
}
如果 valid=false,必须先根据 errors 修正输出,再继续生成、落盘或导出数据。
和数据开发 skill 的关系
product-data、online-mining 等数据开发 skill 在需要确认 target、比较标签边界、生成边界样本或分析 badcase 时,可以读取本 skill 的知识文件。
本 skill 只负责标签知识、边界判断和 target 合法性校验,不负责生成 dataset draft,不负责导出 canonical records。需要生成数据时,继续使用数据开发 skill 的 review 和 records 工具链。
维护规则
- 新增或修改标签知识时,优先修改
knowledge/标签/*.md和knowledge/边界/高频混淆/*.md。 - 不要要求 Agent 长期回读旧 docx。旧 docx 只作为迁移输入。
- complex、多指令、自动任务等维度只写在
knowledge/判断维度/,不要写进每个标签卡片。 - object、function、intent 和 Agent 承接关系写在
knowledge/输出能力/,不要散落到标签卡片里重复维护。 - 标签卡片文件名使用中文,便于人工维护。
- 标签输出表达必须保留完整形式。Agent 形式例如
Agent(tag="地图导航");Function 形式必须按已确认的 function 格式写,不要只写标签名。 - 修改标签、function、intent、object 或边界知识后,运行
scripts/build_label_manifest.py更新 manifest。