ClaudeClaude Code系列第 5 / 6 篇

Claude Code 的模型怎么设:别名、五种设置方式谁优先、钉住版本、压缩窗口和快速模式

Claude Code 里和模型有关的设置放在一页:别名各指向哪个模型、五种设置方式的优先级、怎么把别名钉到指定版本、备用模型、自动压缩的窗口、快速模式,以及在哪看当前的模型和花费。本站通过中转站逐项实测,顺带踩到一个坑:/model 会把选择存成以后的默认。

发布 · 约 13 分钟读完 · 经人工审核()· 本站的内容怎么来的

本站已实测,测试日期:2026-10-13。

本页目录(11 节)
  1. 一、别名各指向什么
  2. 二、五种设置方式,谁优先
  3. 三、default 和 opusplan
  4. 四、把别名钉到指定的版本
  5. 五、备用模型
  6. 六、上下文窗口和自动压缩
  7. 七、快速模式
  8. 八、在哪看现在用的模型和花了多少
  9. 九、走中转站时的几条建议
  10. 花费
  11. 这次实测没有覆盖到的

这篇解决一个问题:我想让 Claude Code 用某个模型,该在哪设?设了好几处,到底听谁的?

模型该选哪个、effort 调到几档、怎么省用量,在《Claude Code 怎么省用量》里。这一篇只讲“怎么设”和“设了之后实际发生什么”。

实测环境
日期 2026-10-13
版本 Claude Code 2.1.296,Linux 服务器
连接方式 通过酷站AI 中转站,不是直连官方
做法 无界面跑了 19 次,每次只让它回答一个字,看实际用到的是哪个模型;交互式会话一段

先说实测的结论:

  • 别名通过中转站照常解析:sonnet、opus、fable 分别落到 Sonnet 5.5、Opus 5.5、Fable 5.1。haiku 落到 Haiku 5.5,这家中转站没有这个模型,直接报错,把它钉到中转站有的版本就好了。
  • 优先级和文档一致:会话里的 /model 最高,然后是启动参数、ANTHROPIC_MODEL、设置文件、ANTHROPIC_DEFAULT_MODEL,最后是账号的默认。
  • /model 模型名 会把选择存成以后的默认。 本站在另一次实测里顺手敲了一句,之后所有会话的默认模型都变了,查了一圈才发现。
  • 只回答一个字也有固定开销:Sonnet 5.5 约 0.065 美元,Opus 5.5 约 0.13 美元,Fable 5.1 约 0.35 美元。
  • 快速模式走中转站开不了。

一、别名各指向什么

写模型的地方可以填完整的模型名,也可以填别名:

别名 含义
default 不是模型,是“清掉我的指定,回到账号的默认”
sonnet 最新的 Sonnet,日常写代码
opus 最新的 Opus,复杂的推理
haiku 快而便宜的 Haiku,简单的活
fable 最强的那一档,给最难、跑得最久的任务
best 你能用 Fable 就是 Fable,否则同 opus
opusplan 计划模式用 opus,动手执行时换成 sonnet
sonnet[1m]、opus[1m] 带 100 万 token 窗口的版本。别名已经指向自带 100 万窗口的模型时,加不加没有区别

直连 Anthropic 时,opus、sonnet、haiku 现在分别指向 Opus 5.5、Sonnet 5.5、Haiku 5.5。在 Bedrock 这些云平台上,同一个别名可能指向更老的版本。

别名指向哪个版本会随 Claude Code 更新而变。新模型对版本有要求:Opus 5.5 要 2.1.280 以上,Sonnet 5.5 要 2.1.284 以上,Haiku 5.5 要 2.1.293 以上。

实测:每种写法实际用到的模型

无界面模式的结果里有一项 modelUsage,记着这次请求真正用了哪个模型。同一句“只回答一个字:好”:

启动时写的 实际用到的模型 输入 token 估算花费
--model sonnet claude-sonnet-5-5 26,132 0.065 美元
--model opus claude-opus-5-5 26,175 0.131 美元
--model fable claude-fable-5-1 27,993 0.35 美元
--model opusplan(不在计划模式) claude-sonnet-5-5 26,132 0.065 美元
--model 'sonnet[1m]' claude-sonnet-5-5[1m] 26,136 0.065 美元
--model haiku 报错,见下 — 0

