特别节目·中文精读

吉姆·凯勒:摩尔定律、微处理器、抽象与第一性原理

Jim Keller: Moore’s Law, Microprocessors, Abstractions, and First Principles

芯片架构师凯勒谈摩尔定律的演变、微处理器设计、抽象层次的取舍,以及用第一性原理思考工程问题。

官方音频00:00 / --:--
中文精读由 AI 基于原始访谈改写,非官方翻译,可能存在偏差或错误;表述以原音频与官方文稿为准。说明

吉姆·凯勒(Jim Keller)在芯片行业干了四十年。这几十年里,他听到最多的一句话是:摩尔定律快撑不住了。

三十年前就有人放话,说它还有十到十五年的寿命。十年后,这个数字变成还有十到十五年。再往后,有人说只剩五年了,过一阵又涨回十年。等他加入英特尔,同事告诉他摩尔定律已死。他的第一反应是有点遗憾,毕竟这是一家靠摩尔定律立身的公司。第二反应是:它从诞生那天起,就一直"快要死了"。

凯勒做过 AMD 的 K7、K8、Zen 架构,做过苹果的 A4、A5 处理器,是 x86-64 指令集和 HyperTransport 互联规范的共同作者。他在特斯拉负责过 Autopilot 的硬件,现在在英特尔。这期访谈表面上聊的是芯片,绕来绕去讲的其实是同一件事:怎么把一个复杂问题拆到不能再拆,再一层层搭回去。

大脑和电脑,现在还比不了

按凯勒的说法,计算机里只有两样东西:内存和计算。到今天为止,几乎所有计算机架构都是全局内存式的。程序把数据从内存里拉出来,做一组相对简单的运算,再写回去。取数和运算分开,互相解耦。

人脑不是这样。它一团乱,存储和计算揉在一起,没有清晰的功能分区。人观察到的是一层层神经元,有局部连接也有全局连接,信息以某种分布式的方式存着。人们照着这个思路在计算机里搭神经网络,也有数学在背后支撑,但凯勒不觉得这套理解已经很深。没有谁能指着一个神经元说,它完成了这样一个具体的计算。两边都还没搞明白,所以现在谈对比,纯属隔靴搔痒。

从原子到数据中心

计算机工程最迷人的地方,是它有一套相当清晰的抽象层级。

最底下是原子。原子拼成硅、金属这类材料,材料做出晶体管。晶体管往上搭出逻辑门。逻辑门再组合成功能单元,比如加法器、减法器、指令解析单元。功能单元放进处理器核心里,十几个核再拼成一台现代计算机,然后才是程序、汇编、C、C++、Java、JavaScript,一路到数据中心。

凯勒说,从原子到数据中心,每一层都能被单独拿出来讨论,这就是计算机行业能容纳上千人协作的原因。每一种层级背后都需要不同训练背景的人,有人懂物理和材料,有人懂电路,有人懂操作系统。

问他自己最喜欢哪一层,他的回答很干脆:我不在乎。这大概就是他的风格。他不站队,哪一层都能聊,也都愿意去搞明白。

指令集这一层的稳定性让他印象深刻。ARM 的指令集几十年了,掰开来数就是加载、存储、乘法、加法、减法、条件跳转这些基本操作,真正有意思的指令没有几条。一个程序跑起来,90% 的执行时间只落在 25 条指令上。这些东西定义于几十年前,至今依然有效。

"指令集相对稳定,是因为最基础的部分很早就被定义清楚了。真正天天在变的,是它下面的实现。"(吉姆·凯勒)

计算机在猜你下一步往哪走

老式计算机取一条指令、执行一条,按顺序来。现代计算机完全不是这样。它一次性取进几百条指令,找出它们之间的依赖关系,画成一张图,再把这张图拆成小块丢给不同单元并行执行。

想要并行,前提是能看清依赖。可程序里到处是分支,平均每六条指令就有一个判断。要一次取五百条指令、画出完整的依赖图,就意味着得把其中大概 100 个分支里 99 个都猜对,否则你算出来的图本来就是错的,白忙一场。

于是现代 CPU 里有了一台小型的专用"超算",唯一的工作就是预测分支往哪走。

