我从 Hacker News 中学到的

2009年2月

Hacker News 上周满两岁了。最初,它只是一个副项目——一个用来磨练 Arc 的应用,以及一个供当前和未来的 Y Combinator 创始人交流新闻的地方。它比我预期的增长得更大,也占用了更多的时间,但我并不后悔,因为我从工作中学习到了很多。

增长

当我们在 2007 年 2 月推出时,工作日的流量约为每天 1600 个独立用户。此后增长到大约 22,000 个。这个增长率比我希望的要高一点。我希望网站能够增长,因为一个至少没有缓慢增长的网站可能已经死了。但我不想让它增长到像 Digg 或 Reddit 那么大——主要是因为这会稀释网站的特性,而且我也不想把所有时间都花在处理扩展上。

我已经有足够多的问题要处理了。记住,HN 最初的动机是测试一种新的编程语言,而且是一种专注于语言设计实验而不是性能的语言。每次网站变慢时,我都会通过回忆 McIlroy 和 Bentley 的名言来鼓励自己:

性能的关键是优雅,而不是大量的特殊情况。

并寻找可以用最少代码消除的瓶颈。到目前为止,我一直能够跟上,也就是说,尽管增长了 14 倍,但性能仍然保持在中等水平。我不知道下一步该怎么做,但我可能会想到一些办法。

这通常是我对网站的态度。Hacker News 是一个实验,而且是一个非常年轻领域的实验。这种类型的网站只有几年的历史。互联网对话通常只有几十年的历史。因此,我们可能只发现了我们最终会发现的一小部分。

这就是我如此看好 HN 的原因。当一项技术如此年轻时,现有的解决方案通常都很糟糕;这意味着有可能做得更好;这意味着许多看似无法解决的问题并非无法解决。包括,我希望,困扰了之前许多社区的问题:被增长摧毁。

稀释

自从网站成立几个月以来,用户们一直在担心这个问题。到目前为止,这些警报都是错误的,但它们可能不会总是这样。稀释是一个难题。但可能是可以解决的;当“总是”等于 20 个实例时,开放对话“总是”被增长摧毁并没有多大意义。

但重要的是要记住,我们正在努力解决一个新问题,因为这意味着我们将不得不尝试新的事物,其中大多数可能行不通。几周前,我尝试用橙色显示平均评论得分最高的用户的名字。[1] 这是一个错误。突然之间,一种或多或少团结的文化被分为了富人和穷人。直到我看到它被分裂,我才意识到这种文化曾经是多么的团结。观看这一幕令人痛苦。[2]

所以橙色用户名不会回来了。(对此感到抱歉。)但未来还会出现其他同样看似有缺陷的想法,而那些最终奏效的想法可能看起来与那些无效的想法一样有缺陷。

可能我从稀释中学到的最重要的事情是,它更多地体现在行为上,而不是用户上。你想要阻止的是不良行为,而不是坏人。用户行为出人意料地具有可塑性。如果人们期望表现良好,他们往往会这样做;反之亦然。

当然,禁止不良行为确实会阻止坏人,因为在一个他们必须表现良好的地方,他们会感到不舒服的约束。但是,这种阻止他们的方式比公开的障碍更温和,可能也更有效。

现在很明显,破窗理论也适用于社区网站。该理论认为,轻微的不良行为会鼓励更严重的行为:一个有很多涂鸦和破窗的社区会变成一个发生抢劫的社区。当 Giuliani 推出使破窗理论闻名的改革时,我住在纽约,这种转变是奇迹般的。当 Reddit 发生相反的情况时,我也是 Reddit 的用户,这种转变同样引人注目。

我不是在批评 Steve 和 Alexis。Reddit 发生的事情并非出于疏忽。从一开始,他们就有一项除了垃圾邮件之外什么都不审查的政策。此外,Reddit 的目标与 Hacker News 不同。Reddit 是一家创业公司,而不是一个副项目;它的目标是尽可能快地增长。将快速增长和零审查结合起来,结果就是一个自由放任的地方。但我认为,如果他们再次这样做,他们不会做太大的改变。以流量衡量,Reddit 比 Hacker News 成功得多。

但发生在 Reddit 上的事情不会不可避免地发生在 HN 上。有几个局部最大值。可以有自由放任的地方,也可以有更深思熟虑的地方,就像现实世界中一样;人们会根据自己所处的环境表现出不同的行为,就像他们在现实世界中一样。

我已经在野外观察到了这一点。我见过在 Reddit 和 Hacker News 上交叉发帖的人,他们实际上费心写了两个版本,一个用于 Reddit 的火焰版本,一个用于 HN 的更柔和的版本。

提交

像 Hacker News 这样的网站需要避免两种主要类型的问题:糟糕的故事和糟糕的评论。到目前为止,糟糕的故事的危险似乎较小。现在首页上的故事仍然大致是 HN 刚开始时的那些故事。

