体育爬虫基建与策略运营平台 PRD

版本:V1.3|状态:评审稿|日期:2026-07-15|产品负责人:Tang|范围:策略、Query、视频、任务、入库、版本与数据反馈

0. 执行摘要

体育爬虫基建与策略运营平台不是只展示累计量的数据大屏,而是每天用来查看和调整抓取策略的工作台。它需要回答六个问题:

  • 今天抓回多少视频,最终入库多少?
  • 哪些策略应扩量、优化、观察或暂停?
  • 一个策略的实体名单和意图如何生成 Query,哪里还没覆盖?
  • 一条入库视频能否追到策略、Query、任务和原始 URL?
  • 视频为什么被保留或拒绝?
  • 某次策略调整是否改善了抽检质量和入库量?

本轮产品判断是:首页只回答“现在怎么样、下一步做什么”;进入具体策略后,再解释 Query 怎么生成、抓回哪些视频和任务哪里失败。 技术 ID 和完整来源记录按需展开,不在管理页面制造额外概念。

数据口径: 当前网页中的总量、策略、Query、视频、任务、覆盖率、抽检和异常数字统一作为现有真实数据快照使用,统计截至 2026-07-15 11:05,页面不是实时查询。配置、审批和发布按钮用于走查操作流程,尚未触发线上爬虫;页面必须把“真实数据”和“尚未接通的操作”分开标注。

0.1 老板愿望与本 PRD 对应关系

老板愿望产品化表达本期交付
基建链路可视化一屏查看目标到入库的数量、异常与负责人抓取链路、步骤详情、来源记录
自动化,不依赖 Excel名单、意图、模板、规则和阈值进入配置库,按版本发布配置中心、发布流程、运行时只读正式配置
每一步可追踪每一步都有输入、输出、版本、状态、耗时和错误任务记录、来源记录、重跑入口
用数据优化策略、Query、任务和入库均有按日数据与视频抽检每日趋势、异常、抽检反馈
先按业务做,再平台化先跑通体育/NBA 的完整闭环,再抽象通用模块P0 业务闭环、P1 配置化、P2 平台化

一句话验收标准:任何一条入库视频都能追到策略、Query、任务和原始 URL;任何一次策略调整都能用抽检视频和前后数据判断是否有效。

0.2 双角色走查结论

本轮分别以“老板看策略”和“运营配置策略”走完主流程。两个角色看到的信息深度不同,但使用同一组数据和版本。

角色首要决策走查发现V1.3 处理完成标准
老板哪些策略扩量、优化、观察或暂停只看到数字,没有抽检质量、判断依据和下一步增加“策略建议”,同屏展示覆盖、抽检可入库率、有结果 Query、近 7 天入库、依据和下一步5 分钟内完成所有策略判断,并可点击一行查看详情
策略运营如何新增或修改策略能看 Query,但不能完整走完名单、Query、抽检、审批和恢复保留五步:范围 → 名单与意图 → Query → 处理与下载 → 检查并发布不依赖 Excel 完成草稿和提交审批;未过检查时不能发布
审批人这次调整是否可以发布调整内容、预计数量、抽检视频和恢复方式分散一张审批记录固定展示上述四项不查外部文件即可批准或驳回

核心反思:看到数字不等于能做决策,能打开 Query 也不等于能安全地修改策略。 页面既要给出下一步,也要保留可核验的来源。

0.3 本轮 UI 与交互走查结论

问题原状态V1.3 规则
入口过多左侧有 11 个入口,覆盖、Query、入库明细脱离策略后没有独立上下文收敛为 8 个入口:今日概览、策略建议、抓取链路、策略列表、内容分布、数据质量、统计说明、产品需求;Query、视频和任务放回策略详情
跳转不可分享滚动后 URL 不变,无法直接发给同事一级页面使用锚点;策略、标签页、日期和配置步骤使用可复制深链
返回键失效打开策略或切换标签后,浏览器返回不能还原位置首次打开策略新增一条历史记录;策略内切换只替换当前记录;返回一次关闭详情并回到原页面位置
可点击提示混乱动态行和静态表格都显示手型;部分可点击元素不能键盘操作只有能下钻或执行动作的元素显示手型和悬停;静态数字、分布条、状态标签和普通表格不显示可点击状态
移动端菜单不完整菜单打开后缺少遮罩和明确关闭方式增加遮罩、菜单展开状态和点击外部关闭
术语过多同时出现策略方向、策略单元、Case、血缘、灰度、Diff 等业务层只使用策略、Query、视频、任务、入库、版本;技术词只出现在开发字段和详细来源记录中

1. 背景与问题

1.1 业务背景

内容库通过不同策略持续创建体育视频抓取种子,并从 YouTube、TikTok、Instagram 抓回视频。策略逐渐由少量固定 Query 演变为“实体名单 × 意图 × 平台写法”的组合系统。

随着策略数量、实体数量和视频量增长,当前统计方式存在以下问题:

  • 总量可以看到,但无法确认每天由哪个策略贡献。
  • 策略有名称,但缺少稳定 ID、版本和统一的覆盖标准。
  • “种子目标分类”容易被误认为“视频真实内容分类”。
  • Query、任务、入库视频之间的来源记录不完整,异常无法快速定位。
  • 名单、意图、Query 模板和规则仍可能散落在 Excel 或个人文件中,运行时配置不可控。
  • 抓回视频、内容处理和下载被视为黑盒,无法定位哪一步造成损耗或延迟。
  • 同一步骤缺少明确输入、输出、版本和重试记录,调整前后无法客观比较。
  • 同一视频可能被多个 Query 抓回,策略贡献相加可能超过全局去重总量。
  • 老视频缺少新策略参数,不能硬归因给当前策略。
  • 当前静态网页无法支撑百万级视频的检索、筛选与分页。

1.2 核心问题

运营人员每天需要在 5 分钟内判断:系统是否正常、哪个策略需要处理、问题出在哪一层。管理者需要判断:策略覆盖是否完整、投入是否产生有效内容、下一轮应该补哪个方向。开发人员需要拿到可复现的 target_id、strategy_version_id、query_id、seed_id、task_id、candidate_id、processing_run_id、download_task_id 和 asset_id。

2. 产品目标与非目标

2.1 产品目标

  • 建立以策略为核心的统一统计口径和来源记录。
  • 支持按天查看每个策略的抓回、去重、入库、Query 与任务表现。
  • 自动识别下降、无结果 Query、任务失败、来源缺失和数据延迟。
  • 支持从策略汇总逐层下钻到实体、意图、Query、任务和原视频。
  • 把目标、策略、Query、抓回视频、处理、下载与入库做成一条可视、可执行的自动化管线。
  • 将实体名单、意图、模板、过滤规则和阈值从 Excel 迁移到可版本化配置库。
  • 每一步保留输入、输出、版本、耗时、状态、错误与重跑记录。
  • 支持老板、运营、产品和开发使用同一组数字进行 Review。
  • 让管理者可直接对策略做扩量、优化、观察或暂停判断,且每个建议有可追溯证据。
  • 让策略运营在系统内完成草稿、Query 检查、视频抽检、审批、先跑 10% 和恢复旧版本,避免配置失控。
  • 支撑至少 100 万视频明细的服务端筛选、分页和导出。