猜分支这件事的演化很能说明问题。二十年前的做法简单粗暴:记住上一次这个分支走了哪边,这次照猜。准确率大概 85%。接下来有人想,不如加个计数器,走一次加一,走反了减一,用有符号数的高位来判断方向。准确率涨到 92%。再往后人们发现,同一个分支走哪边,跟你怎么走到这里的有关。如果前文在讲鲍勃和简,判断是一种走法;如果前文换成鲍勃和吉尔,判断又不一样。于是把历史路径也吃进来,准确率继续往上走。

现代分支预测器的做法已经很像一个小型神经网络,同时跑几套不同的预测算法,再用一个选择器挑出最靠谱的那个结果。

代价是什么?凯勒给了一个对照组:从零基础做到 85% 准确率,只需要一千个比特。要做到 99%,需要几十兆比特。从窗口只有 50 条指令到窗口有 500 条指令,算力投入差了三四个数量级。这个赌注下得很重,但没有它,现代处理器的性能根本无法兑现。

猜错的代价也没那么惨。执行单元会走错一条路,做了一堆无用功,但有些计算结果依然有效。凯勒打了个比方:读一本书,你误解了某一段,你对下一段的理解有时候不受影响,有时候全盘皆错。处理器也是这样,它一边往前冲,一边记录数据到底变了没有。等回头来做修正时,它会判断哪些活儿得重做,哪些可以直接采用。

自己找到的并行,和被人告诉的并行

凯勒把并行分成两种。

一种是"自己找出来的并行"。程序本身是一段顺着走的故事,我读了第一句才读第二句,前后有因果。但仔细拆,某些句子调换顺序并不改变意思。"他又高又聪明",高和聪明谁先谁后无所谓。换成"那个高个子男人穿着红衬衫,衬衫是什么颜色",顺序一乱,指代就乱了,依赖关系立刻浮现。现代处理器的核心工作,就是在这种叙事里挖出隐藏的并行。

另一种是"被告诉的并行"。屏幕上有一百万个像素,每个像素的处理公式一模一样,先处理哪一个都行。这种情况不需要挖,因为它天生就是并行的,是程序主动告诉你的。今天说的 GPU,处理的就是这类活儿。

程序跑一百次,每次路径都不同,答案却每次都一样

有个细节听起来很神奇。同一段程序跑一百次,执行流每一次都不一样。哪条指令先执行、哪条后执行、什么时候猜错、什么时候绕路,全都是随机的。但最终结果保证一致。

原因很清楚。确定性是编程语言的形式定义。语言规范里就写死了,同样的输入必须给出同样的输出。如果做不到,写程序的人会疯掉。你得到一个错误答案,然后开始排查,到底是逻辑错了,还是浮点误差,还是调度顺序。所有人都会想要一个开关,按下去就强制走确定路径。

凯勒觉得这件事有点好笑的地方在于:输入进现代计算的数据本身噪声极大,摄像头的画面、传感器的读数、语音信号,全是模糊的。可人们偏偏要求最后那个答案绝对干净。AI 领域有人反其道而行,故意让计算带上噪声,因为网络的收敛过程本来就是从宽到窄,最后那点精确度无关紧要,干脆提前切到下一轮。这个思路在科研里能提速,在产品里就让人抓狂。

把组织当成一块芯片来设计

凯勒有个观察,最好的计算机架构师往往对人没兴趣,最好的管理者往往不懂怎么设计计算机。这两件事本是同一件事的两个侧面。

干了多年芯片之后他意识到,人可以当成功能单元来看。组织设计可以当成一次计算机架构设计。人就像计算单元一样各不相同,有人擅长跳跃性地想出答案,有人擅长把已有方案评估得无比清楚。好团队的关键是有足够多样的人,让两种能力都能发挥作用。

他说了一句话很扎心:计算机科学里 99% 是汗水,1% 是灵感。但那个 1% 极其重要。你必须先有 99% 的铺垫,同时那 1% 不能缺。有人一辈子只愿意做那 1%,也有人一辈子只肯做那 99%,两种人凑在一起才能把事做成。

问题也在这里。人毕竟跟芯片不同,你说一句话,对方可以给出一百万种反应,还互相纠缠。什么时候该介入,什么时候该放手,这件事在计算上无解。

菜谱与理解

凯勒用一个面包的例子区分了两种东西。

菜谱说:拿面粉,加水,加酵母,揉一揉,发酵,放进烤盘,进烤箱。这是菜谱。

理解面包的意思是:你懂生物学,懂供应链,懂磨面机怎么工作,懂酵母,懂物理和热力学。同一个面包背后可以有无穷多层理解。

