Claude Code effort 的五个档位是什么?什么时候该调

  发布时间:2026-11-03 09:57:58   作者:aiks_yuan   我要评论
搞不懂Claude的effort级别怎么选?这篇白话指南讲透effort档位含义、medium默认值的影响,以及如何用/effort命令精准调节推理强度,感兴趣的可以了解一下

导读:在 后台看到有人搜"大家的 claude 用的 effort 是什么级别"。这篇用白话把 effort 讲清楚:它是什么、不调会怎样、什么时候值得调、怎么调。

内容依据 2026-10-27 的 Claude Code 官方文档和 changelog,模型以默认的 Opus 5.5 为准。

一、effort 是什么

大模型回答问题前,会先在内部"打草稿"推理一遍,这部分叫 thinking,同样按 token 计费。

effort 就是控制草稿打多少的档位。 档位低,简单问题基本不想,直接给答案;档位高,它会多推几步、多想几个边界情况、自己多核对几遍再回答。

打个比方:同一个同事,你问他"这个注解在哪个包",他张口就答;你让他排查一个偶发的线上 bug,他会翻日志、对代码、想好几种可能。effort 就是告诉模型这次该用哪种状态。

它和换模型不是一回事:

操作改变的是类比
换模型(Sonnet → Opus)模型本身的能力换一个人来做
调 effort同一个模型花多少力气同一个人认真程度不同

二、不调会怎样

大多数时候不用调。 Opus 5.5、Sonnet 5.5、Haiku 5.5 默认是 medium,官方文档说这一档适合"范围清楚的日常开发工作,比如实现一个新功能"。官方还提到,在他们的测试里,Opus 5.5 的 medium 在编码评测上已经不输上一代 Opus 5 的 high。

需要动它的只有两种情况:

  • 嫌慢、嫌 token 花得多:调低
  • 复杂问题它老是想不周全:调高

三、五个档位怎么选

下表的"适合"一列来自官方文档的说明,例子是按后端开发场景举的:

档位适合举例代价
low每一步你都会看结果的快速来回改个变量名、问个 API 用法最快最省,复杂问题容易想漏
medium范围清楚的日常开发(Opus 5.5 默认)加一个分页接口、写一组单测平衡
high需要验证、边界情况多的活在老代码里修 bug慢一些,token 更多
xhigh需要更深推理跨模块重构前先出方案明显更慢更贵
max交给它自己啃的难题安全审计最慢最贵,官方提醒容易"想太多",先试再用

我的建议很简单:平时用默认的 medium,碰到难题时只给那一轮加码,不要整个会话都开 xhigh。下一节讲怎么只给一轮加码。

💡 同一个档位名在不同模型上代表的力度不一样。从 Opus 5 换到 Opus 5.5 时,官方建议从 medium 重新开始,不要沿用以前的 high。

四、怎么调

1. 会话里用 /effort

在 Claude Code 里输入:

/effort

会弹出一个滑块,左右键选档位:

  • 按回车:保存为这个模型的默认档位,以后的会话都用它
  • 按 s:只对当前会话生效

也可以直接带档位名,比如 /effort high。想确认当前是哪一档,用:

/effort status

会话标题里模型名旁边也会显示,比如 "with medium effort"。

2. 启动时指定

# 只对这一次会话生效,不改保存的默认值
claude --effort high

3. 只给某一轮加码:ultrathink

提示词里任意位置写上 ultrathink,表示这一轮多想想,不改会话的档位:

ultrathink 这个定时任务在月底偶尔重复执行,帮我分析可能的原因

⚠️ ultrathink 的效果和版本有关。官方文档的说法是:Claude Code 识别到这个词后,往上下文里加一条"多想想"的指令,发给 API 的 effort 不变。10 月 26 日 2.1.311 的 changelog 写的是:在交互式终端里,走 Anthropic API 时,这一轮会真的以 xhigh 运行。两处说法不一致,我手上的版本低于 2.1.311,没能实测,以你自己版本的表现为准。另外,think hard、think more 这些写法不是关键词,只会被当成普通文字。

五、一个容易踩的坑:老配置对 Opus 5.5 不生效

如果你很早以前在用户配置 ~/.claude/settings.json 里写过这样一行:

{
  "effortLevel": "high"
}

按官方 settings 文档,用户配置里的这种顶层写法是老格式,只对 Opus 5 及更早的模型继续有效。Opus 5.5 会忽略它,按自己的默认值 medium 运行。也就是说,你以为开着 high,实际一直是 medium。

我自己的 ~/.claude/settings.json 里就留着一行 "effortLevel": "medium"。它刚好等于 Opus 5.5 的默认值,所以看不出区别;要是写的是 high,就会踩到这个坑。

解决办法:在会话里执行一次 /effort high 再按回车。新版本会把档位按模型分开保存,写进配置后是这样:

{
  "modelSettings": {
    "claude-opus-5-5": {
      "effortLevel": "high"
    }
  }
}

⚠️ 这个限制只针对用户配置里的顶层 effortLevel。写在项目 .claude/settings.json 里的顶层 effortLevel,对所有模型都有效。

六、团队想统一档位(可选)

一个人用可以跳过这一节。团队里想统一,有两个办法:

想要的效果怎么做
大家打开这个项目默认用同一档项目 .claude/settings.json 写 "effortLevel": "medium",提交进 git
不许超过某一档(控成本)配置里写 "maxEffortLevel": "high",高于它的档位都按 high 跑

封顶的写法:

{
  "maxEffortLevel": "high"
}

maxEffortLevel 需要 Claude Code 2.1.267 及以上。要对整个公司强制生效,交给管理员放进托管配置(managed settings)。

七、常见问题

Q:我在配置里写了 "effortLevel": "max",为什么没用?

配置文件里的 effortLevel 只接受 low、medium、high、xhigh,不接受 max。/effort max 只对当前会话有效。想一直用 max,只能设环境变量 CLAUDE_CODE_EFFORT_LEVEL=max。

Q:Opus 5.5 能关掉 thinking 省钱吗?

不能。Opus 5.5、Sonnet 5.5、Haiku 5.5 关不掉 thinking。想省钱,就把 effort 调低。

Q:中途改档位,会不会让缓存失效、多花钱?

多数模型会:中途改档位后,下一次请求要重新读整段对话。官方文档说 Opus 5.5、Sonnet 5.5、Haiku 5.5 用 API Key 或 Claude 订阅时,默认不受影响。

到此这篇关于Claude Code effort 的五个档位是什么?什么时候该调的文章就介绍到这了,更多相关Claude Code effort 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

最新评论