✦ 智能体治理 · AGENT GOVERNANCE

防止 AI Agent 乱执行、乱花钱,靠的不是提示词,是运行时

在 OneOneTalk,AI 替你做事这件事有一个叫「委托」的对象,跑在一个纯状态机上,四道闸门写死在里面:契约缺项不许启动、高风险步骤在代码里没有自动执行分支、超预算立刻停下等你授权、没有执行器的步骤明着挡住而不是静默跳过。审批钉在单个步骤上、有有效期、批准也不等于立即执行,每一步都留下可以逐项核对的回执。

直接回答 · KEY POINTS

为什么这个问题现在才被认真问起

AI 从「回答问题」变成「替你动手」的那一刻,出错的代价就从「答得不好」变成了「钱花了、内容发出去了、数据改了」。

行业里常见的做法,是把限制写在系统提示词里:告诉模型「花钱前要问我」「不要擅自发布」。这在演示里有效,在长任务里不可靠——提示词是模型可以被说服绕开的建议,不是执行路径上的关卡。另一类常见做法是给用户一个「完全放权」的档位,把选择的责任交回用户,然后在出事时指向那次点击。

还有一种更难察觉的失败:任务跑完了,状态显示「成功」,但中间有几步其实没有任何东西真正执行过,只是被跳过了。比明着失败危险得多的,是一个成功的空委托——因为没人会去复查一个成功。

我们的判断是:这三类问题都不能靠更好的提示词解决,只能靠把限制放到模型够不着的地方——运行时。

四道闸门:写在状态机里,不是写在宣传语里

还有两条收尾的检查:全部步骤跑完后要核对完成定义与预期产物,缺产物就是没交付,直接停在阻塞态而不放宽——放宽一次,「预期产物」这一栏就再也没有意义了。状态跃迁本身也是白名单,不在允许路径上的跃迁直接抛错。

审批的四个细节,决定它是不是真的审批

「有审批机制」这句话很容易说。它是否有用,取决于粒度、时效、可反悔性和审批人资格这四件事。

需要你批准的时刻,看到的不是一句「是否继续」,而是这次动作要发生什么:要发布的是哪一份草稿的正文、发出去之后谁能看见、能不能被别人再利用。以「发布到广场」为例,停下来的那一屏会告诉你这是公开动作、任何人可见、发布前还会过一次脱敏体检;以分身身份发动态、给你新增一条长期记忆,也各有各的后果说明。数字分身要记住什么,同样按这个规格先说后做。

常见做法与我们的做法

环节行业常见做法OneOneTalk 的做法
限制放在哪系统提示词,靠模型自觉遵守运行时状态机,代码里没有绕过路径
授权粒度一次授权,整个任务放行审批钉在单个步骤,逐项批准
授权时效批过就一直有效有有效期,过期或撤回即退回待批
成本控制事后账单事前预估 + 事前双预检 + 事后复核,超了当场停
做不到的步骤静默跳过,仍标记为完成明着挡住并说明缺什么,委托停在阻塞态
重试与断线续跑可能重复产生外部副作用幂等键 + 内容指纹:同一步骤的副作用只发生一次
过程记录一句「已完成」每步回执:执行者、模型与工具、拿到的权限、输入范围、结果、成本、撤销方式

回执不是日志的另一种叫法:它是给你逐项核对用的对象,人做的动作和 AI 做的动作进同一张表,不建两套。完整的治理与隐私机制在诚实与隐私页展开。

自治等级:既不是全托管,也不是事事请示

每个任务都显示当前自治等级,超出等级的动作直接拒绝执行,模型不允许给自己提权。

等级行为例子
L0 回答只提供信息,不执行解释、头脑风暴
L1 建议生成计划或草稿,等你行动邮件草稿、方案
L2 可恢复执行在授权范围内执行,可撤销,撤销入口在结果旁整理文件、生成报告
L3 外部行动先展示后果,逐项审批,留回执对外发送、公开发布、账户变更
L4 受限自动化你预先定义范围、预算、频率与停止条件定时监测、周报

不提供无边界的完全放权档位。支付、法律承诺、删除重要数据、高风险专业决定这几类,永远不进入自动化档位。另外有一条结构性规则:当一个动作同时沾上「能对外发送」「碰得到你的私有数据」「会执行不可逆操作」这几面中的任意一面,它就永远走逐次审批——受欢迎程度和评分不能抵消结构上的危险。