很多人做设计,实际上是在执行一堆菜谱。菜谱的效率极高,前提是它正好对应你想做的事。一旦情况变了,执行菜谱的人就傻眼了。一本极好的面包菜谱,不会教你做煎蛋卷。但如果你真懂烹饪,面包、煎蛋卷、三明治,全都能变出来。

成为某个领域的专家,意思是你希望往更深的层面走,而不是攒一堆菜谱去执行。团队也一样。有些团队菜谱执行得飞快,有些团队擅长判断眼前这个问题的性质,知道什么时候该抄菜谱,什么时候该老老实实回到第一性原理。

"如果你时时刻刻都在拆解一切、追到更深的层次,那你什么也做不成。反过来,在该拆的时候不拆,你就会做错事。"(吉姆·凯勒)

五年就该推倒重来一次

一个成熟产品走到后期会有这样的现象:有人说要提速 10%,工程师就把某个缓冲区做大一点,多加一个加法单元,把一条指令拆成两条。每个零件都变得稍微复杂一点。加到最后,无论怎么加功能,性能都不动了。这时有人说,这是物理极限,到头了。旁边另一个工程师过来说,其实是你们把问题切分的方式、让不同特性互相纠缠的方式,卡住了自己,得推倒重来。

经历过的团队都知道,重写一遍不光更快,复杂度和代码量还能砍掉一半。

凯勒给出的节奏是:三到五年会有一次重写,每五年就该完全从头做一次。这在整个行业里算激进,大多数人的节奏是十年。

他不讳言这种选择很吓人。所有人都怕。公司看的是季度业绩,工程师怕短期指标崩掉。但把时间拉长看,短期灾难和长期灾难是两种东西。乔布斯说过,老产品有它自己的上升曲线和边际递减,新产品一开始会比老产品的高点低,但它能爬到更高的地方。真正做成长期生意的公司,每次看出必须重做的时候都做了。

尴尬的地方在于,一条新曲线上的第一个点,某些场景下会比老曲线慢。销售跑过来要你保证新产品在每一项上都更快,架构师只能说平均更快,分布里有一些异常点反而更慢。而总有那么一个客户,恰恰只在乎那个异常点。

一条由无数条下降曲线拼出来的上升曲线

回到摩尔定律。最原始的定义是戈登·摩尔提的,晶体管数量每两年翻一倍。凯勒自己在实操层面的定义是:计算机性能每两到三年翻一倍。这个节奏在历史上抖动得很厉害,性能怎么交付也在变。

他有个说法很有意思。摩尔定律看着是一条指数曲线,实际上它是由几千条各自的边际递减曲线拼出来的。每一条曲线都有它自己的寿命,涨到顶就平了。一个专家守着自己那条曲线,看到它平了,就会到处宣称摩尔定律已死。与此同时另一批人正在别的曲线上推进。

这就是"摩尔定律将死"这句话被喊了五十年、却一直没兑现的原因。喊的人看到的是自己的那条曲线,喊得没错,但别人没停。

他从物理角度算了一笔账。一个现代晶体管大概一千乘一千乘一千个原子那么大。量子效应要在大约两到十个原子的尺度才明显出现。也就是说,晶体管的尺寸理论上还能小一百万倍。现在最先进的鳍式晶体管,鳍宽大约一百二十个原子,还能更薄。栅极包在四周,中间还有各种间距,整个几何结构还有收缩空间。半导体厂商已经在推进纳米线晶体管,把鳍做成一根细线,控制更好,尺寸更小。往下的收缩路径是清楚的。

真正难的地方在别处:能不能便宜、稳定、可重复地量产。这背后是设备、光学、化学、物理、材料科学、冶金,几千项技术的接力。

凯勒做过一个演讲,问团队要一张未来 100 倍的路线图。两周后团队回来说,只能给出 50 到 100 倍里的一半。他说,那就再花两周。

50 倍是什么概念?搞芯片设计的人会明白,这意味着未来十年二十年的设计思路必须完全不同。他打了个比方:如果砖头每两年缩小一半,你还用同样的方式砌墙,每人每天的砌砖数量不变,那盖一栋楼的时间会指数级增长。真正聪明的做法是提前预判,现在就去设计搬砖更快的机器,让更小的砖产生更多价值,比如墙更结实、材料更省。有了一张清晰的技术路线图,你会围绕它设计一整套配套工具,既利用它,也扛住它。要是没人相信摩尔定律,晶体管照样按路线图出现,没有准备的团队全都会被淹死。

