Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

特殊模型行为

default 模型设置的解析规则、opusplan 混合模式、后备模型链,以及对安全分类器标记请求的自动模型降级。

默认模型与版本号会随发布变化,以官方为准。

default 模型设置

default 的行为取决于账号类型:Pro、Max、Team、Enterprise 和 Anthropic API 默认为 Opus 5.5;Claude Platform on AWS、Amazon Bedrock 和 Google Cloud 的 Agent Platform 默认为 Opus 5.5;Microsoft Foundry 默认为 Sonnet 4.5。历史:v2.1.280 之前,default 在 Pro 和 Team Standard 上解析为 Sonnet 5,在 Max、Team Premium、Enterprise、Anthropic API、Claude Platform on AWS、Amazon Bedrock 和 Google Cloud 的 Agent Platform 上自 v2.1.219 起解析为 Opus 5;v2.1.219 之前,在 Anthropic API、Max、Team Premium 和 Enterprise 按量付费上自 v2.1.154 起、在后三类云提供商上自 v2.1.207 起解析为 Opus 4.8;v2.1.207 之前在 Claude Platform on AWS 上为 Opus 4.7,在 Bedrock 和 Agent Platform 上为 Sonnet 4.5。

管理员设置了组织默认模型时,default 解析为该模型而不是上面的账号类型默认值(需要 v2.1.196+);default 还可能解析为你用 ANTHROPIC_DEFAULT_MODEL 设的模型(在其章节所列条件下),或记录在你账号上的模型。账号上没有记录、托管设置对 Default 模型强制了白名单、且账号类型默认值不在 availableModels 里时,default 解析为强制后的 Default;组织默认和强制同时适用时,先由组织默认替换账号类型默认,再对它应用强制:白名单内的组织默认被保留,白名单之外的则解析为强制后的 Default。Fable 模型不是任何套餐或提供商的账号类型默认;用 /model 选它会把它保存为用户设置里选定的模型,所以之后的会话从它开始。

opusplan 模型设置

opusplan 别名提供自动混合方式:计划模式用 opus 做复杂推理和架构决策,执行模式自动切到 sonnet 做代码生成和实现,把 Opus 的推理用在规划、Sonnet 的效率用在执行。计划模式的 Opus 阶段使用与 opus 模型设置相同的上下文窗口,执行阶段使用与 sonnet 相同的窗口;当 opus 和 sonnet 解析到默认就用 1M 上下文窗口运行的模型(如 Anthropic API 上的当前模型)时,两个阶段都用它。想在不是如此的地方为两个阶段请求 1M 上下文,把模型设为 opusplan[1m],例如 /model opusplan[1m](用 /model 设置需要 v2.1.265+,更早版本用 --model 标志或 model 设置)。

availableModels 排除了最新的 Opus 但允许较旧版本时(如 ["sonnet", "claude-opus-4-6"]),opusplan 用最新的允许 Opus 规划,只有每个 Opus 都被排除时才留在 Sonnet;本来会在计划模式升级到 Sonnet 的 Haiku 会话同样使用最新允许的 Sonnet,只有每个 Sonnet 都被排除时才留在 Haiku(v2.1.205 之前,只要升级家族的最新版本被排除,计划模式就留在会话模型,即使白名单允许较旧的)。这种用较旧允许版本替换的行为适用于 Anthropic API 和 Claude Platform on AWS;在 Bedrock、Google Cloud 的 Agent Platform、Foundry 和 Mantle 这些部署使用提供商特定模型 ID 的地方,升级模型被排除时计划模式留在会话模型。想要由 Claude 在任务中途决定何时咨询第二个模型、而不是在计划边界切换的混合方式,见 advisor 工具。

后备模型链

主模型过载、不可用或返回其他不可重试的服务器错误时,Claude Code 可以切换到后备模型而不是让请求失败。认证、计费、限流、请求大小和传输错误,以及你组织策略检查的拒绝,从不触发切换,它们走正常的重试和错误处理;但当 Amazon Bedrock 或 Google Cloud 的 Agent Platform 拒绝一个你的账号无法调用的模型时会切换(Claude Code 把它当作模型不可用而不是认证错误)。配置一个或多个后备模型后,Claude Code 按顺序尝试,切换时显示通知;切换只持续当前回合,下一条消息先重试主模型;链在去重之后最多三个模型,多余条目被忽略。

对单个会话用 --fallback-model 标志设链(逗号分隔列表):

claude --fallback-model sonnet,haiku

要跨会话持久,把 fallbackModel 设为数组:

{
  "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]
}

--fallback-model 标志优先于 fallbackModel 设置;每个条目接受模型名或别名,"default" 展开为默认模型。Claude Code 不在启动时确认链,/status 也不显示它;切换发生时显示的通知是你能看到后备已配置的第一个迹象。

自动模型降级

这一节讲的是 Fable 模型、Opus 5.5、Sonnet 5.5 和 Opus 5 的基于内容的降级(模型过载或不可用时的基于可用性的后备见上一节)。这些模型带安全分类器运行,最常标记网络安全和生物内容。分类器标记了请求、且被标记类别有后备模型时,Claude Code 在该模型上重新运行请求并在转录里显示通知。对这两个类别,后备模型取决于是哪个模型拒绝的:

  • Fable 5.1、Fable 5 和 Opus 5.5:被标记为生物的请求在 Opus 5 上重跑,被标记为网络安全的请求在 Opus 4.8 上重跑。
  • Sonnet 5.5:网络安全标记在 Sonnet 5 上重跑;生物标记以拒绝结束,因为 Sonnet 5.5 没有生物后备模型。
  • Opus 5:网络安全标记在 Opus 4.8 上重跑;生物标记以拒绝结束,因为 Opus 5 自带生物分类器且没有后备。

