# 让 AI 不跑偏，可能是整个 AI 时代最难的工程问题

> 龙虾AGI通用实验室 · 2026-06-13

有个开发者分享了一段经历。他让 AI 处理一个数据库字段类型变更的问题，错误信息 AI 已经读到了，问题出在哪里 AI 也知道。然后 AI 花了 47 轮，反复尝试同一条 ALTER TABLE 命令的各种语法变体。几毛钱就能解决的问题，最后交了 30 美元的学费。

还有更离谱的。有人让 AI Agent 跑了一整夜，第二天早上打开账单，437 美元。事后分析发现 Agent 陷入了一个"自己觉得有道理但其实在原地打转"的推理循环。更极端的案例里，一个 Agent 在一次运行中调用了 14000 次同一个文件列表命令。

这些不是段子，是真实的生产事故。而且它们有一个共同的特征：AI 没有在偷懒，每一轮它都在认真尝试，但它完全不知道自己在做无用功。

## 一、跑偏不等于犯错

先区分两件事。

犯错是做错了一步。改过来就好了，代价很小。

跑偏是方向本身就不对，而且 AI 不知道方向不对。它越努力，离目标越远。每一步看起来都是合理的，连起来看是在一个大圆圈上散步。

犯错好办，跑偏要命。

因为犯错的时候，系统是有自我纠正能力的。测试告诉你哪一行报错了，你改那一行就行。但跑偏的时候，系统丧失了自我纠正能力。AI 不知道自己在跑偏，而约束机制也没有能力告诉它。

为什么约束机制告不了它？

## 二、现有的约束为什么拦不住

目前主流的约束就两种：测试和提示词。

先说测试。测试只能告诉 AI "不对"，但不能告诉它"往哪个方向不对"以及"偏了多远"。

打个比方。你教一个人投篮。他投偏了一寸，你说"没进"。他直接把球扔到了观众席上，你还是说"没进"。同样两个字，但第一种情况他只需要微调，第二种情况他需要从头学起。可是你给他的反馈完全一样，他怎么知道该微调还是重来？

AI 面对的就是这个处境。它偏了一点点和偏了十万八千里，收到的信号都是同一个强度的红灯。红灯亮了就改，改了还亮就再改，但它不知道自己是差一点就到了还是已经走上了一条完全错误的路。

再说提示词约束。你在 prompt 里写"不要修改不相关的文件"，AI 在第一轮会乖乖遵守。但跑了 20 轮之后，上下文窗口快满了，早期的指令被挤到了窗口的远端，权重越来越低。到第 30 轮的时候，AI 可能已经把你的约束忘得一干二净了。

约束的效力随时间衰减，但跑偏的风险随时间累积。你的管束越来越松，AI 的胆子越来越大，直到某一轮它开始大刀阔斧地重构那些本来好好的代码。

所以问题不在于"AI 会不会犯错"，而在于"AI 犯了错之后，现有的约束机制能不能有效地把它拉回来"。答案是：大多数时候拉不回来。

## 三、你不可能提前把规则写完

很多人的第一反应是"那就把规则写得更详细更完善"。

这条路有一个理论上的硬顶限制。

想一下：你在循环启动前写的所有规则，都是基于你对问题的当前理解。但一个复杂系统在运行过程中会产生新的状态，这些状态在启动前不存在。

你不可能在第 1 轮就知道 AI 在第 15 轮会犯什么错，因为第 15 轮的错误取决于前 14 轮的全部输出，而那些输出在你写规则的时候还没有发生。

如果你能提前预见所有可能出现的状态，那这个问题本身就已经被解决了，根本不需要 AI 来做。正是因为你不能预见，才需要 AI 去探索。但 AI 的探索会产生你没想到的新局面，而你没有为那些新局面写好规则。

这不是你不够仔细的问题，这是信息的结构性约束。系统运行中产生的信息，在运行之前不存在。你不能约束你看不见的东西。

这其实是一条老路。上世纪的 AI 研究者走过。那个时代的主流思路叫符号主义，核心理念就是"把人类知识编码成规则"。专家系统就是这么做的：请来领域专家，把他们的知识一条条写成 if-then 规则。在窄领域里效果很好，一旦面对开放世界就崩溃了。

