Claude Code 默认模型:如何更改、切换和选择正确的模型

Claude Code 默认模型:如何更改、切换和选择正确的模型

Claude Code 的默认模型是 Sonnet —— 具体取决于你的 API 提供商提供的最新 Sonnet 版本(截至 2026 年中,Anthropic API 上是 Sonnet 5)。Sonnet 速度快,能很好地处理大多数编码工作负载,并且在长时间会话中保持合理的成本。如果你没有做过任何更改,那么你运行的就是这个模型。

更改模型只需一条命令:在会话中输入 /model opus,或者在启动时使用 claude --model opus。本指南的其余部分将介绍每种模型实际值得切换的场景、跨不同提供商的简写别名解析方式,以及如何使用 Novita AI 的端点以更低的每 Token 成本访问更广泛的开放权重模型集。

Claude Code 中的默认模型是什么?

当你启动 Claude Code 而没有指定模型时,它会使用 **sonnet 别名 ** 启动,该别名会解析为你所用提供商的最新 Sonnet 版本。在 Anthropic API(默认端点)上,这意味着截至 2026 年中是 Claude Sonnet 5。免费版和专业版用户默认都使用 Sonnet 5。

逻辑很简单:Sonnet 在日常编码工作中提供了速度和能力的最佳平衡。它能处理文件编辑、多步骤重构、测试生成以及大多数仓库级任务,而无需 Opus 带来的额外延迟或成本。对于大多数会话来说,切换到更重的模型并不会产生明显更好的结果。

如果你的组织在 Claude Code 管理控制台中设置了组织范围的默认模型,该设置会覆盖系统默认值,并在你下次启动会话时生效。你仍然可以通过 /model--model 标志在每个会话中覆盖它。

可用的模型和别名

Claude Code 使用 别名 而非完整的模型 ID 来进行日常模型选择。像 sonnet 这样的别名始终指向你的提供商推荐的版本,因此你无需在每次发布新模型时更新配置。

别名 选择的模型 最佳用途
sonnet 最新 Sonnet(Anthropic API 上为 Sonnet 5) 默认 —— 适用于大多数编码工作,快速、能力强且高效
opus 最新 Opus(Anthropic API 上为 Opus 4.8) 复杂的架构推理、大型代码库分析
haiku 最新 Haiku(Haiku 4.5) 简单、快速的任务,速度比深度更重要
fable Claude Fable 5 长时间运行的自主会话、模糊或开放式的任务
best 如果可用则为 Fable 5,否则为最新 Opus 无需手动指定即可获得最高可用能力
opusplan 规划阶段使用 Opus,执行阶段使用 Sonnet 在不支付 Opus 费率的情况下,在架构问题上获得 Opus 的推理能力
sonnet[1m] 具有 1M Token 上下文窗口的 Sonnet 需要扩展上下文的超长会话或大型代码库
opus[1m] 具有 1M Token 上下文窗口的 Opus 需要 Opus 推理的复杂长上下文任务
default 清除所有覆盖;恢复为账户默认值 在测试其他模型后重置为系统默认值

别名会随时间更新。要为可重复性或避免模型更新后的意外行为而固定到特定版本,请改用完整的模型 ID:

claude --model claude-sonnet-5
claude --model claude-opus-4-8

当前 Claude 模型(Anthropic API)

模型 API ID 上下文 输入成本 输出成本
Claude Fable 5 claude-fable-5 1M tokens $10/MTok $50/MTok
Claude Opus 4.8 claude-opus-4-8 1M tokens $5/MTok $25/MTok
Claude Sonnet 5 claude-sonnet-5 1M tokens $2/MTok* $10/MTok*
Claude Haiku 4.5 claude-haiku-4-5-20251001 200k tokens $1/MTok $5/MTok

*Sonnet 5 优惠定价至 2026 年 8 月 31 日;标准价格为每 MTok $3/$15。

除 Haiku 4.5(上限为 200k)外,所有模型都具有 100 万 Token 的上下文窗口。对于大多数编码工作,上下文窗口大小只有在加载整个仓库或运行非常长的智能代理会话时才会成为决定性因素。

如何在 Claude Code 中更改模型

按优先级顺序,共有四种配置模型的方式:

1. 会话中:/model

不带参数输入 /model 可打开交互式选择器。输入 /model <别名> 可立即切换:

/model opus
/model sonnet
/model haiku
/model fable

从 Claude Code v2.1.153 开始,/model 会将你的选择保存为未来会话的默认值。如果你只想在当前会话中切换,请在选择器中按 s 而不是 Enter。直接输入 /model <别名> 会保存该选择(等同于按 Enter)。

2. 启动时:--model 标志

在启动 Claude Code 时传递 --model,仅对该会话应用该选择:

claude --model opus
claude --model haiku
claude --model claude-sonnet-5   # 完整模型 ID,固定到特定版本

