品味:一场思想的搜索

第一根支柱——如何看出工作的好坏,又如何多做出好的

这是「研究由什么构成」三篇中的第一篇。总览立了三根支柱——品味、执行、沟通。这一篇讲品味:三根里最滑不留手的一根,也是人们最愿意相信「天生玄妙」的一根。它不是魔法。它是一场搜索。

全文站在一个事实上:好想法是稀有的。不是「不太多」——是稀有,是一个庞大空间的最远端;那个空间装着你可能想到的一切,其中几乎全部要么错,要么无聊,要么早被人做过。研究,就是在这个空间里把稀有的好想法找出来的活计。而品味就是搜索程序:它告诉你往空间的哪里看;等你抓到一样东西,它又告诉你这东西到底好不好。这两步各有名字——生成评判——你的品味,无非是这两步做得多好。

所以品味是「高效搜索」与「随机游荡」之间的差别。让人宽心、却也最遭人抗拒的是:这场搜索学得会。「品味是主观的嘛」——这话说着舒服,因为它能终结讨论——但它不对,证据就在你自己的历史里。翻出你五年前钟爱、如今不忍直视的作品——你的品味不只是变了,是变好了,而且你自己知道它变好了;这说明存在一个「更好」可供趋近。一门有方向的技能就练得出来:朝那个方向走,刻意地走,走上几年,你的搜索自会锋利。

两步我依次来讲,先讲评判——因为你还认不出靶子,就谈不上朝它生成。

评判:三个问题

审稿人读你的论文,程序委员会决定你的生死,或者我读学生的初稿,评价几乎总会坍缩成三个问题:

  • 新在哪?(novelty)
  • 谁在乎?(importance)
  • 为何是现在?(timeliness)

前两个不是我的发明;每个程序委员会、每个基金评审组早就在问,措辞不同而已——这里什么是新的;若它成了,谁受益。(资助机构把它们打扮成 intellectual merit 和 broader impacts,其实还是这两根神经。)第三个「为何是现在」是我自己加的,因为我越来越觉得,时机是一根真实而独立的神经。说法千变,神经就这几根。

要体会每个问题有多承重,最快的办法是抽掉一根,看整件工作怎么塌。

抽掉「新在哪」。 假设我做一套免费办公软件,与 Microsoft Office 百分之百兼容。谁在乎?几百万人。为何是现在?替他们省钱。两个答案都漂亮。可新在哪?无处新——它是个克隆。所以它是个好产品,但不是研究。新颖不是可选项;它是让一件事成为研究的那个东西。

抽掉「谁在乎」。 假设我发明了一种真正巧妙的新数据结构——前无古人,优雅可证——它加速的那个操作,却没有任何真实系统会执行。新吗?新。及时吗?算。可没人在乎,所以它是一道谜题,不是一份贡献。这是技术强的学生最常见的失败形态,也是身在其中最难察觉的一种,因为「聪明」实在太让人满足,满足到会冒充「重要」。

抽掉「为何是现在」。 假设我提的东西又新又重要——比如一个美妙的方案,需要二十年后才会有的硬件;或者把领域早已翻篇的问题重解一遍。诚实的反应是「有意思,但还不到时候」,或者「有意思,但太迟了」。时机是一根真实的轴。同一个想法,放在 2015 年是凯旋,放在 2005 年是脚注。

记住这个结构:一份贡献必须在三个问题下都活下来,而多数平庸的工作恰恰死在其中一个上。读论文时,找出它最弱的那一问;写论文时,先守住三问,再守别的。

三占其二

关于一篇好的系统论文的形状,我还有一条相关的经验法则。好工作的价值通常有三个可能的来源:

  1. 一个又难又真的问题
  2. 一个新颖的想法
  3. 一份扎实的实现和/或彻底的评测

三者同时达到可发表的水准,很罕见;三者全要,几乎从不必要。你需要两个。每种组合都是一个认得出的论文物种:

  • 问题 + 想法(实现轻):在重要问题上的一记轻巧妙招——这类论文的主体是洞见,篇幅不长,改变人们的想法。
  • 问题 + 实现(想法平直):重量级论文。想法「事后看来显然」,可要让它真的成——上规模、来真的——是一年的硬工程与细测量。用内存安全的语言写一个真正的操作系统内核,就是这类。
  • 想法 + 实现(问题偏窄):对一个小问题的精巧而扎实的攻坚。窄是窄,却是一种享受,因为想与做俱佳。

这不是定律,是行内的口口相传;它诚实的祖先,是 Levin 与 Redell 1983 年那篇「如何写好系统论文」的短文——他们坚持论文必须包含「至少一个新想法」,然后追问作者到底造了什么、到底学到了什么:「如果你什么都没学到,大概率你的读者也学不到。」三占其二,不过是它的压缩版。拿它当自查清单:若你无法诚实地报出三者之二,你手里还不是一篇论文——只是一个开头。

