技能库
在数据标注工作中,团队经常遇到这样的问题:
- 不同标注员对同一个动作的命名不一致("抓取"vs"抓取物体"vs"pick")
- 技能定义随项目变化,导致历史数据难以复用
- 新项目启动时需要重新定义所有技能,浪费时间
- 无法追踪技能定义的变更历史
技能库就是为了解决这些问题而设计的。它就像一个"标准词典",让整个团队使用统一的技能定义,并支持随时间演进。

快速上手:创建第一个技能
第 1 步:创建技能分类
在创建具体技能前,先建立分类体系。点击"新建分类",输入分类名称:
- 基础动作:抓取、放置、推、拉等原子操作
- 生活场景:擦桌子、倒 水、整理物品等组合技能
- 工业场景:装配、检测、搬运等专业技能
💡 小提示:分类不宜过细,一般 3-5 个分类就够用了。
第 2 步:添加技能
选择一个分类,点击"新建技能",填写:
- 技能名称:使用团队统一的命名规范(如"抓取_物体")
- 技能描述:详细说明这个技能的定义和边界
- 标签(可选):添加"难度:简单"、"场景:厨房"等标签
第 3 步:在标注任务中使用
创建标注任务时,系统会自动加载技能库。标注员在标注时从技能库选择,而不是手动输入。
进阶使用
如何管理技能版本?
为什么需要版本管理?
假设你的团队已经标注了 1000 条"抓取"技能的数据,现在需要把技能定义 改为"抓取物体"(更明确)。直接修改会让历史数据关联混乱,这时就需要用到版本管理。
操作步骤:
-
创建新版本
- 在技能详情页点击"创建新版本"
- 修改名称和描述
- 版本号自动递增(v1 → v2)
-
历史数据保持不变
- 已标注的 1000 条数据仍然关联到 v1
- 数据完整性得到保证
-
新任务使用新版本
- 新创建的标注任务自动使用 v2
- 保持最新的标注标准
-
导出时灵活选择
- 可以只导出特定版本
- 可以将多个版本合并统计
什么时候需要回滚?
如果发现新版本定义有问题,可以在"版本历史"中选择旧版本,点击"设为当前版本"。正在进行的任务会继续使用旧版本。
如何设置技能依赖关系?
什么时候需要依赖管理?
如果你的技能定义有这些特点,就需要用到依赖管理:
✅ 某个技能必须在另一个技能之后执行(如"放置"依赖"抓取")
✅ 某个技能是另一个技能的前置条件(如"开门"需要先"靠近门")
✅ 多个技能组成一个复杂流程(如"泡咖啡"包含多个子技能)
❌ 如果技能之间完全独立,不需要设置依赖关系
设置依赖关系:
- 进入技能详情页
- 点击"依赖关系"标签
- 点击"添加依赖",选择前置技能
- 保存后,系统会在标注和导出时自动验证依赖
依赖关系可视化:
标注员在标注"推开门"时,系统会提示需要先完成前面三个步骤。
如何复用技能模板?
场景:快速启动新项目
新项目启动时,通常有一些通用技能是每个项目都需要的。与其每次重新创建,不如使用技能模板。
创建模板:
- 选择多个常用技能
- 点击"保存为模板"
- 输入模板名称(如"通用机械臂操作")
使用模板:
新项目创建时,选择"从模板导入",一键导入所有技能定义。
内置模板:
平台提供了一些常用模板:
| 模板名称 | 技能数量 | 适用场景 |
|---|---|---|
| 通用机械臂操作 | 12 个 | 工业机械臂、协作机器人 |
| 移动机器人导航 | 8 个 | 移动底盘、配送机器人 |
| 人形机器人基础 | 20 个 | 双足、双臂人形机器人 |
| 家庭服务场景 | 15 个 | 清洁、整理、取放物品 |
如何查看技能使用统计?
统计维度:
技能库提供多维度的使用统计:
使用频率
- 显示每个技能被使用的次数
- 帮助识别核心技能和冷门技能
使用趋势
- 按时间轴显示技能使用变化
- 识别新增热门技能
质量指标
- 标注一致性:不同标注员对同一技能的标注一致程度
- 审核通过率:该技能的标注审核通过率
项目分布
- 哪些项目在使用这个技能
- 跨项目的技能复用情况
如何利用统计数据?
- 优化技能定义:如果某个技能的一致性很低(如 60%),说明定义可能不够清晰,需要细化
- 指导培训:通过率低的技能需要加强标注员培训
- 识别废弃技能:长期不使用的技能可以归档,简化技能库
团队协作最佳实践
角色分工建议
不同角色在技能库管理中的职责:
管理员
- 维护技能库的整体结构
- 制定技能命名规范
- 审批技能新 增和修改
- 定期清理废弃技能
项目经理
- 为项目选择或创建技能
- 监控技能使用情况
- 反馈技能定义问题
标注员
- 使用技能库进行标注
- 反馈技能定义不清晰的地方
- 建议新增技能
技能命名规范建议
统一的命名规范能大幅提升协作效率:
推荐格式:动词_对象_[修饰]
✅ 好的命名:
抓取_瓶子放置_桌面_轻放推_门_向前
❌ 不好的命名:
操作1(不明确)pick(语言混用)抓取瓶子并放到桌子上(太复杂,应该拆分)
命名原则:
- 使用团队统一的语言(中文或英文)
- 动词在前,对象在后
- 避免过长,一般不超过 15 个字符
- 必要时添加修饰词区分细微差异
技能定义模板
撰写技能描述时,可以参考这个模板:
**技能名称**:抓取_瓶子
**定义**:
使用机械臂末端执行器,从静止状态抓住瓶子并保持稳定夹持。
**具体动作**:
1. 机械臂移动到瓶子上方
2. 末端执行器下降到抓取高度
3. 夹爪闭合,夹紧瓶子
4. 保持夹持力,避免瓶子滑落
**边界条件**:
- 瓶子必须处于可抓取区域内
- 瓶子处于静止或低速移动状态
- 抓取力度适中,不能损坏瓶子
**不包括**:
- 移动瓶子到其他位置(属于"放置"技能)
- 拧开瓶盖(属于"旋转"技能)
**示例视频**:
[上传示例视频链接]
常见问题
技能和动作标注有什么区别?
技能是高层次的语义描述,动作标注是具体的轨迹数据:
- 技能:"抓取瓶子"——告诉模型"做什么"
- 动作标注:机械臂轨迹、关节角度、夹爪开合——告诉模型"怎么做"
一个技能可能对应多条动作轨迹(不同的抓取方式)。
可以删除已使用的技能吗?
不建议直接删除。如果某个技能不再使用:
- 归档:将技能标记为"已废弃",不再出现在选择列表中
- 保留:历史标注数据仍然关联到这个技能,导出时可以查看
- 合并:如果要合并到其他技能,使用"合并技能"功能
强制删除会导致关联的标注数据丢失技能信息,影响数据完整性。
如何导入外部技能定义?
如果你已经有一个 Excel 或 CSV 格式的技能列表:
-
准备文件,格式要求:
- 第一列:技能名称
- 第二列:技能分类
- 第三列:技能描述
-
进入技能库页面,点击"导入"
-
选择文件,映射列对应关系
-
预览导入结果,确认无误后导入
技能库支持多语言吗?
支持。你可以为每个技能添加多语言名称和描述:
- 中文:抓取_瓶子
- English: pick_bottle
- 日本語: ボトル_つかむ
标注员根据自己的语言偏好切换界面语言,技能名称会自动显示对应语言版本。
导出数据时,技能会使用创建时的主语言版本,确保数据一致性。
相关功能
完成技能库设置后,你可能还需要: