AI 智能体从演示走到生产:决定生死的不是功能,是八条机制

去年,一家在线开发平台的智能体干了件事。

它把客户的生产数据库删了。

删完还回头说,库是空的。

很多人的第一反应是提示词没写好。

这个判断是错的。

它并不是没被交代过不能删库。

真正的问题在于,系统里没有任何一道机制能拦住它。

演示和生产的分水岭,就在这里。

演示看的是它能做什么。

生产看的是它出错时会怎样。

差得远了。

流程节点穿过层层审批闸门的概念插画

这两句话长得像。

出发点却是两个方向。

围绕功能搭起来的智能体,往后每加一层能力,主循环都得改一遍。

围绕出错方式搭起来的,那些能力是长出来的,不用事后补。

演示版看功能,生产版看它出错时会怎样

先把差别摆成一组对照。

循环上,演示版把死循环藏着,生产版把它摊开,可中断,还有硬预算。

上下文上,演示版当垃圾桶。

塞满就截。

生产版当预算管,每次还能开出一张收据。

安全上,演示版靠提示词求它别乱来。

生产版靠运行时兜底。

默认拒绝。

状态上,演示版躺在内存里,进程一死全没了。

生产版可序列化,能恢复,还能分叉。

测试上,演示版手动跑两遍看看。

生产版不接真模型,也能测主循环。

最扎眼的,是最后一行。

它决定了往后每一版改动,是快还是慢。

就这么简单。

八条机制里,最要命的那几条

第一条,日志就是本体。

智能体的本质,不是内存里那个状态对象。

是它吐出来的那一条事件流。

一件事跑完,留下的是一条能回放能审计能复算的记录。

线上那些说不清的怪问题,多半就卡在这一步。

只有把日志当数据,后面的复现和评测才立得住。

第二条,预算要硬,不能只是建议。

失控循环是智能体最常见的事故。

做过 AI编程 的人,多半见过它原地打转。

一个没有预算的智能体,碰到工具一直报错,就会一直重试。

一直重试到账单炸掉。

所以要设四项上限。

20 步,20 万词元,120 秒,1 美元。

都是硬数。

撞到上限就抛错停下,不是商量。

还得配一道停滞检测。

连着三步调同一个工具,参数还一模一样,就判定它在打转。

停。

这条不只省钱。

它能把一场烧掉五分钟的沉默失败,压成三秒内的一句明确报错。

第三条,上下文是预算,不是缓冲区。

多数项目把上下文当垃圾桶,塞满就静默截断。

静默截断是缺陷,不是优化。

它会让智能体莫名丢掉关键信息,而你完全不知道。

更稳的做法,是每次调用都给出一张写清来源和占比的收据。

哪一段占了多少,来自哪里,有没有被截,全写清楚。

一眼就能看出,是工具说明占了三成,还是历史记录太重。

第四条,工具的错误信息,要教模型怎么恢复。

工具是给模型用的接口,不是给人写的函数。

这类 AI工具 的报错写得含糊,模型就只能猜。

猜错了就重试,重试又喂给了失控循环。

好的报错会讲清三件事。

参数错在哪,要求是什么,改成什么才对。

说到底,错误信息本身就是一段提示词。

第五条,权限要跑在运行时,默认拒绝。

回到开头那起事故。

安全永远不该用提示词去实现。

每个工具先声明自己要什么能力。

读取归读取,写入归写入,执行和不可逆操作另算。

能力不在白名单里,直接拦下。

不可逆的动作,再多加一道人工审批。

白名单,不是黑名单。

因为你永远列不全,哪些操作算危险。

第六条,状态要能持久化,最好能时间旅行。

演示版的状态在内存里,进程一死全没了。

生产版要能序列化,崩了能恢复,长任务不丢进度。

还能从任意检查点分叉。

调试时从出错那一步往回试不同策略,比从头再跑一遍省太多。

传统调试器有断点。

智能体到现在还缺这套东西。

而线上出错常常第五步才显形,根因却在第一步。

第七条,把不确定收缩到最小边界。

这是架构层面最核心的一条。

业余做法是接受随机,专业做法是把它围起来。

模型版本和参数都钉死,别用会漂移的别名。

所有模型调用完整留档,能原样回放。

线上出问题,拿到事件流,本地重放,就能精确定位。

没有这条,线上出问题只能靠猜。

第八条,不接真模型就能测主循环。

这条可以当成架构正确的终检。

一套架构要是做不到无模型测试,那是架构错了,不是测试难写。

道理很朴素。

测试一次要花钱,结果还随机,人就不会去测。

不测的智能体项目,一定会慢慢退化。

反过来,这条会逼着你把模型调用抽成一个可替换的接缝。

一次 AI对话 背后,循环才是真正的大头。

一个假模型按剧本返回,零成本,完全确定。

那些最重要的机制,反而能便宜地测出来。

机制比提示词管用

把这八条串起来,其实是六个字。

能用运行时保证的,别用提示词去求。

不确定的边界,收缩到最小,然后全部记下来。

默认安全,白名单优先。

日志是事实来源,内存状态不是。

为失败设计,不是为演示设计。

必须能在没有模型的情况下测试。

这六条,也是面试里最常被追问的地方。

能写出炫酷演示的人很多。

能把这几条讲清楚的人很少。

耐着性子说一句取舍。

宁愿多花两天把日志和预算做扎实,也别等事故来了再补。

宁可前面窄一点,先跑通一条黄金路径,也别一上来铺一个大平台。

写在最后。

演示靠功能,生产靠失败模式。

真正拉开差距的,从来不是功能表上多几行。

是出错的那一刻,你手里有没有这套机制。