# Ark 重分类流水线标准化 - id: `ark-reclassify-pipeline` - kind: `tool-upgrade` - risk: `medium` - value: `high` ## 1.1 摘要 这个主题有效,不是噪音:片段里先出现了规则拆分和用户纠偏,随后多次改为 Ark 二分类/多分类并成功产出复核页、CSV、Excel、图表和 PE 样例。它反映的是一个可复用的工作流缺口:重分类任务需要从候选冻结、Ark 标注、失败补跑、清洗汇总到复核产物重生成形成标准流水线,而不是每次 ad hoc 写脚本。 ## 1.2 证据 | session_id | cwd | snippet | | --- | --- | --- | | 019dfd90-dc67-7f03-bfd8-c23ab364be52 | ~/Documents/job-bu | user: 然后在这个重新分类的任务上,你还是ark打标吧,别正则分。assistant: 先冻结 710 条候选,再用 Ark 二分类,最后让复核页读取 Ark 结果。 | | 019dfd90-dc67-7f03-bfd8-c23ab364be52 | ~/Documents/job-bu | assistant: 全量 Ark 结果完成:710/710 成功,Ark 判 类目咨询 183、保留类目/经营范围准入 527。复核页、CSV、汇总 Excel、气泡图都已重生成。 | | 019dfdc2-2e7b-7750-9b24-91131b504495 | ~/Documents/job-bu | assistant: 在 创建前/规则确认态 + 创建配置态 的 3828 条里跑四标签,命中并迁入 创建配置态 共 597 条;Ark 返回 3828 条,status=ok 全部成功。 | | 019dfd90-dc67-7f03-bfd8-c23ab364be52 | ~/Documents/job-bu | assistant: 对 4 类共 1664 条做 AI可帮忙填写 / AI不可帮忙填写 二分类,全部成功无失败,并导出总体汇总、子领域汇总、明细、PE样例。 | ## 1.3 拟议改动 1. 扩展 `/Users/bytedance/Documents/job-bu/.agents/skills/session-batch-labeler/SKILL.md`:新增 `Ark 重分类` playbook,固定步骤为候选集冻结 -> 小样本校验 -> Ark 全量标注 -> `--only-errors` 低并发补跑 -> 清洗去重 -> 汇总/复核产物重生成。 2. 扩展 `/Users/bytedance/Documents/job-bu/.agents/skills/session-batch-labeler/scripts/batch_session_label.py`:增加 `--reclassify-spec <yaml/json>` 模式,spec 内声明输入表、候选过滤条件、原标签列、目标标签枚举、输出列、复核页/Excel/CSV/图表产物路径,并生成 `manifest.json` 记录输入文件 hash、prompt 版本、模型、workers、成功/失败数。 3. 新增模板目录 `/Users/bytedance/Documents/job-bu/data-analysis-workspace/projects/_templates/ark_reclassify/`,包含 `spec.yaml`、`prompt.md`、`README.md`、`review_page_config.json` 和 `outputs/manifest.example.json`,让后续 710 条二分类、3828 条四分类、1664 条 AI 可帮忙二分类都能按同一结构复跑。 4. 补一份质量检查文档 `/Users/bytedance/Documents/job-bu/data-analysis-workspace/docs/ark_reclassify_qa.md`:要求每次重分类输出标签分布、原标签 x 新标签交叉表、随机 PE 样例、失败样本列表、是否覆盖复核页/Excel/CSV/图表重生成。需要学习并落地的概念是候选冻结、schema 约束输出、断点续跑、manifest 可追溯和人工复核闭环。 ## 1.4 示例 ## Before / After | 环节 | Before:ad hoc 重分类 | After:Ark 标准流水线 | | --- | --- | --- | | 候选确定 | 临时用正则或规则拆分,容易和用户预期不一致 | 先冻结候选集,保存候选清单和输入 hash | | 标注方式 | 每次单独写脚本,二分类/四分类口径分散 | 通过 `--reclassify-spec` 声明标签枚举、prompt、输出列,统一调用 Ark | | 失败处理 | 跑完才发现空响应、半截 JSON 或枚举不一致 | 默认写 jsonl 缓存,支持 `--only-errors` 低并发补跑和枚举标准化 | | 产物交付 | CSV、Excel、复核页、图表靠人工记忆逐个重生成 | `finalize` 阶段一次性生成明细、汇总、交叉表、PE 样例、复核页配置和 manifest | ### 标准流程样例 1. 在项目目录复制 `data-analysis-workspace/projects/_templates/ark_reclassify/spec.yaml`。 2. 在 spec 中填写输入表、候选过滤条件、原标签列、目标标签枚举和输出产物路径。 3. 先跑 sample:`batch_session_label.py --reclassify-spec spec.yaml --limit 80 --workers 4`,检查枚举、理由字段和 PE 样例。 4. 全量跑:`batch_session_label.py --reclassify-spec spec.yaml --workers 24`,大批量且 prompt 短时可升到 64。 5. 补失败:`batch_session_label.py --reclassify-spec spec.yaml --only-errors --workers 4`。 6. 收敛产物:`batch_session_label.py --reclassify-spec spec.yaml --finalize-only`,输出明细、汇总、交叉表、复核页数据和 `manifest.json`。 ### 成功信号 - Ark 返回行数等于冻结候选数。 - `status=ok` 或失败样本可解释且进入人工复核清单。 - 新标签分布、交叉表、PE 样例和复核页读取的是同一份 finalized 结果。 - 任何人可以根据 `manifest.json` 找回输入、prompt、模型、worker 参数和补跑记录。