CRS 内部控制台

阈值标定采样器唯一的门槛

也是它的核心价值。阈值未标定前,四值判定的条件只是「显著偏低」「接近 1」这样的定性描述。

两类错误的代价不对称

DEV-sampler.md §四 · 这是定阈值的第一原则

error错误类型what happens后果severity严重性
误判:SSR 当 CSR只浪费渲染成本,页面照样能抓到 可承受
漏判:CSR 当 SSR永久丢内容 —— 调度器会丢弃该域名后续链接,它再也不会被抓 不可逆

阈值必须偏向「宁可多抓」。这个取舍已经写进了字段类型:verdict 是枚举不是布尔,就是为了不让 partial 坍缩成 falsy 被当 SSR 丢掉 —— 而 partial 恰是分歧极大、最不该静默丢的那批。

标定方法

DEV-sampler.md §十 · 四语种各抽 200 个域名,人工标注

step步骤action动作
1四语种各抽 200 个域名
2人工标注真实 verdict
3跑判定,得出 text_ratiolink_ratio 的分布
4按分布定阈值,按语种分别标定
产出
4 组阈值
miss rate target漏判率目标
< 5%
当前进度
2 / 4 语种
骨架特征命中率
待测

⚠️ 按语种分别标定,不能共用一组阈值 —— 不同语种正文密度与模板习惯不同。中文正文字符密度远高于英文,同一个 text_ratio 在两个语种里含义不同。

⚠️ 这套标定同时是调度器 §9.4 里 text_length 极低阈值的基线。两处共用一套语种基线,不另起一套 —— 两套基线会在同一现象上给出不同结论。

四值判定条件

DEV-sampler.md §四 · 阈值标定前只有定性描述

verdict判定结论 condition条件 threshold阈值
csr两项显著偏低待标定
ssr两项都接近 1待标定
partial之间,或样本间分歧极大待标定
unknown判定失败:站点挂了、样本全 404、render 持续 429、任务超时不依赖阈值

⚠️ 「两项」指 text_ratiolink_ratio,都是越低越 CSR,反直觉text_ratio = raw_text_length / text_length,分母为 0 时取 null 而不是 0 —— 空页面上就会遇到 text_length = 0

⚠️ unknown 这一行不依赖阈值,所以它不受标定进度阻塞。判定失败照常回调、照常写 domain_rule、照常进待定池。

骨架特征:只用于加速

DEV-sampler.md §四 · should_render = false 的结果满足任一即可跳过渲染

feature特征hit rate命中率
正文极短但 HTML 体积很大待测
<div id="root|app|__next"> 内部为空待测
__NEXT_DATA__ / window.__NUXT__ 但 DOM 无正文待测

⚠️ 只用于加速,不用于否定。不满足特征的域名仍走完整判定。把它当否定条件用,就把一个省钱的优化变成了漏判来源 —— 而漏判是永久丢内容。

样本量验证

DEV-sampler.md §十 · 每多采一页就多一次渲染成本

page_sample_count采样页数 purpose用途 state状态
1对照组,只取首页的情形待测
3中位数最少可算的样本量待测
5当前默认在用
10上限对照,看结论是否已收敛待测

⚠️ page_sample_count 是「这个域名采了几页」,是渲染成本单位;调度器的 statistic_sample_count 是「滑动中位数里有几条样本」,是统计窗口宽度。两者曾被合并成同一个 sample_count —— 合并后本页的调优会被误读成统计精度问题。

⚠️ 只取首页会误判:很多站首页是 SSR(为了 SEO 和首屏),内容页才是 CSR。所以 page_sample_count = 1 只是兜底,置信度低,不能作为默认。

语种识别的两个已知难点

DEV-sampler.md §五 · 语种识别在本服务完成,下载器只透传

case情形why hard难在哪approach做法
zh-Hans / zh-Hant 不能靠 TLD 判断.com 上大量繁体站,.tw 上也有简体 必须做繁简特有字符频次统计
ja 纯汉字的日语页面易误判为中文 有平假名 / 片假名即判 ja;否则结合 lang 属性

⚠️ 识别顺序:<html lang="…"> → HTTP content_language → 内容统计检测。前两者是外部标准名,照抄拼写,不展开为 language

⚠️ regionjurisdiction 每个法域一个独立取值,不做合并。TW / HK / MO 各自独立,不并入 CN。技术层只负责如实标注,合并与否是下游策略层的决定 —— 字段合并了就再也拆不开