Claude Code 模型选择全攻略 - 编程最强、性价比、本地、混合方案
ClaudeCode 模型选择有哪些?本文详解 Opus / Sonnet / Haiku 三档对比、自定义模型机制、国内模型与本地模型接入、按编程任务推荐组合与混合策略。
打开搜索引擎搜 ClaudeCode 模型选择,问题基本就两类:一类是 Pro 用户问”我该用 Opus 还是 Sonnet”、“Haiku 真的值得用吗”;另一类是接了第三方 API 的用户问”GLM、DeepSeek、Gemini 我该选哪个跑 Claude Code”、“ClaudeCode 哪个模型最强”、“ClaudeCode 哪个模型编程 最好”。本文把这两类需求一篇文章讲完——既包含 Anthropic 原生三档怎么选,也包含 Claude Code 自定义模型 的协议机制和主流可接入模型的简评。
文章侧重决策表和场景对照,所有具体价格、Token 配额、版本号细节请以 Anthropic 官方公告为准,模型迭代很快,本文给的是当前的取舍框架。
Claude Code 用的什么模型 —— 默认配置
Claude Code 是什么模型 的答案首先要拆成两层:
- 客户端:Claude Code 本身是一个 CLI 工具,几十 MB 的 Node 程序,不含模型。
- 后端:默认调 Anthropic 的 Claude 系列云端模型,没有任何”内置离线模型”。
所以”Claude Code 用的什么模型”的标准答案是:默认走 Anthropic 自家 Claude 4 系列,启动后默认档位是 Sonnet。想换模型有两条路:在 Anthropic 原生三档间切,或者通过自定义 base URL 接其他模型。
更基础的”Claude Code 是个啥”问题,可以看 /blog/claude-code-what-is.html。
Claude Code 原生模型谱系
Anthropic 把 Claude 分成三档,每档下面再按版本号迭代:
| 档位 | 当前主推版本 | 定位 | 适合 |
|---|---|---|---|
| Opus | Claude Opus 4.6 / 4.7 | 旗舰、最强推理 | 复杂编码、跨文件重构、Agentic 编排 |
| Sonnet | Claude Sonnet 4.6 | 默认推荐、平衡 | 日常 80% 编码任务 |
| Haiku | Claude Haiku 4.5 | 轻量、速度优先 | 简单任务、补全、批量 |
具体版本号、发布日期以官方公告为准。本文写作时点 Opus 4.6 是已发布的旗舰版本,关于 4.6 的详细解析见 /blog/claude-opus-46-deep-dive.html。
三档核心差异
| 维度 | Opus 4.6 | Sonnet 4.6 | Haiku 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.6 | Sonnet 4.6 | Haiku 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,看输出质量、看实际成本、看响应速度。本文给的是当下的取舍框架,具体到你手上的项目,最终的”哪个最好”还是要靠实测说话。