"think" 工具:让 Claude 能停下来思考
原文:The "think" tool: Enabling Claude to stop and think in complex tool use situations
导读
"think" tool 是一个专门给 Claude 在 tool-use 中途使用的结构化 scratchpad。它不获取新信息、不改变外部状态,只帮助模型在看到工具结果后停下来核对规则、证据和下一步。
说明:本文按 Agent Learning 的中文阅读页格式,对原文结构与关键技术细节做逐节中文转述与解读;为避免整篇镜像转载,正文保留原文章节脉络、关键数字和术语,但不做逐字复刻。
核心观点
- "think" tool 与 extended thinking 不同:extended thinking 发生在回复前,think tool 可在工具链中途调用。
- 它适合长工具链、多步对话、政策密集环境,以及错误代价高的顺序决策。
- 工具本身无副作用,不查数据、不写状态,只记录结构化推理。
- 在 tau-bench airline 任务中,think + optimized prompting 达到 0.570 pass^1,baseline 为 0.370。
- 展示的 airline 表中,Think + Prompt 在 k=1 达到 0.584,baseline 为 0.332。
- retail 任务中,未提示的 think 达到 0.812 pass^1,baseline 为 0.783。
- 类似 think tool 对 Claude 3.7 Sonnet 的 SWE-bench 0.623 结果有帮助,隔离实验平均提升 1.6%。
- 文章后来更新说明,多数场景现在优先推荐 extended thinking。
正文
为什么需要中途思考
复杂 tool-use workflow 的关键困难往往发生在工具返回之后。模型已经拿到新信息,但还需要把它与用户目标、业务规则、政策约束和历史步骤对齐。
如果没有一个显式停顿点,agent 可能直接继续调用下一个工具,导致没有检查必要信息、误读政策、或者在顺序决策中提前执行不可逆动作。
"think" tool 的设计很克制:它不给模型新能力,也不改变外部状态,只提供一个可审计的中途 scratchpad。
与 extended thinking 的区别
extended thinking 主要发生在模型生成回复之前;而 think tool 可以出现在 response 中途,尤其是在一个或多个 tool results 返回之后。
这使它适合那些“看到新证据后必须重新推理”的任务。例如客服改签、退款政策、订单处理、代码修改后的测试失败分析。
文章后来更新指出,在现代模型能力下,多数场景更推荐 extended thinking。但 think tool 仍然是一个重要设计模式:为高风险中间状态提供无副作用推理节点。
实验结果说明什么
文章给出多个 benchmark 信号。tau-bench airline 中,think + optimized prompting 的 pass^1 为 0.570,baseline 为 0.370,是 54% relative improvement;展示表中 Think + Prompt 在 k=1 达到 0.584,而 baseline 为 0.332。
retail 任务中,未提示 think 的 pass^1 为 0.812,baseline 为 0.783。SWE-bench 场景中,类似 think tool 对 Claude 3.7 Sonnet 的 0.623 结果也有贡献,隔离实验显示平均 1.6% 提升且有统计显著性。
这些数字说明,收益并不是来自工具本身执行了什么,而是来自它改变了模型在复杂流程中的推理节奏。
什么场景适合,什么场景不适合
最适合的场景是工具输出分析、政策密集环境和顺序决策。此时模型需要明确列出适用规则、检查缺失信息、验证 policy compliance,再决定下一步动作。
不适合的场景是简单 instruction following、单次工具调用,或者互不依赖的并行工具调用。此时加入 scratchpad 只会增加 token 和 latency。
换句话说,think tool 应被当作 targeted guardrail,而不是所有任务的默认装饰。
深度解读
这篇文章的价值不只是介绍一个工具,而是提出一种 agent harness 设计思路:在外部行动前插入可解释、无副作用的反思节点。强 agent 的风险往往不是不会行动,而是行动太连续。对于政策、权限、资金、数据修改等任务,系统需要让模型在关键点核对规则和证据。即使今天 extended thinking 覆盖了很多场景,think tool 仍提醒我们:推理能力不仅是模型内部参数,也可以通过工具界面和流程节奏被工程化。
落地启示
- 只在复杂顺序决策和政策密集流程中引入中途思考。
- 让 scratchpad 明确检查规则、缺失信息、工具结果和下一步风险。
- 不要让 think tool 获取信息或改变状态,保持无副作用。
- 用 eval 判断它是否真的提升成功率,而不是默认开启。
- 能用 extended thinking 覆盖时,优先使用现代内建推理能力。