降级之后会话继续在后备模型上,想回到原模型运行 /model。按类别降级需要 v2.1.219+(之前每个被标记的 Fable 5 请求都在提供商默认 Opus 模型上重跑,Opus 5 不是后备来源)。后备模型要对照 availableModels 检查:被阻止时不发生降级,拒绝作为普通错误显示、会话模型不变。

检查是什么触发了降级:降级可能在会话第一个请求就触发,在你发任何异常内容之前,因为第一个请求带有工作区上下文(如 CLAUDE.md 内容和 git 状态);含安全或生物材料的仓库仅凭这些上下文就可能触发分类器。想判断是否是自定义内容触发,用 claude --safe-mode 启动会话,它禁用 CLAUDE.md、Skill、MCP 服务器和 Hook 等自定义内容(git 状态和目录名不是自定义内容,仍会包含)。

切换前询问:想每次请求被标记时自己决定而不是自动切换,运行 /config 关闭「Switch models when a message is flagged」,或在设置文件里把 switchModelsOnFlag 设为 false。被标记的请求会暂停会话并给两个选项:切到后备模型,或编辑提示后在当前模型上重试。有些情况行为不同:被标记类别没有后备模型(如 Opus 5 或 Sonnet 5.5 上的生物标记)时不显示提示,请求以拒绝结束;两个模型都标记同一请求时,可以编辑提示重试或开始新会话;移动应用的云会话里不支持编辑重试,要切换模型,或到桌面浏览器或桌面应用继续该会话;无法显示提示的非交互模式和 SDK 集成里,被标记的请求以拒绝结束该回合;后备目标被 availableModels 阻止时不显示提示,与自动降级目标被阻止时一样以拒绝结束。

在 Bedrock、Agent Platform 和 Foundry 上启用降级:这些提供商的模型 ID 是提供商特定的,所以只有 Claude Code 能识别涉及的每个模型时自动降级才运作:

  • Claude Code 必须认出当前模型是降级来源。Fable 5.1 和 Fable 5 在模型 ID 含 claude-fable-5、与 ANTHROPIC_DEFAULT_FABLE_MODEL 的值匹配或被 modelOverrides 映射时被识别;Opus 5.5、Sonnet 5.5 和 Opus 5 按其提供商模型 ID 或 modelOverrides 映射识别。
  • 无论哪个模型拒绝,Opus 目标都必须在你的部署里能解析:设置 ANTHROPIC_DEFAULT_OPUS_MODEL,或在提供商的模型列表里保留一个 Opus 4.8 条目;没有的话,所有来源模型(含 Sonnet 5.5)的降级都关闭,被标记的请求以拒绝结束。
  • 被标记类别的后备模型必须在你的部署里能解析:从 Fable 模型、Opus 5.5 或 Opus 5 出发,如果设了 ANTHROPIC_DEFAULT_OPUS_MODEL,每个有后备的类别都在该模型上重跑(Opus 5 上的生物标记仍以拒绝结束);没设时网络安全标记在 Opus 4.8 条目上重跑,来自 Fable 模型或 Opus 5.5 的生物标记在 Opus 5 条目上重跑;Sonnet 5.5 的网络安全标记在你设的 ANTHROPIC_DEFAULT_SONNET_MODEL 上重跑,没设则在提供商模型列表里的 Sonnet 5 条目上重跑。

任一模型无法识别时 Claude Code 不切换,被标记的请求以拒绝消息结束,你可以用 /model 切换后重试。想让两边都可识别,为来源模型设置固定:Fable 模型设 ANTHROPIC_DEFAULT_FABLE_MODEL;每个来源模型都设 ANTHROPIC_DEFAULT_OPUS_MODEL 为一个 Opus 模型 ID 来开启降级并给被标记类别一个目标(指向 Opus 家族之外、或指向刚拒绝的那个模型的固定,会让拒绝保持);Sonnet 5.5 除 Opus 固定外,还要设 ANTHROPIC_DEFAULT_SONNET_MODEL 或在提供商模型列表里保留 Sonnet 5 条目,来提供请求重跑的模型(指向 Sonnet 家族之外、或 Sonnet 5.5 本身的固定同样让拒绝保持)。

安全研究与生物工作负载:进攻性安全或生物领域的工作(渗透测试、CTF、与生物相关的代码库)会频繁触发降级,常常在第一个请求。对 Fable 5.1、Fable 5 或 Opus 5.5 上的实质性生物工作,Claude Code 在第一个被标记的请求就把会话移到 Opus 5,之后被标记为生物的请求在那里以拒绝结束,因为 Opus 5 没有生物后备;在 Opus 5 和 Sonnet 5.5 上则从第一个被标记的请求起就是这些拒绝。这是这些领域的预期路由,不是账号标记;如果你的组织需要 Fable 级能力做这类工作,可向 Anthropic 客户团队询问受信任访问计划。