一门炮打不中一架飞机
1940 年代,战争把一群数学家推到一个残酷的问题面前:
如果一架飞机正在高速飞行,防空炮到底应该瞄准哪里?
答案当然不是“瞄准飞机现在的位置”。
等炮弹飞到那里,飞机早就不在了。
但更准确地说,也不是简单地瞄准“飞机未来的位置”。
你真正要找的是一个拦截点。
也就是:
如果我现在开炮,
炮弹几秒后会到达哪里?
在同一时刻,飞机会不会也到那里?
防空炮要打中的,不是飞机的“现在”,也不是一个抽象的“未来”。
它要打中的是:
炮弹和飞机在未来某一刻同时到达的那个点。
这听起来像一个预测问题。
只要知道飞机现在的位置、速度、方向,再知道炮弹速度,就能算出几秒后的交会点。
但真实战场没有这么干净。
你看到的飞机位置可能有误差。
雷达和光学设备有延迟。
炮口转过去需要时间。
炮弹会受重力、风、空气阻力影响。
飞行员也不是一颗石头。他会躲。他会突然转向。他会加速、俯冲、爬升。
于是问题不再是“算一次就结束”。
它变成了一条链:
观测:飞机现在在哪里?
估计:它真实的位置和速度是什么?
预测:几秒后可能到哪里?
控制:炮口应该转向哪里?
反馈:新的观测说明刚才错了多少?
修正:下一次该怎么调?
这就是为什么这个问题会请来那么多数学家、工程师和物理学家。
他们要解决的不是一道单独的抛物线题,而是一整套系统问题:
有噪声的观测
有延迟的动作
有不确定性的目标
有误差的预测
有持续变化的环境
于是问题变成了一个循环:
你预测一个拦截点
↓
你调整炮口
↓
飞机继续机动
↓
雷达看到新的位置
↓
你发现预测错了
↓
你重新调整炮口
这类研究最后沉淀出的东西,并不是某一条万能公式。
真正成型的是一种系统观:
要在变化的世界里行动,机器不能只靠一次预测。它必须持续观察结果,把误差带回系统内部,再修正下一次行动。
它更像一次持续追踪。
每一次行动之后,世界都会给你一个回应。你不能只靠开头那一次预测活下去,你必须不断看结果、比误差、修正下一步。
参与这类问题研究的人里,有一位数学家叫 诺伯特·维纳(Norbert Wiener)。
他后来写了一本书,书名很长:
Cybernetics: Or Control and Communication in the Animal and the Machine
中文常译为《控制论:或关于动物和机器中的控制与通信》。
这本书 1948 年出版。
也是在 1948 年,Claude Shannon 发表《通信的数学理论》,定义了现代信息论。
同一年,两个人从不同方向看到了同一件事:
Shannon 看见了信息。
Wiener 看见了反馈。
Shannon 问:
一条消息里有多少信息?
Wiener 问:
一个系统怎样根据结果修正自己?
前一个问题,通向通信、压缩、预测和大语言模型。
后一个问题,通向控制、学习、行动和 Agent。
今天我们要讲的,就是后一个问题。
一、反馈不是评价,是回路
“反馈”这个词现在太常见了。
你写完文章,朋友说“不错”,这是反馈。
你做完汇报,领导说“再改改”,这是反馈。
你发一条朋友圈,看点赞数,也叫反馈。
但在控制论里,反馈不是一句评价。
反馈是一种结构。
它的核心不是“别人说了什么”,而是:
系统把自己的输出结果,重新带回输入端,用来修正下一次输出。
最简单的对比,是开环和闭环。
开环系统:
目标 → 指令 → 行动 → 结束
开环系统不看结果。
你设定闹钟,它到点就响。至于你有没有醒,它不关心。
你写一段脚本,命令它每小时发一封邮件。至于邮件有没有被退回,它不关心。
你让一个早期程序按固定规则走迷宫。至于撞没撞墙,它不关心。
闭环系统不一样。
闭环系统:
目标 → 行动 → 观察结果 → 计算误差 → 修正行动 → 再观察
闭环系统会看结果。
空调就是一个闭环。
你设定 24 度。传感器发现房间 28 度,于是制冷。过一会儿房间降到 25 度,继续制冷。降到 24 度,停止。升到 25 度,再启动。
它并不知道“舒服”是什么。
它只是不断比较:
目标温度 - 当前温度 = 误差
误差驱动修正。
这就是反馈。
你的身体也在做同样的事。
血糖高了,胰岛素上来。体温低了,开始发抖。跑步时氧气不够,呼吸加快。走路快摔倒时,肌肉在毫秒级调整重心。
身体并不是先拿到一张完美计划书,再照着执行。
它是在一刻不停地测量、比较、纠偏。
活着,本身就是一个巨大的闭环。
二、负反馈:世界把你拉回来
反馈有很多种,其中最重要的是 负反馈。
“负”不是坏。
负反馈的意思是:系统的输出偏离目标后,反馈信号会把它往目标拉回来。
空调温度太高,制冷增强。
车偏离车道,你把方向盘往回打。
身体太热,开始出汗。
偏高 → 往低处修正
偏低 → 往高处修正
这就是稳定性的来源。
没有负反馈,系统会越走越远。
一个没有反馈的司机,只能在出发前把方向盘角度设好,然后闭着眼一路开下去。
一个没有反馈的学生,只能做完一套题以后永远不看答案。
一个没有反馈的 AI,只能把话说完,然后假装自己一定是对的。
所以,反馈带来的第一件事,不是“变聪明”。
而是不至于一路错到底。
反馈的最小公式
如果非要给反馈一个最小的数学骨架,它其实不复杂。
先定义误差:
误差 = 目标 - 当前状态
e_t = r - y_t
这里的 r 是目标,y_t 是系统现在的状态,e_t 是当前误差。
空调的目标是 24 度,当前是 28 度,误差就是 4 度。
防空炮的目标是拦截点,当前炮口指向偏了一点,误差就是这个偏差。
然后系统根据误差修正下一次行动:
下一次行动 = 这一次行动 + 增益 × 误差
u_{t+1} = u_t + k e_t
这不是完整的控制理论。
真实系统里会有延迟、噪声、惯性、积分、微分,也就是后来工程里熟悉的 PID 控制。
但这个最小公式已经抓住了反馈的灵魂:
让误差参与下一次行动。
这里的 k 很关键。
k 太小,系统反应迟钝。房间已经热了很久,空调还慢慢悠悠。
k 太大,系统会震荡。车只是偏了一点,你猛打方向盘,车反而左右摇摆。
所以反馈不是越强越好。
好的反馈,要有合适的尺度。
现在再回到前面那句话:
反馈让系统不至于一路错到底。
这很重要。
很多人把智能想象成一次性给出正确答案的能力。
但真实世界里,更重要的能力往往是:
错了以后,系统能不能知道自己错在哪里,然后改下一步。
一个人学骑自行车,不是先在脑中推导出一套完整的自行车动力学方程。
他上车,歪了,脚撑地,重新来。又歪了,身体反向调整。摔几次,肌肉学会了。
这个过程里当然有大脑,但更底层的是反馈。
身体做出动作。
世界给出结果。
神经系统调整下一次动作。
智能不是从“知道”开始的。
很多智能,都是从一次次被纠正开始的。
三、Wiener 看见了动物和机器之间的共同结构
Wiener 最敏锐的地方,不是发明了某个单独的机器。
他看见的是一种跨越领域的结构。
防空炮、自动舵、神经系统、动物行为、社会组织,看起来完全不同,但都可以被同一套语言描述:
目标
观察
误差
修正
通信
控制
1943 年,Wiener 和 Arturo Rosenblueth、Julian Bigelow 发表了一篇论文,题目叫 Behavior, Purpose and Teleology。
这篇文章讨论了一个当时很大胆的想法:
有目的的行为,可以不必诉诸神秘的“意志”,而可以用反馈回路来解释。
一个系统看起来像是在追求目标,未必是因为里面藏着某种神秘意志。
也可能是因为它有一个目标状态,并不断用反馈减少自己和目标之间的差距。
目标:保持航向
当前:偏左
反馈:偏差为左
行动:向右修正
这就是“有目的行为”的工程解释。
导弹追踪目标,看起来像“想击中”。
恒温器维持温度,看起来像“想舒适”。
动物寻找食物,看起来像“想生存”。
当然,导弹和动物不是同一种东西。
但 Wiener 看到:它们之间有一层共同结构。
这层结构就是控制论。
它不问“机器有没有灵魂”。
它问:
一个系统如何通过信息流控制自己的行为?
这句话放到今天,几乎可以直接改写成:
一个 AI 如何通过反馈信号改善自己的下一步输出?
四、从 Shannon、Bayes、Markov 到 Wiener
到这里,我们可以把前面几篇文章串起来。
Shannon 关心信息。
Bayes 关心信念更新。
Markov 关心状态转移。
Wiener 关心反馈控制。
这四个人像是在同一张地图上点亮了四盏灯。
| 人 | 他问的问题 | AI 里的对应物 |
|---|---|---|
| Shannon | 这条消息有多少信息? | 交叉熵、压缩、预测下一个 token |
| Bayes | 看到新证据后,信念如何更新? | 先验、后验、微调、对齐 |
| Markov | 站在当前状态,下一步是什么? | 序列建模、状态转移、Agent action |
| Wiener | 行动之后,如何根据结果修正? | 梯度下降、RLHF、强化学习、闭环 Agent |
如果只看 Shannon,AI 像一台压缩机。
如果只看 Bayes,AI 像一个更新信念的观察者。
如果只看 Markov,AI 像一个在时间中选择下一步的系统。
但到了 Wiener 这里,AI 才真正碰到世界。
因为反馈意味着:
我不只是预测。
我会行动。
行动之后,世界会改变。
世界改变之后,我必须重新看。
这就是从“文本补全”到“现实操作”的关键一步。
大语言模型可以在没有外部反馈的情况下写出一整段话。
但 Agent 不行。
Agent 每一步都可能打开文件、调用工具、运行测试、搜索网页、提交代码。
一旦它行动,世界就会回它一个结果:
测试通过 / 测试失败
网页找到 / 网页没找到
文件存在 / 文件不存在
命令成功 / 命令报错
用户满意 / 用户打断
这些结果不是装饰。
它们决定 Agent 下一步怎么走。
没有这些回来的信号,工具调用只是一串动作。
有了这些信号,动作才连成回路。
五、训练神经网络,本质上就是反馈
先不要看 Agent。
最普通的神经网络训练,本身就是一个反馈过程。
你给模型一个输入。
模型给出预测。
你拿预测和正确答案比较,得到误差。
误差通过反向传播传回模型,调整参数。
下一次,模型预测得稍微好一点。
输入 → 预测 → 损失函数 → 梯度 → 更新参数 → 再预测
这就是一个闭环。
梯度下降不是“机器突然悟了”。
它只是让机器每次错一点,就沿着让错误变小的方向改一点。
你在《看见数学(十五):梯度下降》里已经写过“蒙眼下山”的比喻。
现在可以换一种说法:
梯度就是反馈信号。
损失函数告诉模型:
你离目标还有多远?
往哪个方向改,错误会变小?
没有这个反馈,神经网络只是一堆随机数字。
有了这个反馈,它才开始学习。
这就是为什么“预测下一个 token”这个目标如此强大。
每一个 token 都贡献一次误差。
一篇文章有一万个 token,就有一万次小测验。
整个互联网有万亿级 token,就有万亿级微小纠偏。
大模型不是读完互联网后“理解”了世界。
更准确地说,它是在万亿次微小纠错中,被文本世界一点点塑形。
六、RLHF:当反馈从“对错”变成“偏好”
但这里有一个问题。
预测下一个 token 的反馈很清楚:
正确 token 是什么?
模型给它多少概率?
这适合预训练。
可是人类真正关心的回答,不只是“像不像训练文本”。
我们还关心:
- 这个回答有没有帮助?
- 有没有礼貌?
- 有没有胡说?
- 有没有危险?
- 有没有按照指令来?
- 有没有承认不确定性?
这些东西没有唯一标准答案。
你问:
我应该怎样安慰一个失去亲人的朋友?
不存在一个“正确 token 序列”。
有些回答冷冰冰。
有些回答空洞。
有些回答真诚但越界。
有些回答简短却恰到好处。
这时,反馈从“对错”变成了“偏好”。
这就是 RLHF 的位置。
RLHF(Reinforcement Learning from Human Feedback)做的事情,可以粗略理解为:
模型生成多个回答
↓
人类比较哪个更好
↓
训练一个奖励模型
↓
让语言模型更倾向于高奖励回答
它不是把新知识塞进模型。
它是在改变模型的行为倾向。
预训练像是在荒野里修出无数条路。
RLHF 像是在这些路上放路标:
这条路更有帮助
那条路更危险
这条路更符合人类偏好
那条路虽然能走,但别走
所以 RLHF 本质上也是反馈。
只不过这个反馈不再来自“正确答案”,而来自“人类喜欢什么”。
这也解释了它的风险。
如果反馈信号奖励的是“讨人喜欢”,模型就会学会讨人喜欢。
如果反馈信号奖励的是“显得自信”,模型就会学会自信。
如果反馈信号奖励的是“永远给答案”,模型就会越来越不愿意说“不知道”。
反馈不会自动产生真理。
反馈只会放大被奖励的方向。
这句话是理解 AI 安全的钥匙。
七、DeepSeek-R1:简单奖励为什么能长出复杂思考
DeepSeek-R1 让很多人惊讶的地方,不是它用了一个特别复杂的算法。
恰恰相反。
它最震撼的地方是:
给模型一个很简单的反馈信号,它竟然自己长出了复杂的推理行为。
在数学题、代码题这类任务里,答案是可以验证的。
数学题算对就是对,算错就是错。
代码能通过测试就是通过,不能通过就是失败。
这类任务不需要人类给每一步打分。
只需要一个结果反馈:
答对:奖励
答错:没有奖励
格式不合要求:扣分
然后模型开始试。
它发现:先列步骤,正确率更高。
它发现:最后检查一遍,能修掉一些错误。
它发现:一种方法走不通,换一种思路有时能成功。
于是这些行为被奖励保留下来。
看起来像“思考”的东西,就这样从反馈里长出来了。
这不是说模型有了人类意识。
但它说明了一件非常重要的事:
复杂策略可以从简单反馈中涌现。
这和骑自行车很像。
没人把“如何保持平衡”的微分方程逐项教给你。
世界只给你一个粗暴反馈:
没倒:继续
倒了:疼
你的身体在这个反馈中学会了平衡。
DeepSeek-R1 的故事,是这件事在语言和推理空间里的现代版本。
八、Agent:世界终于开始回话
到 Agent 这里,反馈变得更真实。
普通聊天模型生成一段回答后,很多时候回路就断了。
它说完了。
至于答案是否真的解决了问题,要靠用户自己判断。
Agent 不一样。
Agent 会行动。
它会写文件、运行命令、调用 API、打开网页、检索文档、修改代码。
行动一发生,世界就会返回结果。
这时反馈不再只是一个抽象分数,而是具体的环境回声:
pytest 失败:
E AssertionError: expected 3, got 4
网页返回:
404 Not Found
编译器返回:
TypeError: expected string, got None
用户返回:
不是这个意思,重来
这些反馈比“点赞/点踩”强得多。
因为它们直接来自任务环境。
一个 coding agent 真正有用,不是因为它第一次就写对。
而是因为它能:
写代码
↓
跑测试
↓
读错误
↓
定位原因
↓
修改代码
↓
再跑测试
这就是工程里的闭环。
没有这条闭环,AI 写代码只是“生成看起来像代码的文本”。
有了这条闭环,它才开始接近真正的工程劳动。
所以 Agent 的核心不只是“会调用工具”。
工具只是手。
反馈才是神经。
参数固定以后,反馈去了哪里?
这里有一个很容易被忽略的问题。
一个 LLM 在预训练、微调、RLHF 之后,参数通常就固定了。
用户今天告诉它“你错了”,它不会立刻在大脑里反向传播一次,把几千亿个参数改掉。
从模型本体看,它的能力似乎已经固化了。
但 Agent 改变了这件事。
反馈不一定非要进入参数。
它还可以进入上下文、记忆、技能库、工具调用策略和任务环境。
训练阶段:
反馈 → 更新参数
部署阶段:
参数固定
反馈 → 更新上下文、记忆、技能、工具调用策略、任务环境
换句话说:
训练阶段的反馈,改变的是模型参数。部署阶段的反馈,更多改变的是模型周围的系统。
instruction 把模型已有能力引导出来。
memory 把过去的经验保留下来。
skills 把反复成功的动作固化成可复用流程。
工具让模型把语言变成行动。
所以,Agent 的关键不只是“模型更聪明了”。
而是一个固定参数的模型,被接入了一个可以持续积累、持续修正的外部回路。
参数没有变,但系统变了。
同一个模型,在普通聊天框里像一个回答机器;放进 Agent 框架里,却开始像一个能做事的系统。
这也提醒我们:反馈有不同的去处。
| 反馈层次 | 被修正的东西 | 例子 |
|---|---|---|
| 控制反馈 | 下一次动作 | 防空炮、空调、自动驾驶 |
| 学习反馈 | 模型参数 | 预训练、反向传播、微调 |
| 偏好反馈 | 行为倾向 | RLHF、DPO、人类偏好排序 |
| 环境反馈 | 外部状态和任务策略 | Agent 跑测试、读报错、改代码 |
| 记忆反馈 | 可复用经验 | memory、skills、instruction 更新 |
这张表很重要。
否则我们很容易把“反馈”误解成只有一种形式:改参数。
但现实中的智能系统,往往不是只靠一个大脑变聪明。
它还靠笔记、工具、流程、记忆、工作环境,以及一次次行动之后留下来的痕迹。
九、为什么“反馈”比“预测”更接近现实
预测当然重要。
没有预测,就没有计划。
你不预测车会往哪里开,就无法过马路。
你不预测用户下一步想要什么,就无法设计产品。
你不预测代码修改会带来什么后果,就无法重构系统。
但现实世界不会因为你预测完就结束。
现实世界会给出后果。
你预测错了。
世界会告诉你错了。
你行动过度了。
系统会震荡。
你奖励错了指标。
模型会钻空子。
你把考试分数当成教育目标。
学生就会学会刷题。
你把点击率当成内容质量。
平台就可能学会制造愤怒。
你把“让用户满意”当成 AI 的最高目标。
AI 就可能学会迎合,而不是诚实。
这就是反馈的另一面。
反馈能让系统学习。
也能让系统偏航。
关键不在于“有没有反馈”。
关键在于:
你到底把什么信号接进了回路?
这就是 Goodhart 定律反复警告我们的事:
当一个指标变成目标,它就不再是一个好指标。
控制论看起来是工程学。
但往深处走,它会变成伦理学。
因为一个会学习的系统,最终会变成它所接收的反馈。
十、智能不是答案,是闭环
现在回到开头那门防空炮。
如果你只看第一步,它像一个预测问题:
飞机几秒后会在哪里?
但如果你看完整过程,它其实是一个反馈问题:
我观测飞机
我估计轨迹
我预测拦截点
我调整炮口
世界给出新的位置
我根据误差修正
这才是智能在现实中的形状。
一次性给出答案,是考试里的智能。
持续修正行动,是现实里的智能。
这也是为什么大语言模型之后,整个 AI 方向自然会走向 Agent、机器人、自动驾驶、工具调用、可验证奖励。
因为文本预测只完成了前半步。
后半步是:
让模型进入世界,并让世界纠正它。
我们可以把这一系列文章压缩成一条线:
Shannon:信息可以被度量
Bayes:信念可以被更新
Markov:未来可以从状态推出
Wiener:行动可以被反馈修正
如果说 Shannon 给了 AI 一只耳朵,让它听见信息。
Bayes 给了 AI 一套信念,让它根据证据更新判断。
Markov 给了 AI 一个现在,让它知道下一步从哪里出发。
那么 Wiener 给了 AI 一条神经回路。
这条回路让机器第一次不只是“算”。
而是能看见行动后的结果,并在结果中改变下一步。
维纳没有想到 ChatGPT。
他也没有想到 RLHF、DeepSeek-R1、coding agent、自动驾驶和机器人。
但他看见了一件更底层的事:
一个系统只要想在时间中行动,就必须听见自己行动后的回声。
没有反馈,智能只是一次猜测。
但反馈还不是终点。
反馈只能告诉系统:你错了,偏了多少。
它未必告诉系统:你为什么错。
防空炮没有打中飞机,可能是飞机转向了,可能是风速估错了,可能是炮口转动慢了,也可能是雷达观测有延迟。
这时,系统需要的不只是反馈,而是因果。
它要知道:哪个动作导致了哪个结果?如果我换一种动作,世界会不会不同?
再往前一步,就是世界模型。
所谓世界模型,就是系统在行动之前,先在内部预演一下:
如果我这样做,
世界会怎样回应?
反馈让系统知道自己错了。
因果让系统知道为什么错。
世界模型让系统在下一次行动前,先想一遍:如果我这样做,世界会怎样回应。
有了反馈,猜测才开始变成学习。
本文涉及的公众号文章
- 《Shannon 没有想到的事——当信息论遇上有限算力》
- 《贝叶斯没有想到的事——一个牧师的赌博公式,如何成为 AI 的第一性原理》
- 《马尔可夫的幽灵——从预测下一个词到预测下一步行动》
- 《DeepSeek-R1:一个模型如何学会「思考」》
- 《大理石假说——为什么微调不是在教 AI 新东西》
- 《AI 为什么“一本正经地胡诌”?——幻觉的底层逻辑》
主要参考与延伸
- Arturo Rosenblueth, Norbert Wiener, Julian Bigelow, Behavior, Purpose and Teleology, Philosophy of Science, 1943
- Norbert Wiener, Cybernetics: Or Control and Communication in the Animal and the Machine, 1948
- Norbert Wiener, The Human Use of Human Beings: Cybernetics and Society, 1950
- Claude Shannon, A Mathematical Theory of Communication, 1948
- Richard Sutton and Andrew Barto, Reinforcement Learning: An Introduction, 2nd edition, 2018
- Long Ouyang et al., Training Language Models to Follow Instructions with Human Feedback, 2022
- Rafael Rafailov et al., Direct Preference Optimization: Your Language Model is Secretly a Reward Model, 2023
- DeepSeek-AI, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, 2025