两点说明:

  • 两万六千个输入 token 是固定开销:系统提示、工具定义、CLAUDE.md。问的那句话本身只有几个 token。所以哪怕只问一个字,一次冷启动的无界面运行也要几分到几毛钱,在脚本里循环调用之前要算一下。
  • haiku 报错是中转站的原因,不是别名坏了:
There's an issue with the selected model (claude-haiku-5-5). It may not exist or
you may not have access to it. Run --model to pick a different model.

别名解析成了 claude-haiku-5-5,而这家中转站的模型列表里没有它。解决办法在第四节。

二、五种设置方式,谁优先

文档列的顺序,从高到低:

  1. 会话里:/model 别名或模型名,立刻切换。
  2. 启动时:claude --model 别名或模型名。
  3. 环境变量:ANTHROPIC_MODEL。
  4. 设置文件:model 字段。
  5. 新会话的默认:环境变量 ANTHROPIC_DEFAULT_MODEL,要 2.1.236 以上。

都没设,就是账号的默认。订阅和直接用 API 的账号现在默认是 Opus 5.5。

实测

同时设了什么 实际用到的 说明
什么都不设 Opus 5.5 账号的默认
只有 ANTHROPIC_DEFAULT_MODEL=sonnet Sonnet 5.5 第 5 种生效
只有项目设置 "model": "sonnet" Sonnet 5.5 第 4 种生效
项目设置 sonnet,加 ANTHROPIC_DEFAULT_MODEL=opus Sonnet 5.5 设置文件压过第 5 种
项目设置 opus,加 ANTHROPIC_MODEL=sonnet Sonnet 5.5 环境变量压过设置文件
ANTHROPIC_MODEL=opus,加 --model sonnet Sonnet 5.5 启动参数压过环境变量

和文档的顺序完全一致。

--model 和 ANTHROPIC_MODEL 只管这一次启动。想在两个终端里同时用两个模型,各自带 --model 启动,不要用 /model 来回切。

/model 会保存:本站踩到的坑

/model 不带参数会打开选择列表,底下有一行提示:

Enter to set as default · s to use this session only · Esc to cancel

按回车是“切换并存成以后的默认”,按 s 才是“只这一次”。直接敲 /model 模型名,等同于按回车。

本站在测 hooks 的时候,在一段会话里敲了 /model claude-sonnet-5-5。之后再跑“什么都不设”的情况,用到的一直是 Sonnet 5.5 而不是 Opus 5.5。去看用户设置,里面多了一行:

"model": "claude-sonnet-5-5"

这就是那次 /model 存下的。它的优先级在第 4 种,所以后来所有没指定模型的会话都跟着它走。

清掉的办法是 /model default:

❯ /model default
  ⎿  Set model to Opus 5.5 (default) and saved as your default for new sessions

实测之后用户设置里的 model 一项消失了,“什么都不设”重新回到 Opus 5.5。

在无界面模式里用 /model 不会保存,只管当前这一次。

几条相关的规则

  • 恢复的会话沿用它当时的模型。 --resume、--continue 回来的会话不看现在的默认,除非这次启动带了 --model 或 ANTHROPIC_MODEL。
  • /model 也会影响子代理。 没有单独指定模型的子代理,用的是它启动那一刻主会话的模型。想给所有子代理另定一个模型,设环境变量 CLAUDE_CODE_SUBAGENT_MODEL。
  • 会话中途换模型,缓存要重建。 细节见《提示缓存》。hook 里能拿到这次切换估计要多少钱,见《Hooks 速查》。
  • 模型名写错,启动时不检查。 用 --model、环境变量或设置文件指定的模型,要到第一次请求才报错。

三、default 和 opusplan

default 的含义是“账号的默认”,目前是 Opus 5.5。Fable 不会成为任何账号的默认,要用得明确选它,而用 /model 选了之后它就被存成了你的默认。

opusplan 是个省钱的折中:计划模式里用 Opus 想清楚方案,退出计划模式开始改代码时自动换成 Sonnet。实测不在计划模式时,它用的确实是 Sonnet 5.5。计划模式里的那一半本站没有测。

想让模型自己决定什么时候请教更强的模型,而不是在计划和执行的边界上切,那是 advisor 工具。

四、把别名钉到指定的版本

