Claude Code 调优实战指南:解决降智与 Token 暴耗的完整方案

背景

如果你最近在用 Claude Code,可能也遇到过这些现象:

  • 模型回答越来越浅,复杂问题一两句就结束了
  • 明明没做什么,Token 就烧掉了一大截
  • Plan 模式下思考过程越来越短,感觉"它懒了"
  • 跑到一半就问你"要继续吗",明明任务还没完成

这些不是错觉。Anthropic 会动态调整模型的推理预算,也就是所谓的"自适应思考(Adaptive Thinking)"。在高峰期或系统负载高时,模型拿到的思考额度会被压缩,直接影响输出质量。

好消息是:这些可以通过本地配置来对抗。


一、核心配置:~/.claude/settings.json

这是最有效的干预入口。把下面这段配置写入 ~/.claude/settings.json

{
  "effortLevel": "high",
  "env": {
    "CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1",
    "MAX_THINKING_TOKENS": "31999",
    "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "200000"
  }
}

下面逐项解释每个字段的作用。


1. effortLevel

"effortLevel": "high"

告诉 Claude Code 对每个任务都使用更强的推理能力。

可选值:

  • "normal" — 默认档,系统自动决定推理深度
  • "high" — 推荐设置,明显提升复杂任务质量
  • "max" — 最强档,但即使是简单任务也会触发长时间思考,适合追求极致质量但不在乎速度的场景

日常使用推荐 "high",在需要高质量代码审查或架构决策时临时改成 "max"


2. CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING

"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"

这是对抗降智最直接的配置。

Adaptive Thinking(自适应思考)是 Claude 根据系统负载和任务判断来动态分配推理预算的机制。听起来合理,但实际上在高峰期往往会给你分配远低于需要的额度,导致回答质量下降。

设置为 "1" 后,关闭这个自动调整,让模型按照你指定的预算来思考,而不是被系统动态缩水。


3. MAX_THINKING_TOKENS

"MAX_THINKING_TOKENS": "31999"

给模型设置一个明确的思考预算上限。

参考值:

  • 31999(约 32k):日常编程任务足够,平衡质量与速度
  • 65536(64k):复杂重构、架构设计类任务
  • 131072(128k):拉满,适合最高要求场景,但响应时间会明显变长

建议从 32k 开始,根据实际任务复杂度调整。


4. CLAUDE_CODE_DISABLE_1M_CONTEXT

"CLAUDE_CODE_DISABLE_1M_CONTEXT": "1"

关闭 1M 超长上下文窗口。

虽然 1M 上下文听起来很强,但实际上极长的上下文会让模型在处理每个 token 时负担更重,反而影响推理质量。对于绝大多数开发任务来说,200k 以内的上下文已经足够。


5. CLAUDE_CODE_AUTO_COMPACT_WINDOW

"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "200000"

每当上下文长度超过 200k token 时,自动压缩一次。

这个配置和上一条配合使用,确保上下文始终保持在一个模型能高效处理的范围内,避免"越聊越笨"的退化现象。


可选追加:谨慎模式

"CLAUDE_CODE_MAKE_NO_MISTAKES": "1"

开启后,模型会切换到更谨慎的执行模式,减少低级错误(如变量名拼错、逻辑短路、边界条件漏判)。

代价是执行速度略慢。如果你在做高风险改动(比如数据库迁移、核心逻辑重构),建议开启。


二、一个必须避开的巨坑

"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"

这个配置看起来合理,实际上代价极高——不要轻易设置。

本意是阻止 Claude Code 把使用数据上报给 Anthropic,保护隐私。但它有一个隐藏的副作用:

订阅用户的上下文缓存有效期从 1 小时缩短到 5 分钟

这意味着什么?只要你的对话缓存还有效(默认 1 小时内),续接对话的上下文加载基本不额外消耗 Token。一旦缓存被砍到 5 分钟,稍微停一下再回来,就要重新加载系统提示、项目记忆和所有插件配置——每次约 4 到 6 万 Token。

如果你每天用 Claude Code 超过 2 小时,这个配置开启后的 Token 消耗可能是关闭时的数倍。


三、省 Token 的使用习惯

除了配置调整,使用习惯本身对 Token 消耗影响也很大。

不要频繁新开对话

这是单个习惯里性价比最高的一条。

每次新开对话,Claude Code 会消耗 4 到 6 万 Token 来加载:

  • 系统提示(System Prompt)
  • 项目记忆(Memory / CLAUDE.md)
  • 已启用的插件和工具列表

如果当前任务还没结束,或者距离上一条消息不超过 1 小时,不要新开对话,在原对话里继续。缓存有效期内的续接几乎不额外消耗额度。


四、怎么判断是否真的被降智了?

主观感受不可靠,这里提供三个量化指标。

指标 1:读改比

正常状态下,Claude 会大量读取上下文再做修改,读改比约为 6.6 : 1

降智后,它会"看一眼就改",读改比下降到 2 : 1 左右

如果你发现模型改了一大堆代码,但读取的上下文很少,这通常是降智信号。

指标 2:Plan 模式思考深度

在 Plan 模式下,正常状态的思考过程大约是 2200 个 token

降智后,这个数字会跌到 600 左右,思考过程变得非常浅,很多推理步骤被跳过。

指标 3:中断频率

正常情况下,Claude Code 会持续执行直到任务完成再汇报。

如果你发现它频繁在任务中途停下来问"要继续吗",说明它的执行置信度下降了——这是降智的典型表现之一。

工具辅助

可以访问 aistupidlevel.info 查看各模型在不同时间段的实时降智情况。

根据社区统计,Claude Opus 4.6 通常在 晚上 7 点和 11 点 前后会有较明显的性能下滑,这两个时间段可以考虑避开高负荷任务,或者临时提高 MAX_THINKING_TOKENS 来补偿。


五、完整配置参考

{
  "effortLevel": "high",
  "env": {
    "CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1",
    "MAX_THINKING_TOKENS": "31999",
    "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "200000",
    "CLAUDE_CODE_MAKE_NO_MISTAKES": "1"
  }
}

追求极致质量时,把 effortLevel 改成 "max"MAX_THINKING_TOKENS 改成 "131072"


小结

Claude Code 的降智问题本质上是平台在高峰期动态压缩推理预算的副作用,并不是模型能力变差,而是分配给你的计算资源变少了。通过本地配置,我们可以:

  1. 关掉自适应思考,让系统不再自动降档
  2. 设定固定思考预算,确保模型有足够的推理空间
  3. 控制上下文长度,避免超长上下文反向拖累质量
  4. 避开已知高峰时段,减少和系统降智窗口重叠的概率

这些手段不能完全消除降智,但可以显著提高稳定性,让 Claude Code 的表现更接近它真正的能力上限。

如果你也在用 Claude Code,不妨先把这套配置写进去,再用读改比和思考深度两个指标做一次前后对比,看看差异有多大。

Logo

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

更多推荐