两个悲剧
追本之箭 — 两个悲剧

2026-05-21 Thu 20:14
起点
"人生有两大悲剧,一是夙愿未果,一是得偿所愿。"
—— 萧伯纳《人与超人》
读这句话的人,几乎都在两根钉子之间找平衡点:别太用力(免得求而不得),也别太当真(免得得到了空虚)。仿佛萧伯纳在劝你"中道"。
但他没在描述两件事。他在描述同一个函数,在它仅有的两个输入上的取值。
把欲望看成一台机器 f(欲望) → 结果。这台机器只有两个出口:没拿到、拿到了。萧伯纳只把两根钉子并排钉下,没说它们同号。说它们同号的是这支箭——两个出口的 return,符号都是负。
一个二分支函数,两条 return 给出同一个符号,bug 就不在分支里。不在"该不该用力"上,在 f 本身。
"夙愿未果"和"得偿所愿"不是反义词。它们是同一个映射 欲望 → 痛苦 的定义域两端。
所以真正的问题不是"怎么平衡",而是两个:
- 拿到了,凭什么也痛? 它表面是成功,内里那一步到底发生了什么?
- 如果两端都痛,那"想要"这个动作本身,是不是在引用一个它根本读不到的地址?
第一层:缺口 —— 看得见的那个负号
夙愿未果,为什么痛?这层不用钻,人人会答:想要的没拿到。
形式化,是一道几乎所有苦难理论都默认的减法:
S = D − A 苦 = 欲望 − 拥有
D 比 A 大,差出来的就是痛。这是励志学唯一会做的题:把 A 往上推,让 D − A 趋近 0。努力、坚持、不放弃——全在解这一道减法。
代进去能反驳吗?能。这道式子有个致命的隐含假设:D 是常数。
如果 D 真是常数,那么只要把 A 推到等于 D,S 就归零,人就该永久幸福了。
可萧伯纳那第二根钉子,正好钉在这里:A 追上了 D,人还是痛。
减法没错,错在它以为右边那个 D 站着不动。
第二层:跑步机 —— D 在偷偷重置
A 追上 D 的那一刻,S 没有归零。因为 D 不等你,它已经搬家了。
心理学有个被反复测出来的名字:享乐适应(hedonic treadmill)。设定点会重置。把第一层那道静态减法改写成动态的:
D(t+1) = A(t) + Δ
你这一期的欲望,锚定在你上一期的拥有之上,再加一个常数增量 Δ。
代进去验:把 A(t) 代入,下一期的苦 S(t+1) = D(t+1) − A(t+1)。无论你这期拿到多少,欲望明天就把基线抬到这里,缺口原样复活。
这就是为什么彩票得主一年后的幸福度回落到中奖前,截瘫患者一年后也爬回基线附近——两个方向都收敛回同一条水平线。可证伪,且被证过:若适应不存在,中奖者该永久更幸福,数据说没有。
跑步机的残忍不在它快,在它永远把终点线钉在你脚下半步。你跑到的每一个"那里",落地瞬间就变成新的"这里"。( 耐心的数学:同一招换轴——别按 level(到没到)算账,按 slope(在不在动)算账,机会成本由斜率而非高度定价。)
第三层:对数视网膜 —— 同样的增益,越来越淡
设定点重置,不是道德缺陷,是知觉的物理。
你的神经系统不测量绝对量,只测量比例。韦伯-费希纳定律:
ΔP = k · (ΔS / S)
感受到的变化 ΔP,正比于刺激增量除以当前基线 S。同样一笔钱,基数越大,激起的感受越小。第一个一千块和第一百万之后的又一千块,客观相等,主观差几个数量级。
积分得 P = k · ln(S) —— 感受是刺激的对数。
S 翻倍,P 只 +k·ln2,一个常数。
要让 P 线性增长,S 必须指数爆炸。
这就是"对数视网膜"的字面来源。你不是贪得无厌——是你的标尺是对数的,而世界只能给你线性的供给。供给追不上标尺的指数胃口,这是结构性赤字,不是道德缺陷。
到这里,该轮到那个最顺手的反驳出场了——这也是这支箭的对称陷阱:
"既然欲望追不上、知觉又钝化,那就反过来:少欲、知足,把 D 摁住不就行了?"
听起来通。但它通不过自测。给你一把判决尺,当场量你手里的"知足":
判决式:这次"想要更少",是 减法 还是 除法?
· 减法式知足:你仍在用 S = D − A 算账,只是
把 D 往下调。本质是"主动认输的缺口"——
你压着想要,靠意志托住一个不发火的 D。
一松手就反弹。这是止痛,不是解。
· 除法式知足:你换掉了被测量的对象。不再问
"我拥有的够不够多"(测 level),而问
"我此刻在不在变化里"(测 slope)。分母
S 不再是你的对手,因为你根本不在用它算账。
拿它量自己:你那个"看淡了"的念头,是在硬压一个仍想发火的 D(减法),还是已经不拿 level 算账了(除法)? 前者是把跑步机调慢,人还在带上;后者才下了机器。
绝大多数"知足常乐",是减法。所以它只是止痛片。( 甚爱必大费:老子量的是同一笔账——"甚爱"是把 D 顶到天花板的减法式狂热,大费正是那个还不掉的缺口利息。)
第四层:奖励的是误差,不是奖励 —— 钉子反向了
前三层都默认一条因果:因为想要(目标),所以去追(行动),拿到就该满足。
这条因果,是反的。
大脑里那个让你"想要"的化学信号——多巴胺——它不在你拥有时发放,它在你逼近时发放。神经科学早把它的真名写死了:它编码的不是奖励,是奖励预测误差(reward prediction error):
δ = r − V(s) 实际所得 − 你早已预期的
读懂这一行,整座大厦塌给你看:
- 当你还没拿到、但正在接近时,r 不断超出预期,δ > 0,系统持续发火。追逐本身就是高潮。
- 当你终于拿到、且早已预料时,r 恰好等于 V(s),
δ → 0。系统沉默。
于是"得偿所愿"为什么是悲剧,有了机制层的真名:抵达的那一刻,正是误差归零、机器熄火的那一刻。不是抵达之后才空虚,是抵达等于空虚——δ 在终点线上被工程性地清零。
更深一层:∫δ dt 在一个完成的欲望周期里守恒为零——追逐期攒下的全部正 δ,在抵达点被等量的负 δ(失落)精确对冲。你不是"白高兴一场",是账本被强制平掉。这条守恒律才是两个悲剧真正的同根:缺口是还没收的正 δ,空虚是被清算的零余额。
更狠的反转在这里:你以为你一路在追那个奖品。错了。
奖品从来不是目标,δ 才是。 你的神经系统从不奖励"拥有",它只奖励"差距正在被填上"这个动作。你优化了一辈子的那个变量,被设计成在终点线上自己归零。( 执着于手段还是目的:这正是"把载具当终点"的同一类型错——你以为奖品是目的,它其实只是让 δ 发火的手段。)
你不是得到后才失去意义。你是冲着一个一旦到手就失效的变量在跑。难怪萧伯纳说,得偿所愿是悲剧——你成功地杀死了那个让你觉得活着的信号。
第五层:被选择的是斜率,不是高度
它确实不是为你设计的。它是为你的祖先能成为祖先设计的。
演化不优化你的幸福。它优化你的运动。
一只吃饱就满足、满足就停下的动物,会被选择压力淘汰——它停在了一个局部的舒适点上,而隔壁那只"吃饱了还想要"的,多占了一份资源、多留了一份后代。被传下来的,从来是后者那套不知足的固件。
形式化:自然选择作用在适应度的梯度上,不在它的水平上。
选择压 ∝ dF/dt (斜率),而非 F (高度)
满足,在数学上是 dF/dt = 0 的点——一个局部极大值。而梯度上升算法的铁律是:在任何局部极大值处,梯度都为零,系统必须离开它,否则永远困在小山包上,够不到更高的峰。( 优秀是卓越的敌人:"优秀"就是这个 dF/dt=0 的小山包——到达它的那一刻,正是满足适应把它锁成新基线、内在动力归零的那一刻。)
机制没有"踹"这个动作。在 dF/dt=0 的满足点上,你只是停了。而停 = 把资源让给隔壁还在爬的那只。踹你下山的不是演化,是那只没满足的邻居。满足在绝对值上无害,在相对适应度上致命——这是一道零和守恒:你停下的每一步,都精确地变成别人多走的一步。
你的不满足不是你这一代的 bug。它恰恰是你祖先能活到把你生出来的那个 feature。
但别急着认命。这里藏着被偷走的因果:"知足"不是被淘汰了,而是被重新定义了。能传下来的"知足",全是那种在过程里知足的(享受打猎本身,而非吃饱躺平);在结果里知足的(吃饱就停)才被淘汰干净。所以第三条路不是反演化——演化早就内置好了另一个解。你不是被判了无期,你是一直在两个解里选错的那个。
终点:欲望是算子,不是指针
把五层收束成一句类型错误:
"想要得到",预设了一个"得到了之后就停下来"的终结态。可这台机器,结构上读不到那个地址。
欲望不是一个指向目的地的指针(pointer),它是一个计算斜率的算子(operator)。
欲望 = ∇ (梯度算子)
∇ 没有不动点。
求它的"满足解" ∇ = 0,
方程在它自己的定义里就无解——
那不是它会去的地方,是它被造出来要离开的地方。
萧伯纳的两个悲剧,到此合成一个:
- 夙愿未果 = ∇ 指向的地方你没到达 → 痛(缺口)
- 得偿所愿 = 你到达了 ∇ 指向的地方,而 ∇ 在此处 = 0 → 死寂(熄火)
两端都痛,因为你拿一个算子当指针在用。你问一个本质是"方向"的东西"我们到了吗",它每次都只能回答"还没"或者"这里什么都没有"。
那有没有第三条路?
有。但它不在"要多还是要少"这条轴上——那条轴整根都在跑步机上。第三条路是第五层那个被偷走的解的工程实现:你没法关掉 δ 机器(第五层:它是固件,不是 bug),你只有一个自由度——选喂给它什么。
喂给它"有终点的 X",它在终点线上把自己清零(第四层);喂给它"本身就没有终点线的活动"(手艺、关系、求知),同一台机器永远供正 δ 而永不熄火。
第三条路不是"不要欲望",是给那台你关不掉的发动机,装一条永远到不了头的跑道。不是改你,是改输入。
判别式 + 怎么走
先认域,再行动。 拿这把尺判你此刻的每一个"想要":
这个欲望,是 指针 还是 算子?
指针型:你能说清"拿到 X 就好了"。
→ 它在骗你。X 到手当天 δ=0,
D 当晚重置。这是跑步机方向。
算子型:就算 X 永远拿不到,
"朝 X 走"这件事本身你也愿意做。
→ 这里 δ 持续为正,无需终点线。
这是下机器的方向。
判完,按这四步走:
- 拆掉指针的伪装。 写下你当前最想要的那个 X。逼问一句:"如果保证我永远到不了 X,但每天都在靠近,我还干吗?" 答"不干"→ 纯指针,你要的是 δ,X 只是借口。答"干"→ 算子,留着。
- 改喂给机器的输入。 把目标从"达成 X"(一个 level)改写成"每天在 X 方向上移动 ε"(一段 slope)。前者一次性熄火,后者持续供 δ。你不是在控制欲望,你是在换它的食料。
- 给适应装个外挂账本。 第二层说 D 会重置、记忆会把基线抬走。所以别靠回忆度量进步——记忆是你自己的办公室,既当裁判又当选手。立一本外部账本:今天的输出 / 体重 / 字数 / 提交记录,写进一个不归你情绪管的地方(版本库、表格、记账 App)。让 dF/dt 由外部物证算,不由心情算。
- 找一个会反驳你的人。 你判自己"这是算子",大概率是减法式知足在伪装(第三层判决式)。把你的 X 和理由,讲给一个有动机戳穿你的人听——不是来点赞的。外部的那句"你这就是想要而已",比你自己反躬自省一百遍更能验出指针。( 被现实纠正:自评是既当裁判又当选手的缓冲层,只有外部 verifier 能戳穿伪装——失去被纠正的能力,你就永远验不出自己手里那根是指针。)
萧伯纳没给第三条路,他只钉了两根钉,让你看见两端都是悬崖。
第三条路不在两端之间,在那根轴的外面:
你关不掉那台发动机——但你能选给它一条到不了头的跑道。
∇ 不会停。你要做的不是让它停,是别再喂它会让它撞墙的目标。

延伸 · 同簇「意义受苦」 · 经验本身就是目的 · 不甘 · 为什么受苦 · 为琐事动怒却对浪费人生浑然不觉