延展思考技巧
本指南提供了高级策略和技巧,帮助您充分利用Claude的延展思考功能。延展思考允许Claude逐步解决复杂问题,提高在困难任务上的表现。
查看延展思考模型以获取关于何时使用延展思考的指导。
开始之前
本指南假设您已经决定使用延展思考模式,并已经查看了我们关于如何开始使用延展思考的基本步骤以及我们的延展思考实施指南。
延展思考的技术考量
- 思考令牌的最小预算为1024个令牌。我们建议您从最小思考预算开始,然后根据您的需求和任务复杂性逐步增加调整。
- 对于最佳思考预算超过32K的工作负载,我们建议您使用批处理以避免网络问题。推动模型进行超过32K令牌思考的请求会导致长时间运行的请求,可能会遇到系统超时和开放连接限制。
- 延展思考在英语中表现最佳,尽管最终输出可以是Claude支持的任何语言。
- 如果您需要低于最小预算的思考,我们建议使用标准模式,关闭思考功能,使用带有XML标签(如
<thinking>
)的传统思维链提示。请参阅思维链提示。
延展思考的提示技巧
先使用一般指令,然后用更详细的步骤指令进行故障排除
Claude通常在高层次指令下表现更好,只需要深入思考任务,而不是提供规定性的逐步指导。模型在解决问题时的创造力可能超过人类规定最佳思考过程的能力。
例如,不要这样:
考虑这样:
话虽如此,Claude在需要时仍然可以有效地遵循复杂的结构化执行步骤。与之前的版本相比,模型可以处理更长的列表和更复杂的指令。我们建议您从更一般化的指令开始,然后阅读Claude的思考输出,并通过迭代提供更具体的指令来引导其思考。
使用延展思考进行多样本提示
多样本提示与延展思考配合良好。当您向Claude提供如何思考问题的示例时,它将在其延展思考块中遵循类似的推理模式。
您可以在延展思考场景中的提示中包含少量示例,方法是使用XML标签,如<thinking>
或<scratchpad>
,以指示这些示例中的规范延展思考模式。
Claude将把这种模式推广到正式的延展思考过程中。然而,让Claude自由地以它认为最佳的方式思考可能会获得更好的结果。
示例:
使用延展思考最大化指令遵循
启用延展思考时,Claude在遵循指令方面显示出显著改进。模型通常:
- 在延展思考块内推理指令
- 在响应中执行这些指令
要最大化指令遵循:
- 清晰明确地表达您的需求
- 对于复杂指令,考虑将其分解为Claude应该有条不紊地处理的编号步骤
- 给Claude足够的预算来在其延展思考中充分处理指令
使用延展思考来调试和引导Claude的行为
您可以使用Claude的思考输出来调试Claude的逻辑,尽管这种方法并不总是完全可靠的。
为了最好地利用这种方法,我们建议以下技巧:
- 我们不建议在用户文本块中传回Claude的延展思考,因为这不会提高性能,实际上可能会降低结果质量。
- 明确不允许预填充延展思考,手动更改模型思考块后的输出文本可能会因模型混淆而降低结果质量。
当关闭延展思考时,标准的assistant
响应文本预填充仍然是允许的。
有时Claude可能会在助手输出文本中重复其延展思考。如果您想要一个干净的响应,请指示Claude不要重复其延展思考,只输出答案。
充分利用长输出和长形式思考
对于数据集生成用例,尝试使用诸如”请创建一个极其详细的表格…”之类的提示来生成全面的数据集。
对于详细内容生成等用例,您可能希望生成更长的延展思考块和更详细的响应,请尝试以下技巧:
- 增加最大延展思考长度并明确要求更长的输出
- 对于非常长的输出(20,000+字),请要求提供详细的大纲,包括段落级别的字数。然后要求Claude将其段落索引到大纲中并保持指定的字数
我们不建议您为了输出更多令牌而推动Claude输出更多令牌。相反,我们鼓励您从小的思考预算开始,并根据需要增加,以找到适合您用例的最佳设置。
以下是由于更长的延展思考而使Claude表现出色的示例用例:
让Claude反思并检查其工作以提高一致性和错误处理
您可以使用简单的自然语言提示来提高一致性并减少错误:
- 在宣布任务完成之前,要求Claude通过简单的测试验证其工作
- 指导模型分析其前一步骤是否达到了预期结果
- 对于编码任务,要求Claude在其延展思考中运行测试用例
示例: