你有没有觉得,有时候Claude Code回答得太啰嗦,有时候又思考得不够深入?

这不是AI"心情"不好,而是"思考深度"的调节问题。今天咱们聊聊Claude Code的三大利器:Effort、Fast Mode和Thinking,看它们怎么控制AI的"脑力消耗"。

为什么要控制推理深度?

deeper thinking ≠ better results

对于"把变量名从foo改成bar",让AI思考10秒钟是浪费;对于"重构整个认证模块的错误处理",快速浅层响应则会产出低质量代码。

Claude Code通过三个机制控制推理深度:

  • Effort:推理努力等级(low/medium/high/max)
  • Fast Mode:Opus 4.6加速模式
  • Thinking:思维链配置(adaptive/enabled/disabled)

Effort:四级推理努力度

Effort是Claude API的原生参数,控制模型投入多少"思考时间"。

四个等级

等级描述适用场景
low快速、直接实现简单重命名、添加注释
medium平衡方式标准实现和测试
high全面实现复杂架构决策
max最深推理仅Opus 4.6可用

max等级的限制:只有opus-4-6和内部模型支持。其他模型使用max会被降级为high。

优先级链

Effort实际值由三层优先级决定:

环境变量 CLAUDE_CODE_EFFORT_LEVEL(最高优先级)
    ↓ 未设置
AppState.effortValue(/effort命令或UI设置)
    ↓ 未设置
模型默认值
    - Opus 4.6 Pro用户 → medium
    - Ultrathink启用 → medium
    - 其他 → undefined(API默认high)

为什么Opus 4.6默认medium?

这是经过A/B测试的决策。大多数编程交互不需要最深推理,降低默认effort可以:

  • 显著提升吞吐量
  • 降低延迟
  • 减少成本

用户需要深度推理时,可以用ultrathink关键词临时提升(见下文)。

数值型Effort(内部专用)

内部用户可以用数值型effort(0-100),映射规则:

  • ≤50 → low
  • ≤85 → medium
  • ≤100 → high
  • 100 → max

数值型不持久化到设置文件,只存在于会话运行时。

Fast Mode:Opus 4.6加速

Fast Mode(内部代号"Penguin Mode")让非Opus模型也能使用Opus 4.6的能力。

工作原理

当用户主模型不是Opus时,特定请求可以路由到Opus 4.6获得更高质量响应。

硬绑定到Opus 4.6

if (Fast Mode开启 && 条件满足) {
    路由到Opus 4.6
} else {
    使用原始模型
}

如果用户已经在用Opus 4.6,Fast Mode就是它本身(无变化)。

可用性检查

Fast Mode有一系列检查:

  • Statsig远程关闭(最高优先级)
  • 非原生二进制(可选检查)
  • SDK模式(默认不可用)
  • 非一方提供商(Bedrock/Vertex不支持)
  • 组织级禁用

冷却状态机

Fast Mode有精巧的冷却机制:

active(正常)
    ↓ 触发冷却(速率限制/服务过载)
cooldown(冷却中,记录resetAt时间)
    ↓ 时间到期
active(恢复)
    ↓ 组织禁用
disabled(永久禁用)

惰性过期检测:不使用定时器,每次查询状态时检查。这避免了定时器资源消耗。

三态输出

用户看到的Fast Mode状态:

  • on:正常运行,显示加速图标
  • cooldown:临时降级,显示提示
  • off:未启用

Thinking:思维链配置

Thinking控制模型是否输出推理过程。

三种模式

模式API表现适用条件
adaptive模型自行决定思考多少Opus 4.6、Sonnet 4.6等新模型
enabled固定token预算的思维链不支持adaptive的旧Claude 4模型
disabled不输出思维链API验证、低开销调用

模型兼容性分层

modelSupportsThinking():检测是否支持思维链

  • 一方和Foundry:Claude 3以外的所有模型
  • 三方(Bedrock/Vertex):只有Sonnet 4+和Opus 4+

modelSupportsAdaptiveThinking():检测是否支持adaptive模式

  • 只有4.6版本明确支持
  • 一方和Foundry默认true(新模型都训练了adaptive thinking)
  • 三方默认false