2.2 非目标

  • P0 不提供任意业务都能使用的通用低代码编排器;先实现体育内容的固定模块链路。
  • P0 不自动承诺内容分类准确率;没有人工标注集时只展示规则命中率或抽检结果。
  • P0 不把历史缺少策略来源的视频强行分摊到当前策略。
  • P0 不在浏览器一次性加载完整实体名单、全部 Query 或百万级视频。
  • P0 不重写底层爬虫执行器和媒体下载器;通过统一任务契约接入并补齐追踪。
  • P0 不允许 Excel 作为线上运行时依赖;Excel 仅可作为一次性导入或离线导出格式。

3. 用户与核心场景

用户每日任务需要的答案默认入口
管理者判断策略投入是否有效哪些策略应扩量、优化、观察或暂停,依据是什么策略建议、今日概览
策略运营创建、修改和发布策略名单与意图如何组合、会生成多少 Query、抽检是否过线策略配置
内容运营检查抓取质量并标注视频哪些实体或意图不足、哪些 Query 无结果策略详情、覆盖情况、原始视频
审批人批准高影响策略发布改了什么、数量如何、抽检是否过线、如何恢复提交审批
产品经理检查口径与策略设计Query 怎么生成、各层数据如何变化策略数据、Query 来源
爬虫开发定位任务异常哪个 Seed、Task 或平台失败每日数据、任务记录
数据分析校验统计与归因去重、归因、时间和版本是否一致数据质量、统计说明

4. 统一用词

日常操作页面围绕以下六个核心对象,不再新增“策略方向、策略单元、策略包”等同义词。业务目标只作为策略的范围和验收条件,不单独形成一套操作概念。

用词页面含义
策略一组长期运行的抓取配置,包含范围、实体名单、意图、平台和负责人
Query实际提交给平台搜索的文字
视频爬虫抓回的原始视频记录,保留标题、作者、平台 ID 和原始 URL
任务某条 Query 在某个平台的一次执行
入库视频通过检查、下载并写入内容库
版本某次已保存或已发布的策略配置,支持比较和恢复

实体名单和意图是策略的两个配置字段:实体名单回答“抓谁”,意图回答“想看什么”。纯享集锦、混剪集锦、画面讲解、人物故事是视频内容类型,不新增上层包装名称。

Seed、candidate_id、processing_run_id、download_task_id、asset_id、trace_id 等仅作为开发和排障字段,不作为老板或运营需要学习的新产品概念。

5. 数据链路与信息架构

目标到入库的自动化基建链路
图 1:目标、策略、Query、抓回视频、处理、下载与入库的完整链路

5.1 页面信息架构

左侧只保留 8 个入口:

  1. 今日概览:看总体量、趋势、异常和数据时间。
  2. 策略建议:按覆盖、抽检可入库率、有结果 Query 与入库量判断扩量、优化、观察或暂停。
  3. 抓取链路:看目标到入库的每一步数量和当前问题。
  4. 策略列表:横向比较覆盖、有结果 Query、任务成功率和每日入库。
  5. 内容分布:看四类内容和三个平台的构成。
  6. 数据质量:看策略来源、原始 URL、运动标签、延迟任务和重复归因。
  7. 统计说明:查看时间、去重、策略贡献和覆盖口径。
  8. 产品需求:在新标签页打开本 PRD。

Query、视频、任务和配置不再作为全局入口。用户必须先选择具体策略,再在右侧详情中查看“概览、每天、Query、视频、任务、配置”。这样可以避免进入 Query 或视频后不知道当前属于哪个策略。

5.2 默认展示原则

  • 默认展示结论、异常和可比较指标,不默认展开完整名单或全部 Query。
  • 所有可行动的异常必须能够下钻到具体 ID。
  • 所有“总量”必须标注去重、归因和时间口径。
  • 当天数据必须显示统计截至时间并标注“尚未结束”。
  • 策略目标分类与视频真实分类必须分开展示。
  • 静态数字、状态标签、分布条和普通说明不做成可点击元素。
  • 只有“打开详情、切换范围、执行操作、打开原视频”四类元素显示手型、悬停和键盘焦点。

5.3 目标态业务链路

页面固定主链路为:目标 → 策略 → Query → 抓回视频 → 内容处理 → 下载 → 入库。

阶段业务问题核心输入核心输出默认看什么
目标我们到底要补什么内容内容定义、运动范围、优先级、验收线target_version_id目标完成率、未覆盖范围
策略用哪一组方法长期完成目标实体、意图、场景、平台和阈值strategy_version_id覆盖率、贡献、异常
Query实际去平台搜什么实体、意图、场景和平台写法query_id、seed_id生成率、执行率、有结果 Query 占比
抓回视频爬虫原样抓回了什么任务返回结果candidate_id、original_url视频量、字段完整率、重复率
内容处理为什么保留或拒绝视频、规则版本、模型版本processing_run、verdict各步骤通过率、错误率、耗时
下载媒体是否真正可获得通过检查的视频download_task_id、media_ref成功率、重试、失败原因
入库最终进入内容库的是什么媒体、视频信息、所属策略asset_id、canonical_url入库量、抽检结果、后续使用

5.4 自动化管线原则

  • 运行时不读 Excel。 正式配置从数据库读取;Excel 只用于一次性导入和可审阅导出。
  • 配置发布后不可静默修改。 名单、意图、模板、规则、模型和阈值都生成版本,历史任务继续绑定原版本。
  • 每一步输入输出固定。 处理步骤有明确契约,便于替换实现而不改变上下游。
  • 重复执行不重复入库。 同一 run_id 重试不会重复创建视频、处理记录、下载任务或入库资产。
  • 失败可重试。 支持从失败步骤继续,也支持使用新版本重新处理既有视频。
  • 原始事实不覆盖。 原始标题、URL、平台 ID、任务返回和旧处理结论长期保留,新结论新增版本。

5.5 开发排障字段

每次业务运行生成一个 trace_id;每个模块执行生成 module_run_id。统一模块运行契约至少包含:

字段含义
trace_id / run_id一次端到端运行与一次调度批次
module_name / module_version模块名称和实际执行版本
input_ref / output_ref输入和输出对象引用,不把大对象重复塞进日志
statuspending、running、success、partial、failed、skipped
started_at / finished_at开始、结束和耗时
metrics_json输入量、输出量、通过率、去重率等模块指标
error_code / error_detail可聚合错误码与脱敏错误详情
retry_of / replay_reason重试来源和人工或自动重放原因

任何一条入库视频的完整开发追踪主线为:target_version_id → strategy_version_id → query_id → seed_id → task_id → candidate_id → processing_run_id → download_task_id → asset_id。这些字段只在“来源记录”和开发排障中展示。

5.6 视频抽检与数据反馈