数学在往上爬,硬件还在原地

越来越多的晶体管涌进来,最难的地方在哪?

凯勒说的是两个常量。第一,人并没有变得更聪明。营养和健康确实带来了一些提升,但这个提升很小,而且不清楚是否还在持续。第二,团队规模没法无限扩张。人这种生物,十个人一队很舒服,一百个人一队还能彼此认识,再往上就必须画组织边界。这两条是硬约束。

于是面对越来越大的设计,唯一的出路是分治。抽象层的价值就体现在这里。早年计算机是用晶体管搭的,现在有团队专门做晶体管到逻辑单元,有团队把逻辑单元做成功能单元,有团队再把功能单元组装成整机。每一层的接口都相对稳定,各自演化。

还有一个细节容易被忽略:我们用更快的计算机去设计更快的计算机,但很多算法的复杂度是 N 平方。计算机晶体管翻倍,这类算法的耗时会翻四倍。所以不能指望"计算机快了,设计自然就快了",软件必须跟着重新设计。

硬件层面其实没怎么变。往芯片里一看,还是加法器、减法器、乘法器、存储器。数据类型的演化倒是催生了一整套优化空间,比如张量运算天然要对一批数据做乘加。但落到底层,那些基本单元跟几十年前没本质区别。

凯勒顺着这个思路梳理了数学的层级:从标量运算,到向量运算,到矩阵方程,再往上到今天的卷积神经网络。数据集大到一定程度,人们开始把数据当成拓扑问题,把它想象成某种巨大的形状,计算就是从这个形状里取数据、做运算。每上一个台阶,需要的算力会跳好几个数量级。

"你的朋友理查德·萨顿说过,计算量每提升一个数量级,计算在做的事情本身就会发生根本改变。量的差异就是质的差异。"(吉姆·凯勒)

凯勒补了一句:量变引起质变这件事,在数学史上反复出现过,他判断还会继续。

他对"AI 是不是搜索"这个问题的态度有点意思。有人说神经网络的训练本质上就是一种搜索,凯勒不认同。在他看来,训练更像一连串的投影。你去看中间层,某一层可能正好描述了尖耳朵,另一层描述圆润度,另一层描述毛茸茸的质感。把这些层拿掉,网络就不工作了,但训练过程本身不是在一个离散空间里找答案。它在一个十万维的空间里做优化,跟国际象棋数据库那种搜索是两码事。

他还提到一个现实问题:过早优化。一个大型软件栈,你刚写下第一行代码就开始优化,后来会发现你猜的性能瓶颈根本不是瓶颈。等你把整件事跑通,回过头针对真正的瓶颈优化,也许能让它快一倍。可要是在最开始就换一套设计,也许本来能快十倍。这两种选择之间存在持续的拉扯。

而拉扯的标尺,又回到摩尔定律。如果未来十年硬件还会变快,AI 研究就应该把这一点算进去,做出稍微不同的选择。如果认定硬件到顶了,那就只剩下算法重写这一条路。凯勒的判断是,过去三十年里,赌硬件到顶、专心改算法的策略一直是失败的。

特斯拉的车里塞了什么

自动驾驶芯片这类活,凯勒认为有两条战线。

一条是软件和机器学习团队。算法变得很快,你在设计加速器的时候,心里一直在打鼓:万一算法变得太多,这块加速器就白做了。

另一条是硬件通用性。一个通用计算机的性能记作 1,GPU 因为面对的是"被告诉的并行",同样的硅面积能跑到 5。再往上,专门为 AI 设计的加速器又能在 GPU 基础上再翻二到五倍,因为它知道运算永远是一组整数做特定方式的乘加累加,是数学可能性的一个子集。风险在于,算法变化太快,你把加速器做得太专用,下一个算法直接在 GPU 上跑得更好,你前面几年的投入就全废了。

凯勒提到特斯拉的成本约束。其他公司的自动驾驶样机,后备箱里塞着服务器,成本预算给到一两万美元,因为目标是替代司机。马斯克的约束完全不同:无论车主买不买自动驾驶,这块计算机都要装进每一辆车。成本预算必须压到极低。要挤出这个成本,只能从系统设计上动脑筋。这件事很折腾,也很有意思。

开车这件事到底有多难

