Claude Code模型选择OpusSonnetHaiku自定义模型编程模型

Claude Code 模型选择全攻略 - 编程最强、性价比、本地、混合方案

ClaudeCode 模型选择有哪些?本文详解 Opus / Sonnet / Haiku 三档对比、自定义模型机制、国内模型与本地模型接入、按编程任务推荐组合与混合策略。

· 阅读约 16 分钟

打开搜索引擎搜 ClaudeCode 模型选择,问题基本就两类:一类是 Pro 用户问”我该用 Opus 还是 Sonnet”、“Haiku 真的值得用吗”;另一类是接了第三方 API 的用户问”GLM、DeepSeek、Gemini 我该选哪个跑 Claude Code”、“ClaudeCode 哪个模型最强”、“ClaudeCode 哪个模型编程 最好”。本文把这两类需求一篇文章讲完——既包含 Anthropic 原生三档怎么选,也包含 Claude Code 自定义模型 的协议机制和主流可接入模型的简评。

文章侧重决策表和场景对照,所有具体价格、Token 配额、版本号细节请以 Anthropic 官方公告为准,模型迭代很快,本文给的是当前的取舍框架。

Claude Code 用的什么模型 —— 默认配置

Claude Code 是什么模型 的答案首先要拆成两层:

  1. 客户端:Claude Code 本身是一个 CLI 工具,几十 MB 的 Node 程序,不含模型。
  2. 后端:默认调 Anthropic 的 Claude 系列云端模型,没有任何”内置离线模型”。

所以”Claude Code 用的什么模型”的标准答案是:默认走 Anthropic 自家 Claude 4 系列,启动后默认档位是 Sonnet。想换模型有两条路:在 Anthropic 原生三档间切,或者通过自定义 base URL 接其他模型。

更基础的”Claude Code 是个啥”问题,可以看 /blog/claude-code-what-is.html

Claude Code 原生模型谱系

Anthropic 把 Claude 分成三档,每档下面再按版本号迭代:

档位当前主推版本定位适合
OpusClaude Opus 4.6 / 4.7旗舰、最强推理复杂编码、跨文件重构、Agentic 编排
SonnetClaude Sonnet 4.6默认推荐、平衡日常 80% 编码任务
HaikuClaude Haiku 4.5轻量、速度优先简单任务、补全、批量

具体版本号、发布日期以官方公告为准。本文写作时点 Opus 4.6 是已发布的旗舰版本,关于 4.6 的详细解析见 /blog/claude-opus-46-deep-dive.html

三档核心差异

维度Opus 4.6Sonnet 4.6Haiku 4.5
推理深度顶级优秀良好
工具调用顶级优秀良好
速度(首 token 时延)
长上下文一致性顶级优秀中等
价格(每百万 token)
单次响应时间

关键直觉:Opus 不是”在所有任务上比 Sonnet 更好”,而是”在足够复杂的任务上拉开差距”。简单任务用 Opus 就是浪费时间和钱。

用 /model 命令切换

在 Claude Code 会话里随时切:

/model

弹出可选列表,回车选定。或者直接指定:

/model claude-opus-4-6
/model claude-sonnet-4-6
/model claude-haiku-4-5

启动时也能传:

claude --model claude-opus-4-6

持久化写进 ~/.claude/settings.json

{
  "model": "claude-sonnet-4-6"
}

具体模型 ID 字符串以官方文档为准(命名一般是 claude-<family>-<version>-<date>)。完整的模型切换教程见 /blog/claude-code-switch-model.html

编程场景下三档对比(典型任务)

按真实编码工作流拆开,三档的相对表现:

