【Claude】Claude Code 扩展思考模式深度指南think / ultrathink 让 AI 突破推理瓶颈前言你有没有发现有些问题 Claude 回答得飘忽不定——同样的问题今天给出方案A明天给出方案B或者在复杂的多步推理中途跑偏最终给出一个似是而非的答案这是大语言模型的固有特性默认情况下模型的推理深度是有限制的。当问题足够复杂时Claude 可能在没有充分推理的情况下就输出了答案导致表面上看起来合理但实质上有缺陷的结论。**Extended Thinking扩展思考**机制正是 Anthropic 为解决这一问题而设计的核心技术。通过给 Claude 分配更多的思考预算让它在输出之前进行更深层次的推理从而在复杂问题上达到质的飞跃。本文基于官方文档与社区实战带你全面掌握扩展思考的使用方法和最佳场景。一、扩展思考的工作原理1.1 思考预算给 AI 分配思考时间普通 LLM 的工作方式输入 → [单次前向传播] → 输出Extended Thinking 的工作方式输入 → [思考阶段N次推理迭代] → [输出阶段基于深度推理的回答]思考阶段的内容对用户不可见但会消耗 Token 预算。不同思考级别分配的 Token 预算思考指令思考 Token 预算适用场景think~4K tokens需要轻度推理的问题think hard~8K tokens需要多步推理的问题think harder~16K tokens复杂算法、架构设计ultrathink~32K tokens最复杂的推理任务/effort max最大预算极限推理注意思考 Token 同样计费使用前请考虑成本/收益比。1.2 扩展思考与 /effort 的关系# 两种方式等价 /effort max # 通过设置激活最大推理 ultrathink # 在提问时直接说这个词 # 分级对应 /effort low ≈ 不使用扩展思考 /effort medium ≈ think /effort high ≈ think hard /effort max ≈ ultrathink二、四级思考指令的使用方法2.1 基础 think轻度推理适用场景需要理清思路的中等复杂问题有一定逻辑推导的算法题需要权衡几个选项的设计决策使用方法你think分析这个 React 组件的性能问题它每次父组件渲染都会重新渲染 [Claude 内部思考分析组件依赖、memo 使用情况、回调函数引用...] Claude输出 分析发现以下问题 1. onSubmit 回调在每次父组件渲染时创建新的函数引用... 2. 建议使用 useCallback 包裹...2.2 think hard中度推理适用场景多文件重构方案的设计算法的正确性证明复杂 bug 的根因分析使用方法你think hard设计一个分布式锁方案需要支持超时自动释放、 锁续期、以及服务崩溃后的自动恢复 Claude 输出[基于更深层推理的详细方案设计...]2.3 think harder深度推理适用场景系统架构设计需要考虑多维度权衡复杂的并发安全问题大型代码库的依赖分析使用方法你think harder我们的微服务之间存在循环依赖 Service A 依赖 BB 依赖 CC 又依赖 A 请设计一个解耦方案不能破坏现有接口 Claude 输出[深度分析循环依赖的原因提出事件驱动解耦、引入中间层等多个方案并详细对比...]2.4 ultrathink极限推理适用场景Claude 之前回答出错或陷入循环的情况极复杂的算法设计如分布式共识算法需要考虑极端边界条件的安全设计使用方法你ultrathink设计一个无锁的高并发计数器 在多核 CPU 上需要精确计数不能有 ABA 问题 同时要最小化 CPU 缓存行竞争false sharing Claude 输出[极深层的并发安全推理包括内存屏障、CPU 缓存行对齐等底层细节...]三、何时使用扩展思考判断标准3.1 适合使用的信号信号一问题有多个约束条件❌ 普通思考够了 给这个函数加上错误处理 ✅ 需要扩展思考 给这个函数加上错误处理要求 - 区分可恢复错误和不可恢复错误 - 可恢复错误自动重试3次指数退避 - 不可恢复错误触发 Circuit Breaker - 所有错误记录到分布式追踪系统 - 不影响主链路延迟P99 10ms信号二Claude 之前给出了错误答案当 Claude 在某个问题上屡次出错或者你能感知到它的答案不够深入时加上think harder往往能显著改善你这段并发代码有竞争条件你之前给的修复方案还是有问题 ultrathink 帮我彻底分析清楚信号三需要多步逻辑推导适合扩展思考的场景 ✅ 证明某个算法的时间复杂度 ✅ 分析数据库查询的执行计划优化 ✅ 设计需要向后兼容的 API 变更 ✅ 分析安全漏洞的完整攻击链信号四答案需要权衡多个相互冲突的目标你think hard我们需要同时满足 1. 高可用99.99% 2. 强一致性 3. 低延迟 5ms 请分析在 CAP 定理的约束下如何尽可能地接近这三个目标3.2 不适合使用的场景❌ 简单直接的任务浪费 Token 把这个变量名从 x 改成 userId 给这个函数写一行注释 把 if-else 改成三元运算符 ❌ 主要是信息检索而非推理的任务 这个库的 API 怎么用查文档比推理更有效 帮我搜索一下这个错误信息 ❌ 创意性任务推理深度对创意帮助有限 给这个变量起一个好听的名字 写一段欢迎邮件四、实战案例案例 1复杂 Bug 分析问题描述生产环境每隔几天出现一次内存泄漏重启可以恢复 但无法稳定复现。初步怀疑是某个缓存没有被正确清理。普通询问效果不佳你我们有内存泄漏帮我看看代码 Claude可能是以下几个原因1. 全局变量积累... 给出的是泛泛的可能性列表缺乏针对性使用 think harder效果显著你think harder分析以下几个文件找出可能导致内存泄漏的位置。 特征每隔几天才出现重启恢复与用户请求量相关。 src/cache/manager.py src/session/store.py src/background/jobs.py Claude 深度分析 基于这三个文件的详细分析 在 cache/manager.py 第 127 行发现了一个潜在的内存泄漏 self._pending_cleanup 字典只在 _do_cleanup() 中清理 但 _do_cleanup() 仅在缓存条目**被命中时**才触发清理 如果某些缓存条目长期没有被访问它们会一直积累在 _pending_cleanup 中。 与每隔几天的特征匹配在低流量时段某些缓存可能数天没有被访问 导致 _pending_cleanup 持续增长... 建议的修复方案添加基于时间的强制清理任务...案例 2系统设计审查场景需要 Claude 审查一个分布式系统设计方案找出潜在问题你think harder我设计了以下分布式消息系统架构 请从以下几个维度深度分析潜在问题 - 单点故障风险 - 消息丢失场景 - 消息重复消费风险 - 在网络分区时的行为 - 扩容/缩容时的影响 [系统架构描述...] Claude 输出[逐维度的深度分析包括具体的失败场景举例和修复建议...]案例 3算法优化场景当前算法时间复杂度 O(n²)需要优化到 O(n log n)你ultrathink以下是一个求最长递增子序列的实现 当前是 O(n²)我需要优化到 O(n log n)。 请不只给我结论要一步步推导为什么这个优化可行 以及关键的正确性证明。 [当前代码...] Claude 输出 [详细的算法推导过程包括为什么可以用二分搜索维护一个单调序列 正确性证明以及与原算法等价性的严格论证...]五、与 /effort 配合使用5.1 全局设置推理级别# 整个会话使用高推理级别 /effort high # 之后的所有问题都使用 think hard 级别的推理 # 适合整个会话都在处理复杂设计问题5.2 单次覆盖即使全局设置了/effort medium你也可以在单个问题里用更高级别的关键词覆盖全局设置/effort medium 你ultrathink 分析这个并发 bug 这一次会用 ultrathink 级别下一次回归 medium六、成本控制策略6.1 估算扩展思考的额外成本普通 Sonnet 请求1K input 500 output≈ $0.003 think4K 思考 token≈ $0.012 额外消耗 ultrathink32K 思考 token≈ $0.096 额外消耗 一个 ultrathink 请求的费用 ≈ 普通请求的 33 倍6.2 使用原则✅ 一次 ultrathink 找到了之前反复探索都找不到的 bug 节省了 5 次普通请求 1 小时排查时间 → 值得 ✅ 用 ultrathink 做系统架构设计 避免了架构决策失误的重构成本 → 值得 ❌ 用 ultrathink 问这个变量名好不好 浪费原则扩展思考是高收益问题的加速器不是所有问题的默认选项。6.3 分层使用策略先用 think 尝试 → 如果答案不够深入 → 升级到 think hard think hard 还是不满意 → 升级到 think harder think harder 仍然出错 → 考虑 ultrathink 不要一开始就直接用 ultrathink逐步升级七、调试扩展思考效果7.1 如何判断扩展思考是否真正起效有些情况下增加思考级别不一定有帮助比如问题的答案取决于外部信息如最新的库文档而不是推理问题过于主观没有更正确的答案问题已经足够简单普通推理就能解决判断方法用不同思考级别分别问同一个问题对比答案质量。如果ultrathink和think的回答质量没有明显差异说明这个问题不需要扩展思考。7.2 常见无效场景❌ 询问库的使用方法 → Claude 的知识来自训练数据更多思考不能创造新知识 → 正确做法直接提供文档链接或使用 MCP 工具获取最新文档 ❌ 要求 Claude 记住上次的对话内容 → 这是记忆问题不是推理问题 → 正确做法使用 CLAUDE.md 或在对话中重新提供上下文 ❌ 生成大量重复性代码 → 这是生成任务不需要深度推理 → 正确做法普通模式 良好的模板/示例八、避坑清单不要把扩展思考当成万能药有些问题的根本在于信息不足而不是推理不够深监控 Token 消耗扩展思考的 Token 消耗可能比你想象的高用/cost追踪先提供充足上下文扩展思考加上充足的上下文 最佳效果缺乏上下文时再深的推理也无法弥补不要依赖扩展思考代替测试即使 Claude 经过深度推理给出的方案也需要通过测试验证对扩展思考的结论保持批判性更多的推理 ≠ 一定正确复杂推理也可能有错误特别是涉及具体业务逻辑时总结扩展思考Extended Thinking是 Claude Code 最独特的竞争力之一。通过四个层级think → think hard → think harder → ultrathink分配不同的推理预算你可以在关键问题上获得远超普通 AI 工具的推理质量。使用建议日常任务普通模式或 /effort low节省成本有一定复杂度的问题think 或 /effort medium架构设计、复杂 bugthink hard/harderClaude 反复出错、极复杂并发/算法问题ultrathink把扩展思考用在值得用的地方——这是提升 Claude Code 输出质量最直接、最有效的方法。