不是影评--从《恐怖邮轮》说开去。
不是影评--从《恐怖邮轮》说开去。
关于“不服”、控制的幻觉,以及我们为什么总想再来一次。
前方自然是大量剧透。
前阵子刚重看过一遍《恐怖游轮》,这两天看到影院重映,又跑去看了一次。
倒也没有冒出什么全新的感悟。更多像是之前模模糊糊抓住的东西,这次变得清楚了一点。
这部电影最显眼的当然是它的循环结构:一个 Jess 看见另一个 Jess,一个事件既是前一轮的结果,又是下一轮的原因。法语里有个词叫 mise en abyme,大约可以理解为镜中镜、故事套故事。程序员则可能更喜欢另一个没那么浪漫的词:递归。
但我自己的感觉更像是万花筒。
每转一下,眼前都像是一个新的世界;再仔细看,里面其实始终是同一组碎片,只是重新换了一个位置。更诡异的是,我们透过这个万花筒看到的不只是 Jess,最后还会在里面看到自己。
当然,网上已经有无数文章在画时间线、数 Jess、解释每一具尸体是从哪里来的。那些挺有意思,不过我这次更在意的不是循环是怎么构成的,而是:
到底是什么东西,驱使她一次次主动重新走进去?
这一次,好像真的不一样
这次看时我印象最深的,是 Jess 第一次发现事情似乎和上一轮不太一样。
她似乎救下了一个原本应该死去的人。至少在那个时刻,她找到了一条不同的分支。
这其实是一个非常危险的时刻。
因为如果每一次尝试都毫无悬念地失败,人可能反而比较容易死心。真正让一个循环难以退出的,往往不是彻底失败,而是它偶尔会给你一点正反馈:
你看,这次好像差一点就成功了。
这个反馈甚至不能说是假的。她确实改变了局部:一个人暂时没有死,一个步骤也确实发生了变化。错的只是从这个事实继续推出的结论——局部可以改变,所以整个系统最终也可以被我控制。
只要再聪明一点、再狠一点、再多来一轮,就能把所有错误修掉。
如果把轮回看成一段程序,Jess 一直以为系统里有一个 bug,只要找到正确的 patch 就可以退出。但慢慢会发现,她不断修补、不断重新执行的行为,本身就是这套程序的一部分。
她不是找不到退出条件。
她是把“再运行一次”误认成了退出条件。
这个结构在现实里其实到处都是。赌博、反复修补一段已经结束的关系、一次次推倒重来的自我改造,甚至我们不断寻找的某种“终极方法”,背后都可能有一点类似的东西。
我在前一篇修车的文章里,其实刚经历过一次小型版本。
从完全不懂车,到会看 OBD 故障码、查论坛、拿 AI 帮忙分析,我确实比最开始懂得多了一点。也正是这“一点”给了我很强的正反馈,让我逐渐爱上了一个关于 CVT 学习参数的解释。后面我看似一直在 Debug,实际上已经不是在求证,而是在不断让 AI 和新信息把我喜欢的答案说得更像真的。
最后的根因却是三元催化器堵塞。前面的知识并非全错,只是我把“比以前多懂一点”,误当成了“我已经开始掌握整个系统”。
反馈是真的,外推错了。
不是完全没有进步。恰恰是因为真有一点进步,我们才更容易相信:再来一次,我就能彻底解决它。
“不服”是一个很准确的词
我前几天和 AI 聊这部电影时,脑子里跳出来一个词:不服。
它不只是觉得不公平,也不只是难过。它里面还有一股更硬的东西:
我不承认。
我不接受。
我咽不下去。
我觉得事情不应该这样结束,我还想把它扳回来。
所以“不服”不是一个安静的情绪。它天然带着一种行动冲动:重来、补救、证明、翻案。即使人表面上什么也没做,脑子里也可能在反复模拟——如果当时换一种做法,一切会不会就不一样?
Jess 不服的,也不只是孩子已经死了。
她不服自己曾经是那个会对孩子失控的母亲,不服那样的自己竟然真实存在过,更不服这件事已经成了一个无法撤回的事实。
所以她回到家后,杀掉了那个伤害孩子的自己。
表面上看,她是在阻止悲剧;但从另一个角度,她真正想杀掉的不是“另一个人”,而是已经发生过的自己。
只要那个糟糕的我消失了,我就能重新开始。
可过去的自己并不是一个外部敌人。那个自己恰恰是现在这个自己的前因。现在这个看起来更清醒、更痛苦、似乎已经觉悟的 Jess,也并不是一个完成升级的新版本,只是同一个人在循环中的另一个 state。
从系统角度说,杀掉旧 Jess 并没有清理掉历史状态,反而正是生成下一轮 Jess 的步骤。
每杀一次,她都在制造下一个必须被杀死的自己。
所以,杀死过去的自己不是放下,而是继续和自己开战。
很多时候,让过去一直留在场上的并不是记忆本身,而是我们对记忆的抵抗。我们不断告诉自己:
“我早就不是那个人了。”
“我必须彻底摆脱这件事。”
“只要我以后足够成功,就能证明那段过去不代表我。”
但越需要证明,过去就越在场。
现实已经继续往前走了,心却还留在原地打官司。自己是原告,也是被告,还是审判长。这个官司自然可以无限开庭。
这大约就是一种“苦”的轮回。
现实里的轮回可能更长
电影受限于篇幅,只能把循环压缩到一艘船、一次车祸和几组不断重叠的人物里。观众还能靠甲板上的尸体、地上的项链和死去的海鸥,确认这件事已经发生了很多次。
但现实里的轮回可能要长得多。
它可能以几年甚至十几年为单位,场景、人物和理由都换了,以至于我们根本认不出这还是同一件事。
一段关系结束了,换一个人;一份工作失望了,换一个地方;一个计划失败了,设计一套更复杂的新计划。表面上每次都不同,甚至局部也真的有变化,但如果驱动它们的还是同一种恐惧、同一种不服和同一种对“彻底重来”的期待,那么万花筒里的碎片其实没有变。
现实也不会在甲板上整整齐齐地堆出一地尸体,提醒我们:嘿,你已经来过这里很多次了。
于是我们会把它叫作运气不好、遇人不淑、环境不对,或者干脆叫命运。
当然,也不能反过来把一切都解释成“你自己的循环”。外部世界当然有真实的问题,换工作、换城市、离开一段关系,也完全可能是正确的决定。要是什么都归因于自己,那只是把控制幻觉换了个方向——以前觉得什么都能控制,现在觉得什么都是自己的错,内核其实差不多。
真正难分辨的,是我们究竟在处理一个新的现实,还是借着一个新的现实,继续和同一个过去打架。
New Start New Doye
我很早就喜欢一句话:New Start New Doye。
从高中,到 QQ 空间、人人,再到自己的笔记,我反复幻想会有那么一个点:跨过去之后,之前的一切都被抛在脑后,那个失败、混乱、没有执行力的自己留在旧世界里,从此终于可以心无旁骛地做自己真正想做的事情。
新的城市,新的工作,新的关系,新的计划,甚至只是一个新的星期一,都可能被我当成那个 refresh 点。
从这个角度看,我也一直有自己的《恐怖游轮》。
我倒不是说“新开始”全是假的。环境确实会改变人,一个新的机会也确实可能打开原来没有的路径。问题在于,我们很容易给一个出口叠加太多功能:它既要解决职业问题,又要修复自信;既要带来新的关系,又要替过去翻案;最好还顺便回答一下活着的意义。
然后现实只要给出一点正反馈,我们就更加确信:
你看,这次真的不一样。
可很多时候,改变的只是场景。那个带着旧问题、旧执念和旧期待的自己,也一起登上了船。
认过去,不服未来
所以停止轮回的方式,可能不只是轻飘飘地说一句“放下过去”。
“放下”说起来太容易了。真正困难的是承认:
那件事确实发生过。
那个糟糕的人确实也是我。
有些伤害无法撤回,有些关系无法恢复到从未破裂的状态,有些代价只能承担。
接受不是原谅一切,也不是替过去合理化,更不是承认“它本来就应该这样”。接受只是停止要求一个已经发生的事实,重新变成没有发生。
作为程序员,我们很容易幻想人生也能执行一次 git reset --hard:删掉那段混乱的提交,回到一个干净版本,再重新开始。
但现实更像一个已经产生外部副作用的分布式系统。本地代码可以回滚,后面的版本也可以继续修,但已经发出去的消息、已经写进别人生命里的东西,不会因为本地恢复了干净就自动消失。(嗯,现实的系统设计显然不怎么照顾用户体验。)
我们没有修改所有结果的 Root 权限。
真正拥有的,可能只有对下一步行动方式的有限权限。
这也是我现在对“不服”的一个粗糙区分:
面向未来的不服,可以是动力——我承认已经发生了,但我不想以后还这样活,所以愿意调整、训练,下一次做出不同的选择。
面向过去的不服,则更容易成为轮回的发动机——我不承认这件事已经发生,我必须把它抹掉、洗白,或者用后面的成功证明当时的失败从未定义过我。
该认的是过去。
该不服的是未来。
这两句话看起来很像,方向却完全相反。
第一次不上船
十年前写“七十七个为什么”系列时,我很喜欢把问题拆成 why 和 how。那时大约相信:只要把前因弄清楚,那些“道理”和方法就会变得更有用一点。
现在倒没有那么乐观了。
知道 why 不等于就做得到 how。看懂 Jess 为什么一次次登船,也不代表轮到自己的时候,手就真的能松开。
我大概还是会反复把希望压在某个新起点上,也还是会在事情不如预期时,下意识地想:是不是再来一轮、再规划完整一点,就能把一切彻底改对。
理念可能是懂了,执行大概率不会立刻变好😅。
但至少,下一次那个熟悉的念头出现时——
再来一次,这次一定不一样。
也许可以先停一下,问问自己:
我现在是在改变未来,还是在否认过去?
我是在解决一个仍然可以解决的问题,还是在用新的努力覆盖一件已经无法撤回的事?
真正的出口,不一定是终于得到一个完美结局。
它可能只是某一次站在码头上时,第一次不再要求现实给我另一个过去。
第一次,不上船。
是为记。