Anthropic 发布了 Claude Code Auto Mode 的技术架构 — 自 4 月 GA 的权限系统,把逐动作批准换成了分类器 gate 的执行。文章的关键数字:两阶段过滤后假阳性 0.4%,对检测到的过度积极动作假阴性 17%,分类器按设计对 assistant 的散文和工具 output 是盲的。对在自治循环或 subagent 扇出中跑 Claude Code 的 builder,这些数字塑造了对安全电路的预期 — 而下面的架构选择本身很有意思。
三个 tier 的动作。Tier 1 — 文件读、文本和文件 pattern 搜索、代码导航、todo 和 plan-mode 转换 — 跑在固定 allowlist 上,从不经分类器 gate。Tier 2 — 项目目录内的文件写和 edit — 无分类器审查自动允许。Tier 3 — shell 命令、web fetch、外部工具集成、subagent spawn、项目外的 filesystem 操作 — 经分类器。分类器是 Sonnet 4.6,两阶段:一个快速 single-token「是/否」过滤(单独 8.5% FPR),chain-of-thought 推理只在第 1 阶段 flag 时 kick in(折叠到全管线 0.4% FPR)。同一个 prompt 喂两个阶段,只改最后一条指令,所以 prompt caching 担了大头活。要紧的设计选择:分类器**按意图 reasoning-blind** — 只看 user 消息和 agent 的 tool call,从不看 assistant 散文或工具 output。这是对 meta-prompt-injection 威胁的刻意隔离 — 工具 output 说服 gatekeeper 本身某件危险事 OK。Subagent 调用 gated 两次:outbound 在委派(未授权则 block),return-phase 作为 warning 而非 discard。连续 3 次拒绝或共计 20 次触发熔断,升级给人类。
生态读法是 Anthropic 押注模型够好以自律,刻意的 context-stripping 作为保障。Cursor 的权限故事是 config 里 rules-based;Aider 留在 approve-each;OpenAI 的 Codex 更多依赖容器隔离而非 runtime 分类器 gating。Anthropic 的押注独特地架构化 — 同一个模型家族做工作和做监督,input 形状(无散文、无 output)作为信任机制。0.4%/17% 的 tradeoff 要紧:builder 用每 250 次 gated 动作 ~1 次假 block 换过度积极动作小漏率。进入 Auto Mode 也会 drop user 配置的激进 allowlist 规则 — 全 shell 访问、wildcarded python/node/ruby 解释器、package manager run 命令 — 这意味着你搭起来的 custom config 不像在 approve-each 下那样会带过来。这是把长会话翻到 auto 之前要知道的坑。
实际动作:如果你以 custom allowlist 规则跑 Claude Code 求速度,启用 Auto Mode 前 audit — 你的 shell blanket 规则会被 strip。如果你重度使用 subagent,预期 outbound gating 在委派时加延迟;return-phase flag 是信息性的,非阻塞。全管线 0.4% FPR 下,长会话规划偶发的虚假批准提示,但不要围绕它做架构。3-consecutive / 20-total 熔断是底线 — 你撞到它,是系统让你真的去看。reasoning-blind 设计是给思考自己 agent stack 的 builder 的信号旗:当分类器和执行者共享权重,各自看到的必须不同,否则执行者能把分类器从它的判断中说服走。
