Claude Code effort 的五个档位是什么?什么时候该调实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Claude Code 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适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