我从 Hacker News 学到的东西
2009年02月
Hacker News 上周满两岁了。最初它本来只是个副项目,一个用来锤炼 Arc 的应用,同时也是给 YC 现有和未来的创业者们交流新闻的地方。它长得比我预期更快,占用的时间也更多,但我并不后悔,因为在这个过程中我学到了太多东西。
增长
我们在 2007 年 2 月上线时,工作日的日独立访客大约只有 1600。之后它增长到了约 22,000。这个增长速度其实比我理想中的稍高。我当然希望网站能增长,因为一个至少不缓慢增长的网站,多半已经死了。但我并不希望它像 Digg 或 Reddit 那么大——主要是因为那样会稀释网站的气质,其次我也不想把所有时间都花在做扩容上。
我现在已经有足够多的扩容问题要处理了。别忘了,Hacker News 最初的动机就是测试一门新的编程语言,而且还是一门偏向语言设计实验、而不是性能优化的语言。每当网站变慢,我就会想起 McIlroy 和 Bentley 那句著名的话:性能的关键在于优雅,而不是一大堆特殊情况。于是我会去寻找那个能用最少代码消除的瓶颈。到目前为止,我都还能跟上,从结果看,即便增长了 14 倍,性能依旧保持着一贯的“中等偏慢”。接下来该怎么办我也不知道,但我大概会想出办法。
这基本上就是我对 Hacker News 的整体态度。Hacker News 是一个实验,而且是一个存在于非常年轻领域里的实验。这种类型的网站才出现了几年时间。互联网上的讨论文化整体上也不过几十年。所以我们现在能看到的,大概只是未来最终会被发现的一小部分。
这就是我对 Hacker News 保持乐观的原因。当一项技术如此年轻时,现有的解决方案通常都很糟糕;这意味着一定有办法做得更好;也意味着许多看似无解的问题,其实都有解。我希望其中就包括困扰过许多社区的那个问题:被增长毁掉。
稀释
从网站创立后的几个月开始,用户就担心它会被稀释。截至目前,这些警报都是误报,但未来未必永远如此。稀释是个很难的问题。不过大概是可解的;当我们说开放式讨论“总是”被增长毁掉时,“总是”不过也就指 20 个案例。
但重要的是要记住,我们试图解决的是一个全新的问题,这意味着我们必须尝试新的方法,而其中大多数很可能会失败。几周前,我尝试把平均评论分数最高的用户名字显示成橙色。[1] 这是个错误。原本相对统一的社区文化瞬间被分成了“有”和“无”两派。我之前完全没意识到这个社区文化原来如此团结,直到看到它被割裂。那画面真是令人难受。[2]
所以橙色用户名不会回来了(对此很抱歉)。不过未来仍会出现同样“看起来很糟”的新想法,而那些最终能奏效的,很可能在诞生时看起来也和失败的那些一样糟。
关于稀释,我学到的最重要一点大概是:它更多是由行为所衡量,而不是由用户数量。真正想排除的是坏行为,而不是“坏人”。用户行为其实出乎意料地容易被引导。如果人们被期待表现得好,他们往往就会那样;反之亦然。
当然,禁止坏行为确实会排除一些“坏人”,因为他们会觉得在一个必须好好表现的地方很不舒服。但与其设立显性的门槛,这种方式既更温柔,也可能更有效。
现在几乎可以肯定,“破窗效应”同样适用于社区网站。这个理论说的是:轻微的坏行为会鼓励更坏的行为;涂鸦和破窗堆满的街区,最终会成为发生抢劫的地方。我住在纽约时,正好赶上 Giuliani 实施让破窗理论出名的改革,那种改变是奇迹般的。而当 Reddit 出现相反变化时,其转变也同样戏剧性。
我并不是在批评 Steve 和 Alexis。Reddit 的变化不是他们疏忽造成的。一开始他们的政策就是除了垃圾信息外不审查任何内容。而且 Reddit 的目标与 Hacker News 不一样。Reddit 是一家创业公司,而不是副项目;它的目标是尽快增长。快速增长叠加零审查,必然会变成一片混战。但如果他们现在再做一次,大概也不会做太多不同的选择。按流量衡量,Reddit 比 Hacker News 成功得多。
但 Reddit 的遭遇不一定会发生在 Hacker News 上。这个空间存在多个局部最优点。就像现实世界一样,可以有自由混战的地方,也可以有更深思熟虑的地方;而人们会根据所处环境的不同表现出不同的行为方式,同样就像现实世界。
我在真实世界中观察到这种现象。我见过在 Reddit 和 Hacker News 交叉发布内容的人,为两个平台分别写了两个版本:一个是为 Reddit 准备的火药味浓重的版本,一个是为 Hacker News 写的更克制的版本。
投稿
像 Hacker News 这样的网站,有两类主要问题需要避免:糟糕的文章和糟糕的评论。到目前为止,糟糕文章的威胁似乎较小。现在首页的文章仍然大致与 Hacker News 刚创立时会出现的类型一致。
我原以为必须给投票加权才能阻止垃圾文章上首页,但目前我还不需要这样做。我也没预料到首页能保持得这么好,我也不太确定原因是什么。也许只有更深思熟虑的用户才会在意投稿和点赞,所以新增的随机用户的边际影响趋近于零。或者,也许首页本身能自我保护,因为它展示了“应该投稿什么样的内容”。
首页最危险的敌人,是那些太容易被投票的内容。如果有人证明了一个新定理,读者需要花点时间判断要不要给它投票。但一张好笑的漫画就不需要这么多投入。而一个带有口号式标题的抱怨贴,更是零成本判断,因为人们甚至不读正文就投票了。
因此我称之为“绒毛原则”(Fluff Principle):在一个由用户投票驱动的新闻网站上,最容易判断的链接最终会占领首页,除非你采取特别措施加以阻止。
Hacker News 针对“绒毛内容”采取了两类防护措施。最常见的绒毛内容会被视为题外话而直接禁止。例如小猫照片、政治性的激烈言论等,都被明确列为禁止内容。这能挡住大部分的绒毛,但并非全部。有些链接虽然非常短,却依然属于题内内容。
对此并没有单一的解决方案。如果一个链接只是空洞的抱怨,编辑有时会直接删掉它,即便它在“关于黑客”的字面意义上是题内的,因为它不符合真正的题内标准:激发人的智识好奇。如果某个网站的帖子普遍属于这类,我有时会直接封禁它,这意味着该域名的新内容会被自动删除。如果一个帖子有标题党式的标题,编辑有时会把标题改得更平实一些。这对那些标题带有号召口号的内容尤其必要,因为否则它们会变成隐性的“如果你相信某某,就投票”型帖子,而这是绒毛内容的极端形式。
处理链接的策略必须不断演化,因为链接本身也在演化。聚合器的存在已经影响了作者写东西的方式。现在有些作者会特意写能够从聚合器那里吸引流量的内容,有时甚至会针对特定聚合器。(是的,我意识到这句话本身的反讽。)还有更阴险的变种,比如“linkjacking”——发布别人文章的改写版,然后投稿那个改写版而不是原文。这样的帖子可以获得很多投票,因为原文优秀的部分往往能在改写中幸存;实际上,改写越接近抄袭,幸存的好内容就越多。[3]
我认为一个会删除投稿的网站,必须提供一种让用户看到被删内容的方法。这会让编辑保持诚实,也同样重要的是,让用户对编辑的诚实保持信心。Hacker News 用户可以在个人设置里打开 showdead 来做到这一点。[4]
评论(Comments)
坏评论似乎比坏投稿更难解决。虽然 Hacker News 首页上的链接质量变化不大,但中位数评论的质量可能确实有所下降。
评论中有两大类问题:刻薄(meanness)和愚蠢(stupidity)。这两者有大量重叠——刻薄的评论往往也很蠢——但应对策略不同。刻薄更容易控制。你可以制定规则说不应刻薄,如果你能执行这些规则,那么保持刻薄的上限是可行的。
而控制愚蠢就更难,也许因为愚蠢不那么容易区分出来。刻薄的人往往比愚蠢的人更清楚自己在干什么。
最危险的愚蠢评论类型并不是冗长但错误的论证,而是愚蠢的玩笑。冗长但错误的论证其实很少见。评论质量与长度之间存在强相关;如果你想比较不同社区网站的评论质量,“平均评论长度”可能是一个不错的预测指标。原因可能与评论系统本身无关,而是源于人性。也许只是因为愚蠢更常表现为“没什么想法”,而不是“有很多错误的想法”。
无论原因是什么,愚蠢的评论往往很短。而要写出一条以信息量见长的短评论本身就很难,于是人们常尝试通过“搞笑”来突出短评论。最诱人的形式是伪机智的冷嘲热讽式吐槽,因为“吐槽”是最容易的幽默形式。[5] 这也是为什么禁止刻薄会顺带减少这种评论。
坏评论就像葛藤(kudzu):它们蔓延得很快。评论对后续评论的影响远大于投稿对投稿的影响。如果有人投稿一篇差文章,其他投稿不会因此变差。但如果有人在评论区发了一条愚蠢的评论,它会为附近的讨论定下基调。人们会用愚蠢的玩笑去回复愚蠢的玩笑。
也许解决办法是加入“延迟回复”:让用户在某条评论发表后必须等待一定时间才能回复,并且这个延迟时间与评论质量呈反比关系。这样愚蠢的讨论串就会长得更慢。[6]
人(People)
我注意到我前面提到的大多数策略都是保守型的:它们旨在“保持”网站的气质,而不是增强它。我认为这不是我的个人偏见,而是问题本身的形状所导致。Hacker News 很幸运,一开始就很好,所以在这里确实更像是“保护”工作。但我认为这个原则同样适用于起点完全不同的社区。
社区里真正的好东西来自于人,而不是技术;技术主要用来阻止坏事情发生。当然,技术确实可以增强讨论,比如嵌套评论结构就是一种增强。但如果要在“功能原始但用户聪明友善”与“功能先进但用户愚蠢或喷子”之间做选择,我宁愿选前者。
因此,一个社区网站最重要的任务,是吸引它想吸引的人。一个追求做大的网站,会试图吸引所有人。但一个面向特定用户群的网站,只能吸引那一群——同样重要的是,要让其他所有人知难而退。我在 Hacker News 上是有意识这样做的。它的视觉设计尽可能朴素,站规也不鼓励戏剧化的标题。目标是:让第一次访问 Hacker News 的人,唯一可能觉得“有意思”的,是这里表达的想法。
把一间网站“调试”到只吸引特定用户有一个副作用:对这些用户来说,它可能变得“太”有吸引力。我非常清楚 Hacker News 有多容易让人上瘾。对我和许多用户来说,它就像一个虚拟的市民广场。当我想从工作中休息一下,我就会走进这个广场,就像走进 Harvard Square 或 University Ave 那样。[7]
但线上广场比线下广场危险得多。如果我一天有一半时间都泡在 University Ave,我一定会意识到的。我得走一英里才能到那里,坐在咖啡馆的感觉也和工作完全不同。但访问一个线上论坛只需要点击一下,而且表面上看起来很像在工作。你可能正在浪费时间,却并不“空闲”。有人在互联网上是错的,而你正在试图解决这个问题。
Hacker News 的确很有用。我从它上面读到的东西学到了很多。我写的几篇文章甚至就是从 Hacker News 评论区开始的。所以我并不希望它消失。但我希望确保它不会在总体上拉低生产力。如果一个网站吸引了成千上万聪明人,却让他们浪费了大量时间,那将是多大的灾难。我真希望我能 100% 确定 Hacker News 不符合这种描述。
我觉得游戏和社交应用的上瘾性仍然是一个基本未解的问题。现在的情况有点像 20 世纪 80 年代的“快克”(crack)刚被发明那时候:我们发明了极具成瘾性的东西,但还没进化出保护自己的方法。某一天我们会进化出来,而这正是我希望下一步重点研究的问题之一。
注释(Notes)
[1] 我试过按用户的平均分和中位数分来排序,结果是:平均分(在筛掉最高分后)似乎更准确地预测高质量用户。而中位数可能更适合作为低质量的预测指标。
[2] 我从这次实验里学到的另一件事是:如果你要在人与人之间作区分,你最好确保你做得“完全正确”。这是一个不适合快速原型(rapid prototyping)的方法。事实上,这也是反对对人进行各种区分的“知识论上的诚实”理由。不是因为人人都一样,而是因为“做错会很糟糕,而做对又很难”。
[3] 当我抓到明显的 linkjacking(链接劫持)案例时,我会把投稿的链接替换成他们所抄袭的原文链接。经常进行 linkjacking 的网站会被封禁。
[4] Digg 以缺乏透明度而臭名昭著。问题根源并非运营 Digg 的人特别狡猾,而是他们使用了错误的首页算法。在 Digg 上,热门文章不是从底部往上“自然浮起”,而是从顶部开始,随后不断被新内容挤下去。
差异的原因在于:Digg 源自 Slashdot,而 Reddit 源自 Delicious/popular。Digg 是“把编辑换成了投票的 Slashdot”,而 Reddit 是“把书签换成了投票的 Delicious/popular”。(你在它们的界面设计中仍能看到这种起源的化石。)
Digg 的算法高度容易被操纵,因为只要某篇文章能挤上首页,它就自动成为最新的顶部文章。于是 Digg 被迫采取极端对策。许多创业公司早期都有某种“不能被公开的秘密”,我猜 Digg 的秘密就是:它的首页文章在现实中实际上很大程度由人工编辑决定。
[5] 《Beavis and Butthead》的对白大多由这种评论构成,而当我在一些质量极差的网站上阅读评论时,我几乎能听到他们的声音。
[6] 我怀疑,大多数用于抑制愚蠢评论的技术仍未被发明出来。Xkcd 在它的 IRC 频道里用了一种非常聪明的方法:不允许同一句话出现两次。某人一旦说了“fail”,此后谁都不能再说它了。这对短评论尤其是一种惩罚,因为它们更容易发生“撞句”。另一个有前途的想法是 stupid filter,它就像一个概率型垃圾邮件过滤器,只不过训练数据换成了“愚蠢评论”和“非愚蠢评论”的语料库。解决问题不一定需要删除坏评论。长讨论串的底部评论很少被看到,所以也许只需要在评论排序算法中加入“质量预测”即可。
[7] 大多数郊区令人沮丧的原因,在于那里没有可步行到达的中心区。
感谢 Justin Kan、Jessica Livingston、Robert Morris、Alexis Ohanian、Emmet Shear 和 Fred Wilson 阅读这篇文章的草稿。
评论(Comment)在此文章下。
英文版:paulgraham.com/hackernews.html|中文版:HiJiangChuan.com/paulgraham/106-What-Ive-Learned-from-Hacker-News
更新记录:
- 2025-11-24 HiJiangChuan 初稿翻译,术语待验证;
- 2025-11-24 重新梳理,修正专业词汇的使用;