任务Opus 4.6Sonnet 4.6Haiku 4.5推荐
写一个独立函数(200 行内)完全够完全够完全够Haiku(最快)
改一个明确的 bug(已定位)完全够完全够良好Sonnet
排查一个未定位的 bug(多文件)顶级优秀一般Sonnet 起步,难就上 Opus
重构一个模块(10 文件内)顶级优秀不推荐Sonnet
重构一个子系统(30+ 文件)顶级良好不推荐Opus
实现一个完整 PR(含测试)顶级优秀不推荐Sonnet 或 Opus
架构设计 / 技术方案顶级良好不推荐Opus
生成大量样板代码(CRUD)浪费浪费完全够Haiku
Code review / 静态分析顶级优秀良好Sonnet
Git commit message / PR 描述浪费浪费完全够Haiku

一个朴素的判断:如果任务 5 分钟之内人能干完,用 Haiku;如果 1 小时之内人能干完,用 Sonnet;如果需要思考半天、跨多个组件、影响架构,用 Opus。

自定义模型机制:环境变量 + ANTHROPIC_BASE_URL

ClaudeCode 自定义模型步骤详解 的核心是两条环境变量:

ANTHROPIC_BASE_URL  # 模型 API 入口(默认 https://api.anthropic.com)
ANTHROPIC_API_KEY   # 鉴权密钥

Claude Code 启动后会按 Anthropic Messages API 格式发请求到 ANTHROPIC_BASE_URL,只要那个端点能用同样的格式响应,模型就能跑起来。流程:

Claude Code 客户端
    │  (Anthropic Messages API)

ANTHROPIC_BASE_URL


真实模型(Anthropic 官方 / Bedrock / Vertex / 第三方 / 本地)

写进 settings.json 的方式:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://your-endpoint.example.com",
    "ANTHROPIC_API_KEY": "your-key"
  }
}

私有部署 / 内网场景更详细的拓扑见 /blog/claude-code-private-deployment.html

接入非 Claude 模型的协议选择

非 Anthropic 模型(GLM、DeepSeek、Gemini、Qwen 等)走自己一套 API。要让 Claude Code 用上它们,有两种协议路径:

路径 A:Anthropic 协议直连

少数中转服务、AWS Bedrock 上的 Claude、Google Vertex AI 上的 Claude 直接提供 Anthropic 兼容端点:

export ANTHROPIC_BASE_URL="https://your-anthropic-compatible.example.com"
export ANTHROPIC_API_KEY="..."

适用前提:后端模型本身就是 Claude,或者中转明确声明做了完整协议适配。

路径 B:OpenAI 兼容 + LiteLLM 桥接

绝大多数第三方模型只提供 OpenAI 兼容端点,需要 LiteLLM 做协议转换:

# litellm_config.yaml
model_list:
  - model_name: claude-3-5-sonnet-20241022
    litellm_params:
      model: deepseek/deepseek-chat
      api_key: os.environ/DEEPSEEK_API_KEY
litellm --config litellm_config.yaml --port 4000
export ANTHROPIC_BASE_URL="http://localhost:4000"

这条路是 Claude Code 接入其他模型 的万金油,本文后面提到的所有”接入 XXX”基本都走这条。

主流可接入模型简评

围绕 ClaudeCode 模型选择有哪些 的真实选项,按”非 Anthropic 但可接入”维度列一遍。所有评价是当前主观感受,模型迭代极快,三个月后可能就变了。

DeepSeek(V3 / Coder 系列)

  • 国内最强性价比之一,编程类任务表现接近 Sonnet
  • API 端在国内直连,不需要代理。
  • 工具调用稳定性近期版本有明显改进。
  • 中文表达自然。
  • 适合:预算敏感的国内开发者日常任务。

GLM-4.6(智谱)

  • 国内厂商里编程能力第一梯队。
  • 价格友好,免费试用额度可观。
  • 中文 / 中英混合任务流畅。
  • 工具调用偶尔格式漂移,需要在 prompt 引导。
  • 适合:国内合规、企业落地。

Qwen2.5-Coder(通义千问)

  • 阿里出品,专门面向编码的版本。
  • 有 7B / 14B / 32B / 72B 多个尺寸,可本地跑(Ollama)也可调云端 API。
  • 32B 以上版本工具调用稳定性可用,14B 勉强可用,7B 以下基本指望不上。
  • 适合:本地化 / 私有化 / 离线场景。

