Skip to content

批次与分配

批次(Batch)是项目内一组任务的业务分组,也是分配、推进、审核和归档的基本单位。

常见用途:

  • 按数据来源分批:不同供应商、采集批次、数据域
  • 按运营节奏分批:周批、月批、活动批
  • 按难度或人员分批:新手批、高优先级批、复审批

批次状态机

当前版本的批次状态机如下:

说明:

  • active → annotatingpre_annotated → annotating 有自动路径,不需要管理员手工点状态
  • annotating → reviewing 既可能由“全量完成”自动触发,也可能由标注员主动整批送审触发
  • 当前版本尚未实现批次级“暂停 / 恢复(admin lock / unlock)”

状态语义

状态含义典型进入方式下一步
draft批次已建好,但还未正式投入生产新建批次、reset → draftowner 激活
active已准备好,可开始分派或开始标注,但尚未进入“进行中”draft → activearchived → activerejected → activepre_annotated → active标注员开始后自动转 annotating,或 owner 归档,或 AI 预标完成后转 pre_annotated
pre_annotatedAI 预标已跑完,等待人工接管AI 文本批量预标完成标注员接管后自动转 annotating,owner 也可丢弃预标结果退回 active
annotating批次处于标注进行中任一 task 进入 in_progress全部任务完成后进 reviewing,或 owner 归档
reviewing审核员开始整批复核标注员送审或系统自动推进reviewer 通过到 approved,退回到 rejected
approved审核完成,业务上通过reviewer approveowner 可归档,也可重开审核
rejected审核退回,批次需要返工reviewer reject标注员重做,或 owner 直接重新激活 / 重开审核 / 归档
archived批次结束,不再作为工作中的生产批次使用owner archiveowner 可撤销归档回 active

自动迁移与手工迁移

自动迁移

以下状态变化由系统自动驱动:

  • active → annotating 触发条件:批次内有任务进入 in_progress
  • pre_annotated → annotating 触发条件:标注员开始接管 AI 预标任务
  • annotating → reviewing 触发条件:批次内不再存在 pending / in_progress / rejected 任务

手工迁移

以下状态变化依赖用户操作:

  • owner:draft → active
  • 标注员:annotating → reviewing
  • reviewer:reviewing → approvedreviewing → rejected
  • owner 兜底逆向迁移: archived → activeapproved → reviewingrejected → reviewingrejected → activepre_annotated → active
  • owner:多数工作态都可以直接归档

角色分工

角色主要动作
项目 owner / super_admin创建批次、分配人、激活、归档、逆向迁移、终极重置
标注员在自己负责的批次上开始标注,把批次送审
审核员审核 reviewing 批次,决定通过或退回

补充:

  • owner 是批次状态机的最终兜底角色
  • 标注员不能直接把批次改成 approved / archived
  • reviewer 不负责激活、归档或终极重置

分配人员

当前批次采用“一批次一标注员 + 一审核员”的单值语义:

  • annotator_id:该批次的主标注员
  • reviewer_id:该批次的主审核员

批次创建后通常先做两件事:

  1. 指定标注员 / 审核员
  2. draft 激活到 active

如果只创建批次、不激活,它不会进入正常工作流。

批量操作

当前版本已实现的多选批量操作是:

  • 激活
  • 归档
  • 重新分配
  • 删除

说明:

  • “暂停 / 恢复”还没有上线
  • 批量激活只适用于 draft 批次
  • 批量归档、删除、改派都受当前状态和权限约束,部分批次可能成功,部分批次会被跳过或失败

批次导出

项目管理员可以按批次导出当前批次内的任务标注。图片项目沿用 COCO / YOLO / Pascal VOC;视频轨迹项目导出 Video JSON。

视频轨迹批次支持两种帧模式:

  • 关键帧:默认模式,只导出人工 / 预测关键帧。
  • 所有帧:按关键帧插值展开逐帧 bbox。

如果关闭“包含属性”,导出文件不会包含项目属性 schema,也不会包含标注属性。

退回与重做

reviewing → rejected 不是简单改一个批次状态,它还会同步影响任务:

  • review / completed 任务会被回退为 pending
  • 现有 annotation 历史会保留,不会被硬删除
  • review_feedback 会保留在批次上,供标注员查看退回原因

这意味着“批次被退回”更接近“软重开”,而不是“整批清空重做”。

终极重置到 Draft

owner 可以把任意状态批次 reset → draft。这是一个比普通逆向迁移更重的兜底动作。

它会做这些事:

  • 批次状态回到 draft
  • 批次下 task 状态统一回到 pending
  • 删除 task locks,释放现场锁
  • 清理批次 review 元数据
  • 对 AI 预标相关数据做级联清理

适用场景:

  • 批次切错了,想彻底重新来一遍
  • AI 预标结果要整批作废
  • 运营流程需要把批次回滚到“未启动”阶段

项目管理员日常操作建议

推荐节奏:

  1. 先按业务维度切出批次
  2. 再做标注员 / 审核员分派
  3. 确认有任务后再激活
  4. 标注完成进入审核
  5. 通过后归档

不推荐的做法:

  • 把所有任务都塞进一个超大批次再靠任务列表硬筛
  • annotating 中频繁手工做状态折返
  • 把“归档”当成“临时暂停”使用

当前未实现能力

以下能力在 ADR / Roadmap 中有规划,但当前版本尚未上线:

  • 批次级暂停 / 恢复(admin lock / unlock)
  • 批量暂停 / 批量恢复
  • 锁定后严格禁止新用户进入该批次

Released under the MIT License.