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 没配合好。

排查路径其实就两条线:

  1. 你现在用的是什么模型? — Opus 4.7 和 Sonnet 4.6 的行为差异很大
  2. 你的 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:

  1. 3 月 4 日:把 Claude Code 默认 Effort 从 high 降到 medium(为了减少长尾延迟),结果用户普遍反映"变笨了",4 月 7 日回滚
  2. 3 月 26 日:一个缓存优化 Bug,导致空闲超过 1 小时的会话,后续每轮都会清掉之前的思考记录,Claude 看起来"失忆"了
  3. 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 的组合
  • temperaturetop_ptop_k 在 Opus 4.7 上也废了,设非默认值直接报错
  • 思考内容默认被省略(display: "omitted"),如果需要看思考过程,设 thinking.display: "summarized"

七、排查清单

Claude Code 变慢时,按这个顺序排查:

  1. 输入 /model 检查当前模型 — 是不是被自动切到了 Opus?
  2. 输入 /config 检查 Effort 级别 — 是不是 xhigh 或 max?
  3. 检查 Claude Code 版本claude --version,确保 ≥ v2.1.116(4 月 Bug 都修了)
  4. 看 token 用量 — 如果涨得异常快,可能是 Opus 4.7 新分词器的 35% 加成
  5. 试一下 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 是更实惠的选择。


参考链接


写了这么多,如果对你有帮助的话,给我点个赞 👍 收个藏 📌 吧~

如果你也在用 Claude Code,遇到过速度变慢的问题,欢迎在评论区分享你的排查经验和配置方案,我会在评论区一一回复。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