我曾经认为我必须对投票进行加权,以防止垃圾内容出现在首页上,但我还没有这样做。我没有预料到首页会保持得这么好,我也不确定为什么会这样。也许只有更深思熟虑的用户才会关心提交和赞成链接,因此一个随机新用户的边际成本接近于零。或者,也许首页会通过宣传期望的提交类型来保护自己。

对于首页来说,最危险的事情是太容易赞成的东西。如果有人证明了一个新的定理,读者需要做一些工作来决定是否赞成它。一个有趣的卡通需要更少的工作。一个以战斗口号为标题的咆哮需要零工作,因为人们甚至在没有阅读的情况下就赞成它。

因此,我称之为 Fluff 原则:在用户投票的新闻网站上,最容易判断的链接将占据主导地位,除非你采取具体措施来防止它。

Hacker News 有两种防止 Fluff 的保护措施。最常见的 Fluff 链接类型被禁止为离题。小猫的照片、政治谩骂等等都被明确禁止。这可以阻止大部分 Fluff,但不是全部。有些链接既是 Fluff,在非常短的意义上,也是相关的。

对此没有单一的解决方案。如果一个链接只是一个空洞的咆哮,编辑有时会杀死它,即使它在黑客的意义上是相关的,因为它不符合真正的标准,即激发一个人的求知欲。如果一个网站上的帖子通常是这种类型,我有时会禁止它,这意味着该 url 上的新内容会被自动杀死。如果一个帖子有一个链接诱饵标题,编辑有时会重新措辞,使其更实事求是。这对于标题是战斗口号的链接尤其必要,因为否则它们会变成隐含的“如果你相信某某,就投票赞成”的帖子,这是 Fluff 的最极端形式。

处理链接的技术必须不断发展,因为链接本身也在不断发展。聚合器的存在已经影响了它们聚合的内容。作者现在故意写一些东西来吸引来自聚合器的流量——有时甚至是特定的聚合器。(不,我并没有忽略这句话的讽刺意味。)然后还有更险恶的变异,比如链接劫持——发布他人文章的释义并提交它而不是原始文章。这些可以获得很多赞成,因为文章中的很多好东西通常会保留下来;事实上,释义越接近抄袭,保留下来的东西就越多。[3]

我认为重要的是,一个杀死提交的网站应该提供一种方式让用户看到他们想要看到的被杀死的内容。这可以保持编辑的诚实,而且同样重要的是,让用户确信他们会知道编辑是否停止诚实。HN 用户可以通过在他们的个人资料中切换一个名为 showdead 的开关来做到这一点。[4]

评论

糟糕的评论似乎比糟糕的提交更难解决。虽然 HN 首页上的链接质量没有太大变化,但中间评论的质量可能有所下降。

评论中有两种主要的坏处:刻薄和愚蠢。两者之间有很多重叠——刻薄的评论也更有可能愚蠢——但处理它们的策略是不同的。刻薄更容易控制。你可以制定规则说不应该刻薄,如果你执行这些规则,似乎有可能控制住刻薄。

控制愚蠢更难,也许是因为愚蠢不容易区分。刻薄的人更有可能知道自己很刻薄,而不是愚蠢的人知道自己很愚蠢。

最危险的愚蠢评论形式不是冗长但错误的论证,而是愚蠢的笑话。冗长但错误的论证实际上非常罕见。评论质量和长度之间存在很强的相关性;如果你想比较社区网站上的评论质量,平均长度将是一个很好的预测指标。可能原因是人性,而不是评论线程特有的东西。可能仅仅是愚蠢更多地表现为想法很少,而不是错误的想法。

无论原因是什么,愚蠢的评论往往很短。而且由于很难写出以其传达的信息量而著称的短评论,人们试图通过变得有趣来区分它们。愚蠢评论最诱人的形式是所谓的机智的贬低,可能是因为贬低是最容易的幽默形式。[5] 因此,禁止刻薄的一个好处是它也减少了这些。

糟糕的评论就像葛藤:它们迅速蔓延。评论对新评论的影响比提交对新提交的影响更大。如果有人提交了一篇蹩脚的文章,其他提交不会都变得蹩脚。但是如果有人在一个线程上发表了一个愚蠢的评论,那就会为它周围的区域定下基调。人们用愚蠢的笑话来回复愚蠢的笑话。

也许解决方案是在人们可以回复评论之前添加一个延迟,并使延迟的长度与对其质量的某种预测成反比。那么愚蠢的线程就会增长得更慢。[6]

我注意到我描述的大多数技术都是保守的:它们旨在保持网站的特性,而不是增强它。我不认为这是我的偏见。这是由于问题的形状。Hacker News 有幸一开始就很好,所以在这种情况下,这实际上是一个保护问题。但我认为这个原则也适用于具有不同起源的网站。

