11.5 扩展思考模式
概述
扩展思考是 Claude Sonnet 4.7+ 和 Opus 4.7+ 模型的高级推理能力。当启用后,Claude 会在生成响应前进行更深入的多步推理,特别适合处理复杂问题、代码重构、架构设计等需要深入分析的任务。
工作原理
启用扩展思考后:
- Claude 会在后台进行更长时间的「思考」
- 将复杂问题分解为多个子问题逐步解决
- 在生成最终答案前进行多轮推理验证
- 思考过程不消耗额外 Token,但会消耗更多计算时间
模型支持
| 模型 | 支持状态 |
|---|---|
| Sonnet 4.7+ | 支持 |
| Opus 4.7+ | 支持 |
| Haiku | 不支持 |
| 旧版 Sonnet/Ops | 不支持,会报错 thinking.type.enabled not supported |
启用方式
会话中启用
/model sonnet-4-7 # 切换到 Sonnet 4.7
/thinking on # 启用扩展思考
配置文件默认启用
# ~/.claude/settings.json
{
"model": "sonnet-4-7",
"thinking": {
"enabled": true
}
}
临时禁用
/thinking off # 临时关闭扩展思考
适用场景
复杂代码重构
当需要对大型代码库进行重构时,扩展思考能更好地:
- 理解代码间的依赖关系
- 规划重构步骤避免破坏现有功能
- 预测可能的副作用并提前处理
架构设计
设计新系统时,扩展思考帮助:
- 综合考虑性能、可扩展性、可维护性
- 权衡不同技术方案的利弊
- 识别潜在风险和隐患
调试复杂 Bug
面对难以复现的问题:
- 分析可能的原因链
- 设计验证步骤
- 排除干扰因素定位根因
性能考虑
- 响应时间:启用后响应会明显变慢(多阶段推理)
- Token 消耗:思考过程消耗额外 Token
- 适用性:简单任务(如单文件修改)无需启用
与 /think 的区别
| 特性 | Extended Thinking | /think 命令 |
|---|---|---|
| 触发方式 | 模型内置能力 | 用户手动调用 |
| 持续时间 | 整个会话 | 单次交互 |
| 适用场景 | 复杂长任务 | 特定问题深入分析 |
| 模型要求 | Sonnet 4.7+ / Opus 4.7+ | 所有模型 |
错误处理
如果遇到 thinking.type.enabled not supported 错误:
- 确认使用的是 Sonnet 4.7+ 或 Opus 4.7+
- 使用
/model命令切换到支持的模型 - 检查 settings.json 中的模型配置