这不会影响已保存的默认值,也不会持续到下一次启动。

3. 环境变量:ANTHROPIC_MODEL

设置 ANTHROPIC_MODEL 可在 Shell 会话或脚本期间应用模型:

export ANTHROPIC_MODEL="opus"

--model 一样,这是会话级别的,不会写入你的设置文件。

4. 设置文件(永久默认值)

要设置永久默认值,请将 model 字段添加到你的 Claude Code 设置文件(通常是 ~/.claude/settings.json):

{
  "model": "opus"
}

除非被 --model 标志或 ANTHROPIC_MODEL 环境变量覆盖,否则每次从该机器启动 Claude Code 时都会应用此设置。

每个别名的环境变量

如果你希望 opus 别名在任何环境中都解析为特定版本,请设置 ANTHROPIC_DEFAULT_OPUS_MODEL。其他模型系列也采用相同的模式:

export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-8"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5-20251001"
export ANTHROPIC_DEFAULT_FABLE_MODEL="claude-fable-5"

这在 CI/CD 或团队设置中非常有用,你希望在不处处固定完整模型 ID 的情况下实现可重复的模型解析。

为编码选择合适的模型

你需要的模型层级更多取决于任务类型,而非单纯的复杂性。

坚持使用 Sonnet(默认)适用于:

  • 日常编码任务 —— 实现功能、编写测试、重构
  • 你在审查差异并提出后续问题的迭代式会话
  • 大多数代码库适合上下文窗口的多文件编辑
  • 速度至关重要的情况(Sonnet 响应速度明显快于 Opus)

Sonnet 的主要局限性在于对真正模糊的架构问题进行推理的深度。它倾向于选择第一个合理的方法,而不是评估替代方案。对于错误选择会导致大量重构时间的决策,升级到 Opus 是值得的。

切换到 Opus 适用于:

  • 问题不明显的根本原因调试
  • 架构决策:在设计模式之间选择、评估重构策略、识别技术债务的隐患点
  • 需要 Opus 在工作记忆中保持更多上下文的大型代码库分析
  • 累计上下文退化成为因素的多小时自主会话

Opus 4.8 每 Token 成本是 Sonnet 5 的 2.5 倍,而且速度更慢。对于短任务,推理质量的差异通常不值得付出额外成本。opusplan 别名是一个实用的折中方案:它在规划阶段使用 Opus(更深入的推理更有效),并在实现阶段降级为 Sonnet(吞吐量更重要)。

使用 Haiku 适用于:

  • 代码格式化、注释清理、简单的变量重命名
  • 需要快速响应的最小更改任务
  • Token 成本最重要的大批量脚本化用例

Haiku 4.5 是最快的模型,也是最便宜的,每 MTok $1/$5,但在多步骤推理或复杂代码库方面无法与 Sonnet 或 Opus 匹敌。

使用 Fable 5 适用于:

  • 故障排查和事件调查
  • 长时间的、开放式的智能代理运行,你希望模型在行动前先进行调查
  • 通常需要将工作分解为多个会话的模糊问题

Fable 5 不是默认模型,因为大多数编码会话不需要它。它速度较慢,成本是 Opus 的两倍。它的价值在于真正复杂、持续的工作:它会更彻底地验证自己的输出,处理工具调用序列时不会丢失主线,并且做出需要纠正提示的决策更少。对于典型的功能开发,它有些大材小用。

Bedrock、Vertex 和其他提供商的模型选择

别名的解析方式取决于你使用的 API 提供商。如果你通过 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 路由 Claude Code,默认的别名解析版本会较旧:

提供商 opus 别名解析为 sonnet 别名解析为
Anthropic API(默认) Opus 4.8 Sonnet 5
AWS 上的 Claude Platform Opus 4.7 Sonnet 4.6
Amazon Bedrock Opus 4.6 Sonnet 4.5
Google Cloud Agent Platform Opus 4.6 Sonnet 4.5
Microsoft Foundry Opus 4.6 Sonnet 4.5

要在 Bedrock、Vertex 或 Foundry 上获取更新的模型,请显式使用完整的模型 ID,或者将 ANTHROPIC_DEFAULT_OPUS_MODEL / ANTHROPIC_DEFAULT_SONNET_MODEL 环境变量设置为所需版本的提供商特定模型 ARN 或部署名称。

如何通过 Novita AI 访问更多模型

Claude Code 读取 ANTHROPIC_BASE_URL 来确定将请求发送到哪个 API 端点。将其指向 Novita AI 的 Anthropic 兼容端点,即可使用开放权重模型 —— 包括 DeepSeek、Qwen、GLM、Kimi 和 MiniMax 变体 —— 同时保持 Claude Code 的智能代理工作流程完好无损。