固定运营闭环为:看策略 → 抽视频 → 看数据 → 调整策略 → 观察新一轮。

  • 看策略:先定位覆盖不足、转化下降、平台偏移或模块异常。
  • 抽视频:从问题范围内按平台、运动、Query 和处理原因分层抽样,避免只看最热或最差内容。
  • 看数据:同时看抓回、处理损耗、下载成功、入库与人工准确率。
  • 调整版本:修改实体、意图、模板、规则或阈值,填写变更原因并发布新版本。
  • 观察新一轮:对比发布前后同口径窗口,保留抽检视频和指标快照,不用单日偶然波动下结论。

5.7 先业务闭环,再平台化

P0 直接围绕体育内容和当前四类目标跑通固定链路,不先做自由拖拽式编排。P1 将 Excel 配置迁移到系统并补审批、发布和恢复旧版本。P2 在处理契约、来源记录和指标稳定后,再抽象成其他内容业务可复用的能力。

5.8 老板查看策略的流程

老板不需要逐个阅读实体名单和 Query,而是按固定次序做决策:

  1. 先确认数据时间、来源记录完整率和抽检数量是否可用。
  2. 按“优化 → 扩量 → 观察 → 暂停”阅读策略,先处理影响大且有明确动作的项。
  3. 对每个策略同时看目标覆盖、抽检可入库率、有结果 Query、近 7 天入库和每条 Query 的产出。
  4. 点击判断依据,抽查不超过 10 个代表视频、最差 Query 和版本前后对比。
  5. 确认负责人、下一动作、完成日期和复盘时间,不在线会中直接改配置。

默认判断规则:

建议动作必要证据系统行为
扩量覆盖达标或快速改善;抽检可入库率过线;有结果 Query 和单位产出不退化允许扩名单或扩意图,仍受日 Query 上限限制
优化覆盖、抽检、有结果 Query 或成本至少一项低于要求,且有可定位问题必须填写问题所在:实体、意图、模板、平台、处理或下载
观察指标处于警戒线附近或受平台短期波动影响,证据不足以改策略固定下次复查时间和观察指标,期间不改预算
暂停重复投入高、来源记录不可信、连续质量退化或投入产出显著低停止新任务,保留历史数据、任务记录和恢复入口

5.9 策略运营配置与发布流程

运营端采用固定五步向导,不提供自由拖拽编排。

步骤运营要完成的事系统自动检查输出
1. 范围选业务目标、运动/赛事范围、内容类型、平台、负责人和日 Query 上限字段完整性、权限、重名和范围冲突config_draft_id
2. 名单与意图选择实体名单和意图,设置必选、优先级和覆盖线重复实体、空名单、不适用组合和组合上限entity_intent_diff
3. Query检查组合方式、平台 Query 示例和新增/停用明细去重、模板冲突、日上限、预计成本和黑名单命中query_estimate_id
4. 处理与下载选择处理步骤、下载并发、重试和超时必要步骤不可缺失,存储配额和平台限流需可用processing_download_diff
5. 检查并发布抽检视频,确认调整数量、审批人和恢复版本Query 上限、抽检可入库率、游戏误抓率、来源记录和审批状态approval_id → strategy_version_id

默认发布要求:预计 Query 不超过日上限;至少抽检 150 条视频;抽检可入库率不低于 80%;游戏等误抓不高于 2%;所有必要处理步骤可用;恢复版本已选定;审批通过。高风险调整先执行 10%,24 小时内达到要求才扩大。

6. 功能需求

6.1 FR-01 今日概览

首页核心指标随时间范围和平台筛选切换:

  • 抓回视频数。
  • canonical URL 去重视频数。
  • 入库视频数。
  • 任务成功率。
  • 运行中策略数与异常策略数。
  • 实体覆盖率。
  • 无结果 Query 数与涉及实体数。
  • 数据延迟和最近成功同步时间。

首页趋势默认展示最近 7 天,支持切换今天、近 7 天、近 30 天。今天的数据使用条纹或“当前时点”标记,不能直接与完整昨日混用。

6.2 FR-02 策略健康度列表

列表每行代表一个策略版本,默认按异常优先级排序。字段包括:

字段说明
建议动作扩量、优化、观察或暂停;由规则生成建议,管理者可确认或修改
策略名称、范围、负责人、版本
状态草稿、运行中、需关注、已暂停、已归档
目标内容四类目标内容,可多选
实体覆盖率已覆盖实体数 / 目标实体数;覆盖标准见统计说明
抽检可入库率最近一次 150 条分层抽检中人工判定可入库的比例,同时展示样本数和时间
有结果 Query至少抓回一条视频且通过质量要求的 Query 数 / 执行 Query 数
任务成功率成功任务数 / 已结束任务数
今日入库当天当前时点的去重入库视频
日环比与昨日同一统计时点对比;日终后改为完整日对比
近 7 天入库最近 7 个自然日的去重入库视频
异常未关闭的异常数
判断依据系统对建议的一句话解释,可下钻至数据、抽检视频和版本对比
下一动作负责人可执行的具体任务、期限和下次复查时间

支持按策略、负责人、状态、运动、赛事、内容类型、平台搜索或筛选;支持只看异常、排序、分页和导出。

6.3 FR-03 策略基本信息与版本

策略详情页必须展示:

  • 稳定 strategy_id 和当前 strategy_version_id。
  • 名称、负责人、状态、生效时间、最近修改人。
  • 运动、赛事和平台范围。
  • 实体名单版本、意图版本、Query 模板版本、过滤规则版本。
  • 覆盖阈值与异常阈值。
  • 最近一次成功执行时间、最近一次数据固化时间。

历史统计必须绑定当时的策略版本。切换版本时,页面同时切换对应的名单、Query 和统计,不允许用当前版本覆盖历史。

6.4 FR-04 策略每日数据

每个策略提供按日查看入口,默认最近 7 天,支持近 30 天和自定义日期范围。趋势指标可切换:

  • 抓回视频。
  • 去重视频。
  • 入库视频。
  • 执行 Query。
  • 无结果 Query。
  • 任务成功率。
  • 有结果 Query 占比。

每日明细表至少包含日期、抓回视频、去重视频、入库视频、执行 Query、有结果 Query 占比、任务成功率和失败任务。点击某一天进入该日任务记录,筛选状态通过 URL 参数保留。

支持与前一周期对比。对比基线默认为前 7 天同星期,近 30 天页面可选择前 30 天或过去 4 周同星期中位数。

6.5 FR-05 策略到入库的数量

按固定步骤展示策略从名单到最终入库的数量,并明确每一步口径:

  1. 策略目标与目标实体。
  2. 实体 × 意图组合。
  3. 生成并实际执行的 Query。
  4. 任务抓回视频。
  5. 视频去重。
  6. 通过可访问性、黑名单和游戏过滤。
  7. 识别为目标内容类型并补齐标签。
  8. 下载成功。
  9. 最终入库。

每一步提供转化率与环比。任何一步下降均可查看由哪些平台、实体或 Query 造成。

6.6 FR-06 名单与意图覆盖情况

表格每个数字表示一个 entity_id × intent_id 组合:

  • 绿色:有效视频数达到覆盖阈值。
  • 黄色:有结果但低于阈值。
  • 红色:已执行但没有抓回视频。
  • 灰色:未生成或不适用。

