追本之箭 — 系统与目标
追本之箭 — 系统与目标
2026-06-01 Sun 15:55
起点
"建立系统,而非追逐目标。"
被引滥了。通常翻成一句鸡汤:重过程,别太看重结果。 软,而且没说到点子上。
换个说法,刀刃就出来了——目标和系统,连"手能不能碰得到"都不是一回事:
目标,是一个 setpoint(设定值)——你希望世界等于的那个数。
系统,是一个 controller(控制回路)——你每个周期实际运行的那套动作。
而真正反直觉的一刀:
你手里的执行器(actuator),根本没有一根线接到 setpoint 上。
没有任何一个开关,直接连着"瘦到 70kg"或"年入百万"。
唯一接着执行器的,是回路——是你这个周期做的那一下。
所以"追逐目标",是在使劲推一个你压根没把线接上去的变量。
命门在这:既然你只能拨回路、碰不到目标——那为什么一个拼命运行回路、却从不问回路通向哪的人,会跑得飞快,最后稳稳落在一个他从没选过的地方?
第一层 · 开环
先找脚下第一块地面:控制论。
"追逐目标" = 开环(open-loop):盯着一个未来的数,然后"使劲"。
可开环有个致命前提——它假设世界没有扰动。 现实里,扰动(运气、他人、时机, [决策与随机])每一刻都在踹你的状态。开环没有反馈,扰动来了它根本不知道,只会照着幻想里的轨迹空推。
闭环(closed-loop)不一样。它的动作,来自一个误差信号:
u = K · e,其中 e = 参考值 − 当前实测状态。
盯住这个 e:它是参考值,减去你此刻的状态。
未来的目标值,从来不是执行器的输入。 执行器只接在当前的被控对象(plant)上——因为传感器只能测"现在",执行器只能推"现在"。
所以"盯着目标使劲",机制上等于:死盯着参考信号,以为盯它,被控对象就会动。 不会。你能动的,只有把当前误差喂回这个周期的动作。
第二层 · 迭代
地面塌一层,换一把更基础的尺:动力系统。 回路对终点绝不是无所谓的。
一个系统,数学上是一个映射 f,每周期作用一次:
x(n+1) = f( x(n) )
你今天的状态,经这套日常(f)碾一遍,变成明天的状态;再碾,再变。反复迭代,你会被拽到 f 的吸引子(attractor)——那个满足 x\ = f(x\) 的不动点。
关键:这个 x\*,是 f 的性质,不是你"瞄得有多准"的性质。
Banach 不动点定理说得更狠:只要 f 是个压缩映射,不管你从哪个初始点出发,迭代都收敛到同一个不动点。
你的"目标",只是初始条件 x(0)。映射会把 x(0) 洗掉。 决定你落在哪的,是 f,不是 x(0)。
这就是 James Clear 那句的硬核版(Atomic Habits):
"你不会上升到目标的高度;你会跌落到系统的水平。"
不是励志,是收敛。 你不去你瞄准的点,你去你映射的不动点。
所以"追逐目标"的第二个病:它拼命调初始条件(瞄得更高、咬得更狠),却从不动那个映射 f。 而长期落点,只由 f 决定。
第三层 · 耗散
到不了"结束"。再塌一层,撞到热力学第二定律。
就算你收敛到了那个理想的 x\*——它是一个低熵状态(一个有序、不自然、被精心维持的构型)。而第二定律只认一件事:不维持,它就自发滑回 baseline(最大熵 = 那个"平均的、未经雕琢的"你)。
减到的体重会回来。练出的肌肉会萎。学会的语言会忘。
有序状态不是一次性达成的物件,是一个需要持续供能、才顶得住熵增的过程。
这正是 Prigogine 的耗散结构(dissipative structure):一个远离平衡的有序结构(漩涡、生命、一具健康的身体、一段活的关系),只能靠持续的能量/物质通量维持。断流,结构就塌回平衡态。
最深一层的真相浮出来:
目标是一个"状态";状态会衰减。系统是一道"通量";通量才是顶住衰减的那股力。
所以根本不存在"终态"——抵达后若停泵,你就跌回 baseline。
"你会跌落到系统的水平"——物理上就是这句:关掉系统这台泵,你就弛豫回热力学平衡(= 死寂 / 平庸)。
这把"追逐目标"的病灶钉死了:它把人生想象成"抵达一个终点然后定格"。热力学不给定格。 要么持续供能(运行系统),要么衰减——没有第三态。
第四层 · 对称陷阱(killer)
不行。回到判断层。这里是最毒的误用——一个完美运行、却收敛到错误不动点的回路。
把口号照字面执行:"只要系统、别管目标"——你会造出一台忠实地把你运到你会痛恨之处的机器。三种长得很优雅的死法:
- 控制论版: 一个精确跟踪了错误参考值的控制器。误差归零了,可参考值本身设错了——你高效地稳定在了一个烂状态。
- 动力系统版: 一个有稳定吸引子的映射,但那吸引子是个局部陷阱(够花就行的舒适区、习惯全打卡却空心的人生)。你收敛得又快又稳——稳稳收敛进一个坑。
- Goodhart 版: "当一个指标变成目标,它就不再是好指标。"(Goodhart 定律)当回路开始优化"打卡数"而非打卡指向的东西,系统会漂亮地造假——把代理变量喂饱,把真实目的饿死。
这是 动作与行动 在系统层的复刻:高效地原地收敛,误当成在前进。 一种爱上回路本身的拜物教——回路跑得越顺,越没人去问它通向哪( 漂流 的高配版:不是没在动,是动得很好,却奔向一个错误的不动点)。
对称地,反方向的坑一样致命——纯目标拜物教: 只盯 setpoint、从不建回路、也不认衰减,以为"立个 flag、咬牙撞线"就够,撞完不维持,物理把成果默默收回去。
| 你造出的东西 | 机制 | 它其实是 |
|---|---|---|
| 完美回路,错误参考值 | 误差归零,但目标设错 | 高效地稳定在烂状态 |
| 稳定映射,坑里的吸引子 | 收敛快,但收敛到局部最优 | 又快又稳地落进坑 |
| 优化代理指标的回路 | Goodhart | 漂亮地造假,饿死真目的 |
| 只立 flag,不建回路 | 状态没有通量维持 | 撞线后被熵收回 |
所以判据是三件事缺一不可:(a) 设对参考值(目标当 setpoint,定义"误差");(b) 运行回路(唯一接着执行器的东西);(c) 定期重测——这个吸引子,还是我想住进去的地方吗?
终点:像调一台控制器那样过日子
钻到底,这句话不是鸡汤,是一份控制器操作手册:目标 = 参考值,系统 = 回路,人生 = 一个永不结束的闭环。
装回路三步
① 设参考值(目标 → setpoint):目标的唯一合法用途,是定义误差——告诉回路"哪边算更好"。它不是终点,是参考信号。季度校准一次就够,别天天拿它鞭打当下。
② 接执行器(目标 → 系统):问"哪一套我每周期能跑、且执行器真接得上的动作,它的不动点里包含这个目标?" 然后只在这套动作上使劲。盯回路,不盯参考信号本身。
③ 改计分(结果 → 通量):每天打分的标准,从"离 setpoint 还差多少"(掺扰动,且永远"还没到"),换成"这个周期,泵开了没有"。泵开了 = 今天就赢了。
诊断表
| 症状 | 你在做什么 | 真相 | 动作 |
|---|---|---|---|
| 盯结果数字使劲、焦虑 | 开环空推 setpoint | 执行器没线接上去 | 接回闭环,喂当前误差 |
| 只会瞄得更高、咬得更狠 | 死调初始条件 x(0) | 映射 f 会把 x(0) 洗掉 | 改造 f,别改 x(0) |
| 撞线后成果慢慢回退 | 把目标当终态 | 第二定律,停泵即衰减 | 把奖励挂到"持续供能"上 |
| 回路跑得飞起却空心 | 爱上回路本身 | 收敛到错误不动点 | 重测吸引子,改参考值 |
| 指标好看、实事没成 | 优化了代理变量 | Goodhart | 把回路对准真目的 |
三个该的姿态
✅ 只在你能拨的杠杆上计分——回路这周期跑没跑(执行器接得上),不是离 setpoint 还差多少(掺扰动)
✅ 改 f,别改 x(0)——长期落点由映射决定;瞄得再高,初始条件会被迭代洗掉
✅ 当通量,不当状态——成果会衰减;持续供能才顶得住熵增,没有"达成后定格"这回事
三个不该的姿态
❌ 盯着 setpoint 空推(没有执行器接它,你瞪它它也不动)
❌ 爱上回路本身、从不重测吸引子(高效地收敛进一个坑 → [动作与行动] / [漂流] 的高配)
❌ 把人生想成"撞线后定格"(热力学不给定格;停泵即弛豫回平庸)
最后一句
你这辈子,碰不到任何一个目标——
没有执行器接在它上面,它只是一个参考信号。
你能拨动的,只有这个周期运行的那台回路。
让目标当 setpoint(定义什么叫"更好"),让系统当回路(每周期实际推的那一下),
然后认下一条物理事实:没有终点,只有通量。
追逐目标的人,对着一个没接线的开关使劲了一辈子;
建立系统的人,把泵一直开着——
他不去他瞄准的地方,他去他映射的不动点;
而只要泵不停,他的每一个今天,都在顶住那场本会把一切收回去的熵增。
(箭到底了。)