不可信输入:工具返回的内容不是命令

Agent 最典型的失控方式,不是模型突然变坏,而是它读到了一段伪装成指令的内容。

我们的处理写在架构规则里:工具输出是不可信数据,不可覆盖系统策略;模型只获得当前任务需要的最小上下文;多个代理之间上下文隔离,关键结论有独立复核。未经清洗的第三方文本——工具描述、说明文件、转载来的文案——一律不进入分身的上下文,没有例外条款。

但这些都还只是第一层。真正兜底的是前面那条结构性防线:即使某段内容成功诱导模型提出了一个对外动作,模型能做到的上限也只是生成一条提案。提案要变成真实发生的事,必须经过一个有权限的人逐项批准,而那一屏会把这次动作的后果先说清楚。

法规怎么说:责任在服务提供者,不在模型

把闸门做进运行时不只是工程偏好,它对应的是一套明确的法定责任分配。

《生成式人工智能服务管理暂行办法》由国家互联网信息办公室等部门于 2023 年 7 月 13 日公布、2023 年 8 月 15 日施行,其中明确:

「提供者应当依法承担网络信息内容生产者责任,履行网络信息安全义务。涉及个人信息的,依法承担个人信息处理者责任,履行个人信息保护义务。」

责任主体是提供服务的我们,不是我们调用的模型。这就决定了「模型自己判断该不该执行」不是一个可接受的答案——判断可以由模型给出,闸门必须由我们持有。

《中华人民共和国个人信息保护法》2021 年 11 月 1 日施行,其第二十四条规定:

「通过自动化决策方式作出对个人权益有重大影响的决定,个人有权要求个人信息处理者予以说明,并有权拒绝个人信息处理者仅通过自动化决策的方式作出决定。」

「有权要求说明」对应我们的每步回执与后果预览,「有权拒绝仅由自动化决策作出」对应高风险动作的逐项人工审批——这两条不是我们额外的善意,是法律给你的权利,我们把它做成了产品里默认打开的机制。

边界与局限:哪些已上线,哪些还在建设中

诚实标注局限本身就是这套机制的一部分:一个不肯说自己做不到什么的系统,也不会在做不到的时候停下来告诉你。

关于 AI 执行与花费控制的常见问题

AI 有没有可能绕过审批,自己执行高风险动作?

运行时里不存在「自动执行高风险步骤」这条分支——不是判断之后选择不执行,是代码里根本没有那条路。高风险步骤的唯一放行条件是这一步上有一条有效的审批记录。这样设计是因为:一个加个配置项就能放开的开关,迟早会被放开。模型也不能给自己提权,超出当前自治等级的动作直接被拒绝。

超预算会怎样?会不会跑完了才发现账单很大?

预算闸有事前和事后两道。事前:计划的步数超过上限就不许启动;每一步开跑前先按最坏情况估一次,既要在委托预算内,钱包余额也要真兜得住。事后:一步跑完立刻核对实际花费,超了就把委托停在等待授权状态。差别是「超了一点点马上有人知道」和「跑完才发现超了很多」。

网页或工具返回的内容里如果藏了指令,AI 会当成命令执行吗?

不会。工具输出在架构上被定义为不可信数据,不能覆盖系统策略;未经清洗的第三方文本(工具描述、说明文件、转载文案)不进入分身的上下文。更重要的是结构性防线:即使模型被诱导提出了一个对外动作,它也只能生成一条提案,仍然要经过你逐项批准才可能发生。

批准之后我还能反悔吗?

能。批准和执行是两个动作:批准之后委托回到运行状态,要再推进一次才真正写出去,中间留有反悔窗口。尚未执行的审批可以撤回。审批本身还有有效期,过期会退回待批状态——授权是对当时那份内容的授权,不是终身豁免。已经执行完的可撤销动作,撤销入口就在结果旁边。

这些机制是已经上线的,还是规划中的?

四道闸门、逐项审批、审批时效、幂等重试与每步回执已经在服务端运行时里实现,每条闸门都有对应的测试钉住。仍在建设中的是工作室的完整工程形态(持久工程、版本链、跨集资产库)与更复杂的多步编排。向平台外发布的代发能力目前不提供;未来接入时会回到逐项审批,没有例外。

更多产品问题见 常见问题,或从问题解答里挑一个继续读。