Claude Code 03:模型与响应篇
Excerpt
如何选对模型、调对思考挡位,让 Claude Code 更聪明地帮你干活!
读完本篇你能:根据任务难度选对模型、用 effort level 控制思考深度、用 ultrathink 啃硬骨头、用 fast mode 跑短任务,并理解 prompt caching 怎么帮你省钱。
一、为什么"选模型"是门技术活?
Claude Code 不是只有一个模型。它有一组模型,能力、速度、价格各不一样。常见的命名族:
-
Haiku 系:最快、最便宜、最轻量
-
Sonnet 系:均衡之选,日常默认
-
Opus 系:最强推理,难题救星
模型版本会更新(比如 Opus 4.7、Sonnet 4.6),但命名族的定位是稳定的。本文用"族名"讲选型逻辑,不依赖具体版本号。
记住一句话:任务难度决定挡位,挡位决定花费。
二、最简单的切换:Model Alias
在 Claude 里输入:
/model
会列出当前可选模型。直接选 sonnet / opus / haiku 等 alias 即可。也可以启动时指定:
claude--modelopus
或在 settings 里把默认模型设成你最常用的:
{
"model":"sonnet"
}
alias 是软指针,比如`sonnet`永远指向当前最新的 Sonnet 系模型,不用每次更新都改配置。
三、Effort Level:思考深度的"挡位"
这是 Claude Code 最被低估的旋钮。它控制模型在回答前思考多久——也就是给"内部推理"分配多少 token 预算。
用`/effort`命令切档
新版 Claude Code 提供持久化的 effort 设置:
/effort low # 简单问答、机械改动
/effort medium # 日常默认
/effort high # 复杂重构、跨多个文件
/effort max # 顶配,类似 ultrathink 的预算
/effort 改的是当前 session 的默认挡位,对之后每一句 prompt 都生效。也可以在 settings 里设全局默认:
{"effort":"high"}
关键认知:effort 高 ≠ 输出长。它控制的是"自言自语"阶段的 token 预算,最终回答可能反而更精炼准确。
四、Ultrathink:一次性的"深度思考关键词"
很多人把 ultrathink 当成 effort 的一档,这是误解。ultrathink 不是配置项,是写在 prompt 里的触发词。Claude Code 在解析你的输入时会做词法匹配,看到这些关键词就临时拉高这一次请求的思考预算(约 32k token),不影响 session 的全局 effort 设置。
触发关键词(按预算从小到大)
| 关键词 | 大致预算 |
|---|---|
| `think` | ~4,000 token |
| `think hard`/`megathink`/`think deeply` | ~10,000 token |
| `think harder`/`think really hard`/`ultrathink` | ~32,000 token |
直接写在 prompt 里就行,位置无所谓(开头、结尾、中间都能被识别):
ultrathink: 我们的支付模块在高并发下偶发幂等性失败,
数据库是 PG 14,订单表 5000 万行,
请深度分析可能的根因和缓解方案
或更自然的写法:
帮我重构这个 auth 模块。think harder about potential security implications.
输入框里这些词会被 Claude Code 高亮,提示你 extended thinking 已经激活。如果你的 prompt 里只是碰巧用到了这些词又不想触发,输入`/t`可以关掉这次的关键词检测。
/effortvsultrathink怎么选?
/effort high或max |
prompt 里写ultrathink |
|
|---|---|---|
| 作用范围 | 当前 session 之后每条 prompt | 仅当前这一条 prompt |
| 配置方式 | 命令 / settings | 自然语言关键词 |
| 适合 | 整个 session 都是硬任务 | 单条 prompt 是硬任务,其他普通 |
经验:
-
临时一条硬问题 → prompt 里加`ultrathink`
-
整个 session 都在啃硬骨头(比如大重构)→
/effort max -
别两个都用,没意义(这一句的预算已经被 ultrathink 拉到顶了)
别滥用
-
简单任务用 ultrathink = 烧钱;
-
日常 90% 工作 medium effort 足够;
-
ultrathink 应该是"周需求级",不是"日常项"。
五、Extended Thinking:延伸推理
和 effort 是配套机制。开启后,模型会显式输出"思考过程"区块(你能看到它在想什么,不只是结论)。
适合:
-
你想审计 Claude 的推理过程
-
调试"为什么它给了这个答案"
-
教学场景,看它怎么思考
关闭场景:自动化 / 脚本里不需要看思考过程,关掉省 token。
六、Extended Context(1M 上下文)
默认上下文窗口已经很大,但有时候不够,比如:
-
一次性塞进整个大型代码库
-
分析一份巨大的日志或数据
-
长达数小时的 session 不想 compact
Extended Context让窗口扩到 100 万 token 级。当前主要在Amazon Bedrock 和 Google Vertex AI上提供,需要在那边配置启用。
成本警告:1M 上下文每次请求都很贵。别当默认用,只在确实需要时开。
七、Fast Mode:用质量换速度
这是和 effort 反向的旋钮——让 Claude 跑得更快,但接受质量略降。
适合:
-
UI 联调时的快速试错
-
大量重复性小任务
-
交互式探索,“快速看一下” > “想清楚”
开启:
/fast
或 settings:
{"fastMode":true}
注意:
-
某些企业组织可能限制 fast mode 的使用;
-
跑大重构、写关键代码不要用;
-
它不等于换更弱的模型,是同模型用更短的推理路径。
八、Prompt Caching:自动省钱魔法
这是 Claude 自带的能力,默认开启,不用你做什么,但理解它能帮你写出更省钱的 prompt。
原理
Claude 会把 prompt 中稳定的部分(系统指令、CLAUDE.md、工具描述、长文档)做缓存。第二次请求时,缓存部分按几分之一的价格计费。
怎么最大化利用?
-
CLAUDE.md 写得稳定:经常改 CLAUDE.md 会让缓存失效。规则尽量稳定。
-
把变量放在最后:prompt 前半部分稳定(系统指令、context),变量信息(用户问题)放后面,缓存命中率最高。
-
同一个 session 内多轮对话最划算:前面的内容会一直命中缓存。
-
大文档放前面:你引用了一个大文档,第二次再问,文档部分免费复用。
1 小时缓存 TTL
默认缓存活 5 分钟,可以配置成 1 小时(特别长的代理任务受益)。详见 settings 配置。
九、Output Styles:响应风格的"人设层"
模型决定能力,Output Style 决定它说话的方式。
内置风格
-默认:平衡、专业
-
Concise:极简,只给结论
-
Explanatory:每步都解释为什么
-
Learning:偏教学,适合新手
切换:
/output-style concise
自定义风格
`.claude/output-styles/my-style.md`:
---
name: my-style
description: 我的个人风格
---
-总是用第一人称("我帮你...")
-中文回答,代码注释保留英文
-完成后必须列出 3 条"接下来你可以..."建议
-不输出 emoji
`/output-style my-style`启用。
和 CLAUDE.md 的区别
| CLAUDE.md | Output Style |
|---|---|
| 项目的硬规则(怎么写代码) | 你的口味(怎么说话) |
| 团队共享 | 个人 / 团队风格 |
| 必须遵守 | 可随时切换 |
经验:项目硬规则永远走 CLAUDE.md;说话语气走 Output Style。
十、模型选型决策树
是简单的小问答 / 机械改动?
└─ 是 → Haiku + low effort + fast mode
└─ 否 →
是日常代码开发 / 中等复杂度?
└─ 是 → Sonnet + medium effort(默认)
└─ 否 →
是大型设计 / 难 bug / 架构决策?
└─ 是 → Opus + high effort
└─ 极难、要一次性深度思考?
└─ 是 → Opus + ultrathink
再叠一层:
-
任务时长 < 30s → 用 fast mode
-
需要塞进巨大上下文 → Bedrock/Vertex + 1M 窗口
-
要审计 AI 的推理 → 开 extended thinking
十一、常见坑
坑 1:什么都用 Opus
Opus 不是"更强",是"更深思考、更贵"。日常任务 Sonnet 完全够,Opus 用在刀刃上。
坑 2:把 ultrathink 写成口头禅
它是一次性深度推理,不是日常挡位。每条 prompt 加 ultrathink = 钱包受罪 + 速度感人。
坑 3:fast mode 跑生产代码
它适合快速探索,不适合写"要上线的关键代码"。质量上的细微下降在关键场景会放大。
坑 4:以为 prompt caching 是手动的
它是自动的。你能做的只是"让 prompt 结构更友好"(稳定内容在前、变量在后)。
坑 5:用 fast mode + ultrathink
这俩是反向旋钮。一起开等于互相抵消。设置上 Claude 会让其中一个生效,但不要写出这种组合。
十二、企业场景:约束模型选择
如果你是团队管理员,可能不希望成员随便用最贵的 Opus + ultrathink。可以在 managed settings 里强制:
{
"modelRestrictions": {
"allowed": ["sonnet","haiku"],
"default":"sonnet"
}
}
成员的`/model`命令只会显示允许的模型。详细配置在"配置"和"部署"两篇会讲。
✅ 本篇要点回顾
-
模型选 alias(sonnet/opus/haiku),不要硬编码版本号。
-
Effort Level(`/effort low/medium/high/max`)是 session 级思考深度旋钮:日常 medium,难题 high/max。
-
Ultrathink是 prompt 里的关键词(不是 effort 配置项),临时为单条 prompt 拉满思考预算。同类的还有`think`、`think hard`、`think harder`,预算逐级递增。
-
Extended Thinking让推理过程可见,用于审计和教学。
-
Extended Context(1M)在 Bedrock/Vertex 上,巨大但贵。
-
Fast Mode用质量换速度,适合短小快任务,不要混在 ultrathink 上。
-
Prompt Caching自动省钱,让稳定内容前置、变量后置能最大化命中率。
-
Output Styles控制说话语气,与 CLAUDE.md 的"硬规则"互补。
更多推荐




所有评论(0)