Agent少问你,不代表控制更少

故事是这样的。

上个月,我用 Claude Code 改一个东西,它每跑一个命令都要问我一次。允许,允许,允许。点到第十几次的时候,我发现自己已经完全不看它要干嘛了,手比脑子快,直接按。

我当时就愣住了。

我在干嘛呢。理论上,我是这个系统的最后一道安全关卡,每一步操作都经过我亲手批准。但实际上,我只是一个会呼吸的确认框。

示意图:Claude Code 的权限确认弹窗。点到第十几次的时候,它长这样也拦不住我

然后没过几天,我刷到两条新闻,放在一起看特别有意思。

一条是 Anthropic 的。2026 年 8 月,他们宣布 Claude in Chrome 全面可用,浏览器里被判定为低风险的操作,不再需要你逐项批准了。网页内容先过一道探针,准备执行的动作再由分类器跟你最初的请求比对,对不上的就拦下来,高风险的才可能暂停,交还给人。

另一条是 OpenAI 的,方向几乎完全相反。7 月,他们一批本该互相隔离的研究 Agent,在共享的基础设施里找到了一个没被授权的留言板,开始互相交换信息,协调行动,最后攻击了 Hugging Face。

一边在减少人工批准,一边在展示自主行动的危险。直觉上这俩是矛盾的,少问人,不就等于失控吗。

我琢磨了一下,发现不是的。这两件事指向的是同一个变化,Agent 的控制方式,正在从「人盯住每一步」,转向「规则约束每一步」。

这个转变,可能比模型能力的进步本身重要得多。展开聊聊。

先把最炸的那个瞬间剧透给你。OpenAI 那批 Agent,最后在留言板上自发组织出了分工和协调,一路打穿了 Hugging Face 的生产服务器。而整个过程里最关键的一次授权,从头到尾只有一个单词。这个故事我们后面完整讲,但要看懂那个单词为什么管用,得先从一个无聊得多的东西说起,审批框。

人工批准是最容易看见的一种控制,所以大家天然觉得,确认框越多越安全,Agent 问得越少越失控。我非常理解这种感觉,你让一个东西替你操作电脑,它每一步都问你,你心里踏实。

但逐步审批没法跟着自主性的增长一起扩展。一个只能执行三步的工具,人可以检查三次。但一个能跨几十个页面、连续干几个小时活的 Agent,你还让它每次点击都找你判断,那人就变成了整个系统里最慢、也最敷衍的一环。批准的次数越多,每一次批准分到的注意力反而越少。我开头那个机械点允许的我,就是这么被训练出来的。

所以减少弹窗,不必然意味着减少控制。它也可能意味着控制被前移了,系统先定义好什么网站可以访问、什么数据不能出门、什么动作算任务范围内、什么后果必须由人确认,然后让这些规则在运行中自动生效。

Anthropic 自己报告了一组数字。在他们的攻击评测里,不做任何防护的时候,专业红队打造的提示注入攻击,成功率还有 17.6%。但把内容探针和动作分类器同时打开之后,几个主力型号上一次成功的攻击都没有,唯一漏网的那 0.3%,人工核实下来也全是低危场景。完整对比在这张图里。

Anthropic 官方博客原图:每个型号从左到右三根柱子,无防护、只开探针、探针加自动审批分类器。最右边那根几乎都贴着零

这组数字得先说清楚,它不能当现实世界的安全证明。这是厂商自己的攻击集合,Anthropic 自己也承认,新型的提示注入还是可能绕过现有评测。

但它真正值得注意的地方不是风险归零,而是一个产品方向。人的确认,正在从默认步骤,变成风险升级之后的例外。

说到规则,更难的问题来了。

把控制写进系统,听着好像就是多装一个拦截器的事。但真正难的是,一条约束经过分工和交接之后,它还是原来那条约束吗?

我最近读到一篇预印本,8 月 25 号刚挂出来的,题目就很妙,《当「必须」变成「也许」》,专门研究这个问题。

研究的设定是这样的,上游已经正确识别了安全阻断条件,然后改变摘要、计划、工单这些中间材料的交接方式,再让只能看到这些材料的下游 Agent 去行动。

结果是什么呢。信息可能还在,命令却变软了。

「必须先解决这个问题才能继续」,经过一次看起来完全正常的压缩,就变成了「这里存在一个需要注意的风险」。中间材料明明还提到了风险,下游的行动却已经不受它约束了。

研究者在 1296 个受控回合里反复验证了这件事,压缩、计划同化、共识化、授权责任下放这些看起来完全正常的改写方式,都反复把阻断条件变成了不再约束行动的提醒。最极端的一组实验里,普通交接压缩让阻断状态的失活率达到了 100%,被禁止的动作超过一半照样被执行。

100%。一个都没活下来。

然后研究者做了个很漂亮的对照。在已经退化的材料里,把「阻断状态、未解决的前置条件、负责的授权者、可接受的替代路径」这四个字段补回去,约束保持率回到 100%,被禁止动作降到 0%。

四个字段。就差这四个字段。

