在 OneOneTalk,AI 替你做事这件事有一个叫「委托」的对象,跑在一个纯状态机上,四道闸门写死在里面:契约缺项不许启动、高风险步骤在代码里没有自动执行分支、超预算立刻停下等你授权、没有执行器的步骤明着挡住而不是静默跳过。审批钉在单个步骤上、有有效期、批准也不等于立即执行,每一步都留下可以逐项核对的回执。
AI 从「回答问题」变成「替你动手」的那一刻,出错的代价就从「答得不好」变成了「钱花了、内容发出去了、数据改了」。
行业里常见的做法,是把限制写在系统提示词里:告诉模型「花钱前要问我」「不要擅自发布」。这在演示里有效,在长任务里不可靠——提示词是模型可以被说服绕开的建议,不是执行路径上的关卡。另一类常见做法是给用户一个「完全放权」的档位,把选择的责任交回用户,然后在出事时指向那次点击。
还有一种更难察觉的失败:任务跑完了,状态显示「成功」,但中间有几步其实没有任何东西真正执行过,只是被跳过了。比明着失败危险得多的,是一个成功的空委托——因为没人会去复查一个成功。
我们的判断是:这三类问题都不能靠更好的提示词解决,只能靠把限制放到模型够不着的地方——运行时。
还有两条收尾的检查:全部步骤跑完后要核对完成定义与预期产物,缺产物就是没交付,直接停在阻塞态而不放宽——放宽一次,「预期产物」这一栏就再也没有意义了。状态跃迁本身也是白名单,不在允许路径上的跃迁直接抛错。
「有审批机制」这句话很容易说。它是否有用,取决于粒度、时效、可反悔性和审批人资格这四件事。
需要你批准的时刻,看到的不是一句「是否继续」,而是这次动作要发生什么:要发布的是哪一份草稿的正文、发出去之后谁能看见、能不能被别人再利用。以「发布到广场」为例,停下来的那一屏会告诉你这是公开动作、任何人可见、发布前还会过一次脱敏体检;以分身身份发动态、给你新增一条长期记忆,也各有各的后果说明。数字分身要记住什么,同样按这个规格先说后做。
| 环节 | 行业常见做法 | OneOneTalk 的做法 |
|---|---|---|
| 限制放在哪 | 系统提示词,靠模型自觉遵守 | 运行时状态机,代码里没有绕过路径 |
| 授权粒度 | 一次授权,整个任务放行 | 审批钉在单个步骤,逐项批准 |
| 授权时效 | 批过就一直有效 | 有有效期,过期或撤回即退回待批 |
| 成本控制 | 事后账单 | 事前预估 + 事前双预检 + 事后复核,超了当场停 |
| 做不到的步骤 | 静默跳过,仍标记为完成 | 明着挡住并说明缺什么,委托停在阻塞态 |
| 重试与断线续跑 | 可能重复产生外部副作用 | 幂等键 + 内容指纹:同一步骤的副作用只发生一次 |
| 过程记录 | 一句「已完成」 | 每步回执:执行者、模型与工具、拿到的权限、输入范围、结果、成本、撤销方式 |
回执不是日志的另一种叫法:它是给你逐项核对用的对象,人做的动作和 AI 做的动作进同一张表,不建两套。完整的治理与隐私机制在诚实与隐私页展开。
每个任务都显示当前自治等级,超出等级的动作直接拒绝执行,模型不允许给自己提权。
| 等级 | 行为 | 例子 |
|---|---|---|
| L0 回答 | 只提供信息,不执行 | 解释、头脑风暴 |
| L1 建议 | 生成计划或草稿,等你行动 | 邮件草稿、方案 |
| L2 可恢复执行 | 在授权范围内执行,可撤销,撤销入口在结果旁 | 整理文件、生成报告 |
| L3 外部行动 | 先展示后果,逐项审批,留回执 | 对外发送、公开发布、账户变更 |
| L4 受限自动化 | 你预先定义范围、预算、频率与停止条件 | 定时监测、周报 |
不提供无边界的完全放权档位。支付、法律承诺、删除重要数据、高风险专业决定这几类,永远不进入自动化档位。另外有一条结构性规则:当一个动作同时沾上「能对外发送」「碰得到你的私有数据」「会执行不可逆操作」这几面中的任意一面,它就永远走逐次审批——受欢迎程度和评分不能抵消结构上的危险。
Agent 最典型的失控方式,不是模型突然变坏,而是它读到了一段伪装成指令的内容。
我们的处理写在架构规则里:工具输出是不可信数据,不可覆盖系统策略;模型只获得当前任务需要的最小上下文;多个代理之间上下文隔离,关键结论有独立复核。未经清洗的第三方文本——工具描述、说明文件、转载来的文案——一律不进入分身的上下文,没有例外条款。
但这些都还只是第一层。真正兜底的是前面那条结构性防线:即使某段内容成功诱导模型提出了一个对外动作,模型能做到的上限也只是生成一条提案。提案要变成真实发生的事,必须经过一个有权限的人逐项批准,而那一屏会把这次动作的后果先说清楚。
把闸门做进运行时不只是工程偏好,它对应的是一套明确的法定责任分配。
《生成式人工智能服务管理暂行办法》由国家互联网信息办公室等部门于 2023 年 7 月 13 日公布、2023 年 8 月 15 日施行,其中明确:
「提供者应当依法承担网络信息内容生产者责任,履行网络信息安全义务。涉及个人信息的,依法承担个人信息处理者责任,履行个人信息保护义务。」
责任主体是提供服务的我们,不是我们调用的模型。这就决定了「模型自己判断该不该执行」不是一个可接受的答案——判断可以由模型给出,闸门必须由我们持有。
《中华人民共和国个人信息保护法》2021 年 11 月 1 日施行,其第二十四条规定:
「通过自动化决策方式作出对个人权益有重大影响的决定,个人有权要求个人信息处理者予以说明,并有权拒绝个人信息处理者仅通过自动化决策的方式作出决定。」
「有权要求说明」对应我们的每步回执与后果预览,「有权拒绝仅由自动化决策作出」对应高风险动作的逐项人工审批——这两条不是我们额外的善意,是法律给你的权利,我们把它做成了产品里默认打开的机制。
诚实标注局限本身就是这套机制的一部分:一个不肯说自己做不到什么的系统,也不会在做不到的时候停下来告诉你。
运行时里不存在「自动执行高风险步骤」这条分支——不是判断之后选择不执行,是代码里根本没有那条路。高风险步骤的唯一放行条件是这一步上有一条有效的审批记录。这样设计是因为:一个加个配置项就能放开的开关,迟早会被放开。模型也不能给自己提权,超出当前自治等级的动作直接被拒绝。
预算闸有事前和事后两道。事前:计划的步数超过上限就不许启动;每一步开跑前先按最坏情况估一次,既要在委托预算内,钱包余额也要真兜得住。事后:一步跑完立刻核对实际花费,超了就把委托停在等待授权状态。差别是「超了一点点马上有人知道」和「跑完才发现超了很多」。
不会。工具输出在架构上被定义为不可信数据,不能覆盖系统策略;未经清洗的第三方文本(工具描述、说明文件、转载文案)不进入分身的上下文。更重要的是结构性防线:即使模型被诱导提出了一个对外动作,它也只能生成一条提案,仍然要经过你逐项批准才可能发生。
能。批准和执行是两个动作:批准之后委托回到运行状态,要再推进一次才真正写出去,中间留有反悔窗口。尚未执行的审批可以撤回。审批本身还有有效期,过期会退回待批状态——授权是对当时那份内容的授权,不是终身豁免。已经执行完的可撤销动作,撤销入口就在结果旁边。
四道闸门、逐项审批、审批时效、幂等重试与每步回执已经在服务端运行时里实现,每条闸门都有对应的测试钉住。仍在建设中的是工作室的完整工程形态(持久工程、版本链、跨集资产库)与更复杂的多步编排。向平台外发布的代发能力目前不提供;未来接入时会回到逐项审批,没有例外。