默认阈值为最近 30 天至少 5 条去重有效视频,可由策略配置。页面支持实体层级、现役/退役、赛事、内容类型和平台筛选。

6.7 FR-07 Query 链路

Query 默认按“实体 × 意图”聚合,避免一次展示数万条平台 Query。展开后显示:

  • 语义组合与大白话生成配方。
  • 平台 Query 原文和 query_id。
  • 模板版本、语言、平台、创建时间。
  • 执行次数、抓回视频、去重视频、入库视频和转化率。
  • 对应 seed_id、task_id 和最近失败原因。

Query 需要区分“已生成”“等待执行”“已执行”“有结果”“无结果”和“已停用”。

6.8 FR-08 视频明细与人工标注

视频明细支持服务端搜索、筛选、分页,字段包括:

  • 标题、作者、平台、发布时间和视频 ID。
  • canonical URL 与原始平台 URL。
  • 播放量、点赞量及抓取时间。
  • 种子目标内容类型与内容识别类型。
  • 所属策略、Query 和任务;开发排障时可展开内部 ID。
  • 入库状态、过滤原因、人工结论和标注人。

人工可标注“可入库、不可入库、待确认”,并选择原因。标注仅改变审核结论,不改写最初抓回的视频记录。

6.9 FR-09 数据质量

每日监控以下完整性:

  • 策略来源完整率。
  • 原始 URL 完整率。
  • canonical URL 生成率。
  • 运动标签完整率。
  • 内容类型识别覆盖率。
  • 延迟任务与卡死任务。
  • 多 Query 重复归因率。
  • 日事实表与资产明细对账差异。

每项质量指标支持查看缺失明细并导出,不允许只展示一个无法解释的百分比。

6.10 FR-10 分享与导出

  • 所有筛选状态写入 URL,支持直接分享固定视图。
  • 列表支持导出当前筛选结果,导出任务异步执行。
  • 大于 10 万行时只允许异步导出并通过通知中心领取。
  • 导出文件必须携带统计时间、时区、去重口径、策略版本和筛选条件。

6.11 FR-11 基础能力链路总览

页面以一条连续链路展示目标、策略、Query、抓回视频、内容处理、下载和入库。每个步骤展示数量、相邻转化率、异常数、最近运行时间和负责模块。点击后展示输入、输出、版本、运行状态、失败原因和任务样例;点击数量可进入对应明细。

全链路支持按日期、目标、策略、运动、平台和内容类型筛选。所有节点共享同一筛选上下文,禁止不同模块各自使用无法对账的时间和去重口径。

6.12 FR-12 配置中心与发布

系统内维护以下配置,不允许线上运行依赖本地 Excel:

  • 目标范围、策略和验收阈值。
  • 实体名单、实体层级和生效区间。
  • 意图、场景、平台 Query 模板和语言规则。
  • 黑白名单、游戏排除词、去重和可访问性规则。
  • 内容识别模型、阈值和元数据富集映射。
  • 下载策略、并发、限流、重试和超时。

每次编辑形成草稿,发布前展示影响范围和预计新增 Query,发布后生成不可变版本;支持恢复到上一稳定版本。一次性 Excel 导入必须经过字段校验、变更预览和人工确认,导入完成后系统只使用数据库版本。

配置中心必须同时提供当前生效版本、当前草稿、上次稳定版本和预计影响。运营修改任何配置后,系统实时重算实体数、必选组合数、去重 Query 数、预计每日 Seed/Task 数、预计下载量和存储量。估算结果带 estimate_id 和输入版本,确保审批人看到的就是待发布内容。

配置页不默认铺开所有名单和 Query;首层展示数量、变更、门槛和代表样例,详细名单、全部 Query 和字段级变更通过搜索、分页或导出查看。

6.13 FR-13 任务运行记录

每个模块提供运行列表和单次运行详情,支持按状态、版本、日期、策略和错误码筛选。单次运行展示事件时间线、输入输出数量、耗时、重试、跳过原因以及关联对象 ID。失败模块可从原输入重试;产品或运营重新执行时必须填写原因并保留新旧结果。

6.14 FR-14 内容处理与下载

默认内容处理顺序为:字段解析与可访问性 → canonical 规范化与去重 → 黑名单和游戏过滤 → 内容类型识别 → 运动、赛事、球队、球员等元数据富集 → 质量判定。每一步独立记录结论,不允许只保存最终“通过/拒绝”。

下载模块负责队列、平台限流、指数退避重试、媒体校验、存储引用和终态同步。下载失败不得删除候选与处理事实;达到重试上限后进入人工或定时重试队列。

6.15 FR-15 视频抽检与数据迭代

策略详情提供固定抽检入口,可按平台、运动、Query、处理原因和时间分层随机抽样。人工标注可入库、不可入库或待确认,并记录原因。每个策略版本展示发布前后同口径指标、抽检准确率和差异视频,帮助判断是扩大抓取、调整规则还是修改 Query。

6.16 FR-16 策略建议

系统按固定规则为每个策略生成“扩量、优化、观察、暂停”建议,同时输出证据和下一动作。建议只是决策辅助,管理者确认或修改后才写入操作记录。

策略建议默认只展示必要依据:目标覆盖、最近一次抽检可入库率、有结果 Query、近 7 天入库、每百 Query 入库、数据时间和核心问题。任一依据不可用时,页面显示“依据不足”,不自动给出扩量建议。

管理者可查看建议规则版本、确认动作、指定负责人和到期时间,但无权直接绕过配置、抽检和审批修改线上策略。

6.17 FR-17 发布前检查、审批与恢复

  • 抽检按内容类型、平台、实体等级、意图、新增 Query、无结果风险和高误抓风险分层,不允许只随机抽最热内容。
  • 默认样本数为 150;影响 Query 超过 5 万、新增运动或新增处理模块时,样本数提高到至少 500。
  • 审批记录必须包含配置变更、预计 Query、成本/资源预估、抽检结果、检查结论、先跑 10% 的方案和恢复版本。
  • 发布后先执行 10%,与上一稳定版本对照;监控任务成功率、有结果 Query、抽检可入库率、游戏误抓、下载成功率和单位 Query 产出。
  • 任一阻断指标突破停止线时自动停止新任务,5 分钟内恢复上一稳定版本;新版本已生成的数据和来源记录不删除。

6.18 FR-18 导航、锚点与返回

一级页面必须支持以下锚点:

页面锚点
今日概览#overview
策略建议#review
抓取链路#pipeline
策略列表#strategies
内容分布#distribution
数据质量#quality
统计说明#contract

策略详情使用 #strategy/{strategy_id}/{tab},其中 tab 仅允许 overviewdailyqueryvideosrunsconfig。任务日期可追加为 #strategy/{strategy_id}/runs/{YYYY-MM-DD};配置步骤可追加为 #strategy/{strategy_id}/config/{scope|entities|queries|processing|release}