别名会随版本更新指向新模型。想自己控制,或者像本站这样中转站缺某个模型,用下面这组环境变量,值必须是完整的模型名:

环境变量 管哪个别名
ANTHROPIC_DEFAULT_OPUS_MODEL opus,以及 opusplan 在计划模式里用的
ANTHROPIC_DEFAULT_SONNET_MODEL sonnet,以及 opusplan 执行时用的
ANTHROPIC_DEFAULT_HAIKU_MODEL haiku,以及 Claude Code 的后台功能
ANTHROPIC_DEFAULT_FABLE_MODEL fable

旧的 ANTHROPIC_SMALL_FAST_MODEL 已经不推荐,用 ANTHROPIC_DEFAULT_HAIKU_MODEL。

实测

设了什么 启动时写的 实际用到的
ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5 --model sonnet claude-sonnet-5
ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5-20251001 --model haiku claude-haiku-4-5-20251001

第二行就是第一节那个报错的解法:把 haiku 钉到中转站有的 Haiku 4.5,同一条命令就通了,这一次只花了 0.041 美元。

第一行顺带看到一个差别:同一句话,Sonnet 5 计了 39,428 个输入 token,Sonnet 5.5 是 26,132 个。两代模型数 token 的办法不一样,钉到老版本不一定省钱,这一次反而贵了一半。

走中转站的读者值得检查这一组变量。 写进用户设置的 env 里就行:

{
  "env": {
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001"
  }
}

要在选择列表里多加一个自己的条目,而不替换现有的,用 ANTHROPIC_CUSTOM_MODEL_OPTION,值可以是接口认的任何模型名,Claude Code 不检查它。

五、备用模型

主模型过载或者不可用时,可以让 Claude Code 自动换一个,而不是直接失败。

claude --fallback-model sonnet,haiku

或者写进设置,是一个数组:

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

按顺序试,最多三个。切换只管当前这一轮,下一条消息还是先试主模型。认证、计费、限流这类错误不会触发它。启动时不会确认这条链,/status 里也看不到,第一次切换时才有一行提示。

实测故意把主模型名写错,带上 --fallback-model sonnet:

[claude-code:unrecognized_model] {"model":"claude-no-such-model","query_source":"sdk"}

之后请求由 Sonnet 5.5 完成,回答正常。不带备用模型时,同样的写错是直接失败。

另一种:内容被标记时自动换模型

这是另一回事。Fable、Opus 5.5、Sonnet 5.5、Opus 5 带着安全分类器,最常标记的是网络安全和生物两类内容。被标记的请求会自动换到另一个模型重跑:

原来的模型 网络安全类 生物类
Fable 5.1、Fable 5、Opus 5.5 换到 Opus 4.8 换到 Opus 5
Sonnet 5.5 换到 Sonnet 5 直接拒绝
Opus 5 换到 Opus 4.8 直接拒绝

换过去之后,会话就留在那个模型上,要回去得自己 /model。想每次先问你,在 /config 里把“消息被标记时切换模型”改成每次询问。

文档还提醒:会话的第一个请求就可能触发,因为它带着 CLAUDE.md 和 git 状态;仓库里有安全相关的材料时尤其如此。用 claude --safe-mode 启动可以排查是不是自己的定制内容引起的。

这一段本站没有实测。走中转站时,换过去的那个模型中转站有没有,也是个问题。

六、上下文窗口和自动压缩

100 万窗口

Fable、Sonnet 5 及以后、Haiku 5.5、Opus 4.7 及以后,默认就是 100 万 token 的窗口,不用加后缀,超过 20 万的部分也不加价(Haiku 5.5 除外,它的提示超过 10 万 token 后单价更高)。只有 Opus 4.6 和 Sonnet 4.6 要靠 [1m] 后缀才到 100 万。

想把会话限制在 20 万,设 CLAUDE_CODE_DISABLE_1M_CONTEXT=1。

走网关时,Claude Code 认得的模型名,窗口按官方的算。模型名它不认得的时候,它会按自己的假定来,和真实的窗口对不上时用 CLAUDE_CODE_MAX_CONTEXT_TOKENS 纠正。这一条规则很细,照文档的那一节来。

自动压缩的窗口

对话占到多满时自动压缩,可以调。不调的话,自带 100 万窗口的模型在大约 96.7 万 token 时压缩。

