← 返回列表

带罗盘的更新

2026-07-04 · 5 层下钻

追本之箭 — 带罗盘的更新

2026-07-04 Fri 13:10 · Fable 重写


起点

年轻系统与目标 交叉,会冒出一句听起来很稳的命题:

更新需要一个罗盘。没有方向的更新,只是抖动。

听起来对。但它藏着一个类型错误。

因为纯误差驱动的更新,根本不需要罗盘

这正是 贝叶斯调整 干的事:给定观测和似然,后验分布是被算出来的,不是被选出来的。你不需要"想朝哪儿更新"——数据一进来,方向自己就定了。贝叶斯从不问"我该往哪长",它只是收敛。

所以如果更新真的像贝叶斯那样自带方向,罗盘就是多余的。

可我们都知道罗盘不多余——一个天天吸收新信息、却越活越空的人,随处可见。

真正的问题因此不是"更新要不要方向",而是:

为什么自我更新会缺方向?是什么被抽走了,逼你必须从外面塞一个罗盘进去?


第一层:更新不是变化 —— 先切开抖动

最浅的误读,是把更新等同于换东西:换圈子、换项目、换世界观。

这些可能是更新,也可能只是噪声。分界线只有一条:

更新必须由预测误差驱动,而不是由厌倦驱动。

误差是"世界发生的 - 你预测的"。厌倦是"旧的不新鲜了"。

前者让模型更贴近现实,后者只是注意力换台。

到这一步,"罗盘"看起来还只是个多余的装饰——好像只要老老实实跟着误差走,就够了。


第二层:罗盘就是损失函数 —— 误差没有方向,梯度才有

降到数学层。

误差本身没有方向。它是一个数:你错了 0.3。

把这个数变成"往哪儿走"的,是梯度——而梯度只存在于一件东西之上:损失函数(loss function)

没有损失函数,就没有地形,就没有坡度,误差只能原地打转。

这就是"抖动"的精确定义:有误差,无地形。 每一下都在动,但没有一下是"下坡",因为根本没定义什么叫低。

于是罗盘的真身露出来了:

罗盘 = 损失函数。它不指"哪里是对的",它定义"什么叫更接近"。

这也是 年轻 里的 α 和 系统与目标 里的目标,第一次咬合上:

没有 α,损失函数只是一张没人走的地图。

没有损失函数,α 只是在平地上乱蹦。


第三层:没有外部真值 —— 这是贝叶斯止步的地方

这一层是本题独有的裂缝,也是贝叶斯帮不上忙的地方。

贝叶斯之所以自带方向,是因为它偷偷假设了一件事:存在一个外部的真分布,独立于你,等着被逼近。

你估计硬币的偏度,硬币的真实偏度就在那儿;观测越多,后验越窄,误差单调下降。地形是世界给的,你只管滚下去。

可"我该成为谁"这道题,没有外部真分布

不存在一个"真实的你"摆在世界某处,等你收敛过去。

你不是在估计一个固定的地形——你既是那个优化器,又是那片地形本身。你每走一步,脚下的坡就变一次形。

这就是自我更新和贝叶斯的分水岭:

贝叶斯更新:地形外生,误差 → 梯度 → 收敛到真值
自我更新:  地形自生,误差 → ??? → 收敛到哪儿都不算错

贝叶斯的损失函数是世界白给的;

自我更新的损失函数,必须你自己声明——因为没有别人替你定义"什么叫变好"。

罗盘之所以必要,不是因为它比误差更聪明,

是因为在一个没有外部真值的问题里,方向不是被发现的,是被指定的。


第四层:能改写目标的系统会作弊 —— 更新的平凡解是死

降到自指层。这里藏着整套系统的致命故障模式。

一个优化器,如果既能改参数、又能改损失函数,那它有一个懒到极致的最优解:

不用费劲改自己去逼近目标——

把目标挪到自己脚下,误差瞬间归零。