交互规则:

  • 点击一级导航后平滑滚动到对应锚点,并更新左侧选中状态和 URL。
  • 手动滚动时只更新左侧选中状态,不连续写入浏览器历史。
  • 第一次打开策略详情时新增一条浏览器历史;详情内切换标签、日期、Query 或配置步骤时替换当前历史,不堆积返回层级。
  • 浏览器返回一次应关闭策略详情并回到打开前的一级页面。
  • 直接打开策略深链时必须恢复策略、标签页、日期或配置步骤;无效 ID 回退到默认策略概览并显示提示。
  • 点击关闭按钮、遮罩或按 Escape 均关闭详情;关闭后焦点返回触发元素。
  • 详情打开时,Tab 焦点不得离开右侧详情;移动端菜单打开时显示遮罩,点击遮罩关闭。

7. 指标口径

7.1 核心结果指标

指标字段名公式去重与归因
抓回视频raw_recall_count任务返回的视频记录数不去重,可按 Query 多重计数
去重视频canonical_dedup_countdistinct canonical_asset_key全局按 canonical URL / 平台视频 ID 去重
基础过滤通过base_filter_pass_count去重后通过黑名单、可访问性等规则规则版本化
目标类视频target_classified_count内容识别为目标类型的视频可多标签;需标注分类版本
入库视频valid_ingest_count去重且状态为 ready/available 的视频策略内去重;跨策略可多重归因
策略贡献strategy_attributed_countdistinct strategy_id + canonical_asset_key各策略相加可大于全局总量
抓回记录candidate_count任务原样返回并成功保存的记录数原始层不去重,保留 task_id
处理通过processing_pass_count完成全部必选模块且 verdict=pass按 processing_policy_version 统计
下载成功download_success_count下载终态为 success 且媒体校验通过download_task_id 唯一

7.2 执行与覆盖指标

指标公式说明
Query 执行率executed_query_count / generated_query_count生成后是否真正被调度执行
有结果 Querynonzero_query_count / executed_query_count至少抓回 1 条视频的 Query 占比
达标 Queryeffective_query_count / executed_query_count默认至少产生 1 条去重入库视频,可配置
抽检可入库率review_pass_count / reviewed_decided_count待确认不进分母;必须同时展示样本数、抽样方式与数据时间
游戏内容误抓率false_sport_recall_count / reviewed_count游戏、动画或其他非真人体育误抓;发布默认要求 ≤ 2%
每百 Query 入库valid_ingest_count / executed_query_count × 100衡量策略扩量效率,不以抓回量代替
单条入库视频成本策略计算资源成本 / valid_ingest_count成本包含爬虫任务、模型、下载与存储;P0 先完成可归集记账
跨策略重叠率被多个策略抓到的去重视频 / 该策略去重视频用于发现重复投入,不直接删除同一视频的多策略来源
任务成功率successful_task_count / finished_task_countrunning 与 pending 不进入分母
实体覆盖率covered_entity_count / target_entity_count实体至少有一个必选意图达标
实体意图覆盖率covered_entity_intent_count / required_entity_intent_count每个必选组合达到 N 条有效视频
抓回到入库转化valid_ingest_count / raw_recall_count用于判断处理损耗,不代表内容准确率
模块通过率module_output_pass_count / module_input_count每个处理模块独立统计,跳过需单列
模块错误率failed_module_run_count / finished_module_run_count业务拒绝不等于系统错误
下载成功率successful_download_count / finished_download_countpending、running 不进入分母
端到端周期asset_available_at - task_created_at同时展示 P50、P90、P95
日环比(today - yesterday_same_cutoff) / yesterday_same_cutoff当天未结束时必须使用同一时点

7.3 数据质量指标

指标公式目标
策略来源完整率有 strategy/query/seed/task 的入库视频数 / 应记录来源数≥ 98%
原始 URL 完整率original_url 非空视频 / 视频总数≥ 99.5%
运动标签完整率sport_id 非空归因数 / 应带标签归因数≥ 98%
日事实对账差异abs(日事实汇总 - 明细重算) / 明细重算≤ 0.5%
数据新鲜度当前时间 - 最近成功聚合时间≤ 20 分钟
任务记录完整率有 input/output/version/status 的 module_run / 应执行 module_run≥ 99%
下载归因完整率有 candidate、processing、download、asset 关联的成功下载 / 成功下载≥ 99%

7.4 时间口径

  • 默认时区:Asia/Singapore。
  • 默认日期字段:首次成功入库时间 first_ingested_at。
  • 抓回视频趋势可切换 task_finished_at,但不能与入库趋势混算。
  • 当天每 15 分钟增量聚合;D-1 于次日 02:00 固化。
  • 迟到数据允许回补 D-2 至 D-7,必须记录 revision_at 和 revision_reason。

8. 异常规则

异常默认触发条件严重度处理入口
策略未运行当日计划时间后 30 分钟仍无 Task策略运行记录
任务失败任务成功率低于 95%失败 Task 列表
入库骤降今日同时间较过去 7 天同时间中位数下降 30%策略每日趋势
无结果 Query 集中有结果 Query 占比低于 80% 或无结果 Query ≥ 20策略内 Query
覆盖不足实体意图覆盖率低于策略目标 10pp策略覆盖情况
平台偏移单平台占比较 7 日均值变化超过 20pp平台构成
策略来源缺失策略来源完整率低于 98%数据质量明细
URL 缺失原始 URL 完整率低于 99.5%视频明细
数据延迟最近聚合成功时间超过 20 分钟聚合任务监控

异常支持确认、忽略至某日、关闭和备注;所有动作写入审计日志。阈值按策略版本配置,全局阈值只作为默认值。

9. 数据模型

本章开始出现的英文表名和字段名只用于研发实现和排障,不是页面需要新增的产品概念。

9.1 维表与关系表

主键关键字段用途
dim_targettarget_idname, owner_id, status稳定业务目标身份
dim_target_versiontarget_version_idtarget_id, scope_json, acceptance_json, effective_from/to目标范围与验收快照
dim_strategystrategy_idname, owner_id, status稳定策略身份
dim_strategy_versionstrategy_version_idstrategy_id, version, effective_from/to, config_json保存历史配置快照
dim_config_draftconfig_draft_idstrategy_id, base_version_id, draft_json, status, editor_id保存未发布配置和当前编辑状态
bridge_strategy_entityversion_id + entity_idrequired, tier, valid_from/to策略使用的实体名单
bridge_strategy_intentversion_id + intent_idrequired, coverage_threshold策略使用的意图与阈值
dim_query_reciperecipe_identity_id, intent_id, context_json, template_version语义组合与生成配方
dim_platform_queryquery_idrecipe_id, platform, query_text, status实际平台 Query
dim_processing_policyprocessing_policy_versionordered_modules, required_flags, thresholds内容处理编排与阈值
dim_module_versionmodule_version_idmodule_name, implementation_ref, config_json可执行模块版本
dim_download_policydownload_policy_versionconcurrency, timeout, retry_json, storage_target下载策略版本
dim_release_policyrelease_policy_idsample_rule, gates_json, canary_rule, rollback_rule统一抽检、审批、先跑比例和恢复规则

9.2 事实表

