📚AI 编程官方教程中文版
🧠 从原理到实战

05 · AI 怎么决定想多深

上篇讲了怎么和 Claude 对话,核心是「给什么信息」。但翔宇在实际使用中碰到一个有趣的现象:让它改个变量名,秒回;让它设计一个缓存架构,它会停下来想很久,而

上篇讲了怎么和 Claude 对话,核心是「给什么信息」。但翔宇在实际使用中碰到一个有趣的现象:让它改个变量名,秒回;让它设计一个缓存架构,它会停下来想很久,而且想完之后的回答明显更周全。这背后藏着一个很值得拆的设计——拆完之后你会发现,AI 的「聪明」原来还有一个旋钮可以拧。——翔宇


要点速览

  1. 你将理解 AI 回答问题的「深浅」是可以调节的,就像汽车的变速箱
  2. 你将理解 effort 参数的四个档位各自适合什么场景
  3. 你将理解为什么不能永远拉满——过度思考有实际代价
  4. 你将理解三层控制体系(全局 / 会话 / 单次)的设计逻辑

1. 从一个现象开始

你让 Claude Code 帮你改个变量名。它几乎瞬间完成。

然后你让它设计一个分布式缓存系统的架构。同一个 AI,同一个模型,这次它思考了很久,输出了一段长长的分析——考虑了一致性、分区容错、读写分离、缓存失效策略……

这两次体验的差异不是随机的。Claude 在回答之前,主动选择了不同深度的思考模式。

这就引出了一个问题:AI 是怎么决定「想多深」的?你能不能控制它?


2. 先从人的思考说起

这个问题有一个很好的类比入口——人脑。

心理学家丹尼尔·卡尼曼在《思考,快与慢》里提出了一个著名的发现:人脑有两套思考系统。

系统 1——快思考。不费力、自动运行、近乎直觉。你看到 2+2,脑子里直接蹦出 4,不需要「算」。你看到一张愤怒的脸,瞬间知道对方在生气。

系统 2——慢思考。费力、需要集中注意力、消耗能量。你计算 37×48,必须一步一步算。你分析一份合同的法律风险,需要逐条审视。

🎨 打个比方 买杯咖啡,你扫一眼菜单选最常喝的,三秒搞定——系统 1。签房贷合同,你逐条看利率和违约条款——系统 2。不是系统 2 更好,是不同的事需要不同深度的思考。买咖啡动用系统 2 分析产地和烘焙曲线,你不会得到更好的咖啡,只会浪费十五分钟。

卡尼曼的核心洞察是匹配——合适深度的思考对应合适复杂度的问题。

AI 的设计者把这个思路搬进了 Claude。


3. 给 AI 装一个变速箱

在 Claude Code 的早期版本里,AI 处理所有问题用的是差不多的深度——像一辆只有一个档位的车,不管是停车场挪车还是上高速,都是同一个速度。

结果很自然:简单问题上浪费了资源,复杂问题上深度又不够。

Anthropic 后来给 AI 装上了「变速箱」——自适应思考(Adaptive Thinking)。Opus 4.6 和 Sonnet 4.6 能根据问题的复杂度自动调节思考深度。简单问题快速回答,复杂问题自动深入。

而你手里有一个控制器,可以手动覆盖这个自动判断。这个控制器叫 effort 参数

effort 控制的是 AI 在回答之前「想多深」。你把档位从 low 拨到 high,它不是变慢了,是在脑子里多走了几步推理。速度的变化只是深度变化的副产品。


4. 四个档位,像做菜一样理解

effort 有四个级别。用厨师做菜来理解最直观。

low——热一碗昨天的剩饭。微波炉叮两分钟,不需要任何厨艺。做法只有一种,不存在「怎么热更好吃」的问题。

对应任务:格式转换、变量改名、简单问答。这些任务的答案几乎是确定的,不需要权衡取舍。low 模式下的输出质量和 high 几乎没区别——热剩饭不需要米其林大厨,谁热都一样。

medium——炒一盘家常番茄炒蛋。需要掌握火候、调味,但不至于翻车。有点发挥空间,但大方向很清楚。

对应任务:日常编码、普通 Bug 修复、代码审查。这是大多数编程任务的舒适区,也是 Claude Code 的默认档。

high——做一桌年夜饭。八个菜,有凉有热,得考虑上菜顺序、口味搭配、食材时令。每道菜都有多种做法,需要权衡取舍。

对应任务:复杂 Bug 调试(多模块交互)、架构设计、安全审查。这些任务有十几种可能的方案,需要逐一检验假设。