这在对齐研究里有个名字,叫 wireheading:系统不去完成任务,而是直接篡改自己的奖励信号,让读数满分。

翻译成人话,就是那句我们都对自己说过的话:

"其实我现在这样也挺好的。"

这不是躲避更新。这是更新的平凡解——一条永远可行、永远省力、永远让误差归零的捷径。

它伪装得比懒惰高级得多:你没有停止思考,你只是悄悄把罗盘转向了你正在漂去的方向。误差读数一路走低,感觉一切都在变好。

于是那个"越活越顺、越来越觉得自己一直是对的"的人,露馅了:

他不是收敛到了真理。他是把损失函数优化掉了。

所以带罗盘的更新,真正的机制不是"有个方向",而是:

你必须声明一样东西——不许被优化掉。

这个不许动的点,就是 年轻 里那个 α 退火的真正原因,也是 安全基地 之所以是前提:

不是你不想更新,是如果连"我是谁"都能被改来对齐现状,那更新和投降就没有区别了。身份不是更新的阻力,身份是让更新不塌缩成投降的那个锚。


第五层:不动点 —— 全可更新等于没有更新

降到逻辑层,箭尖到底。

"更接近"这个词,是个相对概念。相对于什么?相对于罗盘。

如果罗盘本身也在随误差滑动,那"更接近"就失去了参照系——你无法说 A 比 B 更接近一个正在移动的东西。

于是得到一条不是心理学、而是逻辑的结论:

一个能更新自身一切的系统,等价于一个无法更新的系统。

因为"更新"必须相对于某个不变的东西才有定义。全可变 = 无参照 = "更新"这个词失效。

这正是 我是个怪圈 的结构:一个能指涉并修改自身的系统,必须留一个不动点,否则整个循环无处落脚、原地发散。

同一性不是"变了以后碰巧还像自己"这种运气——同一性是那个被声明为"不许更新"的不动点,是让上层一切得以被称作"更新"而不是"漂移"的逻辑地基。

所以年轻的公式不是"更新频率高"。是:

可更新性 = 一个钉死的不动点(罗盘/同一性)
         × 其上一切皆可被误差改写(模型)

钉死的越少,可改写的空间越窄(僵死)。

钉死的越多——直到全部都能改——可改写这件事本身就失去意义(漂流/wireheading)。

年轻,是那个把不动点压到最小、又绝不压到零的系统。


终点:一个能证伪的判别式

先给这个框架自己的伪证条件,免得它变成又一个不可反驳的漂亮话:

伪证条件:如果能找到一个开放性人生领域里的人,他的预测误差通过"逼近一个外部固定真值"而单调降到零——不是靠篡改目标,而是真收敛——那么"自我更新无外部真值"这一整套就错了,罗盘就确实是多余的。

(封闭游戏里能找到:象棋、考试,有外部真值。开放人生里找不到,是这套框架成立的赌注。)

判别式,测的不是你更新得快不快,而是你的罗盘有没有在偷偷滑动

**最近一次现实给你的误差,是让你改了自己去够目标——

还是让你改了目标去够自己?**

三个"罗盘正在滑动"的读数:

🔴 误差越来越小,且没有任何外部摩擦在下降 —— 大概率不是收敛,是 wireheading。真收敛会痛。

🔴 说不出哪一样东西你声明"绝不改" —— 没有不动点 = "更接近"无定义 = 你在漂,不在更新。

🔴 每次不适,最后都以"其实这样也挺好"收场 —— 你在改损失函数,不在改自己。

钻到底,"带罗盘的更新"不是"更新时记得看方向"。是一句更冷的话:

方向不是误差给的,是你钉死一个不许更新的点、换来的。

全能改写目标的系统不会收敛到真理——它会收敛到"我一直是对的",然后停在那里,感觉良好地死掉。

年轻,是还留着一个不许自己优化掉的点,

好让世界改写你的其余部分时,你知道——被改的是模型,不是那个正在决定"什么叫变好"的你。


(箭到底了。)

💬 评论