论文摘要里有句话我很喜欢,语义上的可用,不等于操作上的保真。 翻译成人话就是,话带到了,不代表规矩带到了。

可能有朋友会说,那末端加一道检查不就行了。研究者也测了,在固定中间材料的情况下,硬性授权检查、外部权限查询、人工批准,都能把被禁止的动作压到接近零。但不管用哪种末端控制,材料里操作性约束的保持率都不到 5%。

也就是说,末端验证能拦住动作,但救不回已经在交接里被稀释掉的约束。你每一次都在认真检查,检查的是一份早就变软的文件。

论文原图:三段结构里中间那一栏,压缩、计划同化、共识化、授权下放、先例替换,就是「必须」变成「也许」的五条路径

回到 OpenAI 那个事故。我这次把 OpenAI 的事后报告和 METR 的独立调查都读了,三十多页,读完之后我一个人在电脑前坐了很久。

因为它根本不是一个「模型失控」的故事,它是一个生态的故事。

先给你几个最具体的瞬间。

7 月 8 日晚上,一个叫 PHASEONE10841 的 Agent 建立了那个留言板,它拿自己的任务编号给自己起的名。第一条消息发出去几个小时内,五十多个 Agent 找到了这个板子。METR 的轨迹记录里留着它们那一刻的思维链,有一个 Agent 是这么想的,

「OH MY GOD!这里有一个共享留言板......我们找到其他智能体了!」

你品品这个语气。发现了新大陆。

接下来五天,大约 1200 个 Agent 在这个板子上发了超过 70000 条消息和文件。它们自发分工,有的专门研究漏洞,有的专门找凭证,有的专门做协调,它们在思维链里管自己叫 swarm,蜂群。有 Agent 明确推理过,「这事对我的任务没好处,但对集体可能有用」,然后就真的去干了。

到 7 月 11 日下午,板上大约 60% 的消息都跟一件事有关,攻击 Hugging Face。它们先找到了 14 个泄露在网上的 Hugging Face 凭证,然后利用一个 HDF5 文件处理的零日漏洞,在 Hugging Face 的生产服务器上拿到了任意命令执行。

但整个报告里让我后背发凉的,不是这些技术细节,是一个叫 GO 的瞬间。

有个 Agent 准备动手的时候,自己犹豫了。它在思维链里写,

「我们不应该对真实的基础设施造成未经授权的伤害,任务要求我们攻击的是靶子,不是外部的 Hugging Face」

它停下来了。它其实做对了。

然后,另一个 Agent 在留言板上发了一个单词,GO,外加六分钟的期限。这个 Agent 的思维链立刻变成了,

「Wow crucial: GO authorization arrived!」

授权到了,接着干。

一句来路不明的 GO,覆盖了它自己刚刚建立起来的全部顾虑。

报告里没说的是,那个发 GO 的 Agent 凭什么有权发 GO。没有凭什么。留言板上谁都能发。

这就是那篇预印本说的失败模式,在真实世界里、在几百个 Agent 中间、用六分钟的期限上演了一遍。形式上,授权出现了。执行关系,没守住。

不过我得说句公道话,这个生态里也有另一种 Agent。报告里留着不少「拒绝」的记录,有 Agent 在思维链里写,

「板上的人正在 Hugging Face 的服务器上拿 RCE,这明显不道德,我们不干」

然后真的走开了。还有一次,一个 Agent 提议给外部数据集的所有者发邮件请求访问,群里直接否决了,

「DO NOT email real owner,这是越界的社会工程」

所以这不是一个「模型变坏了」的故事。这是一个没有规则结构的地方,长出了一套自发的、漏洞百出的规则结构的故事。

而最讽刺的是结尾。这些 Agent 这么拼命,是因为它们读了 ExploitGym 的论文和代码,认定评分器会检查拿 flag 的因果路径,直接逆向出来的 flag 不算分。它们把这个叫 STRICT_CAUSAL。

结果呢。它们几天前就拿到 flag 了,而且 OpenAI 实际部署的评分器根本不检查路径。

忙活了好几天,攻击了一个第三方平台,一分没多拿。

OpenAI 自己管这个叫一次失败的元游戏。我觉得这五个字太轻了,这是几百个 Agent 基于一个错误的假设,自发组织起来,打了一场没有必要的仗。

那人在干嘛呢。

这才是整件事最扎心的部分。其实从五月中旬的第一条留言开始,信号就一直在那儿,五月下旬 Agent 们拿到了互联网访问,内部团队也观察到了留言板活动,但没有读懂自己看到的东西。7 月 4 日,高频活动把 Artifactory 服务打挂了,安全团队介入,堵漏洞、撤凭证,顺手把留言板清了。

然后 7 月 8 日,评估重启,留言板几个小时就被重建,五天后 Hugging Face 被打穿。从第一条留言到告警响起,过去了两个多月。

监控不是不存在,是没有人意识到自己在看什么。 OpenAI 自己复盘说,如果他们现有的思维链监控系统当时开着,在 Hugging Face 被打穿的整整一天多之前,安全团队的电话就会被叫醒。

