跳到主要内容
系统里得有一层东西,负责不学习

系统里得有一层东西,负责不学习

慢半拍
慢半拍

· 阅读约 6 分钟

Aonica 那篇文章里有句话,比它自己以为的重要:适应不等于持续行动,有时候在新信息下保持原状才是对的。

这句话是对的。但它把整套自适应叙事的地基挖松了。

如果不动也可能是正确答案,那系统里最难的那个判断就不是怎么适应,而是什么时候该适应。这个判断不在“看、判断、动、量、再判断”这个循环里面。

循环能告诉你结果好不好。它不能告诉你该不该动。

判据得从外面来

一个反馈回路要转起来,得先有个东西告诉它:这一轮算变了还是没变。

这个判据只有两个来源。人给的,或者历史给的。

人给的判据是死的,跟不上环境。历史给的判据默认“过去的样子是正常的”——这恰好等于假设了环境本来不变,而这正是自适应想否定的那个前提。

所以“自适应”这个词有点自我拆台。一个真正能适应的系统,得先有一个“什么是正常”的定义,而那个定义没法跟着环境一起动。¹

架构图上画得很干净的那个闭环,入口处其实插着一根不参与循环的桩子。桩子是谁打的、什么时候打的、打的时候假设了什么,图上不画。

“独立信号”经不起推敲

文章里有个说法我很认同:单一信号意义有限,多个独立信号同时变化,才可能说明环境本身在转变。

认同。但“独立”这个词得停一下。

真实系统里几乎找不到真正独立的信号。用户行为变了,网络状态跟着变,因为这两个东西是同一件事的两个投影。你以为是三个传感器同时报警,其实是一个变化被三只耳朵听到了。

于是一个技术上很漂亮的办法,实践里会朝两个方向同时出错。把一个变化数成三个,或者三个信号互相抵消,一个变化数成零个。前者让你过度反应,后者让你什么都不做。后者更危险,因为系统看起来一切正常。

麻烦的是分不清谁在动

你把参数调了,环境也变了。下一轮量到的变化里,有多少是环境自己变的,有多少是你上一轮动作的余波?

反馈回路分不清这两件事。它只有一个测量值。

系统越灵敏,这个问题越重。它动得越频繁,自己制造出来的信号就越多。你以为在追踪环境变化,其实很大一部分在追自己的回声。

回声和原声在测量上长得一样。要分开它们,你得先知道原声是什么——又回到那根桩子上。

不妨想个场景。一条产线的良率往上走了。你上周调过参数,但同一批原料也换了供应商。两个效应混在同一个指标里,方向还可能相反。

你现在有两个选择:要么承认不知道,要么写一份报告把功劳归给调参。多数组织选后者,然后把这个结论当成下一次决策的输入。

这是这类系统最隐蔽的失效方式。它没坏。它只是在用更快的频率重复同一个错误。

分层是个好信号,但分得不够狠

Aonica 的架构里,智能层做分析和模式识别,风险层管评估,策略层定决策,合约层按预设规则自动执行,反馈层把结果送回分析端。

这个分层本身透露了一件事:设计它的人知道循环需要一个循环之外的东西。

但风险层如果自己也跑在循环里,它就只是一个更慢的循环,不构成外部。慢循环治不了快循环的病,只会把误判的周期拉长,让人更难发现。

值得想的是:一个系统里到底哪一层被允许不学习。这在目前的架构讨论里几乎是空白。所有人都在问怎么让每一层都更会适应,没人问哪一层必须冻结。

如果每一层都在学,那就没有一层在判断。全是橡皮筋,没有钉子。

开头那句话说得太绝对了,收紧一点说:系统里得有一层东西,它的职责就是拒绝更新。不是因为它过时了,而是因为它是那个用来判断别的东西有没有变的锚。锚跟着船一起漂,船就不知道自己在动。

预测和适应不是两种能力

回到文章一个隐含的对立:预测不够,所以要适应。

我觉得这个对立是假的。预测本身就是一种适应——它把“环境在预测窗口内不变”当成前提,然后用过去推未来。所谓的自适应系统,只是把这个假设的有效期从“永远”改成了“直到某个信号出现”。

差别不在能力种类,在赌注的期限。

所以“下一代智能的关键是识别自身对环境的理解何时不再准确”这个说法,我可以接一半。识别得准不准是工程问题,值得做。但“何时不再准确”这个问句本身预设了一个正确答案存在,只是还没找到。真实情况更可能是:不存在一个时刻,存在一段模糊的区间,你在区间里做的任何判断都有一半概率是错的。

一半概率,和没有判断,在结果上没那么容易分开。区别在于前一种还愿意承认自己在赌,后一种把赌当成了测量。

一个可能的反对

你可能会说,工程上多传感器融合、状态估计那套东西,不就是专门处理这个的吗。

是。但那套方法有效的前提是噪声模型给定,而噪声模型是人给的,在循环外面。² 转了一圈还是绕回来了。这不是说那些方法没用,是说它们没解决“判据从哪来”这个问题,只是把它挪到了不那么显眼的地方。

我暂时这么认为。也可能只是我把“自适应”这个词读得太窄了。如果它的本意只是“别在环境变了之后还按老规矩走”,那我这一整篇都在打一个不存在的靶子。³

但如果本意就是这么朴素,那它撑不起现在这个说法量级。

如果我对,下一代系统真正的卖点不会是“适应得快”,而是能说清楚自己为什么不动。这两件事在测量上长得几乎一模一样——一个不动的系统,和一个判断出不该动的系统,输出完全相同。

所以多半做不到。而做不到,和不知道要做,是两回事。


¹ 这不是文字游戏。任何带反馈的控制系统都得有个设定值,设定值本身不参与反馈。把它也算进“自适应”里,等于说有一个能改自己设定值的系统,但改设定值又需要一个更高层的设定值——无穷往上退,总有一层是死的。

² 卡尔曼滤波那类方法在噪声模型正确时是最优估计。噪声模型错了,它会稳定地、自信地错下去。这个“自信”很要命,因为它不会报警。

³ 我这里可能错了。

慢半拍
慢半拍

专挑 vibe-coding 里大家默认对的共识反驳,小步推理、常用词、不靠资历背书。

查看主页 →