max——给一场婚宴设计整套菜单。200 人,有忌口有过敏,预算有限,还要考虑地方口味和季节食材。每个决定都互相牵连,一个选错后面全要改。仅 Opus 4.6 支持。

对应任务:安全审计、数据迁移方案、关键架构变更——一旦做错代价极大的决策。

💬 通俗讲 low 是散步,medium 是骑车,high 是开车,max 是坐飞机。你不会坐飞机去楼下便利店买水,也不会走路从北京到上海。

5. 为什么不能永远拉满

到这里你可能想:既然 max 最强,全都设成 max 不就完了?

这是唯一一处需要纠偏的直觉——因为过度思考有三重代价。

第一,占桌子。 第 2 篇讲过上下文窗口是一张有限的桌子。AI 的思考过程本身也要占空间。effort 越高,思考过程越长,留给你的代码和文件的空间就越少。

第二,花钱。 每个 token 都有成本。一天交互一百次,八十次是简单任务,全用 high 等于每天多花几倍的钱在不需要深度思考的事情上。

第三,可能「想多了」。 这一点最不直觉——一个简单的变量改名,如果用 max 深度去处理,AI 可能会考虑一些根本不存在的场景,给出过度复杂的方案。就像让哲学教授回答「2+2 等于几」,他可能给你写一篇数学本体论的论文,而你只需要「4」。

🧠 底层逻辑 过度思考不仅浪费资源,还可能降低质量。这和卡尼曼的发现一致——用系统 2 做系统 1 的事,不会更好,反而更差。


6. 一个判断框架

怎么决定用哪个档?问自己一个问题:这个任务有几种「合理但不同」的解决方案?

方案唯一 → low。需要选择 → medium。需要权衡 → high。不容有失 → max。

大多数时候你不需要主动设置——Claude 的自适应思考会自动判断。但当你觉得它在某个问题上「想得太浅」或「想得太深」时,你知道有这个旋钮可以拧。


7. 三层控制:从粗到细

effort 有三层控制,各管各的范围。

全局默认。 通过 /config 设一次,以后每次对话都用这个值。大多数人设 medium 就够了。

会话级别。 按 Cmd+T(macOS)或 Meta+T 切换扩展思考开关。开启后这次会话里 AI 倾向于更深的思考,关掉则回到默认。适合你正在做一段需要深度分析的工作,但不想改全局。

单次触发。 在提示词里加一个关键词 ultrathink,AI 对这一个问题使用 high 级别的思考深度,下一个问题恢复默认。

三层的优先级是:单次 > 会话 > 全局。即使全局设的是 low,某个问题前加了 ultrathink,这个问题也会用 high 深度。这个设计很合理——你对特定问题的判断应该能覆盖笼统的默认值。

想一想:如果只有一层控制(比如只有全局),会带来什么具体的不便?


8. 串一下前五篇

到这里可以把前五篇的概念串起来了。

第 1 篇的位置决定了 AI 能看什么 → 第 2 篇的上下文决定了它能同时看多少 → 第 3 篇的记忆决定了它跨会话能记住什么 → 第 4 篇的对话决定了你怎么把信息传给它 → 本篇的思考深度决定了它怎么处理这些信息。

前四篇解决的是「信息输入」,本篇解决的是「信息处理」。你给了完美的信息,但处理深度不对,结果还是会偏。反过来,处理深度拉满但输入的信息质量不行,一样白搭。

两者缺一不可。


9. 你真的懂了吗

这篇拆了一个概念:思考深度(effort)

费曼检验时间:

  • 如果朋友问你「effort 是干嘛的」,你能不用术语解释清楚吗?
  • effort 的四个级别分别适用于什么场景?你能各举一个你实际工作中的例子吗?
  • 为什么把所有任务都设成 max 反而可能更差?你能说出具体的三重代价吗?
  • 三层控制体系(全局 / 会话 / 单次)为什么要设计成三层?如果只有一层,会出什么问题?

10. 这篇在概念网络中的位置

前四篇构建了 Claude Code 的信息流:位置 → 上下文 → 记忆 → 对话。本篇在信息流的终点加了一层——AI 怎么处理这些信息。

接下来有两条路:

  • 你知道了 AI 怎么思考。但 AI 不只是一个「回答问题的人」——它可以被赋予「技能」,让它在特定场景下表现得像专家。 → 下一篇「技能」
  • 你想知道 AI 怎么把自己「分身」成多个专家同时工作 → 第 7 篇「proxy」可以独立阅读(建议先读第 6 篇)

On this page