Skip to content

给 Auto mode 分类器单独选模型:CLAUDE_CODE_AUTO_MODE_MODEL ​

Auto mode 的核心是一个「安全检查」:每次工具调用前,先让分类器判断这一步能不能直接放行。分类器有两种跑法——在 Anthropic 服务端跑,或者在你本机的 Claude Code 里发一次额外的模型请求(客户端分类器)。

CLI 2.1.302 给客户端这条路加了一个开关:CLAUDE_CODE_AUTO_MODE_MODEL,用来指定客户端分类器用哪个模型。

它管什么、不管什么 ​

项说明
作用对象客户端 Auto mode 分类器
不影响服务端 Auto mode 分类器用的模型
不影响主对话用的模型(/model 照旧)
设置方式环境变量,或 settings 的 env 段

这一点要先分清:如果你的会话本来就走服务端分类器(可以在 /status 里看 Auto mode server 那一行),设了这个变量也不会改变分类结果背后的模型。它只在分类器落在本机时才起作用。

什么时候会用到 ​

客户端分类器每做一次判断,都是一次真实的模型调用。以下场景值得单独给它挑模型:

  • 走第三方 provider 或自建网关:网关上可用的模型名和官方不一样,默认选择不一定能用,或者不是你想付钱的那个;
  • 想控制成本:工具调用很密集的会话,分类器请求量不小,换一个更便宜、更快的模型能明显省一笔;
  • 想更稳:反过来,如果你发现分类器经常误判,也可以换一个更强的模型,以速度换准确。

怎么设 ​

临时在一个 shell 里试:

bash
export CLAUDE_CODE_AUTO_MODE_MODEL=<你的 provider 上可用的模型名>
claude --permission-mode auto

想长期生效,写进 settings:

json
{
  "env": {
    "CLAUDE_CODE_AUTO_MODE_MODEL": "<模型名>"
  }
}

模型名要填你当前 provider 真实认识的那个;填错的话,分类器请求本身就会失败。改完新开会话,再跑几个需要分类的工具调用观察效果。

同版本里两处相关变化 ​

1. 服务端分类器遇到超长对话会先压缩。 以前对话长到塞不进安全检查时,所有需要检查的工具调用都会被拒,看起来像 Auto mode 突然「什么都不让做」。2.1.302 起改成先压缩对话再检查,长会话里不会再整片被拦。

2. 第三方 provider 上的 claude -p 默认权限模式变了。 在第三方 provider 上,claude -p 和 Agent SDK 会话如果没指定权限模式,并且关闭了遥测或是全新安装,现在会以 default 模式启动。想继续用 Auto mode,显式加上:

bash
claude -p "跑一遍测试并修复失败用例" --permission-mode auto

CI 脚本里依赖 Auto mode 的,建议这次顺手把 --permission-mode auto 写明,别靠默认值。

小结 ​

  • CLAUDE_CODE_AUTO_MODE_MODEL 只换客户端分类器的模型,服务端分类器和主对话模型都不受影响;
  • 网关、成本、准确率三种需求都可能用到它;
  • 2.1.302 还让服务端分类器在长对话里先压缩再检查,并让第三方 provider 上的无人值守会话默认回到 default 模式,需要 Auto mode 时请显式指定。

Auto mode 依旧是「deny、ask 规则先生效,分类器补位」,换模型不会绕过你写好的权限规则。

Claude-cn.org,专注于 Claude Code 中文教程