在哪设 管多大范围
/autocompact 500k 当前这个模型,这次和以后的会话
设置里的 autoCompactWindow 所有模型
启动参数 --autocompact 这一次启动
环境变量 CLAUDE_CODE_AUTO_COMPACT_WINDOW 设了就压过上面三种

能设的范围是 10 万到 100 万,可以写 200000、500k、1M,或者只写 200(表示 20 万)。环境变量只认纯数字。

实测:

❯ /autocompact
  Current setting for Opus 5.5: 1m tokens (default for this model)

❯ /autocompact 300k
  ⎿  Auto-compact window for Opus 5.5 set to 300k tokens

之后用户设置里多了这一段,可以看到它是按模型分开存的:

"modelSettings": {
  "claude-opus-5-5": { "effortLevel": "medium", "autoCompactWindow": 300000 }
}

窗口调小,压缩来得早,每次请求带的历史少,单次便宜;代价是压缩得更频繁,每次压缩都要重建缓存。/autocompact 的界面上自己写着建议用 auto。本站测完改回了 auto。

七、快速模式

快速模式不是另一个模型,是同一个 Opus 换了一种更快的配置:输出速度最高到 2.5 倍,单价更高。支持 Opus 5.5、Opus 5 和 Opus 4.8,目前是研究预览。

输入 输出
Opus 5.5 快速模式 每百万 token 8 美元 40 美元
Opus 5、Opus 4.8 快速模式 10 美元 50 美元

用 /fast 开关。要注意两点:订阅用户的快速模式只走额外的用量额度,不算在套餐里;会话中途第一次打开,要按快速模式的价格把整段上下文重新付一遍,所以要用就在会话开头开。

实测:走中转站开不了

❯ /fast
  ↯ Fast mode (research preview)
  High-speed mode for Opus 5.5. Draws from usage credits at a higher rate. Separate rate limits apply.
    Fast mode has been disabled by your organization

文档里有一段相关的说明:Claude Code 在提供快速模式之前,会直接向 api.anthropic.com 查一次你的组织有没有开通,这个检查不走 ANTHROPIC_BASE_URL,网关发的凭据在官方那边也通不过。按文档,这种情况提示的是“网络连接问题”;本站看到的却是“被组织禁用”,和文档写的不完全一样,原因没有查清。不管是哪一种,结果都是开不了。

本站直接调接口时也试过,带快速模式参数的请求被这家中转站拒绝,见《思考和 effort》。

八、在哪看现在用的模型和花了多少

启动时的页头写着模型和计费方式:

 Claude Code v2.1.296
 Sonnet 5.5 · API Usage Billing

/status 更全。实测里和模型、连接有关的几行:

  Anthropic base URL:         https://api.koozhan.com
  Model:                      claude-sonnet-5-5
  Setting sources:            User settings
  Managed settings (remote):  not fetched — not available with a custom ANTHROPIC_BASE_URL

Setting sources 这一行有用:模型不是你以为的那个时,看它来自哪一层设置。

/model 的列表里每一行带着价格。实测通过中转站看到的是:

    1. Default (recommended)  Use the default model (currently Opus 5.5) · $4/$20 per Mtok
    2. Opus                   Opus 5.5 · Best for everyday, complex tasks · $4/$20 per Mtok
    3. Fable                  Fable 5.1 · Most capable for your hardest and longest-running tasks · $10/$50 per Mtok
  ❯ 4. Sonnet ✔               Sonnet 5.5 · Efficient for routine tasks · $2/$10 per Mtok
    5. Haiku                  Haiku 5.5 · Fastest for quick answers · $0.10/$0.50 per Mtok ($0.50/$2.50 for prompts over 100k)

列表是 Claude Code 自己的,不是中转站的模型列表:Haiku 5.5 照样列着,选了才会报错。价格是官方的标价。

/usage 的 Session 一栏是这段会话的用量。实测在 Opus 5.5 上只问了一个字:

  Total cost:            $0.1596
  Usage by model:
       claude-opus-5-5:  2 input, 3 output, 0 cache read, 31.9k cache write ($0.1596)
  Prompt cache (main):   1 request · 0% of input tokens from cache · no misses · warm (5m TTL, last activity 23s ago)

钱几乎全花在第一次写缓存上:31,900 个 token。接着问第二句,这部分就变成便宜得多的缓存读取。