Gemini 1.5 Pro / 2.x

  • 1M 超长上下文是核心卖点。
  • 多模态原生。
  • 接入要走 LiteLLM 桥接,国内还要解决海外网络。
  • Agentic 多步编辑自驱力弱于 Claude。
  • 适合:超大代码库一次性分析、长文档摘要。详细接入教程见本站的 Gemini 接入文章。

其他

  • GPT-4o / GPT-5:能接,但 OpenAI API 国内直连困难,意义不大。
  • Llama 3.1 / 3.3:开源最强档之一,本地 70B 起。中文一般,工具调用中等。
  • Mistral / Mixtral:欧洲出品,开源,工程化容易,能力中等。

推荐组合

按典型用户画像给推荐:

编程最强:Opus 4.6

对应需求:ClaudeCode 哪个模型最强、ClaudeCode 哪个模型编程 最强

  • 跨文件重构、架构设计、复杂调试无脑选 Opus 4.6。
  • 单次调用贵但带来的产出和省下的人工时间值得。
  • Pro 订阅 / Max 订阅有一定 quota,超出走 API 计费。

性价比:Sonnet 4.6

  • Claude Code 默认档位,覆盖日常 80% 任务。
  • 单价比 Opus 低数倍,速度更快。
  • 配合 Prompt Caching 进一步降本。
  • 价格细节参考 /blog/claude-api-pricing-guide.html

国内合规:GLM-4.6

  • 国内厂商,数据合规清晰。
  • 直连不需要代理。
  • 价格远低于 Claude 旗舰。
  • 编程能力够用,复杂任务再切 Opus 兜底。

离线 / 私有:Qwen2.5-Coder-32B + Ollama

  • 完全离线,敏感代码不出本地。
  • Ollama 部署简单,14B 起步,32B 推荐。
  • 工具调用要选支持 function calling 的版本。
  • 私有部署细节见 /blog/claude-code-private-deployment.html

长上下文:Gemini 1.5 Pro

  • 1M 上下文真实可用。
  • 适合一次喂巨型仓库 / 海量文档。
  • 接入要 LiteLLM + 海外网络。

价格敏感批量:Haiku 4.5 / DeepSeek

  • 大量样板代码、commit message、PR 描述、批量翻译。
  • 单价极低,速度快。
  • 国内可用 DeepSeek 代替,再省一档。

混合方案:让任务自动走对模型

进阶玩法是 同时挂几个模型,按任务复杂度路由。Claude Code 没有官方的”智能路由”,但可以这么搭:

方案 1:会话内 /model 切换

最朴素的方法。日常 Sonnet,遇到难题 /model claude-opus-4-6,搞定后再切回。

方案 2:多 profile

settings.json 准备多套配置:

{
  "model": "claude-sonnet-4-6"
}

不同 profile 切换可以用 shell 别名:

alias claude-opus='ANTHROPIC_API_KEY=$KEY_A claude --model claude-opus-4-6'
alias claude-sonnet='claude --model claude-sonnet-4-6'
alias claude-glm='ANTHROPIC_BASE_URL=$GLM_URL ANTHROPIC_API_KEY=$KEY_B claude'

方案 3:LiteLLM 多模型路由

LiteLLM 支持配置多模型 + 后备:

model_list:
  - model_name: cheap
    litellm_params:
      model: deepseek/deepseek-chat
      api_key: os.environ/DEEPSEEK_KEY
  - model_name: smart
    litellm_params:
      model: anthropic/claude-opus-4-6
      api_key: os.environ/ANTHROPIC_KEY

router_settings:
  fallbacks:
    - smart: [cheap]

启动 Claude Code 时按场景指定 --model cheap--model smart

方案 4:Sub-agent 分工

Claude Code 的 sub-agent 机制允许主 agent 调度更便宜的子 agent 干粗活。配置 sub-agent 走 Haiku,主 agent 走 Sonnet,复杂任务再人工切 Opus。