凯勒和弗里德曼在这个问题上有点分歧,而且分歧很有意思。

凯勒认为开车不算超难的问题。车是弹道物体,轨迹可预测。道路是固定的,今天在这里明天还在。世界可以被非常详尽地测绘,每个物体可以被非常精确地定位,轨迹可以被非常准确地计算。人不需要特别聪明就能开车,安全驾驶的核心是注意力,而注意力恰恰是计算机最擅长的东西。

弗里德曼反击说,你把人的视觉系统想得太简单了。它除了识别物体,还要理解整个场景,还得在信息缺失时合理补全。前面有一辆被遮挡的车,你得推断它的存在。眼睛看到的东西是二维的投影,大脑却给出了带深度、带物理规律的三维世界。

凯勒承认这部分确实是数据问题,但他强调数据问题的规模在快速膨胀,算力在上涨,算法理解在加深,历史上语音识别就是这样从频率分析一路走到深度学习的。他甚至打了个"被告诉的并行"之外的比方:车在路上被别人加塞,人脑会自动编一套解释,对方是个坏人,对方走神了,对方是个笨蛋。如果这套心理模型对驾驶真的必要,那现在的自动驾驶系统确实做不到,因为车没有理论,它对加塞这件事没有任何解释。但凯勒怀疑这套模型并没这么必要。车可以在被加塞的时候做一个非常简单的计算,往前挪一点,让一下,或者压住位置。这跟开车本身是两回事。

他相信这件事会在十年内被解决,然后被所有人当成理所当然,就像今天的 GPS。你不再关心卫星在哪、怎么定位,你只知道手机知道你在哪。

关于监管,凯勒的态度罕见地正面。他和美国和欧洲的监管者都聊过。他一开始担心规则会被技术细节绑死,比如刹车规范里充满了液压系统的痕迹,你要是照着字面执行,那就只能用液压刹车。结果发现监管者关心的是场景,迎面碰撞、偏置碰撞、不撞行人、不冲红灯,他们手里有全部的事故数据,知道哪些场景造成的伤亡最多。凯勒说,这些讨论基本都是在问"下一步怎么做才是对的"。

他还表达了另一层意思:自动驾驶的门槛比人类司机高,这件事在哲学上是合理的。既然目标是比人更安全,那就该受到比人更严格的审视。他接受这一点。

手艺人

凯勒用一个说法形容大多数工程工作:复杂技能行为。

学一样新东西是好玩的,因为你在学。做一件已经熟练掌握的简单事,反而没什么满足感。但如果一件事的步骤足够复杂,而你又擅长它,这种熟练本身就会带来愉悦。这就是手艺人的快乐。

他提到大学时挖过沟,还说自己在流水线上待过。他见过装配线上的工人,一群大块头,某天因为设备故障停线,几个人闷闷不乐,因为他们当天本来要破一个产量纪录。装车这件事比大多数人想的难得多。给一辆移动中的车装亮条饰件,一分钟半里要在二十五个位置扣上,这个难度不亚于开车。

特斯拉的自动驾驶硬件设计在他看来就是这么一类活儿。你已经定了架构,接下来是无数个细节的取舍:十个 CAN 口还是八个,这一代车怎么做,下一代车怎么做,安全模块怎么放。他打了个比方,这就像做小提琴。斯特拉迪瓦里做琴厉害,但本质是他挑木料、打磨、切削、粘合,还要等合适的天气上漆,免得做傻事。你可能是个天才工匠,因为你掌握最好的手艺,甚至发明了新工艺,但大多数工程本质上就是工匠活儿。人天生喜欢干这个。

第一性原理是件很累的事

谈到和马斯克共事的经历,凯勒说他很喜欢那种思维方式。

你自认为已经理解某件事的第一性原理,然后跟他聊,你会发现你连皮毛都没碰到。那种剥离所有假设、追问最底层约束的能力,凯勒形容为"超级狂野"。

他讲了个小故事。一个朋友发明了更好的电机,性能比在用的那款好很多,朋友拿给他看,他反应平平。朋友有点失望,说这可是很厉害的东西。凯勒回他一句:如果有超级智能的外星人来了,他们会满宇宙找那个造电机的人吗?大概率不会。

凯勒说这话,重点放在别的地方。要做到既创新、又是手艺活儿,那种状态最让人满足。造火箭、造车,用同一套第一性原理去拆解,很好玩。当年 SpaceX 第一次回收火箭,特斯拉大房间里架起投影仪,五百号人跑过来看直播,落地那一刻全场欢呼,有人哭了。