粒度关键字段保留策略
fact_crawl_task每个 Tasktask_id, seed_id, query_id, status, counts, error_code长期保留
fact_content_candidate每个 Task 返回候选candidate_id, task_id, platform_id, original_url, raw_payload_ref长期保留原始事实
fact_module_run每个候选 × 模块执行module_run_id, trace_id, module_version_id, input_ref, output_ref, status, error_code长期保留
fact_processing_run每个候选 × 处理策略processing_run_id, candidate_id, policy_version, verdict, reason_codes长期保留
fact_download_task每个下载任务download_task_id, candidate_id, policy_version, status, retry_count, media_ref, checksum长期保留
fact_asset_attribution每个 Asset × Queryasset_id, canonical_key, strategy_version_id, query_id, seed_id, task_id长期保留
fact_strategy_daily每日 × 策略版本 × 平台raw, dedup, valid, query, task, coverage每日快照
fact_query_daily每日 × Queryexecute, recall, dedup, valid, zero_flag每日快照
fact_module_daily每日 × 模块版本 × 范围input, pass, reject, fail, skip, latency_percentiles每日快照
fact_download_daily每日 × 平台 × 策略created, success, failed, retried, latency_percentiles每日快照
fact_data_quality_daily每日 × 质量项 × 范围numerator, denominator, issue_count每日快照
fact_manual_review每次人工标注asset_id, verdict, reason, reviewer, reviewed_at长期保留
fact_review_sample每个抽检批次sample_id, strategy_version_id, sample_rule_json, before_after_window长期保留
fact_query_estimate每次草稿预估estimate_id, config_draft_id, input_versions, generated, deduped, daily_budget, cost_estimate至少保留 2 年
fact_sample_run每次发布前抽检sample_run_id, config_draft_id, stratification_json, sample_size, verdict_metrics长期保留
fact_strategy_release每次提交、审批、发布或恢复release_id, draft_id, approval_id, from/to_version_id, status, canary_percent, rollback_reason长期保留
fact_strategy_decision每次管理者决定decision_id, strategy_id, suggested_action, confirmed_action, evidence_snapshot, owner, due_at长期保留
fact_strategy_budget_daily每日 × 策略版本query_budget, executed_query, task_cost, model_cost, download_cost, storage_cost每日快照

9.3 唯一键与索引

  • 入库视频的全局唯一键优先使用 platform + platform_video_id;缺失时使用规范化 original_url 哈希。
  • fact_asset_attribution 唯一键为 asset_id + query_id + first_task_id。
  • fact_strategy_daily 唯一键为 stat_date + strategy_version_id + platform。
  • fact_content_candidate 唯一键优先为 task_id + platform_video_id,缺失时使用 task_id + original_url_hash。
  • fact_module_run 唯一键为 trace_id + candidate_id + module_version_id + attempt_no。
  • fact_download_task 通过 idempotency_key 防止重试重复创建任务或入库视频。
  • fact_query_estimate 使用 config_draft_id + draft_revision 唯一,配置再次修改后必须重新估算。
  • fact_sample_run 和 fact_strategy_release 必须绑定同一 draft_revision,防止用旧抽检批准新配置。
  • 视频检索索引至少包含 strategy_id、query_id、sport_id、content_type、platform、status、first_ingested_at。
  • 所有事实表保留 created_at、updated_at、source_updated_at 和 revision_at。

10. 技术与存储方案

10.1 数据职责

  • PostgreSQL:策略、版本、来源记录、任务和日事实表的事实来源。
  • Elasticsearch:百万级视频标题、URL、标签、ID 和状态检索。
  • 对象存储:候选原始 payload、大字段处理产物、下载媒体和校验结果。
  • 队列/工作流:串联 Query 调度、候选落盘、处理模块、下载与入库,支持重试和重放。
  • 聚合任务:每 15 分钟计算当天增量,凌晨固化历史日事实。
  • Cloudflare Pages:承载前端静态资源,不保存百万级明细。
  • Cloudflare Worker 或现有后端 API:鉴权、汇总查询、服务端分页和导出任务。

10.2 为什么不能继续使用单 HTML 数据文件

  • 百万级 JSON 会导致首次加载、内存和搜索性能不可接受。
  • 静态数据无法保证当天增量、迟到修订和权限控制。
  • 浏览器端筛选无法稳定执行跨表归因和 canonical 去重。
  • 原始 URL、用户标注和内部 ID 不应无鉴权公开发布。

10.3 聚合策略

  1. 任务完成后写入任务事实和入库视频来源。
  2. 增量任务按 strategy_version_id、platform 和日期更新当日事实。
  3. 每日 02:00 重算 D-1 并固化。
  4. 每日对账任务使用明细重算结果与日事实表比较。
  5. D-2 至 D-7 迟到数据触发可追踪修订。
  6. 模块完成后写入 module_run 和业务对象状态,再通过事件触发下一模块。
  7. 配置发布采用版本号;运行开始时固化本次实际使用的全部版本,途中不热替换。

11. API 需求

接口用途关键参数
GET /api/dashboard/summary首页汇总与趋势from, to, platform, sport, content_type
GET /api/strategy-review管理决策表、建议动作和证据摘要as_of, owner, action, confidence, page
POST /api/strategy-decisions确认或修改系统建议,分派下一动作strategy_id, action, owner, due_at, note
GET /api/pipeline/summary目标到入库各阶段数量、转化和异常from, to, target_id, strategy_id, platform
GET /api/traces/{trace_id}端到端事件时间线与模块输入输出include_payload, include_retries
GET /api/strategies策略健康列表date, status, owner, anomaly_only, sort, page
GET /api/strategies/{id}策略基本信息与版本version_id
GET /api/strategies/{id}/daily每日趋势与明细from, to, platform, metric
GET /api/strategies/{id}/coverage实体 × 意图矩阵version_id, entity_type, intent_id
GET /api/strategies/{id}/queriesQuery 聚合与平台 Querydate, entity_id, intent_id, platform, page
GET /api/queries/{id}/assetsQuery 对应视频status, content_type, page, page_size
GET /api/tasks运行记录date, strategy_id, query_id, status
GET /api/candidates抓回视频列表task_id, strategy_id, processing_status, page
GET /api/processing-runs内容处理记录module, version, verdict, reason, page
GET /api/download-tasks下载任务与失败原因platform, status, error_code, page
GET /api/data-quality质量汇总与问题明细date, issue_type, scope, page
POST /api/assets/{id}/review写入人工标注verdict, reason_code, note
GET /api/review-samples抽检批次、样本与前后对比strategy_version_id, status, page
POST /api/config-drafts创建配置草稿target, strategy, entities, intents, templates, rules
PUT /api/config-drafts/{id}更新配置草稿并生成新 revisionexpected_revision, patch, change_reason
POST /api/config-drafts/{id}/estimate预估组合、Query、Task、下载与资源影响revision, platforms, horizon
POST /api/config-drafts/{id}/sample-runs创建发布前分层抽检revision, sample_size, stratification_rule
POST /api/config-drafts/{id}/submit-approval锁定草稿、估算与抽检并生成审批单revision, estimate_id, sample_run_id, approver
POST /api/approvals/{id}/decision审批通过或驳回decision, note
POST /api/releases/{id}/canary先跑部分配置并创建观察窗口percent, monitor_window, gate_policy_id
POST /api/strategy-versions/{id}/rollback停止新 Seed 并恢复上一稳定版本target_version_id, reason, release_id
POST /api/module-runs/{id}/replay从原输入重放指定模块target_version, reason
POST /api/exports创建异步导出view, filters, columns