社区网站中的好东西更多地来自人而不是技术;技术主要是在防止坏事情发生时发挥作用。技术当然可以增强讨论。例如,嵌套评论可以做到这一点。但我宁愿使用一个具有原始功能和聪明、友善用户的网站,也不愿使用一个更高级但用户是白痴或喷子的网站。

因此,社区网站可以做的最重要的事情是吸引它想要的那种人。一个试图尽可能大的网站想要吸引所有人。但是一个以特定用户子集为目标的网站必须只吸引那些人——而且同样重要的是,排斥其他人。我一直在有意识地努力在 HN 上做到这一点。图形设计尽可能简单,网站规则不鼓励引人注目的链接标题。目标是,第一次来到 HN 的人唯一感兴趣的应该是那里表达的想法。

调整网站以吸引某些人的缺点是,对于这些人来说,它可能太有吸引力了。我非常清楚 Hacker News 有多容易让人上瘾。对我来说,就像对许多用户一样,它是一种虚拟的城镇广场。当我想从工作中休息一下时,我会走进广场,就像我可能会走进现实世界中的 Harvard Square 或 University Ave 一样。[7] 但是在线广场比实体广场更危险。如果我花半天时间在 University Ave 上闲逛,我会注意到。我必须走一英里才能到达那里,而且坐在咖啡馆里的感觉与工作的感觉不同。但是访问在线论坛只需点击一下,而且表面上感觉非常像工作。你可能在浪费你的时间,但你并没有闲着。有人在互联网上是错误的,而你正在解决这个问题。

Hacker News 绝对有用。我从我在 HN 上读到的东西中学到了很多。我写了几篇最初是评论的文章。所以我不想让这个网站消失。但我希望确保它不会对生产力产生净拖累。如果吸引成千上万的聪明人到一个导致他们浪费大量时间的网站,那将是一场灾难。我希望我能 100% 确定这不是对 HN 的描述。

我觉得游戏和社交应用的成瘾性仍然是一个很大程度上未解决的问题。现在的情况就像 20 世纪 80 年代的 crack 一样:我们发明了非常容易上瘾的新事物,但我们还没有进化出保护自己免受它们侵害的方法。我们最终会做到这一点,这也是我希望接下来关注的问题之一。

注释

[1] 我尝试按平均和中位数评论得分对用户进行排名,并且(去掉最高分)的平均值似乎更能准确地预测高质量。中位数可能是更准确地预测低质量的指标。

[2] 我从这个实验中学到的另一件事是,如果你要区分人,你最好确保你做对了。这是一个快速原型设计不起作用的问题。

事实上,这是不歧视各种类型的人的理智论据。不这样做的原因不是每个人都一样,而是做错事不好,做对事很难。

[3] 当我发现特别严重的链接劫持帖子时,我会将 url 替换为他们复制的内容。习惯性链接劫持的网站会被禁止。

[4] Digg 以缺乏透明度而闻名。问题的根源不在于运行 Digg 的人特别狡猾,而在于他们使用了错误的算法来生成他们的首页。与 Reddit 上的故事从底部冒出来并获得更多投票不同,故事从顶部开始,并被新来者推下来。

造成这种差异的原因是 Digg 源自 Slashdot,而 Reddit 源自 Delicious/popular。Digg 是带有投票的 Slashdot 而不是编辑,Reddit 是带有投票的 Delicious/popular 而不是书签。(你仍然可以在他们的图形设计中看到他们起源的化石。)

Digg 的算法非常容易被游戏,因为任何进入首页的故事都是新的头条新闻。这反过来又迫使 Digg 用极端的对策来回应。很多创业公司都有一些关于他们在早期不得不采取的诡计的秘密,我怀疑 Digg 的秘密是头条新闻在多大程度上实际上是由人类编辑选择的。

[5] Beavis 和 Butthead 上的对话主要由这些组成,当我阅读非常糟糕的网站上的评论时,我可以在他们的声音中听到它们。

[6] 我怀疑大多数阻止愚蠢评论的技术尚未被发现。Xkcd 在其 IRC 频道中实施了一种特别巧妙的技术:不要允许同样的事情发生两次。一旦有人说了“失败”,就再也没有人可以说了。这将特别惩罚短评论,因为它们没有足够的空间来避免冲突。

另一个有希望的想法是愚蠢过滤器,它就像一个概率垃圾邮件过滤器,但经过愚蠢和非愚蠢评论语料库的训练。

你可能不必杀死糟糕的评论来解决这个问题。长线程底部的评论很少被看到,因此在评论排序算法中加入对质量的预测可能就足够了。

[7] 大多数郊区如此令人沮丧的原因是没有可以步行的中心。

感谢 Justin Kan、Jessica Livingston、Robert Morris、Alexis Ohanian、Emmet Shear 和 Fred Wilson 阅读了本文的草稿。

评论关于这篇文章。