这在以下情况下很有用:

  • 你想针对自己的实际代码库尝试特定的开放权重模型(Qwen3-Coder、GLM-4.7、MiniMax M2.7)
  • 每 Token 成本有限制,且你正在运行大批量的智能代理会话
  • 在投入 API 费用之前,你在自己的任务上对模型质量进行基准测试

设置

  1. novita.ai 注册,获取免费试用积分。
  2. 前往 Key Management,创建新密钥并复制。
  3. 在启动 Claude Code 之前设置这些环境变量:

macOS / Linux:

export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<你的 Novita API 密钥>"
export ANTHROPIC_MODEL="minimax/minimax-m2.7"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="minimax/minimax-m2.7"

Windows(命令提示符):

set ANTHROPIC_BASE_URL=https://api.novita.ai/anthropic
set ANTHROPIC_AUTH_TOKEN=<你的 Novita API 密钥>
set ANTHROPIC_MODEL=minimax/minimax-m2.7
set ANTHROPIC_DEFAULT_HAIKU_MODEL=minimax/minimax-m2.7

Windows(PowerShell):

$env:ANTHROPIC_BASE_URL = "https://api.novita.ai/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "<你的 Novita API 密钥>"
$env:ANTHROPIC_MODEL = "minimax/minimax-m2.7"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL = "minimax/minimax-m2.7"

设置变量后正常启动 Claude Code。/model 选择器将反映你已配置的 Novita 托管模型,而非 Anthropic 别名列表。

关于 ANTHROPIC_BASE_URL 与模型选择的说明

ANTHROPIC_BASE_URL 更改的是请求 发往何处,而非哪个 Anthropic 模型来回答。当指向 Novita AI 时,你在 ANTHROPIC_MODEL 中设置的模型名称应该是 Novita 托管的模型 ID(例如 minimax/minimax-m2.7deepseek/deepseek-v4-flash),而不是像 sonnetopus 这样的 Anthropic 别名。Anthropic 别名仅能针对 Anthropic 自己的端点正确解析。

Novita AI 上可用的代表性模型

模型 Novita 模型 ID 优势
MiniMax M2.7 minimax/minimax-m2.7 智能代理工具调用,工具准确率 97%
DeepSeek V4 Flash deepseek/deepseek-v4-flash 适用于迭代任务的快速且经济高效
Qwen3-Coder 480B qwen/qwen3-coder-480b-a35b-instruct 代码生成,大上下文
GLM-4.7 zai-org/glm-4.7 编码和智能代理任务

在配置之前,请查看 novita.ai/llm-api 获取当前模型列表和已验证的模型 ID —— 模型可用性和名称可能会发生变化。

常见问题

Claude Code 中的默认模型是什么?

Sonnet —— 具体取决于你的 API 提供商提供的最新 Sonnet 版本。在 Anthropic API 上,截至 2026 年中是 Claude Sonnet 5。如果你的组织设置了组织范围的默认值,则以该值为准。

如何在 Claude Code 中切换模型?

最快的方法是在活动会话中输入 /model <别名>。要永久设置,请将 "model": "opus"(或你偏好的别名)添加到你的设置文件 ~/.claude/settings.json 中。在启动时使用 --model 进行一次性会话覆盖。

opusplan 别名有什么作用?

它在 Claude Code 的规划阶段使用 Opus,并在执行阶段切换到 Sonnet。这样你就可以在架构决策上获得 Opus 更深入的推理能力,而无需在实现期间为每次文件编辑支付 Opus 的费率。如果你发现自己经常想要 Opus 来"弄清楚该做什么"的部分,但不需要它来"编写代码"的部分,这是一个很好的默认选项。

我可以固定到特定的模型版本吗?

可以。传递完整的模型 ID 而不是别名:claude --model claude-sonnet-5claude --model claude-opus-4-8。要永久固定,请将完整 ID 添加到你的设置文件中,或在环境中设置 ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

模型会影响 Claude Code 的工具和能力吗?

不会。所有模型都能访问相同的 Claude Code 工具集:文件读取和编辑、Bash 执行、网络搜索、MCP 等。模型层级影响的是推理质量,而非可用工具。

我可以在不同项目中使用不同的模型吗?

可以。将 model 字段添加到项目级设置文件(项目根目录下的 .claude/settings.json)。这会覆盖该目录中启动的会话的用户级默认值。你也可以在项目特定的 .env 文件或脚本中使用 ANTHROPIC_MODEL

如果我选择的模型已弃用或不可用,会发生什么情况?

Claude Code 会在启动时显示一条警告,说明请求的模型和被替换的模型。会话将以系统默认值启动。为避免意外替换,请切换到当前推荐的别名,或将你的设置更新为未弃用的模型 ID。

推荐文章


来源检查日期:2026 年 7 月 10 日:Claude Code 模型配置文档Anthropic 模型概述Novita AI LLM API