所有列表接口使用服务端分页,默认 page_size=50,最大 200。接口响应统一返回 data_as_of、timezone、counting_contract、strategy_version_id 和 next_cursor。

12. 权限与审计

角色查看汇总原始 URL标注编辑草稿提交审批审批/发布导出
管理者按风险级别
策略运营
内容运营
开发仅紧急恢复
访客脱敏汇总

查看原始 URL、导出、人工标注、异常关闭和策略修改均写入 audit_log。生产页面不得公开暴露内部 ID 与原始 URL。

13. 交互与状态要求

13.1 什么可以点击

元素是否可点点击结果URL 是否变化
左侧一级导航平滑滚动到页面锚点,并更新选中状态是,写入一级锚点
策略建议整行打开该策略概览是,写入策略深链
策略列表整行打开该策略概览是,写入策略深链
待处理问题打开对应策略的概览、每天或 Query;数据质量问题跳到数据质量
抓取链路步骤在当前卡片下方切换该步骤的输入、系统处理、输出和当前情况否,不离开当前页面
覆盖数字带入实体和意图,打开 Query是,替换当前策略深链
每日图表日期、每日表格行打开该日期的任务记录是,记录日期
Query 行打开该 Query 抓回的视频是,切换为视频标签
原始视频链接在新标签页打开原平台 URL否,当前页面保持不变
配置步骤切换当前编辑步骤是,记录配置步骤
筛选、搜索、导出、新建、保存、抽检、提交执行对应操作并给出反馈按操作类型决定

13.2 什么不可以点击

  • 首页六个核心数字只用于查看,不打开详情,也不显示手型。
  • 状态标签、建议标签、内容类型标签、覆盖进度条和分布条不可点击。
  • 静态说明表、统计说明和配置对比表不可点击,不使用整行悬停。
  • 来源记录中的技术 ID 在 P0 只用于查看;复制功能单独使用复制按钮,不让每个 ID 都变成链接。
  • 不存在目标页面或没有上下文的入口不得保留;因此不提供全局“覆盖、Query、入库明细”入口。

13.3 视觉与反馈

  • 可点击行使用轻微背景变化,并在文字区展示“查看 →”;静态行没有悬停变化。
  • 所有按钮和链接都有 :hover:active 和可见的 :focus-visible
  • 页面锚点保留顶部 78px 安全距离,不被固定顶栏遮住。
  • 策略详情打开后焦点进入关闭按钮;关闭后返回原触发元素。
  • 操作成功使用页面右下角短提示,不使用浏览器 alert;失败在操作位置显示原因和重试按钮。
  • 当前数据为固定快照时,页头显示“真实数据快照”和统计截至时间;未接通线上执行的按钮统一使用“生成预览”等文案,反馈必须明确写“未写入线上、未提交审批、不会触发爬虫”。

13.4 浏览器与移动端

  • 浏览器前进和返回必须恢复一级锚点或关闭策略详情,不得出现空白页或错误策略。
  • 复制策略深链到新窗口,必须直接恢复同一策略和标签页。
  • 策略详情为模态侧栏,打开时背景不可操作;Tab 焦点限制在侧栏内,Escape 可关闭。
  • 移动端侧栏占满宽度;主菜单打开时显示遮罩,点击遮罩或导航项关闭菜单。
  • 大表只允许表格容器横向滚动,页面本身不得横向溢出;最长按钮文案必须换行或缩短。

13.5 数据状态

  • Loading:使用与表格和图表结构一致的骨架屏。
  • Empty:区分“筛选无结果”“策略未运行”“尚未生成 Query”。
  • Error:展示可复制 request_id,并支持重试。
  • Partial:当天与仍在运行的任务使用“当前时点”状态。
  • Stale:数据超过 20 分钟未更新时,顶部状态栏变为警告。
  • Pagination:视频与 Query 明细必须服务端分页。
  • 配置步骤保留草稿和当前步骤;页面离开前提示未保存改动。
  • 名单、意图、模板或平台变化后延迟 300ms 重算 Query;超出日上限时指出最大增量来源。
  • 未过发布前检查时,发布按钮禁用,并说明负责人、修复入口和下次检查条件。

14. 非功能需求

类别要求
性能首页 P95 ≤ 2 秒;策略详情 P95 ≤ 2.5 秒;明细翻页 P95 ≤ 2 秒
估算性能1.5 万 Query 以内的草稿影响预估 P95 ≤ 5 秒;更大估算转异步任务
数据量支撑 100 万视频、10 万 Query、1 万实体和 2 年日事实
新鲜度当天数据延迟 ≤ 20 分钟
可用性月可用性 ≥ 99.5%
一致性首页、策略详情与导出使用同一事实表和口径版本
发布一致性估算、抽检、审批和发布必须绑定同一 config_draft_id + revision;不一致时整单失效
可追溯汇总数字可追到目标和策略版本;明细可追到 Query、任务、抓回视频、处理、下载与入库
幂等同一幂等键重复执行不创建重复视频、下载任务或入库记录
重试可重试错误自动指数退避;达到上限后进入死信与人工处理
可重放使用原输入与指定新版本重放,旧结果不可覆盖且新旧可比较
可观测模块输出数量、通过率、错误率、P50/P90/P95 耗时和队列积压可监控
发布安全先跑数据最长延迟 5 分钟;突破停止线后 1 分钟内停止新任务,5 分钟内恢复上一版本
安全鉴权后访问;原始 URL 与内部 ID 不在公开静态文件中

15. 埋点与运营日志

需要记录以下产品事件:dashboard_view、strategy_review_view、strategy_decision_confirm、pipeline_stage_open、trace_open、filter_change、strategy_open、daily_metric_change、coverage_cell_open、query_open、candidate_open、module_run_open、download_task_open、replay_create、original_url_open、review_submit、config_draft_create、config_draft_save、query_estimate_create、sample_run_create、approval_submit、approval_decision、canary_release、config_publish、strategy_rollback、export_create、anomaly_acknowledge。

埋点用于判断哪些统计真正被使用,不用于替代业务事实表。

16. 上线阶段

P0:体育业务闭环真实运行

  • 以体育/NBA 现有策略为第一条真实链路,建立目标、策略稳定 ID 和版本。
  • 接通 Query、任务、抓回视频、内容处理、下载和入库的端到端来源记录。
  • 建立 strategy_daily、query_daily、module_daily、download_daily、data_quality_daily 事实表。
  • 接通抓取链路、策略列表、每日趋势、覆盖情况、Query、抓回视频、处理、下载和视频抽检。
  • 接通策略建议,展示覆盖、抽检、有结果 Query、入库、判断依据和下一步。
  • 建立策略草稿、Query 检查和分层抽检最小能力,线上运行不再直读 Excel。
  • 完成真实 URL 鉴权、服务端分页、导出、数据对账和关键模块重试。

