为什么要让 Claude 思考?

想象一下,如果你被叫醒后立即被要求回答一系列复杂的问题。如果你先花些时间思考答案,你的表现可能会更好,对吗?这同样适用于 Claude!

在回答之前允许 Claude 推理问题可以得到更准确和智能的输出,特别是对于多方面或具有挑战性的查询。通过明确指示 Claude 逐步思考,你可以鼓励采用更有条理和彻底的解决问题方法。

此外,检查 Claude 的思维过程对于故障排除和识别提示指令可能不清楚或容易被误解的地方是非常宝贵的。

重要的是要注意,没有输出就不可能发生思考!Claude 必须输出其思考过程才能真正”思考”。


如何提示逐步思考

鼓励逐步思考的最简单方法是在提示中包含”逐步思考”这个短语。例如:

角色内容
用户《大白鲨》和《皇家赌场》的导演是否来自同一个国家?请逐步思考。

然后,Claude 会在提供最终答案之前分解其思考过程:

角色内容
Assistant (Claude 的响应)为了确定电影《大白鲨》和《皇家赌场》的导演是否来自同一个国家,让我们分步骤来分析:

步骤 1:确定电影《大白鲨》的导演。
《大白鲨》的导演是史蒂文·斯皮尔伯格。

步骤 2:确定史蒂文·斯皮尔伯格的原籍国。
史蒂文·斯皮尔伯格出生于美国俄亥俄州辛辛那提。

步骤 3:确定电影《皇家赌场》的导演。
2006年电影《皇家赌场》的导演是马丁·坎贝尔。

步骤 4:确定马丁·坎贝尔的原籍国。
马丁·坎贝尔出生于新西兰黑斯廷斯。

步骤 5:比较两位导演的原籍国。
史蒂文·斯皮尔伯格来自美国,而马丁·坎贝尔来自新西兰。

因此,《大白鲨》和《皇家赌场》的导演不是来自同一个国家。

对于更复杂的查询,你可以通过指定 Claude 应采取的步骤来指导其思考。这里有一个例子:

角色内容
用户使用以下线索回答下面的多项选择题,并按照以下步骤进行:
1. 逐一检查线索,考虑每个线索是否可能相关
2. 结合相关线索推理出问题的答案
3. 将答案映射到多项选择选项之一:(a)、(b) 或 (c)

线索:
1. Scarlett 小姐是休息室里唯一的人。
2. 拿着烟斗的人在厨房里。
3. Mustard 上校是天文台里唯一的人。
4. Plum 教授既不在图书馆也不在台球室。
5. 拿着烛台的人在天文台。

问题:Mustard 上校是否拿着烛台在天文台?
(a) 是的;Mustard 上校拿着烛台在天文台
(b) 不是;Mustard 上校没有拿着烛台在天文台
(c) 未知;没有足够的信息来确定 Mustard 上校是否拿着烛台在天文台

通过概述清晰的思考过程,你可以帮助 Claude 将其推理集中在最相关的信息上,并确保它考虑所有必要的因素以在给定任务中表现良好。


捕捉 Claude 的思考过程

为了更容易将 Claude 的逐步推理与其最终响应分开,请考虑使用 XML 标签,如 <thinking><answer>。你可以指示 Claude 将其思考过程放在 <thinking> 标签内,将其最终答案放在 <answer> 标签内。

这是一个使用此方法的示例提示:

角色内容
用户[提示的其余部分] 在回答问题之前,请在 <thinking></thinking> 标签内逐步思考。然后,在 <answer></answer> 标签内提供你的最终答案。

你甚至可以在 Assistant 角色中预填 <thinking> 标签,以指导 Claude 从何处开始:

角色内容
Assistant (预填)<thinking>

然后,Claude 将在标签内完成其思考过程并提供其最终答案:

角色内容
Assistant (Claude 的响应)[逐步推理问题]
</thinking>

<answer>[最终答案]</answer>

使用标签可以在后处理期间轻松地仅提取 <answer></answer> 标签内的最终答案(如果需要)。


一些注意事项

虽然鼓励逐步思考可以极大地增强 Claude 的响应,但请记住以下几点:

  • 除非允许 Claude 输出其思考过程,否则无法进行思考。没有办法让 Claude 私下思考并只返回最终答案。
  • 提示逐步推理会增加 Claude 输出的长度,这可能会影响延迟。在决定是否使用此技术时,请考虑这种权衡。

其他资源

  • 提示工程技术:探索其他优化提示和增强 Claude 性能的策略。
  • Anthropic cookbook:浏览一系列 Jupyter 笔记本,其中包含可复制的代码片段,展示了使用 Claude 的高效和高级技术、集成和实现。
  • 提示库:从精选的各种任务和用例提示中获得灵感。