1.7 编写 Prompt 的通用思路之四——思维链

在前面的几章中,除了认识编写 Prompt 时的核心理念「格式大于内容」,我们也一同认识了「分步」「举例」以及「填空」这三种通用思路。在本章中我们将一起认识最后一种通用思路——思维链(CoT)。

什么是思维链(CoT)

自从GPT等大型语言模型问世以来,人们始终在研究通用的、量化的 Prompt 编写策略,以便在使用时仅需投入最少的精力和时间,就能获得最佳的输出效果。

于是,通过不断研究,一种名为「思维链」的创新 Prompt 应运而生。该策略巧妙地整合了分步处理和示例解析的方法,旨在激发 GPT 的潜能,使其能逐步解决问题并详细阐述各个步骤。经验证,这种方法不仅能提高模型答题质量,还能增强其对复杂问题的解析能力。

总的来说,思维链是一种专门针对大语言模型的 Prompt 优化方法,可以看做是分步和举例方法的结合。它的核心目标是鼓励 GPT 对问题使用分步回答,并且解释自己每一步的过程

思维链的使用技巧

完整的思维链

思维链可以让 GPT 形成思路,进而有能力理解和解决更加复杂的问题。下面是一种比较通用的 Prompt 模板:

你的问题(如:苹果为什么是红的?)
{{子问题n}}
{{子问题n的解释过程}}
在解决这个问题之前,必须解决哪些子问题?按照上面格式一步步地思考

问题:小明有 100 块钱,去商店买零食需要支付 50 块,老板给小明打了 9 折,
     接着在路上捡到了 30 块钱,小明现在有多少钱?
答案:最初小明有 100 元,买零食打 9 折需要 50*0.9=45 元,小明还剩 100-45=55 元,
     接着捡到 30 元,小明最终有 55+30=85 元
问题:小方有 200 块钱,去买零食花了 30 元,打车需要 20 元,打 8 折,接着去饭店
     吃饭花了 78 元,最后在路边花 2 元买了刮刮乐中了 500 元,小方现在有多少钱?
答案:

在实际使用中,你可以按照上述的例子直接把问题复制上去,也可以手动将问题细分。将问题细分得越详细,将越能帮助 GPT 深入分析和理解问题。特别地,当你手动添加了例子并提供解释过程时,GPT 会尝试模仿你的解释方式来解决问题,从而生成更准确的内容。

虽然思维链具有实用性,但它也存在收集大量额外素材的缺陷,相较于这几种技巧中最耗时的举例方法,其内容需求更多。

零样本思维链

虽然思维链具有一定实用性,但它也存在一个缺陷,也就是需要额外收集大量素材;甚至于相较于举例法,思维链需要收集的内容明显会更多。

这时候,我们希望GPT能更智能一些,无须手动输入过多内容,就能自主地运用一定的逻辑解决问题。零样本思维链就是为这种场景准备的,其目标与完整的思维链相同,即激发 GPT 分步解决问题的能力并解释相关过程。

零样本思维链的使用十分简单,只需要在我们原本的 Prompt 后面加上下面这句话:

中文英文任选一句即可,无需额外操作,很方便就能实现思维链的效果。算是性价比非常高的 Prompt 优化方法了,我自己测试中发现英文的效果会更好一点。

GPT-3.5 零样本思维链的效果对比

网上的大多数教程仅提供前半部分,我提供的是相对较新、更全面的完整版。经过专业测试后,完整版的效果明显优于仅前半部分的版本。

实际上,由于思维链本身具有较强的科学性和严谨性,它不仅符合模型的特点,还可以适用于从简单到复杂的大部分问题。因此,包括 GPT 在内的许多模型在内部提示优化时已经采用了思维链。虽然我们再次使用时效果可能不如之前那么明显,但我们仍然可以在自己的问题中使用它,以达到更高的优化效果。

思维链优化方式的优势

  • 更清晰地解答过程:通过将问题分解为多个子问题,思维链优化方式能够帮助 GPT 生成更清晰、更易于理解的答案。这种方法鼓励模型从不同角度分析问题,并按照逻辑顺序进行解答。

  • 更深入地思考:思维链鼓励 GPT 深入思考问题,并尝试解释其解答过程中的每一步。这样做有助于模型理解问题的本质,从而生成更为准确和全面的答案。

  • 适应性更强:思维链优化方式适用于多种类型的问题,包括复杂问题和需要多个步骤才能解决的问题。通过逐步解答子问题,这种方法可以适应不同的问题背景和难度。

  • 更易于沟通和展示:在解答问题的过程中,思维链优化方式可以更好地展示 GPT 的思考过程。这有助于用户了解模型如何分析问题,以及它在解答过程中的逻辑推理。

  • 更好的教育价值:对于教育场景,思维链优化方式可以帮助学生更好地理解问题的解答过程。通过分解问题并解释每个步骤,学生可以学到更多的知识,同时锻炼自己的思考能力。

  • 能够生成更长的内容:有时候 GPT 简洁概念的回答方式,生成的内容对于我们的需求而言有些过于短了,这个时候就可以用上思维链的优化方式,通常会得到更长的生成内容。

思维链适合的问题类型

  • 复杂性问题:这种问题通常涉及多个步骤,概念,或者需要应用多种原理才能解决。例如,解释一种科学现象,或者需要多个阶段才能达到的工程问题。

  • 需要逐步解决的问题:这些问题需要逐步分析和推理,例如数学问题,物理问题,编程问题等。

  • 决策问题:这些问题需要考虑和权衡多个因素才能作出决策,例如商业决策,道德困境,或者政策决策。

  • 创新性问题:这些问题需要多个步骤和创新的想法才能形成完整的解答,例如设计问题,艺术创作,或者其它需要创新思维的问题。

  • 长篇问题:这些问题可能需要较长篇幅的解答,而这正是思维链方法优秀的地方,例如解释一个复杂的历史事件,或者描述一个复杂的制造过程。

总之,思维链优化方法对于任何需要详尽、有逻辑并且步骤明确的解答都是有益的。

写在最后

在本篇文章与之前的三篇文章中,我们一同深入学习了 Prompt 优化的四大技巧——举例说明、分步解答、填空和思维链,这些都是大语言模型在理解问题和提供高质量回答的过程中的有效工具。每一种技巧都有其特点,能够解决不同类型的问题,无论是简单问题的直接回答,还是复杂问题的详细解析。

我们还了解到,通过引导并激发 GPT 思维,可以获得更清晰、更深入的回答。利用分步解答与思维链,把复杂问题拆成易于处理的子问题,使 GPT 解答过程更透明且符合人类思维习惯。然而,这些技巧仅是工具,真正关键在于如何适应并运用。掌握这些技巧已具备优化 Prompt 能力,只需理解背后原理即可灵活运用,实现最大效果。当然,针对不同问题需采用相应策略与组合。

从下一章开始,我们将重点关注特定内容的准确性问题。主要关注如何更好地将 GPT 应用于不同场景和问题,以实现预期效果。

最后,要记住,无论学习什么新的技巧和方法,最关键的是将它们真实地应用于自己的实际问题,并学会灵活组合。只有实际尝试并应用这些技巧,大家才能真正领悟各个方法背后的价值和能力的上下限。

最后更新于