但代价是什么?凯勒说得很实在:让你剥离全部假设,这个过程不可能不痛苦。他估了个比例,你日常思考里大概 99% 的精力都花在保护自己已有的观念上,而这 99% 里又有 98% 是错的。真正有用的那部分观念,可能只占百分之几。意识到这一点,并且愿意推倒它,才有机会换一种做法。

凯勒说自己脑子里有这个意识,但他也会连着好几天忘记。因为日子要过,事儿要做,人还有情绪要照顾,有娱乐要享受。过一阵子才想起来:哦对,我可以按第一性原理重新想一遍。然后再精神抖擞地干一段时间,又累了,又忘。这东西没法一劳永逸,是一个需要反复回到的观察点。

他提到自己读书的习惯。有人觉得他读了很多书,他说自己五十五年来每周读两本。写书的人往往是把二十年里最热情投入的一件事浓缩成两百页,你花几个小时就能读完,还能上网查到谁写得最好,这买卖太划算了。他去一家公司做管理,先读了二十本管理书,然后发现自己比周围所有副总多读了十九本,一大半方法第一次用就奏效。

关于超级智能

聊到 AI 的奇点和超级智能,凯勒并不焦虑。

他的思路是:人类社会本来就是高度分层的。你看整个动物界,能力、兴趣、生态位各不相同。聪明人有聪明人的位置,普通人有普通人的位置,手艺人也有手艺人的位置。真出现一个比人聪明十倍的东西,它为什么要专门追杀我们?就因为我们喜欢在星巴克喝咖啡?这想法本身就说不通。

至于"活在一个比自己聪明得多的存在旁边,自尊心怎么受得了",他提醒,只有 1% 的人会有这个困扰。剩下 99% 从出生起就活在比自己聪明的人边上,早就习惯了。人可以活得有意义的区间非常大。

他也不认为超级智能会继承人性里那些阴暗面。人类跟善恶两种力量处在一种创造性张力里,哲学家讨论了几千年,他也不明白为什么超级智能那里就会不一样。竞争的世界里,某人的善就是另一个人的恶,这种事会一直存在。少数时候它会极端残酷,但大多数时候它是自我限制的。

有人问他,如果能重活人生中的某个时刻、某段时光,会选哪一段。他的回答是:我不想重活任何一段。他喜欢那种带着一点乐观、又带着未知焦灼的状态。未知让人心跳加速。

问他人生的意义是什么。他说,看起来就是它本来的样子。宇宙不知为何造出了原子,原子组成了我们,我们做点事,搞明白点东西,探索点东西。就这样。

弗里德曼最后用戈登·摩尔的一句话收尾:如果你尝试的每件事都成功了,说明你试得还不够狠。

整场对话里凯勒反复回到同一个判断。一个系统运行到某个阶段,继续在原有框架里加码,收益会越来越薄。真正的突破,往往来自把整套假设摊开重新审视,哪怕这个过程既痛苦又昂贵。芯片是这样,组织是这样,人的观念也是这样。

可以马上做起来的几件事

  • 给手头正在优化的项目设一个硬性时间窗口。三年之内可以小修小补,超过三年就必须认真考虑推倒重做,别让团队陷在一条已经压平的曲线上。
  • 把团队里最大的那块工作拆成能独立演进的层级,定义清楚每一层之间的接口。接口稳定,上面下面才能各自迭代,不互相拖累。
  • 遇到瓶颈时先问一句:是真撞到了物理极限,还是我们切分问题的方式把自己卡住了?第二个情况远比第一个常见。
  • 每周留出一段时间专门做"菜谱与理解"的区分练习。列出你正在做的事里,哪些是从别人那里抄来的步骤,哪些是你真的想明白了。只有后者能迁移到新问题上。
  • 别指望第一性原理思考能一直在线。把它当成一个周期性动作,状态好的时候做一轮深度拆解,其余时间正常推进,接受自己会忘。
  • 如果打算进入一个新领域,先花一两个月把行业内公认最好的几本书读完。读完你很可能比周围大多数人更懂这件事的底层逻辑,成本却低得多。
  • 评估一个长期项目时,把短期灾难和长期灾难分开看。前者让你这季度难看,后者让你三年后无路可走,两种恐惧不该被同等对待。

本集资源与出处