团队选型建议

按团队规模和场景:

规模推荐
个人独立开发者Pro 订阅 + 偶尔 API 补 Opus
3-10 人小团队Team 订阅 + 共享 LiteLLM 网关
中大型团队API + 自建 LiteLLM + 计费分摊
涉及敏感数据本地 Qwen2.5-Coder + 外网部分用 Claude
跨国团队Bedrock / Vertex 走 Claude,合规明确

订阅 vs API 的具体对比见 /blog/claude-subscription-vs-api.html,月度成本估算见 /blog/claude-monthly-cost-guide.html

选型常见坑

坑 1:以为 Opus 永远更好

Opus 在简单任务上的优势小到不可感知,但单价是 Sonnet 数倍。“任务一律 Opus” 是浪费钱、浪费时间(响应更慢)。默认 Sonnet,难才切 Opus

坑 2:把 Haiku 当玩具

Haiku 4.5 已经能跑大部分 5 分钟以内的小任务,而且速度快、便宜。批量生成、commit message、补全这类场景应该主动切 Haiku,节省下来的预算够你多调几次 Opus。

坑 3:接 7B 以下本地模型期望太高

7B 以下模型的 function calling 和长上下文都不太行,跑 Claude Code 会经常”不创建文件、不执行 bash、生成胡言乱语”。要本地化至少 14B 起步,32B 才算可用。

坑 4:中转服务背后是什么模型不清楚

声称 “Claude API” 的中转服务,实际可能用的是另一个模型甚至开源模型。让模型自报”是谁训练的、模型版本号”做反向校验。当然这也能被 system prompt 改掉,最终还是看输出质量

坑 5:模型 ID 写错

Claude 模型 ID 严格区分版本号和日期后缀,写错会报 404 或 fallback 到默认模型。多版本切换前用 curl 验证一遍。

FAQ

ClaudeCode 模型选择有哪些 —— 一句话总结?

Anthropic 原生:Opus 4.6 / Sonnet 4.6 / Haiku 4.5 三档。第三方可接入:DeepSeek、GLM、Qwen、Gemini 等,走 LiteLLM 桥接。本地:Ollama + Qwen2.5-Coder 14B/32B。

Pro 订阅用户实际能用哪些模型?

Pro 订阅在 claude.ai 网页和 Claude Code 里都能用 Opus / Sonnet / Haiku,但 Opus 有 quota 限制,超出会被限频或降档。具体限额 以官方订阅页面为准

Claude Code 自定义模型会丢功能吗?

会损失部分。Claude Code 的 sub-agent、特殊工具、Claude 模型独有的 thinking 模式在第三方模型上可能行为不一致。日常编辑、读写文件、bash 这些核心功能通常都能用。

模型升级了要不要立刻切?

生产项目观察 1-2 周再切,避免行为差异引入新 bug。新项目可以直接上最新版。

Claude Code 能同时挂多个模型吗?

技术上一个 Claude Code 进程一次只指向一个 ANTHROPIC_BASE_URL,但 LiteLLM 后面可以挂任意多个模型,靠 model_name 区分。或者开多个终端窗口分别配不同 profile。

编程之外的任务该用哪档?

  • 写文章 / 长文档:Sonnet 起步,文学性强的用 Opus。
  • 客服 / 简单问答:Haiku。
  • 数据分析 / 报表:Sonnet。
  • 学术研究 / 法律 / 医学:Opus,准确性优先。

国产模型啥时候能完全替代 Claude?

部分场景已经能(中文沟通、单文件代码生成、客服)。Agentic 多步编排、复杂跨文件 reasoning 当前仍有差距。差距在快速缩小,建议每季度复评一次。


模型选型是个动态过程,模型在更新、价格在变、能力榜单每月都在洗牌。建议每季度复评一次:用自己真实任务跑 A/B,看输出质量、看实际成本、看响应速度。本文给的是当下的取舍框架,具体到你手上的项目,最终的”哪个最好”还是要靠实测说话。