到 2013 年,Hacker News 已经公布了它的排名公式,甚至公布了背后的 Arc 源代码,但首页的表现却仿佛另有其他力量在起作用:热门文章会突然消失,标题含 NSA 的条目似乎下沉得很快,而一个讨论串一旦变得争论激烈,就可能拖垮一篇投稿。用户们交换着关于影子惩罚的各种猜测,但没有人证明过这些不可见因素确实存在,更不用说测量它们了。

Ken Shirriff 没有去猜测,也没有去询问版主,而是把首页本身当作测量仪器。他按照网站每分钟两页的准则,每分钟爬取一次 /news 和 /news2,用 Beautiful Soup 解析 HTML,并用公开公式重新计算每篇文章的原始得分。只要某篇文章的排名低于其得分所预测的位置,他就推断存在一个隐藏的乘性惩罚;由于相邻文章会夹住每一处落差,反复多次的快照就把一个带噪声的范围收窄为一个有界的系数。

测量结果显示,公开的代码大体准确,但远非全貌:约 20% 的首页文章和 38% 的第二页文章带有惩罚。一个 0.4 的系数会让每张投票只算作约 0.3,并使文章下沉速度加快 66%;一项自动标题惩罚会命中任何含 NSA 的内容;还有一项争议惩罚会在评论数达到 40 条时触发(而非代码中的 20 条),能在 1 分钟内把一篇第 5 名的文章推到第 22 名。

当系统惩罚了那篇描述系统本身的文章时,演示就来了:该帖登上首页几分钟后便受到一个 0.2 的惩罚,若无此惩罚它本会排在第 5 名附近,结果却被完全挡在首页之外;11 月 26 日,Shirriff 报告称 HN 告诉他,投票环检测器误触发了。该讨论串增长到 920 分和 190 条评论,作者记录到大约 25,000 次页面浏览量,而后来的编者注记载,HN 已不再惩罚标题含 NSA 的文章。

用公开公式为每篇文章打分,再把排名落差解读为可测量的隐藏惩罚——系统自身的输出就成了探针

确定性的排名函数会把任何隐藏惩罚转化为可见的落差,因此异常就成了测量结果,而非轶事。

每分钟一次的爬取能在惩罚落下的瞬间捕捉到它,并把每个系数的大小夹在相邻得分之间。

具体的案例研究(Snapchat 消失、MongoDB 卡在第 7 名)让一个不可见的系统变得可供外部审计。

利害关系是真实的:约 20% 的首页文章带有惩罚,而一个 0.4 的系数会让每张投票只算作 0.3。

当平台的行为偏离其公开规范时,不要争辩,也不要询问——持续测量落差;确定性的公式会把不可见的决策变成任何人都能审计的数字。

Shirriff 自己的帖子成了现场演示:登上首页几分钟后,一个 0.2 的惩罚就把它压了下去,而若无此惩罚,该帖本会排在第 5 名附近;11 月 26 日,他报告称 HN 告诉他,投票环检测器误触发了。Hacker News 的讨论串增长到 920 分和 190 条评论,流量约为 25,000 次页面浏览量。后来的编者注记载,HN 已不再惩罚标题含 NSA 的文章,而“约五分之一的首页文章带有惩罚”这一发现,成了解释热门条目为何悄然消失的标准说法。

追溯依據

參考來源

  1. How Hacker News ranking really works: scoring, controversy, and penalties Ken Shirriff's blog (righto.com) · righto.com
  2. Hacker News discussion: How Hacker News ranking really works Hacker News · news.ycombinator.com ·