TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

Claude Code 怎么切换和配置模型

Claude Code 怎么选和切换模型:别名对应哪个版本,/model、--model 与 ANTHROPIC_MODEL 的优先级,以及努力档位和扩展思考怎么调。

这篇适合谁

适合想换模型、想省钱,或者想让 Claude 在难题上多想一会儿的人。读完你能用别名或完整模型名切换模型,知道几种设置方式谁优先,并会调整努力档位和扩展思考。

它是什么

Claude Code 里的模型由 model 设置决定。这个设置可以写别名,也可以写完整的模型名。在 Anthropic API 上,完整模型名就是模型 ID;在 Amazon Bedrock 上是推理配置文件的 ARN,在 Microsoft Foundry 上是部署名,在 Google Cloud 的 Agent Platform 上是版本名。[1]

别名是什么意思

别名不用记版本号。常用的几个是:[1]

  • sonnet:最新的 Sonnet,适合日常编码。[1]
  • opus:最新的 Opus,适合复杂的推理任务。[1]
  • haiku:快速高效的 Haiku,适合简单任务。[1]
  • fable:Fable 模型,适合更大、耗时更长的任务。[1]
  • opusplan:计划模式下用 opus,执行时切换到 sonnet。[1]
  • sonnet[1m]:带 100 万 token 上下文窗口的 Sonnet,适合长会话。[1]

别名会随时间指向新版本。在 Anthropic API 上,opus、sonnet、haiku 分别指向 Opus 5.5、Sonnet 5.5、Haiku 5.5;在 Microsoft Foundry 上则分别指向 Opus 4.6、Sonnet 4.5、Haiku 4.5。想固定版本,就写完整模型名,比如 claude-opus-5-5,或者设置对应的环境变量,比如 ANTHROPIC_DEFAULT_OPUS_MODEL。[1]

上手:三种切换方式

  1. 启动时指定。在终端里运行下面的命令,本次会话就用 Opus:[1]
claude --model opus
  1. 会话中切换。输入 /model sonnet 就能切换;只输入 /model 会打开选择器。在选择器里,按 Enter 切换并保存为默认,按 s 则只对本次会话生效。[1]
  2. 写进设置或环境变量。设置文件里的 model 字段,或者环境变量 ANTHROPIC_MODEL,都能指定模型。[1]

--model 和 ANTHROPIC_MODEL 只对你启动的那次会话生效。想在两个终端里同时跑不同的模型,就给每个终端分别带上 --model,不要用 /model 切换。[1]

谁优先

几种设置的优先级,从高到低是:会话中的 /model、启动时的 --model、环境变量 ANTHROPIC_MODEL、设置文件里的 model 字段,最后是新会话的默认值 ANTHROPIC_DEFAULT_MODEL。[1]

/model 保存的选择,会写进用户设置的 model 字段,之后的新会话都会用它。[1]

注意子代理:如果子代理继承主会话的模型,那么你用 /model 切到 Opus 之后,它也会跑在 Opus 上。想让某个自定义子代理用更小的模型,就在它的定义里写 model。[1]

ANTHROPIC_DEFAULT_MODEL 可以指定新会话默认启动的模型,需要 Claude Code v2.1.236 或更高版本。[1]

努力档位

努力程度(effort)决定模型思考多深。可选的档位有 low、medium、high、xhigh 和 max,各模型支持的范围不同:Fable 系列、Opus 5.5、Sonnet 5.5、Haiku 5.5、Opus 5、Sonnet 5、Opus 4.8 和 Opus 4.7 都支持全部五档;Opus 4.6 和 Sonnet 4.6 没有 xhigh。[1]

如果设置的档位模型不支持,Claude Code 会降到不高于它的最高可用档位。比如 xhigh 在 Opus 4.6 上会按 high 运行。[1]

档位的来源按顺序是:环境变量 CLAUDE_CODE_EFFORT_LEVEL、会话中选的档位、--effort 参数、保存的设置,最后才是模型的默认值。[1]

模型的默认档位,Fable 5.2、Opus 5.5、Sonnet 5.5 和 Haiku 5.5 是 medium,Opus 4.7 是 xhigh,其他模型是 high。[1]

在会话里输入 /effort 会打开滑块;/effort 后面跟档位名就直接设置;/effort auto 会清掉当前模型保存的档位。--effort 只对启动的那次会话生效。[1]

max 是最深的推理档位。除非通过环境变量 CLAUDE_CODE_EFFORT_LEVEL 设置,否则 Claude Code 只在当前会话里应用 max。[1]

扩展思考的开关

在 macOS 上按 Option+T,在 Windows 和 Linux 上按 Alt+T,可以切换当前会话的扩展思考。想设成全局默认,就在 /config 里改,它会保存为 ~/.claude/settings.json 里的 alwaysThinkingEnabled。[1]

注意:Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 系列关不掉扩展思考,它们一直开着。想在这些模型上减少思考,就降低努力档位。环境变量 MAX_THINKING_TOKENS=0 可以关闭扩展思考。[1]

备用模型

主模型过载、不可用,或者返回了其他不能重试的服务器错误时,Claude Code 可以切到备用模型。备用模型只对当前这一回合有效,下一条消息还是先试主模型。[1]

用 --fallback-model sonnet,haiku 可以为一次会话设置备用链,多个模型用逗号分隔。想长期保存,就在设置里写 fallbackModel 数组。备用链最多三个模型。[1]

常见问题

模型名拼错了。 通过 --model、ANTHROPIC_MODEL 或 model 设置传入的值,Claude Code 不会在启动时拒绝。会话能照常开始,但第一条请求会报错。在 Anthropic API 上,如果拼法与某个模型名或别名很接近,Claude Code 会提示最接近的名字。[1]

恢复的会话换了模型。 用 --resume、--continue 或 /resume 恢复的会话,会沿用保存记录时的模型,除非那个模型已经退役,或被设置排除了。[1]

**想在 /model 里加一个自定义模型。** 用 ANTHROPIC_CUSTOM_MODEL_OPTION 可以在选择器里加一项,不会替换内置别名。Claude Code 不会校验这个模型 ID,所以写什么都行,但要保证你的接口认得它。[1]

下一步

各模型支持的档位表、备用链和用量细节,以官方的模型配置文档为准。[1]

来源

  1. 1
    Model configurationAnthropic Claude Code docs

引用本页: Claude Code 怎么切换和配置模型. TellWorld, https://www.tellworld.net/zh/practice/practice-claude-code-model-config. 更新于 2026-11-14

相关动态