我从Hacker News学到的
2009年2月
上周是 Hacker News 诞生两周年。起初它本应只是一个副业项目——一个用来打磨 Arc 语言的应用程序,以及为 Y Combinator 现任及未来的创始人们提供一个交流新闻的场所。它成长得比我预期的更庞大,也占用了更多时间,但我并不后悔,因为从运营它的过程中我学到了太多东西。
增长
2007 年 2 月上线时,工作日的日均独立访客约为 1600 人。此后,这个数字增长到了大约 22000 人。这个增长速度略高于我的期望。我当然希望网站能够成长,因为一个至少不缓慢增长的网站很可能是死水一潭。但我也不希望它膨胀到 Digg 或 Reddit 那样的规模——主要是因为那会稀释网站的特质,同时也因为我不想把所有时间都花在处理扩容问题上。
在这方面我已经有够多麻烦了。记住,HN 最初的目标是测试一门新的编程语言,而且这门语言的重点是实验语言设计,而非性能。每次网站变慢,我都会引用 McIlroy 和 Bentley 的那句名言来给自己打气:
性能的关键在于优雅,而非特例的大军。
然后寻找那个用最少代码就能消除的瓶颈。到目前为止,我还能勉强跟上,也就是说,尽管流量增长了 14 倍,性能却始终维持在中庸水平。我不知道下一步该怎么办,但或许总能想出办法。
这是我对待整个网站的基本态度。Hacker News 是一个实验,而且是一个在非常年轻领域里的实验。这类网站的出现不过几年时间。互联网对话本身也不过几十年历史。所以我们可能只发现了未来我们将知道的很小一部分。
这就是我对 HN 如此乐观的原因。当一项技术如此年轻,现有的解决方案通常都很糟糕;这意味着我们肯定能做得更好;也意味着许多看似无解的问题其实并非无解。包括我希望的那个困扰了无数先前社区的问题:因增长而劣化。
稀释
从网站诞生几个月起,用户们就一直在担心这个问题。到目前为止,这些警报都是虚惊一场,但未来未必总是如此。稀释是个难题,但很可能是可解的;当“向来”仅仅等于 20 个案例时,说开放式对话“向来”会被增长摧毁,这并不能说明什么。
但重要的是要记住,我们正在尝试解决一个新问题,因为这意味着我们必须尝试新事物,而其中大部分可能不会奏效。几周前,我尝试用橙色显示平均评论得分最高的用户名字。[1] 那是个错误。突然间,一个原本或多或少团结一致的文化被分成了有产者和无产者。我直到看到它分裂,才意识到原来那个文化有多团结。看着它分裂,真是令人痛心。[2]
所以橙色用户名不会再回来了。(对此深感抱歉。)但未来还会有其他看起来同样不靠谱的想法,而那些最终被证明有效的想法,在最初看来可能和那些失败的一样不靠谱。
关于稀释,我学到的最重要的一点或许就是:它更多体现在行为上而非用户上。你想要挡在门外的,是恶劣行为,而非坏人。事实证明,用户行为具有惊人的可塑性。如果人们被期望表现得体,他们往往就会如此;反之亦然。
当然,明确禁止不良行为确实有助于赶走坏人,因为在一个要求他们循规蹈矩的地方,他们会感到不自在的束缚。但这种驱逐方式比明晃晃的壁垒更温和,而且可能也更有效。
现在很清楚,“破窗理论”同样适用于社区网站。该理论认为,轻微的不良行为会鼓励更严重的行为:一个涂鸦遍地、窗户破碎的社区,最终会变成发生抢劫的社区。朱利安尼推行让“破窗理论”闻名的改革时,我正住在纽约,那种转变简直是奇迹。而在 Reddit,我是目睹了相反情况发生的用户,那里的转变同样戏剧性。
我并非在批评 Steve 和 Alexis。Reddit 发生的事并非源于疏忽。从一开始,他们的政策就是不审查任何内容,除了垃圾广告。此外,Reddit 与 Hacker News 的目标不同。Reddit 是一个创业公司,而非副业项目;它的目标是尽可能快地增长。将快速增长与零审查结合,结果就是一场混战。但我认为,如果他们重来一次,也不会有太大不同。按流量衡量,Reddit 比 Hacker News 成功得多。
但 Reddit 的遭遇并非不可避免地在 HN 上重演。存在多个局部最优解。可以有放任自流的地方,也可以有更具思想性的地方,就像现实世界一样;人们会根据自己身处何处而表现不同,也正如他们在现实世界中的所为。
我在现实中观察到过这一点。我见过有人同时在 Reddit 和 Hacker News 交叉发帖,居然不嫌麻烦地写两个版本,为 Reddit 写一篇煽动性的,为 HN 写一篇更克制的。
提交
像 Hacker News 这样的网站需要避免两大类问题:糟糕的故事和糟糕的评论。到目前为止,糟糕故事的危险似乎较小。现在首页上的故事,大致还是 HN 成立之初就会出现在那里的那些。
我曾以为我不得不对投票进行加权以将垃圾内容挡在首页之外,但至今还没有这个必要。我本没预料到首页能保持得这么好,我也不确定为什么会这样。也许是因为只有更有思想的用户才足够关心,愿意提交和点赞链接,所以每增加一个随机新用户的边际成本趋近于零。又或者,是首页通过展示期望何种类型的提交,从而实现了自我保护。
对首页来说最危险的是那些太容易被点赞的内容。如果有人证明了一个新定理,读者需要花些功夫来决定是否点赞。而一幅有趣的漫画,所需判断就少一些。一篇以口号为标题的咆哮体,则完全不需要判断,因为人们甚至不读就会点赞。
因此,便有了我所谓的“轻浮原则”:在一个用户投票的新闻网站上,那些最容易判断的链接会占据上风,除非你采取具体措施来阻止。
Hacker News 有两种抵御轻浮内容的保护措施。最常见类型的轻浮链接会被视为离题而禁止。小猫图片、政治抨击等等都被明确禁止。这挡住了大部分轻浮内容,但并非全部。有些链接既轻浮(指篇幅很短),又切题。
对此没有单一的解决方案。如果一个链接只是空洞的咆哮,编辑们有时会删除它,即使它在“关于黑客技术”的意义上是切题的,因为它不符合真正的标准——即激发读者的求知欲。如果某个网站上的帖子特色就是这类内容,我有时会封禁该网站,意味着来自该网址的新内容会被自动删除。如果某个帖子标题带有钓鱼意味,编辑们有时会将其改写得更实事求是。对于标题是口号的链接尤其必要,否则它们会变成隐性的“如果你相信某某就点赞”的帖子,那是最极端的轻浮形式。
对付链接的技巧必须不断演进,因为链接本身在演进。聚合器的存在已经影响了它们所聚合的内容。作者们现在会有意识地撰写能够吸引聚合器流量的文章——有时甚至是针对特定聚合器的。(不,我对这话中的讽刺意味心知肚明。)然后还有更阴险的变异,比如“链接劫持”——转载他人文章的改写版本并提交,而非原作者链接。这些往往能获得大量点赞,因为文章中的精华常常得以保留;事实上,改写越接近抄袭,保留的精华越多。[3]
我认为,一个会删除提交的网站,重要的是为用户提供一种查看被删内容的途径。这能让编辑们保持诚实,同样重要的是,这能让用户确信,如果编辑们不再诚实,他们也会知晓。HN 用户可以通过在个人资料中切换一个名为 showdead 的开关来实现这一点。[4]
评论
糟糕的评论似乎比糟糕的提交更难处理。虽然 HN 首页链接的质量没有太大变化,但普通评论的质量可能有所下降。
评论中的不良主要有两种:刻薄和愚蠢。两者之间有很大重叠——刻薄的评论不成比例地也更可能是愚蠢的——但应对策略不同。刻薄更容易控制。你可以制定规则说不应该刻薄,如果你执行这些规则,似乎就能压制住刻薄。
压制愚蠢则更难,也许是因为愚蠢不那么容易分辨。刻薄的人比愚蠢的人更可能知道自己刻薄,而后者往往不知道自己在犯傻。
最危险的愚蠢评论形式,不是那些冗长但错误的论证,而是愚蠢的玩笑。冗长但错误的论证其实相当罕见。评论质量与长度之间存在强相关性;如果你想比较社区网站的评论质量,平均长度会是一个很好的预测指标。原因可能在于人性,而非评论线程特有的现象。很可能只是因为愚蠢更多表现为想法太少,而非想法错误。
无论原因为何,愚蠢的评论往往很短。而由于很难写出因信息量而著称的短评论,人们便转而试图通过风趣来脱颖而出。愚蠢评论最诱人的格式,是那种自以为机智的贬损语,大概因为贬损是最容易的幽默形式。[5] 因此,禁止刻薄的一个好处就是,这也能减少这类评论。
糟糕的评论就像野葛藤:蔓延迅速。评论对新评论的影响,远大于提交对新提交的影响。如果有人提交了一篇蹩脚文章,其他提交并不会都变得蹩脚。但如果有人在某个帖子里发表了一条愚蠢评论,这就为周围区域定下了基调。人们会用愚蠢的玩笑回应愚蠢的玩笑。
也许解决办法是在人们能回复评论之前增加一个延迟,并让延迟长度与其预测质量成反比。这样,愚蠢的帖子就会生长得更慢。[6]
人
我注意到我所描述的大多数技巧都是防御性的:它们旨在维护网站的特质,而非提升它。我不认为这是我的偏见,而是问题的形态使然。Hacker News 很幸运地一开始就很好,所以在它的情况下,这确实是一个纯粹的保护问题。但我认为这一原则也适用于那些起源不同的网站。
社区网站的美好之处来自人,而非技术;技术主要是在预防坏事方面发挥作用。技术当然可以增强讨论。例如,嵌套评论就是如此。但我宁愿用一个功能简陋但用户聪明友善的网站,也不愿用一个功能更先进但用户愚蠢或爱捣乱的网站。
脚注
[1] 这是指“最高平均评论分数”,我当时试图以此奖励那些持续贡献高质量评论的用户。
[2] 这引出了“有产与无产”的分裂问题,以及我在让社区变得更好方面的失败尝试。
[3] 链接劫持指的是提交他人文章的改写版本而非原始链接——这可能是为了规避版权或获取更多流量。
[4] showdead 是 HN 个人资料中的一个选项,允许用户查看被标记为“已删除”或“已隐藏”的评论和提交。
[5] 贬损语(put-downs)是最容易的幽默形式,因为它们不需要太多思考或创造力,但往往以牺牲他人为代价。
[6] 这是关于延迟评论回复的假设性想法,以便让质量较低的线程自然衰减。
所以,一个社区网站最重要的事情就是吸引它想要的那种人。一个力求规模最大的网站希望吸引所有人。但一个面向特定用户群体的网站,则必须只吸引那一部分人——同样重要的是,还要排斥其他所有人。我在Hacker News(HN)上有意识地做了这样的努力。界面设计尽可能朴素,网站规则也不鼓励耸人听闻的标题。目标是,让第一次访问HN的人唯一能感兴趣的,应该是其中表达的思想。
调整网站以吸引特定人群的负面效应是,对这些人群来说,它可能过于吸引人了。我非常清楚Hacker News有多容易让人上瘾。对我来说,和许多用户一样,它就像一个虚拟的城镇广场。当我想从工作中抽身休息时,我就会走进这个广场,就像在现实世界中走进哈佛广场或大学大道一样。[[7]] 但在线的广场比现实的更危险。如果我花半天时间在大学大道上闲逛,我本人会注意到这一点。我得走一英里才能到那里,而且坐在咖啡馆里感觉和工作不一样。但访问一个在线论坛只需点击一下,并且表面上看起来非常像在工作。你可能在浪费时间,但你并不闲。网上有人错了,而你在“修正”这个问题。
Hacker News绝对是有用的。我从HN上读到的东西里学到了很多。我有好几篇文章最初是在那里的评论。所以我不希望这个网站消失。但我希望确保它不会成为生产力的净拖累。那将是多么大的灾难:吸引成千上万聪明的人来到一个让他们浪费大量时间的网站。我真希望能够百分之百确定那不是对HN的描述。
我觉得游戏和社交应用的上瘾性在很大程度上仍是一个未解的问题。目前的情况就像1980年代的可卡因:我们发明了极其容易上瘾的新事物,却还没有进化出保护自己免受其害的方法。我们最终会做到的,这也是我希望接下来重点关注的问题之一。
注释
[[1]] 我尝试过按平均评论得分和中位评论得分对用户进行排名,平均分(去掉最高分)似乎是更准确的高质量预测指标。不过,中位数可能是更准确低质量预测指标。
[[2]] 从这个实验里学到的另一件事是,如果你要区分不同的人,最好确保你做得对。这是一个快速原型开发行不通的问题。
事实上,这就是不在不同类型的人之间进行区分这一做法的知识上诚实的论据。不这样做的原因不是每个人都一样,而是因为做错了很糟糕,做对了又很难。
[[3]] 当我发现严重窃取链接的帖子,我会把链接替换成他们抄袭的来源网址。惯于窃取链接的网站会被封禁。
[[4]] Digg因其缺乏透明度而臭名昭著。问题的根源不在于运营Digg的人特别鬼祟,而在于他们用来生成首页的算法是错误的。不像Reddit那样,故事随着票数增加从底部向上浮起,Digg的故事一开始就在顶部,然后被新到的故事往下挤。
造成这种差异的原因是Digg源自Slashdot,而Reddit源自Delicious/popular。Digg是带投票功能的Slashdot(取代了编辑),Reddit是带投票功能的Delicious/popular(取代了书签)。(你仍然可以在它们的界面设计中看到起源的痕迹。)
Digg的算法很容易被刷,因为任何进入首页的故事都会成为新的头条。这反过来迫使Digg采取极端的反制措施。很多创业公司都有某种关于早期不得不诉诸的伎俩的秘密,我怀疑Digg的秘密在于,其头条故事在多大程度上实际上是由人类编辑选择的。
[[5]] 《瘪四与大头蛋》里的对话主要由这些内容构成,当我看到极差网站上的评论时,我仿佛能听到他们用那种声音说出这些话。
[[6]] 我怀疑大部分用于阻止愚蠢评论的技巧尚未被发现。Xkcd在其IRC频道里实施了一个特别聪明的办法:不允许同样的内容出现两次。一旦有人说“失败”,就没有人能再说这个词。这对短评论的惩罚尤其明显,因为它们更没多少空间来避免重复。
另一个有希望的想法是“愚蠢过滤器”,它就像一个概率垃圾邮件过滤器,但训练用的语料库是愚蠢和非愚蠢的评论。
要解决这个问题,也许不必完全消灭糟糕的评论。长线程底部的评论很少被人看到,所以在评论排序算法中融入质量预测可能就足够了。
[[7]] 大多数郊区之所以令人沮丧,是因为没有可以步行前往的中心。