文档说明了这个金额的来历:它是 Claude Code 在本地按 token 数和官方标价算出来的,不是账单。走中转站时实际扣多少,以中转站的后台为准。/clear 之后它归零。

干活的时候,转圈旁边的 token 数是这一轮输出了多少,不包含发给模型的历史,别拿它估花费。

另外,Claude Code 空闲时也有少量后台开销,比如给 --resume 用的对话摘要,文档说一般每段会话不到 0.04 美元。这些后台功能用的是 haiku 那一档的模型。

九、走中转站时的几条建议

  1. 把 haiku 钉到中转站有的模型。 中转站没有 Haiku 5.5 的话,--model haiku 会直接报错,后台功能用的也是这一档。
  2. 常用的模型写完整的名字,或者钉住别名。 Claude Code 一更新,别名可能指向中转站还没上的新模型。
  3. 想换默认模型,改设置文件或用 /model;只想这一次,按 s 或用 --model。 别像本站那样不小心改了默认。
  4. 模型不对劲,先看 /status 的 Model 和 Setting sources。
  5. /usage 的金额是按官方标价算的估算。
  6. 快速模式不用试了。

花费

无界面的 19 次里有 18 次产生了费用,Claude Code 报的估算合计约 1.7 美元,其中 Fable 的那一次占 0.35 美元。交互式会话约 0.16 美元。这是估算,不是中转站实际扣的金额。

这次实测没有覆盖到的

  • 只测了无界面模式下的解析和优先级。 opusplan 在计划模式里的那一半、恢复会话沿用模型、子代理跟随 /model,都没有测。
  • 内容被标记时的自动换模型没有测,备用模型只测了“模型名写错”这一种触发方式,过载时的表现没有测。
  • 后台功能在中转站没有 Haiku 5.5 时会怎样,没有查清。 本站只确认了把 haiku 钉住之后 --model haiku 能用。
  • 组织层面的限制没有测:availableModels、组织默认模型、组织的 effort 上限。个人用不到。
  • 云平台(Bedrock 等)上的行为没有测,文档里那几张按平台分的表本文没有转述。
  • 只在一个版本、一家中转站上测过。

来源

通过 API 中转站使用这些模型?到 Veridrop 免费检测中转站给你的是不是它声称的模型,或者看看中转站排行榜前 100 名。

相关文章

  • 给 Claude 5.5 这一代写提示词:按现象查该改什么,哪些老写法该删教程 · Claude Code · 约 8 分钟

    老提示词在 Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable 5.1 上基本能直接用,但每个模型有几处行为变了。本文把官方四份指南整理成一张“看到什么现象,改什么”的表,列出该删掉的老写法。实测一道要 JSON 答案的推理题:不思考时模型把推理写进回答里,答案是对的,但整段不再是合法的 JSON。

  • Claude 的思考和 effort 怎么调:五档各是什么、什么时候该调高、钱花在哪教程 · Claude Code · 约 11 分钟

    effort 控制 Claude 在一个回答上下多大功夫,思考只是其中一部分。本文整理五档的含义、各模型的默认值、思考怎么计费、怎么让它多想或少想,以及任务预算和快速模式。实测一道排期题:Sonnet 5.5 在 low 和 medium 上十次全错,调到 high 五次全对;再调到 max 要花三倍多的钱,答案一样。

  • Claude Code 的 advisor 工具:给主模型配一个更强的顾问,以及用令牌接中转站时为什么用不了教程 · Claude Code · 约 8 分钟

    advisor 让便宜的主模型在关键时刻请教一个更强的模型:定方案之前、同一个错反复出现时、宣布做完之前。本文整理它怎么开、哪些模型能配对、怎么计费。本站通过中转站实测的结果是用不了:命令不存在,启动参数被悄悄忽略,没有任何报错。原因在文档里能找到,附三种替代办法。

  • Claude 5 这一代模型的上下文怎么写:少定规则,多给判断空间教程 · Claude Code · 约 6 分钟

    根据 Claude Code 团队的文章整理:他们为 Opus 5、Fable 5 删掉了八成以上的系统提示词,编码评测没有可测的下降。讲清六条“以前和现在”的变化,以及 CLAUDE.md、skill 和参考资料现在该怎么写。