shouldEnableThinkingByDefault():决定是否默认启用

  • 环境变量MAX_THINKING_TOKENS > 0 → 启用
  • 设置alwaysThinkingEnabled === false → 禁用
  • 默认 → 启用

与Effort的交互

当Effort为medium且Thinking为adaptive时:

  • 模型选择较少的推理
  • Ultrathink将Effort提升到high
  • Adaptive thinking相应增加推理深度

这就是"中等默认值+零摩擦升级"的设计哲学。

Ultrathink:关键词触发的深度推理

Ultrathink是一个巧妙的交互设计:在消息中包含ultrathink关键词,自动将Effort从medium提升到high。

双重门控

if (ULTRATHINK功能开关开启 && GrowthBook运行时Flag启用) {
    检测关键词
}

关键词检测

使用词边界匹配(\b),大小写不敏感:

/\bultrathink\b/i.test(text)

附件注入

Ultrathink不直接修改API参数,而是通过附件系统:

[{ type: 'ultrathink_effort', level: 'high' }]

转换为系统提醒消息:

用户请求了reasoning effort level: high。Apply this to the current turn.

让模型在adaptive thinking模式下自行调整。

彩虹UI

Ultrathink激活时,UI以彩虹色显示关键词,给用户视觉反馈。

三个机制的协同

用户输入
包含"ultrathink"? → 注入ultrathink_effort附件
resolveAppliedEffort(model, appState.effortValue)
Effort值 → 发送到API的effort参数
Fast Mode检查 → 可能路由到Opus 4.6
Thinking配置 → adaptive/enabled/disabled
API调用: messages.create({ model, effort, thinking })

关键交互点

  • Effort + Thinking:adaptive模式下,effort越高思考越深
  • Fast Mode + Effort:Fast Mode改变模型,Effort改变同一模型的推理深度
  • Fast Mode + Thinking:路由到Opus 4.6时,自动支持adaptive thinking

实战:如何调优推理深度

场景1:简单代码修改

/effort low

重命名变量、添加注释等简单任务,用low减少延迟。

场景2:复杂架构决策

/effort high

或直接输入:

请帮我设计这个模块的接口 ultrathink

场景3:环境变量固定策略

团队统一策略:

export CLAUDE_CODE_EFFORT_LEVEL=high

设为unsetauto则不发送effort参数,使用服务端默认值。

场景4:Fast Mode冷却

当Fast Mode因速率限制进入冷却,系统会自动回退到原始模型。冷却是临时的,到期自动恢复,无需手动干预。

场景5:禁用Adaptive Thinking

需要强制固定预算模式:

export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=true

设计洞察

“中等"作为默认值的哲学

Opus 4.6对Pro用户默认medium而非high,反映了一个权衡:

  • 大多数编程交互不需要最深推理
  • 降低默认effort提升吞吐量和降低延迟
  • Ultrathink提供零摩擦升级路径

惰性状态检查的模式

Fast Mode冷却过期检测不使用定时器,而是在每次查询状态时惰性计算。这避免了定时器资源开销和竞态条件。

持久化的谨慎边界

  • max effort不对外部用户持久化
  • 数值型effort不持久化
  • Fast Mode的per-session opt-in选项

这些设计遵循同一原则:高开销配置不应跨会话泄漏

总结

Effort、Fast Mode和Thinking构成Claude Code的推理控制面板:

  • Effort四级:low/medium/high/max,控制思考深度
  • Fast Mode:让非Opus模型也能使用Opus 4.6
  • Thinking三模式:adaptive/enabled/disabled,控制思维链
  • Ultrathink:语义化控制接口,零摩擦升级

这就像:

  • Effort是"脑力档位”
  • Fast Mode是"涡轮增压"
  • Thinking是"自言自语开关"
  • Ultrathink是"紧急深度思考按钮"

理解这三个机制,你就能:

  • 根据任务复杂度选择合适的推理深度
  • 平衡响应速度和质量
  • 在自己的AI Agent中实现类似的控制

下篇咱们聊聊89个Feature Flag——Claude Code的"秘密开关"。