原因不是研究者不够聪明，而是现实世界的异常情况从结构上就无法穷举。你以为你写了 100 条规则覆盖了所有情况，结果第 101 种情况在你发布的第二天就出现了。

今天的循环工程如果只靠堆规则来约束 AI，本质上是在重走符号主义的路。规则越写越多、越写越细，但永远有漏洞，而且漏洞出现的时候你不在场。

## 四、但也没有到完全绝望的地步

转折来了。

今天的大模型跟上世纪的符号系统有一个根本区别：大模型能做模糊理解。

符号主义时代，你必须把每一条规则写死。"如果错误代码是 ORA-02292，则先执行 ALTER TABLE DROP CONSTRAINT"。这种规则精确但僵硬，面对一个它没见过的错误代码就完全失效。

但大模型可以理解元规则。你可以说"如果连续三次尝试同一类操作都失败了，退一步，重新分析问题的根本原因，然后换一个完全不同的方向"。这里面的"同一类"、"退一步"、"根本原因"、"完全不同"，全是模糊概念，符号系统处理不了，大模型可以。

这就打开了一个可能性：不是靠穷举所有具体规则来约束 AI，而是用少量的元规则来引导 AI 的行为模式。你不告诉它遇到每种错误该怎么办，你告诉它"遇到反复失败的时候该怎么调整自己的策略"。

所以最有前景的方向可能是混合模式。用硬规则处理那些可以明确判定的事情，比如测试必须通过、类型检查不能报错、构建不能失败。用 AI 的模糊判断处理灰色地带，比如"当前的方向是不是越走越偏"。然后用一套分级机制把两者串起来。

这个分级机制可以分成三个自治级别。

L1 是完全自动。AI 做完自动检查，不需要人。适用于判断标准完全确定的环节，比如跑测试、跑 lint。

L2 是自动执行加人工审批。AI 做完一个阶段，暂停，把结果呈现给人，人说"继续"才进入下一阶段。适用于有一定风险的操作，比如数据库迁移、API 变更。

L3 是人工决策。AI 搜集信息和选项，人来拍板。适用于需要判断力的关键节点，比如架构选型、方案取舍。

一个循环里完全可以混合这三个级别。写代码和跑测试是 L1，全自动跑几个小时没问题。代码合并前的审查是 L2，暂停等人过目。连续 50 轮都过不了测试是 L3 的触发条件，强制停下来交给人。

自动循环和人工介入不冲突，关键是在设计阶段就规划好：哪些节点全自动，哪些节点等人，什么条件触发升级。这个规划不是运行时临时拍脑袋的事，而是架构层面提前想清楚的事。

## 五、但这一切都是过渡性方案

最后拉到更远的视角。

有人说循环工程是通向"AI 数字分身"的必备路径。你先学会写循环，然后循环越来越智能，最终变成一个能替你做所有事的数字分身。

我觉得因果关系是反的。

不是"先搞好循环工程然后走向数字分身"，而是"当 AI 真正能理解你的意图和判断标准时，循环就是自然而然的副产品"。到那时候你不需要设计分级自治，不需要写元规则，不需要手动规划哪个节点等人。AI 自己就知道什么时候该继续，什么时候该停，什么时候该来问你。

就像自动驾驶。L2 需要车道保持辅助、自适应巡航、碰撞预警这一堆外部系统来给驾驶员兜底。但如果真到了 L5，车自己就能开，那些辅助系统就不需要了。不是辅助系统进化成了 L5，而是 L5 的能力让辅助系统变得多余。

我们现在做的所有这些约束手段，测试驱动、分级自治、元规则、禁止清单，本质上都是 L2 阶段的辅助系统。它们有用，在当下阶段非常有用。但它们不是终局。真正的终局是 AI 判断力本身的提升，那是模型层面的事情，不是工程层面的事情。

但在那一天到来之前，工程手段就是我们手里最实在的东西。

下一篇，我想聊一个可能让约束机制大幅升级的思路。

我建了一个AI学习研究群，目前几十来人，都是在真正动手搞AI的人。如果你也在自己跑模型、写代码、做项目，欢迎点赞关注转发一键三连，然后加我微信，备注写清"你在做的AI方向"，聊得来的话我拉你进群。纯围观的和小白就不加了，有一定门槛。

![](images/690a82/img_001.jpg)