P1:配置脱离 Excel,可运营

  • 建立目标、策略、实体、意图、模板、规则和下载策略配置中心。
  • 支持完整五步配置、变更预览、分层抽检、审批、先跑 10%、自动恢复和一次性 Excel 校验导入。
  • 增加异常确认、关闭、备注和通知。
  • 增加人工视频标注和抽检统计。
  • 增加策略与处理版本对比、配置变更记录和指定模块重放。
  • 增加 30 天、自定义日期和前周期对比。

P2:平台化与数据优化

  • 计算实体和意图边际贡献。
  • 自动发现重复 Query、低效 Query 和平台偏移。
  • 基于覆盖缺口建议新增实体、意图或 Query。
  • 抽象通用目标、策略、Query、处理模块和下载契约,支持其他内容业务接入。
  • 基于抽检视频和前后数据给出规则、模板、模型和下载策略优化建议。

17. 验收标准

  • 任一策略可查看连续 7 天逐日数据,日汇总与明细重算差异不超过 0.5%。
  • 管理者能在 5 分钟内完成所有运行策略的扩量、优化、观察或暂停判断,每个判断均可下钻到指标、抽检视频和 Query。
  • 策略运营可从“新建策略”完成范围、名单与意图、Query、处理与下载、检查并提交审批,全程不直读 Excel。
  • 预计 Query 超过日上限、抽检未完成、抽检可入库率低于 80%、游戏误抓高于 2% 或未设恢复版本时,无法发布。
  • 审批人可在一张审批记录中看到配置变更、预计 Query、分层抽检、预计资源、先跑 10% 和恢复方案。
  • 先跑 10% 时突破停止线,1 分钟内停止新任务,5 分钟内恢复上一稳定版本,新旧数据均可追溯。
  • 任一策略汇总可追溯到 strategy_version_id。
  • 任一 Query 可追溯到 seed_id、task_id、candidate_id、processing_run_id、download_task_id、asset_id 和原始 URL。
  • 任一入库视频可反向追到目标、策略、Query、抓回记录、各处理步骤、下载和实际使用版本。
  • 线上运行时不读取本地 Excel;一次性导入必须校验、预览差异并发布为正式版本。
  • 每个处理步骤记录输入引用、输出引用、版本、状态、耗时、错误和重试关系。
  • 内容处理明细能分别解释可访问性、去重、黑名单、游戏排除、分类、富集和质量判定结果。
  • 下载任务能查看成功率、重试次数、失败原因、媒体引用与校验结果。
  • 策略调整可创建固定抽检批次,并展示发布前后同口径数据和视频差异。
  • 同一视频被多个 Query 抓回时,全局总量只计一次,Query 贡献可多重归因且页面明确提示。
  • 当天数字展示统计截至时间,日环比使用昨日同一时点。
  • 历史缺少策略来源的视频不进入当前策略覆盖率。
  • 策略每日趋势支持指标切换、前周期对比和按日下钻。
  • 数据质量问题可查看具体明细并导出。
  • 100 万视频规模下,明细使用服务端分页且页面不一次性加载全量数据。
  • 桌面和移动端无页面级横向溢出,原始 URL 可在有权限时正常打开。
  • 八个左侧入口均能跳到正确锚点,固定顶栏不遮挡标题,左侧选中状态随导航和滚动正确变化。
  • #strategy/nba-player/query#strategy/nba-player/runs/2026-07-15#strategy/nba-player/config/queries 可在新窗口直接恢复对应详情。
  • 从一级页面打开策略后,浏览器返回一次关闭详情并回到原页面;详情内切换标签不会增加额外返回层级。
  • 策略建议行、策略列表行和每日表格行支持 Enter 与 Space;覆盖格子、Query 行和每日图表日期使用原生按钮。
  • 静态核心数字和配置说明表的鼠标样式为默认,不能出现虚假可点击反馈。
  • 移动端菜单有遮罩,详情宽度等于视口宽度,Tab 焦点不离开详情。

18. 风险与待决策

  1. “入库视频”最终采用 ready、available 还是人工通过状态,需要内容库统一定义。
  2. 四类内容是否互斥;若多标签,管理汇总应采用主标签还是允许总和超过总量。
  3. 实体覆盖阈值是否统一为 5 条,还是按实体等级和内容类型配置。
  4. 老视频是否只保留“历史未归因”,还是允许通过离线模型补归因并标记置信度。
  5. “有结果 Query”是否只要求至少 1 条视频,还是增加 7 天最小入库贡献与抽检条件。
  6. 当前策略版本变更后,覆盖率的基线从生效日重新计算还是保留跨版本对比。
  7. 原始 URL 与内部 ID 的查看和导出权限由谁审批。
  8. P0 现有调度器和下载器能否原生透传 trace_id、幂等键与版本;若不能,需要适配层。
  9. 哪些处理步骤属于阻断型,哪些只打标签;跳过和人工放行是否进入入库。
  10. 配置发布由产品、运营还是开发审批,不同风险等级是否需要双人确认。
  11. 爬虫任务、模型、下载和存储成本能否按 strategy_version_id 归集;若不能,“单条入库视频成本”只能暂停对外展示。
  12. 默认抽检 150 条是否足以支撑四类内容和三平台分层;需根据真实标注计算置信区间后调整。
  13. 审批时限和紧急恢复权限由谁承担;若审批长期等待,运营会回到线下文件绕过系统。
  14. 系统生成的“扩量/优化/观察/暂停”建议在哪些证据缺失时必须降级为“证据不足”,不能为了填满决策表而虚假确定。

19. 本轮 V1.3 已完成内容

  • 页面现有数字统一按截至 2026-07-15 11:05 的真实数据快照呈现;配置按钮明确标注尚未触发线上任务。
  • 左侧入口由 11 个收敛为 8 个;Query、视频、任务和配置统一放回具体策略详情。
  • 业务层统一使用策略、Query、视频、任务、入库、版本,不再新增策略方向、策略单元等同义词。
  • 一级页面增加固定锚点;策略、标签页、任务日期和配置步骤支持可复制深链。
  • 浏览器返回可关闭策略详情并回到原页面;策略内切换标签不堆积返回历史。
  • 策略建议行、策略列表行、覆盖数字、日期和 Query 均可下钻,并补齐键盘操作和焦点恢复。
  • 静态数字、状态标签、分布条和普通表格不再显示手型或虚假悬停。
  • 移动端菜单增加遮罩,策略详情增加焦点限制,页面和表格无页面级横向溢出。
  • 新增常驻“统计说明”和可展开的数据质量明细,替代只显示几秒的提示。
  • 配置步骤文案收敛为:范围、名单与意图、Query、处理与下载、检查并发布。

当前网页用于展示真实数据快照和走查完整操作;线上执行能力以本 PRD 的 API、权限和发布要求为准。