LLM- Prompt Engineering 提示词工程(二)
前言
通读了最近一篇关于Prompt的文章后,在了解其基本概念方面取得了一定进展。在掌握了核心原则、标准格式以及角色扮演的应用方法后,在实际应用中能够处理一些较为基础的应用场景。然而,在面对具有复杂流程且包含业务逻辑的多步骤场景时,在LLM处理这类问题时往往会出现错误的答案。
所以,还得继续掌握下面的prompt技巧。
Prompt进阶
- zero-shot prompting(零样本提示) 和 few-shot prompting(少样本提示)
在上一篇推送中, 我们一直指导LLM执行任务, 要求其按照指定的指示完成相关操作, 并未提供任何示范案例, 这种方式即为零样本提示法(zero-shot prompting). 当我们在Promt中输入具体指令, 并附上示例说明时, 这种方法即被称为少样本提示法(few-shot prompting).
主要用于防止大语言模型在缺乏指导时随意生成答案的问题上设计了一种特殊的技巧。为了使模型理解这一要求并正确执行操作,在使用过程中通常会先向模型提供一个具体的示例(one-shot),即展示其应如何处理类似情况的操作步骤。如果单个示例无法达到预期效果,则可以通过提供多个具体示例(few-shot)来帮助模型更好地理解和完成任务。在专业领域术语中,则将其描述为启用大语言模型的上下文学习(in-context learning)能力
在zero-shot场景下,在指示让ChatGPT仅对每段话的前几个词进行翻译的情况下, 然而 ChatGPT 却将整个段落全部翻译为了英语.

下面使用few-shot后,可以看到ChatGPT可以正确理解了我的实际意图

- 思维链Chain-of-Thought(CoT)Prompting,引导模型去推理

正如上面的例子,左侧是一个标准的one-shot,给了一个例子
Roger有5个球,他又买了两筐,每筐3个,请问Roger现在有几个球?
答案是11个。
接着我们提出一个类似的问题:最初有23个苹果被吃掉了20个后来又购买了6个请问现在还剩多少苹果?
结果ChatGPT给出的答案是27个。解决明显是错误的。
此时如果我们使用Chain-of-Thought Prompting
向LLM展示我们的计算思路及过程。此时ChatGPT能够模拟并推导出与人类相似的逻辑流程。因此通过提问或询问类似的问题 ChatGPT将能够提供准确的答案。
- 咒语 think step by step
let's think step by step
lets's analyze this step by step
有了这个绝招!如果你在Prompt中加入think step by step这一项设置后你会发现它就能自行进行推理来解答这些问题就无需依赖示例或思维链条你肯定会感到惊讶
小结
三个Prompt技巧
few-shot
chain-of-thought
think step by step
不积跬步无以至千里,每天学一点,赶紧练起来吧