再磨一刀,说说「贡献」是什么,因为学生常把它想反。代码行数不是贡献。比较两个结果:我写一万行 C++,让一个系统快十倍;或者我写一百行,让它快百分之十——但对将来跑在它上面的每一个应用都快百分之十。后者往往是更大的贡献。工夫是投入,影响是产出;品味,就是知道这两个数不是一个数。

生成:多出手,出好手

再讲难的那一步。评判相对容易——跟一个有品味的人一起读上一百篇论文就能学会,读书会多半就是干这个的。生成才是显得像魔法的那部分,而「搜索」这个框架,正是化解魔法的东西。回想设定:空间浩瀚,好想法藏在尾部,稀有得可怜。该怎么干活,从这里直接掉出两条结论。

第一条是对赔率的诚实。你产出的坏想法永远远多于好想法,不管你练到多好——「好」就是分布的尾巴,这个词的意思就是如此。出臭招不是你不行的证据,而是问题本身的结构,并且它永远不会消失。

第二条是顺势而来的策略:命中既然稀有,就多出手。民间版是那句老话:想法要多,坏的扔掉。也有带研究味的版本——有人主张,一个创作者的传世之作数,大致随其总产量走,仿佛命中率约莫是个常数。这个说法有争议,还罩着幸存者偏差的影子:我们数的多半是产量兑了现的人,从没见过量大而全是噪声的那些。所以别把它当定律,把它当一张许可:大量产出坏想法、快速丢弃,是正常操作,不是失败;而想法最好的研究者,往往正是想法最多的那批。

但纯拼数量是搜索——朝空间里乱喷,没有哪个好研究者真这么干。好的搜索有方向:把出手花在可能命中的地方。而有方向的搜索,无论怎么跑,都绕不开一个你早知其名的权衡。

探索与开采

就是探索/开采权衡:是深挖已经找到的富矿(开采),还是四处走走、找一条更好的矿脉(探索)?开采过了头,你把一座小山头抛光一辈子,增量论文发个不停,真正的大山却在一谷之隔。探索过了头,你事事开头、无一收尾。一段研究生涯,就是这同一个决定的漫长序列;而品味,很大程度上就是知道这个月的自己该处于哪一档。

两种模式甚至想要不同的物理环境。探索要你离开:独处,放下设备,心思从眼前的事上松开。那些著名的顿悟故事全押着同一个韵——灵感来自散步、淋浴、跨上公交的一瞬,从不来自你苦熬的那张书桌。别把它们当数据,只当暗示——那是赢家讲的故事,同样闲逛却一无所获的人从不发声。但底下确有一层不大不小的真效应,名叫酝酿(incubation):从难题旁边走开,你身上仍有一部分在接着做它。要紧的是那条指令:卡住了,答案常常不是再熬几个小时,而是出去走走。开采要的恰好相反:书桌,屏幕,一个漫长而不受打扰的下午,把找到的想法磨成真东西。认清自己此刻需要哪一种,据此安排你的一天。

生成—评判的循环,以及你的导师

两半合起来,才是研究真正的引擎:一个循环。生成一个想法,评判它,毙掉或留下,再生成。要快,且不留情面。练评判这半边品味,全部意义就在于让循环里的裁判又准又快,好让你把循环多跑几轮——因为,见上文,你需要很多次出手。

有两样东西能让循环跑得更快。第一是:还只是脑中一团感觉的想法,你评判不了它;把它写下来这个动作,才逼得评判诚实起来。这一点值得单独成文,沟通那一篇里会有——此处只需记住:品味的评判半边,是靠笔运转的。第二是你的导师——在这个循环里,导师是一台更快、更有经验的校验器。你每周来见我,不是让我发想法给你,而是让你能便宜地查询一个高质量的裁判,让循环在你把一年砸进某条坏分支之前,就对上真的品味。带学生,大半带的就是这个;学徒制之所以活到今天,也是因为判断力只有被大声地、反复地使用,才会在某一天变成你自己的——从此不必再叩门。

最后说一件事,是我所知关于品味最鼓舞人的一件。新手为什么退出?因为起步时,你的品味跑在能力前面:做什么都令自己失望,而这落差痛得让多数人断定自己没有天分,就此停手。他们错了。这落差是标准的初始条件,缩小它的唯一办法是继续产出——作品的体量会慢慢把你的能力拽上去,够到你的品味。品味领先于产出,不是你不行的证据,而是你将要变好的前提。那份失望,正是支柱在起作用。继续出手。

退后一步看,这一切——评判,生成,循环,经年的阅读——真正在建的是什么:在你自己的脑中,为整个领域建一个足够精细的模型,细到你能从内部感觉出什么值得做、什么不值得。这是你要学会建模的三个系统中的第一个。下一个系统的反击要硬得多,因为它要么跑起来,要么跑不起来:机器。

下一篇:执行——把一个判过的想法,做成真正能跑的东西。