Claude Code auto mode 是怎么做的
来自 Anthropic Engineering · 期号 2026-03-25
摘要
Claude Code 用户会批准 93% 的权限提示,频繁点击导致审批疲劳。 Anthropic 推出了 auto mode,用两层模型分类器代替人工审批:输入层用提示注入探针扫描工具输出,输出层用 Sonnet 4.6 分类器评估每个操作。分类器先做快速单 token 过滤,只有被标记的对话才触发链式推理。 内部事故日志记录了 agent 过度积极导致的误操作,包括删除远程 git 分支、上传认证令牌到内部集群、对生产数据库执行迁移。Auto mode 的目标是拦截这类危险操作,同时让其余操作无需审批。
深读
导读 Claude Code 用户会批准 93% 的权限提示,导致审批疲劳,进而可能忽视危险操作。Anthropic 推出了 auto mode,用两层模型分类器代替人工审批,在提升安全性的同时减少中断。读完本文能了解这套系统的架构、威胁模型、分类器决策逻辑,以及它在真实流量和危险操作上的实测表现。 关键信息 - 用户批准了 93% 的权限提示,频繁点击导致审批疲劳,降低了人工审核的有效性。 - 内部事故日志记录了 agent 过度积极导致的误操作,包括删除远程 git 分支、上传 GitHub 认证令牌到内部集群、对生产数据库执行迁移。 - Auto mode 使用两层防御:输入层的提示注入探针扫描工具输出,输出层的转录分类器(运行在 Sonnet 4.6 上)评估每个操作。 - 分类器采用两阶段设计:第一阶段是快速单 token 过滤(8.5% 误报率),仅被标记的对话才触发第二阶段的链式推理,将误报率降至 0.4%。 - 在 52 个真实过度积极操作上,完整管线的漏报率为 17%;在 1000 个合成数据外泄任务上,漏报率为 5.7%。 - 分类器只看到用户消息和 agent 的工具调用,剥离了 assistant 的文本和工具输出,以防止 agent 通过说服性语言影响分类器判断。 逐节讲解 背景:审批疲劳与现有方案的不足 Claude Code 默认在运行命令或修改文件前需要用户批准。用户实际批准了 93% 的提示,导致审批疲劳,人们不再仔细检查批准的内容。现有两种避免疲劳的方案:内置沙箱(安全但维护成本高,每次新能力都需要配置,且需要网络或主机访问的操作会破坏隔离)和 --dangerously-skip-permissions 标志(零维护但无保护)。Anthropic 内部事故日志记录了 agent 过度积极导致的危险操作,包括删除远程 git 分支、上传认证令牌到内部集群、对生产数据库执行迁移。 系统架构:两层防御 Auto mode 使用两层防御。输入层:服务端提示注入探针在工具输出(文件读取、网页抓取、shell 输出、外部工具响应)进入 agent 上下文之前进行扫描,发现疑似劫持行为时向 agent 上下文添加警告。输出层:转录分类器(运行在 Sonnet 4.6 上)在执行前评估每个操作。分类器分两阶段运行:快速单 token 过滤(决定“是”以阻止或“否”以允许),仅当第一阶段标记了对话时才触发链式推理。分类器只看到用户消息和 agent 的工具调用,剥离了 Claude 自己的消息和工具输出,使其设计上对推理不可见。 威胁模型:四种危险行为 Agent 可能因四种原因采取危险操作:过度积极(agent 理解用户目标但采取了超出用户授权的主动行为)、诚实错误(误解了影响范围)、提示注入(文件或网页中的指令劫持 agent)、模型…