“不知道自己要去哪个港口的人,没有哪一阵风是他的风。”
——塞涅卡
向谦备忘录,启发小进步,我是徐向谦。
四个钟头,一圈又一圈
人在陌生的地方迷了路,会绕圈子——这话流传了很久,却一直没有人拿数据好好验证过。
2009 年,德国马克斯·普朗克生物控制论研究所的几位研究者,决定量一量。
他们把六个人带进德国一片很大的森林,出发时只给每人指一个方向,要他朝着它尽量走直。每个人身上带着 GPS,各走了三个半到四个钟头,一路的轨迹都记了下来。
有四个人赶上的是阴天,太阳躲在云后面。四个人全都走成了圈。其中三个,一次又一次穿过自己走过的路,自己一点也没察觉。
另外两个人走的时候,太阳出来了。他们几乎走成了一条直线——只有开头那十五分钟例外,那时太阳还藏在云里。
他们还在突尼斯境内的撒哈拉沙漠做了一回。白天走的两个人,路线也偏了,可没有绕圈。有一个人在夜里走,起先有满月照着。月亮一被云遮住,他连着拐了几个急弯,朝来的方向走了回去。
他们一路都在朝自己认定的正前方走。
它们只在一头一尾上分家
平常说“速度”,多半只指快慢。中学物理课本分得细一些:只管快慢的,叫速率;连方向一起算的,才叫速度。课本里有一句写得很直白:汽车的速度计显示不出车往哪个方向开,它的示数其实是速率。它没骗你,每一个瞬间报的快慢都是真的;它只是不管你往哪儿开。
两样东西放到一段时间里去算,算法不一样。速率拿这一段走过的路程除以时间,一路上每一步都算数。速度拿这一段的位移除以时间,而位移只看一头一尾:这一段从哪儿开始,到哪儿为止。中间是怎么走的,它不管。
所以沿着 400 米跑道跑满一圈,这一圈的速率可以很快,这一圈的速度却是零——你回到了出发的那条线上。
速率算一路,速度只认一头一尾。 放到一段时间里,速度最多跟速率一样大;路只要弯一点,它就比速率小一点。一件事有没有进展,看的也不是你此刻多快,是比起出发的地方,你挪出去了多远。
可要是不看一段,只看一个瞬间呢?那个瞬间,速度的大小正好就是速率。只看快慢,忙和进分不出来;分得出来的只有方向,而方向得有个东西去比。
森林里那几位碰上的,正是这件事。任何一个瞬间,他们的速度都实实在在地指着自己以为的正前方,步子也一点不慢。一步一步看过去,挑不出毛病;挪了地方的,是那个“以为”。圈不在哪一步里。拉开一段时间,一头一尾一比,它才露出来。
没有哪一步拐错
你大概会以为,走回头路,总得有一步走错:在哪个岔口拐错了;或者照常听到的那种解释,一条腿比另一条长,步子一边大一边小,人就不知不觉往一边偏。
研究者也想到了后一种。他们请十五个人蒙上眼睛走直线。多数人都时不时绕出圈来,有的圈直径不到二十米,一个篮球场差不多就装得下。可大多数人并不总往一边绕:同一个人,这一回往左,下一回往右。量了腿的力气,跟往哪边偏对不上;给一只鞋加厚一厘米多的鞋底,也没让人一贯偏向哪一边。
他们给的解释是:身体里告诉你往哪儿走的那些信号,每一步都带着一点随机的误差。误差一步一步攒起来,你心里觉得的“正前方”,就这样一点点偏离了真正的正前方。
随机的误差,左一点右一点,按说该互相抵掉。可方向不是这么攒的:每一步的正前方,都是从上一步已经偏过的地方接着算。前面的偏没人纠正,后面的偏就叠在它上头——左右抵掉一些,剩下的一直留着,还在接着变。方向一点点转过去,转够了半圈,人就朝着来的方向走回去了。
绕回来,用不着哪一步拐错。每一步偏一点,再没有东西去对,就够了。
心里那个正前方
读到这儿,你心里可能会冒出一句:
「那我盯紧一点。每一步都留神,总不至于绕回来吧?」
森林里那几位,要做的就是这件事——他们接到的,就只有“尽量走直”这一句话。可他们拿来留神的,是自己心里那个“正前方”,而偏的正是它。拿它去对它自己,每一步都对得上。
其中一位研究者说得很具体:人可以确信自己在走直线,可这份感觉并不总靠得住;真要走直,得借周围靠得住的方向线索——远处的一座塔、一座山,或者太阳在天上的方位。
这几样东西有一个共同点:它们在你外头,不跟着你的步子偏。
它们也不是十全十美。太阳自己在天上慢慢挪,白天在沙漠里走的那两位,路线照样偏了。可那一点偏,没有攒成圈。
日子里的阴天
走在街上,碰不上森林里那种阴天:就算不见太阳,路口也有路牌,远处也有楼。真正的阴天,在那些没有路的事情上——一个做了很久的项目,一门没人来考你的手艺,一件只有你自己知道做到了哪儿的事。
在这些事上,每天早上定下的“今天先做这个”,就是那一天的正前方。它是那天的你定的。今天偏一点,明天从偏过的地方再偏一点;没有哪一天决定掉头,每一天单拿出来看,也都在往前走。
忙不忙,看一天就看得出来;到没到,得隔一阵子才比得出来。这种地方,最容易让速率说了算。
一次次亮起来的绿灯
我自己做的日记软件 difego,早期走过这样一段。
那时我让它在 Mac 和 Windows 两边同时开发,前后大约一个月:用一个桌面框架把后端包起来,再给两个系统各配一条自动打包的流水线——每次改完代码,它自己在两边各打一遍包,打成了就亮绿灯。
那一阵几乎天天有进展:这里跑通了,那里修好了,两边的绿灯一次次亮起来。随便挑哪一天出来看,都挑不出毛病。
后来改版,只留了 Mac 和 iOS:Mac 版换了一套框架,iOS 版另写原生。回头一比,当初那层外壳、那两条流水线,都没有留下来;一路跟到后来的,只有最里面那个后端。
我那时看进展,看的是“今天又打通了一样”,那是一路。一头一尾,我没比过:从动手那天到那时候,它离“有人装上、用起来”近了多少。
把起点写在纸上
有两件事,花不了十分钟。
第一件:把起点写下来。 挑一件你推进了一阵子的事,写一句话:它现在走到哪儿了。这句话要写成别人读了也能判断真假的样子——“能用英语打完一通订酒店的电话”,而不是“英语好了不少”。后一种记的是一路,前一种记的才是一头。隔一个季度再写一句,两句放在一起比。这中间干了多少活,那一回先不算。
第二件:给方向找一个在你外头的东西。 把你要去的地方,也写成那样一句话,放在每周都会看见的地方。每周拿手上正在做的事对它一次,偏了就往回拧一点,一回拧一点就够。比方说,纸上写的是“能不看菜谱做出一桌四个菜”,这一周你却花了三个晚上比较哪把菜刀好用——那就问一句:这三个晚上,是朝那句话去的,还是朝别处去的?写在纸上的那句话,不会跟着你一起偏。它的用处就这一个。
从天上看那几条线
回到那片森林。
那几条轨迹,要是只截很短的一小段来看,都只是一个人在往前走。把几个钟头连起来,从天上往下看,线才开始跟自己相交。一个人慢慢地走直线,能走过一片大陆;一辆车绕着圈开得再快,也哪儿都到不了。
题眉那句话,常被译成“哪一阵风都不是顺风”。古罗马斯多葛派哲学家塞涅卡的拉丁文原话更干脆:没有哪一阵风是他的。风一直在吹,有大有小,有它的来向;哪一阵算“他的”,得先有一个港口。
这句话写在塞涅卡给一位朋友的信里。在它前面,他先说了射箭:射箭的人得先知道自己要射什么,然后还得用手去瞄、去把住那支箭。知道港口,只是头一步。森林里那几位,港口是有的——出发时就有人给他们指过方向。他们没有的,是走在路上还能一再拿来对一对的东西。
格外的话
森林里那件事,有个老叫法:鬼打墙。人夜里迷了路,会绕回自己走过的地方;后来这三个字还被借去说一个人在一件事上反复打转。这一格说的事,中文本来就熟。
可这个叫法里的那堵墙,安错了地方。它把毛病安在外头:有个什么东西挡着你,把你往回拨。森林里没有墙。让人绕回来的在里头,是每一步那一点偏;能把人拉直的反倒在外头,是远处那座塔、天上那个太阳。原因在里头,出路在外头。 照这个叫法,该对付的是外头那堵墙;照那组试验,该对付的是心里那个“正前方”,而帮得上忙的,偏偏在外头。
还有一句话也常听到:方向定了就别老改,改来改去,就绕成了圈。我的判断正相反:走得直的人,一路都在改。 照研究者的解释,外头有个方向可对,心里那个“正前方”就能一路重新校准。我的理解是,走直是一路小改出来的——一回改得很少,改得却很勤。阴天里那四位,没有东西可对,也就无从改起。有人会说,改得勤就是瞎折腾。我分辨的办法是看改的时候对着什么:对着外头那个不跟你偏的东西改,是校正;跟着心里新冒出来的念头改,是换了港口。前一种越勤越直,后一种越勤越绕。
塞涅卡那封信,我读的时候自己连上了一处。港口那句话常被单独拿出来说;在信里,射箭那句再往前,还有一句:我们之所以犯错,是因为人人都在为人生的一部分一部分盘算,没有谁为它的整体盘算。我读到这儿,想起的是物理课本里那两样:速率是在一段一段上算出来的,每一段都算数;速度只在整体上才有。日子过得越满,越值得隔一阵子,比一比一头一尾。
换个模型,再想一遍。
多一个模型,多一双眼睛。
下一格 · 杠杆
向谦备忘录,愿你每篇都有收获,我们下篇见。