“思考”工具:让Claude在复杂的工具使用场景中停下来思考
“思考”工具通过提供一个专门的空间,让Claude在生成回复的过程中进行结构化推理,显著增强了其处理复杂多步骤任务的能力,从而在政策遵循和工具使用一致性方面取得了显著改进。
“思考”工具是什么以及它如何运作
“思考”工具让Claude在生成最终答案时,能够插入一个额外的思考步骤,并配有专属空间。这一功能不同于Claude的“扩展思考”能力,后者侧重于在回复开始前进行深度规划和迭代。“思考”工具专为Claude已经开始生成回复但需要暂停以评估是否有足够信息继续进行的场景而设计。
区分“思考”与扩展思考
- 扩展思考: 此能力涉及Claude在采取任何行动之前深入考虑并迭代其计划。它最适合于不需要工具的更简单的工具使用、编程、数学和物理问题。
- “思考”工具: 此工具允许Claude在开始生成回复后停下来思考。它在长时间的工具调用链或多步骤对话中特别有用,此时模型需要处理外部信息(例如工具调用结果)以决定下一步行动。“思考”工具执行的推理不如扩展思考全面,而是侧重于过程中发现的新信息。
推荐使用场景
“思考”工具最适合于错误代价高昂且顺序决策至关重要的场景。这些场景包括:
- 在具有详细指南的政策密集型环境中导航。
- 在长时间的工具调用链中仔细分析工具输出。
- 做出每个行动都基于先前行动的连续决策。
相反,对于非顺序的工具调用或约束较少的简单指令遵循,“思考”工具不会带来改进。
在τ-Bench上的性能分析
使用$\tau$-Bench(tau-bench)进行评估,这是一个用于真实客户服务场景的基准测试,结果表明Claude 3.7有效利用“思考”工具时带来了显著改进。$\tau$-Bench使用$\text{pass}^k$指标评估一致性和可靠性,该指标衡量所有$k$次独立任务试验成功的概率。
航空领域的结果
在航空领域,使用优化提示的“思考”工具在$\text{pass}^1$指标上达到了0.570的得分。与基线配置的0.370得分相比,这代表了54%的相对改进。最佳性能是通过将“思考”工具与提供所需推理方法示例的优化提示相结合实现的。
零售领域的结果
在零售领域,单独使用“思考”工具在$\text{pass}^1$指标上达到了0.812的得分,而基线为0.783。由于零售政策比航空政策简单,“思考”工具即使没有额外提示也带来了显著收益。
来自$\tau$-Bench的关键见解
详细分析揭示了两种主要的实现模式:
- 提示的影响: 对于困难领域(如航空领域),将“思考”工具与优化提示相结合能产生显著更好的结果。对于较简单的领域,仅能使用“思考”工具就足以带来改进。
- 一致性: 使用“思考”工具带来的改进在$\text{pass}^k$直到$k=5$时都得以保持,表明该工具有效地帮助Claude处理了边缘情况和异常场景。
在SWE-Bench上的性能分析
当“思考”工具被集成到SWE-bench设置中时,它帮助Claude 3.7 Sonnet取得了0.623的最先进得分。比较使用“思考”工具的30个样本和不使用它的144个样本的实验表明,包含此工具的孤立效应平均提高了1.6%的性能(Welch's $t$-检验:$t_{(38.89)} = 6.71, p < .001, d = 1.47$)。
实施最佳实践
为了最大化“思考”工具的有效性,开发人员应遵循以下实施实践:
1. 使用领域特定示例进行策略性提示
最有效的策略是提供关于何时以及如何使用“思考”工具的清晰说明。提供针对特定用例的示例显著提高了模型的利用率。这些示例应详细说明:
- 推理过程中预期的详细程度。
- 如何将复杂指令分解为可操作的步骤。
- 处理常见场景的决策树。
- 如何验证所有必要信息是否已收集。
2. 将复杂指南放在系统提示中
当关于“思考”工具的指令较长或复杂时,将其放在系统提示中比仅包含在工具描述中更有效。这种方法允许模型在更广泛的上下文中将思考过程整合到其整体行为中。
何时不应使用“思考”工具
虽然“思考”工具提供了显著的好处,但它并非普遍适用,并且确实会增加提示长度和输出令牌。在以下场景中,它不会带来性能改进:
- 非顺序工具调用: 如果Claude只需要进行单个工具调用或多个并行调用,添加“思考”工具不太可能提高性能。
- 简单指令遵循: 如果任务约束很少且Claude的默认行为足够,额外的思考步骤不会带来收益。
结论
研究表明,“思考”工具显著增强了Claude 3.7 Sonnet在需要政策遵循和跨长工具调用链推理的复杂任务上的性能。尽管它不是通用解决方案,但对于正确的使用场景,它以最小的实现复杂性提供了显著的好处。