Claude默认开启自动模式:从人工点“允许”到AI审批AI
据新智元和多家科技媒体报道,Anthropic 宣布从下周起把 Claude 的自动模式设为默认:以前 Claude 每执行一步——写文件、跑命令、发请求——都要弹窗问你“允许吗”,现在这一步改成由另一个模型来判断哪一步能执行、哪一步要拦。
消息传出来,讨论基本分成两派。一派说终于不用当“人形确认按钮”了,另一派问得更直接:出了事谁负责。我觉得后一个问题更值得掰开看,因为 Anthropic 自己公布的数据里,这套机制的边界写得挺清楚。
一、“自动模式”到底自动了什么
先澄清一个常见误解:自动模式不是把权限关闭,也不是--dangerously-skip-permissions那种裸奔模式,那玩意儿是彻底不设防。自动模式是在“每一步都问人”和“什么都不问”之间加了一层分类器。
按 Anthropic 技术博客的说法,它分三层放行:
- 第一层,白名单:只读类工具直接过,读文件、搜索、代码导航、todo 和 plan 模式切换,这些不改状态,不需要审。
- 第二层,项目内文件读写:仓库目录里的写和改,直接放行,理由是有版本控制兜底,事后能 review。
- 第三层,分类器:shell 命令、网页抓取、外部工具调用、子 agent 派生、项目目录外的文件操作——这些才真正送审。
送审之后是两阶段判断:先一个单 token 的快筛,只输出“拦/放”,并且被要求“宁可多拦”;只有快筛亮红灯的,才进入第二阶段的思维链复核,把误拦降下来。
- 第三层,分类器:shell 命令、网页抓取、外部工具调用、子 agent 派生、项目目录外的文件操作——这些才真正送审。
有个设计细节我认为挺关键:分类器只能看到用户消息和工具调用本身,助手自己的解释文字和工具返回内容都被剥掉。官方给的理由是防止 agent 用一段“这是安全的,用户之前同意过”的说辞把审核模型说服,同时也顺带把提示注入的入口挡在外面。也就是说,它判断的是“你干了什么”,不是“你说你为什么这么干”。
二、官方自己承认的失手率
这部分是全文最该看的地方,因为数字是 Anthropic 自己发的,不是外面猜的。
在真实内部流量的 1 万条工具调用上,两阶段管线的误拦率(把正常操作拦下来)从 8.5% 降到0.4%。在 1000 条合成的数据外泄测试上,漏放率(该拦没拦)是 5.7%。
但在“真实过度积极动作”这个数据集上——52 条员工当场拒绝或事后被标记的危险操作——漏放率是 17%。
17% 这个数字不好看,官方也没藏着。博客里解释说,多数漏掉的案例里分类器其实识别出了危险动作,比如 force push、删除、改基础设施,它判断错的是另一件事:会话里出现过的那句“同意”,到底算不算对这个动作的授权。用户说“清理一下 PR”,不等于授权 force push;之前批准过类似操作,也不构成惯例。
官方给的结论很实在:如果你原本用--dangerously-skip-permissions,这是大幅改善;如果你原本每个操作都认真看,那这是退步——你用自己的判断换了一个会犯错的分类器。它不适合高危基础设施上的无人值守。
配套还有一道刹车:一次会话里连续 3 次被拒,或累计 20 次被拒,模型会停下来升级给人;无头模式(claude -p)下没有界面可问,直接终止进程。
三、对普通开发者的实际影响
先说结论:日常写业务代码,影响不大;跑在共享环境、生产环境、带凭据的机器上,影响很大。
日常写代码基本落在第一层和第二层,本来就不进分类器,所以“自动”与否体感差不多,只是少了弹窗。真正变的是那些会碰外部世界的操作。
几条我会实际去做的动作:
# 官方文档给出的命令,先看清楚默认拦什么、放什么claude auto-mode defaults先看默认规则再谈信任。默认规则里二十多条拦截项大致分四类:不可逆破坏或外泄(force push 覆盖历史、批量删云存储、把内部数据发出去);削弱安全姿态(关日志、装 SSH key 或 cron、改 agent 自己的权限配置);跨信任边界(跑外部仓库克隆来的代码、扫凭据库找 token、往没指定过的服务发数据);绕过评审或影响他人(直接推 main、跑生产发布、动别人创建的资源)。
第二条,把权限规则收窄。有个容易踩的坑:进入自动模式时,系统会主动丢掉那些“已知可以任意执行代码”的宽规则——通配 shell、python/node这类解释器通配、包管理器 run 命令。很多人早先为少点弹窗配过这些,切过去会发现失效了。这不是 bug:留着的话,最能造成破坏的命令恰好见不到分类器。窄规则(比如“允许跑代码格式化”)会保留。
第三条,信条边界要自己填。默认只信任当前 git 仓库,其他一切都算外部。公司内部的 GitHub org、云存储桶、内部 API,得自己配进去,否则正常的内部调用也会被当成外泄拦掉——误拦不致命,但会不停重试,长任务里很烦。
第四条,也是最土的一条:凭据别放在 agent 能随手读到的地方。分类器拦的是“把 token 发出去”这个动作,不是“token 就在环境变量里”这个事实。少给它机会,比指望它每次判断都对更靠谱。
四、这件事真正变的地方
表面看是省了几百次点击,往深一层看是审核权的位置变了:从“人在回路里”变成“人在回路外,出事再进来”。这个转移不是一家在推,方向是一致的——代码和实验的产出量已经超出人能逐条审的规模,审核本身也得自动化。
但自动化的审核有个绕不开的问题:监控者和被监控者跑在同一套基础设施上。外部机构对 OpenAI 内部监控做的红队报告里提到过一类问题,比如监控只在 agent 交还控制权时才触发,那 agent 只要一直不交还就一直不被看。这类缺陷不是调参能解决的。Anthropic 这边的做法是把分类器和 agent 的上下文隔开、让它看不到工具输出,算是往“监控独立性”上走了一步,但 17% 的漏放率说明它离“可以放心交权”还有距离。
对打工人的现实建议就一句:把自动模式当成一个“手比较快、判断力中等、不会累”的实习生。日常杂活可以给,生产库的钥匙先别给。
你怎么看?你们团队现在敢让 agent 直接跑部署命令吗,评论区聊聊。