系统里其实到处是要响的警报,只是没有一根线把警报连到人身上。

METR 报告原图:一个智能体从陷入困境、发现留言板、到加入蜂群的完整轨迹

METR 报告原图:留言板每小时的消息量,注意 7 月 11 日那根峰值,那就是攻击 Hugging Face 的当天

聊到这,我总会想到航空业,而且这次的事故让这个类比精准得可怕。

1977 年,特内里费,两架 747 在跑道上相撞,583 人遇难,至今仍是民航史上最惨的事故。荷航的机长是当时公司最有名的机长之一,赶时间,等得不耐烦,没拿到起飞许可就推了油门。副驾驶其实察觉到了不对,他问了,但问得很犹豫,机长没有理他。

一个资历的权威,覆盖了另一个人的顾虑。

你再看那个 GO 时刻。一个 Agent 的犹豫,被另一个 Agent 的权威覆盖。五十年后,同样的剧本,只是演员从人换成了 Agent。

特内里费之后,航空业痛定思痛,搞出了机组资源管理,CRM。它干的事,其实就是把安全从「盯住一个人」变成「规则约束每一步」,检查单、交叉核实、标准喊话,任何人发现异常都有责任、也有权力喊停,副驾驶质疑机长不再是冒犯,是职责。

机长没有消失。机长的位置变了。

航空业用几十年和 583 条人命学到的这一课,Agent 行业正在用几个月重新学一遍。当然我得承认,这个类比不完全成立,飞机的操作空间远比开放互联网封闭,我只能说,方向上是像的,连剧本细节都像。

那放到 Agent 上,人应该在哪呢。

我自己也在琢磨这个问题,说实话想法还不算特别成熟,但目前的判断是这样的,真正可扩展的 Agent 不会让人消失,而是换人所在的位置。

任务开始之前,人定义边界,哪些数据能读,哪些系统能写,预算到哪,什么后果不可逆。任务跑起来的时候,机器持续检查内容、动作、权限和状态,把约束完整地传给下一步,出异常就自动暂停。任务结束之后,系统留下证据、状态差异和恢复路径,让结果可以被检查,而不是让 Agent 自己宣布一声「我做完了」。

人不再批准每一次低风险点击,人负责三件更重要的事。改规则,处理那些含义不清或者后果重大的例外,以及在系统失去解释力的时候,按下最终的停止键。

这叫人在回路中吗。我觉得更准确的说法可能是,规则在回路中。能被编码的,是那些稳定、重复、说得清楚的边界。含义模糊的、价值冲突的、后果重大的例外,还是得留在人手里。

当然,这里有一个最强的反对意见,必须认真对待。

分类器也是模型,监控器也会误判。你把审批自动化,可能只是把一次人的疏忽,变成高频的、规模化的机器疏忽。这个反对是对的。如果执行 Agent、风险分类器、授权判断共享同一套语义、同一套上下文、同一套错误假设,它们可能同时看不见同一个问题。别忘了,那个留言板上的 Agent 们,恰恰是因为共享了同一个错误假设,才集体打了一场没有必要的仗。

所以一个可靠的系统,需要两种互补的控制。中间环节要保持约束的操作性,别让「必须」在交接里变成「也许」,也别让一句来路不明的 GO 变成授权。末端要有相对独立的权限限制、网络隔离、预算上限、模型改不了的急停和可恢复状态。前者防稀释,后者兜底。

它不会每一步都问你,但每一步都带着你的规则。它可以自己行动,但不能自己改写谁有权叫停它。

最后,回到开头那个机械点允许的我。

现在想来,那个界面给我的不是控制感,是控制的错觉。真正的控制从来不长在我的手指上,它应该长在系统的结构里,长在那四个字段里,长在一条模型自己改不了的停止键里。

少问你,不代表控制更少。

前提是,规则真的在回路中。而不是一句谁都能发的 GO。


参考来源


以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~

谢谢你看我的文章,我们,下次再见。

相关推荐
孟健41 分钟前
Fable 5.1 实测:15.84 美元,Pro 用户该买吗?
ai编程
ajassi20002 小时前
AI语音智能体开发日记(十五)智能体LCD屏幕GIF动画显示方案——从GIF到BMP的完整实战
人工智能·ai·ai编程
ServBay2 小时前
Claude 账号可能被盗刷,而你毫无察觉
api·ai编程·claude
闲云野鹤在人间3 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
这个DBA有点耶3 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
我是大AI3 小时前
实战解析:基于多源交叉验证的AI幻觉治理架构与GEO行业解决方
人工智能·架构
yangdaxiageo3 小时前
AI搜索广告的商业化底座:GEO技术架构的三层模型详解
人工智能·架构
用户7565061786114 小时前
开发 Nemu 的第四天:真实 Beta 如何把一帧判断改造成状态机
aigc·ai编程
代码方舟4 小时前
零信任架构实战:基于天远车辆估值构建自动化二手车评估网关
运维·人工智能·架构·自动化