Claude Code 变慢排查指南:模型选择与 Effort 参数详解
title: “Claude Code 变慢排查指南:模型选择与 Effort 参数详解”
tags:
- AI编程
- Claude Code
- 开发工具
- 效率工具
- Anthropic
categories: - AI编程
description: “Claude Code 用着用着变慢了?本文从模型选择和 Effort 参数两个维度,帮你排查速度问题的根源,包含 Opus 4.7 新分词器、xhigh 默认值、4 月事故复盘等一手信息,以及实用的优化建议。”
导读:最近不少开发者反馈 Claude Code 越用越慢,token 消耗也越来越快。我自己也踩过这个坑——后来发现十有八九跟模型版本和 Effort 设置有关。这篇文章把我排查的全过程整理出来,帮你快速定位问题。
一、我的排查思路
先说结论:Claude Code 变慢,90% 的可能性是模型和 Effort 没配合好。
排查路径其实就两条线:
- 你现在用的是什么模型? — Opus 4.7 和 Sonnet 4.6 的行为差异很大
- 你的 Effort 设了多少? — 同一个模型,不同 Effort 级别的速度能差 5-10 倍
下面逐个拆解。
二、先看你的模型
在 Claude Code 里输入 /model,看看当前用的是什么模型。
各模型速度对比
| 模型 | 速度 | 推理能力 | 费用 | 适合场景 |
|---|---|---|---|---|
| Haiku 4.5 | 最快 | 够用 | 最低 | 快速查找、简单编辑、子代理 |
| Sonnet 4.6 | 快 | 强 | 中等 | 日常开发、写功能、修 Bug |
| Opus 4.6 | 较慢 | 最深 | 最高 | 架构设计、复杂 Bug、多文件推理 |
| Opus 4.7 | 较慢 | 最强 | 最高 | 长时间 Agent 任务、知识工作、视觉任务 |
Opus 4.7 的"隐藏加价"
Opus 4.7 换了新的分词器,官方说"文本处理的 token 数量约为之前的 1x-1.35x"。听起来不多,但实际体验下来:
- 代码和中英文混合内容(比如
CLAUDE.md里有中文注释),实际增幅接近上限 35% - 每轮对话的 system prompt 都会重复计算,多轮对话的 token 增长是复利式的
- 官方单价没变($5/$25 per MTok),但实际花销涨了
所以如果你最近自动升级到了 Opus 4.7,token 消耗变快是很正常的——不是你代码写多了,是分词器变了。
切换模型的方法
# 会话中切换
/model sonnet
/model opus
/model haiku
# 启动时指定
claude --model sonnet
# 快捷键(macOS)
Option+P
三、重点:Effort 参数才是关键
Effort 参数控制 Claude 在回答前"想多深"。这个参数对速度和 token 消耗的影响比模型切换还大。
什么是 Effort
简单说,Effort 是一个"思考深度旋钮":
- Low:想得最少,回复最快,token 最省
- Medium:适度思考,日常够用
- High:深入思考,复杂问题用这个
- Xhigh:Opus 4.7 新增的级别,介于 High 和 Max 之间
- Max:无限制思考,最慢最贵但最强
💡 Effort 是行为信号,不是硬性 token 预算。即使设为 Low,遇到真难题 Claude 还是会思考,只是思考得少一些。
不同模型的默认 Effort
这是很多人忽略的地方——不同模型的默认 Effort 不一样:
| 模型 | Claude Code 默认 Effort | 说明 |
|---|---|---|
| Opus 4.6 | high |
一直以来的默认值 |
| Opus 4.7 | xhigh |
2026 年 4 月改为 xhigh |
| Sonnet 4.6 | high |
官方推荐日常用 medium |
这就是变慢的关键:如果你升级到 Opus 4.7,默认 Effort 从 high 变成了 xhigh,思考时间直接拉长。
4 月那场"静默降级"事故
Anthropic 在 2026 年 4 月 23 日发了一篇 postmortem,承认了三个产品层 Bug:
- 3 月 4 日:把 Claude Code 默认 Effort 从
high降到medium(为了减少长尾延迟),结果用户普遍反映"变笨了",4 月 7 日回滚 - 3 月 26 日:一个缓存优化 Bug,导致空闲超过 1 小时的会话,后续每轮都会清掉之前的思考记录,Claude 看起来"失忆"了
- 4 月 16 日:加了一条"减少冗余"的系统提示,反而拉低了编码质量
这三个 Bug 叠在一起,让用户感觉 Claude “时好时坏”。如果你 3-4 月间感觉 Claude Code 行为异常,大概率就是踩到了。
现在的状态:所有问题已在 v2.1.116 修复。Opus 4.7 默认 Effort 设为 xhigh,其他模型默认 high。
怎么设 Effort
# 方法 1:斜杠命令
/effort low
/effort medium
/effort high
# 方法 2:环境变量(持久化)
export CLAUDE_CODE_EFFORT_LEVEL=medium
# 方法 3:配置文件
# 在 settings 中设置 "effortLevel": "medium"
# 方法 4:单次深度思考
# 在 prompt 中加 "ultrathink",这一轮会自动用最高 effort
四、我的推荐配置
根据我这段时间的使用经验,不同场景推荐不同组合:
日常开发:Sonnet 4.6 + Medium
/model sonnet
/effort medium
大多数日常开发任务——写功能、修 Bug、重构——这个组合够用,速度快且省 token。
复杂问题:Opus 4.7 + Xhigh
/model opus
/effort xhigh
架构设计、复杂调试、代码审查这种需要深度推理的场景,上 Opus + xhigh。但要注意 token 消耗会明显增加。
快速问答:Haiku + Low
/model haiku
/effort low
“这个函数干嘛的?”"找一下 X 文件"这类问题,Haiku + Low 又快又省。
性价比之王:Sonnet 4.6 + High
/model sonnet
/effort high
如果你不想频繁切换,这个组合是万金油。Sonnet 速度本身就快,High Effort 保证质量,日常够用。
五、Opus 4.7 的 Effort 详解
如果你在用 Opus 4.7,这里有一份更详细的 Effort 级别参考:
| Effort | 适用场景 | 特点 |
|---|---|---|
low |
短小精悍的任务 | 效率高,但复杂任务可能思考不足,建议配合明确的 checklist 使用 |
medium |
成本敏感的日常任务 | 好的结果 + 较低的成本,通用选择 |
high |
智能敏感型任务 | 智能和 token 消耗的平衡点 |
xhigh(默认,推荐) |
编码和 Agent 任务 | Opus 4.7 的最佳实践,自主性强,不会像 max 那样 token 失控 |
max |
极限推理 | 只在 eval 测试或极其复杂的场景使用,容易"想太多" |
⚠️ Opus 4.7 在 Low 和 Medium 级别下比 Opus 4.6 更严格地遵守 Effort 限制——它会精准地做你要求的事,不会自作主张多想。如果你发现 Low/Medium 下推理太浅,直接提高 Effort 级别,别试图用 prompt 绕过。
六、API 层面的 Effort 设置
如果你通过 API 调用 Claude,Effort 参数在 output_config 里设置:
# Opus 4.7 + xhigh effort
client.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
thinking={"type": "adaptive"},
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
)
几个注意点:
- Opus 4.7 不再支持
thinking: {type: "enabled", budget_tokens: N},发过去直接 400 错误 - 必须用
thinking: {type: "adaptive"}+output_config.effort的组合 temperature、top_p、top_k在 Opus 4.7 上也废了,设非默认值直接报错- 思考内容默认被省略(
display: "omitted"),如果需要看思考过程,设thinking.display: "summarized"
七、排查清单
Claude Code 变慢时,按这个顺序排查:
- 输入
/model检查当前模型 — 是不是被自动切到了 Opus? - 输入
/config检查 Effort 级别 — 是不是 xhigh 或 max? - 检查 Claude Code 版本 —
claude --version,确保 ≥ v2.1.116(4 月 Bug 都修了) - 看 token 用量 — 如果涨得异常快,可能是 Opus 4.7 新分词器的 35% 加成
- 试一下 Sonnet + Medium — 换个组合对比,确认是不是模型/Effort 的问题
八、常见问题
Q:我的 Effort 明明设的 medium,为什么还是慢?
Opus 4.7 的默认 Effort 在 Claude Code 里是 xhigh。如果你通过环境变量或配置文件设了 medium,但会话中途用 /model 切过模型,Effort 可能会回到默认值。建议每次切模型后确认一下 Effort。
Q:Opus 4.7 的 xhigh 和 4.6 的 high 有什么区别?
xhigh 是 Opus 4.7 新增的级别,介于 high 和 max 之间。官方的说法是"xhigh 适合大多数编码和 Agent 任务,自主性强且 token 不会像 max 那样失控"。实测下来,xhigh 比 high 多花约 10% 的时间,但复杂任务的质量确实更好。
Q:Sonnet 4.6 用什么 Effort 最合适?
官方推荐 medium 作为日常默认。Sonnet 本身速度快,medium 在大多数场景下够用。遇到特别复杂的问题临时切到 high 就行。
Q:ultrathink 是什么?
在 prompt 中输入 “ultrathink”,Claude 会在这一轮用最高的 Effort 级别(相当于 max)。适合偶尔遇到特别难的问题时用一下,不会影响后续对话的 Effort 设置。
Q:升级到 Opus 4.7 后,同样的代码 token 消耗变多了?
是的,Opus 4.7 换了新分词器,文本 token 数增加约 0-35%(中文和代码内容增幅更大)。单价没变,但实际花费会涨。如果对成本敏感,日常用 Sonnet 4.6 是更实惠的选择。
参考链接
- Anthropic 4 月 23 日 Postmortem — 官方事故复盘
- Best practices for using Claude Opus 4.7 with Claude Code — Opus 4.7 最佳实践
- Effort 参数官方文档 — API 层面的 Effort 说明
- Opus 4.7 迁移指南 — 从 4.6 升级到 4.7 的注意事项
- Prompting best practices — 包含 Effort 校准建议
写了这么多,如果对你有帮助的话,给我点个赞 👍 收个藏 📌 吧~
如果你也在用 Claude Code,遇到过速度变慢的问题,欢迎在评论区分享你的排查经验和配置方案,我会在评论区一一回复。
更多推荐



所有评论(0)