小学生都能看懂的 Prompt 高级技巧: Few-Shots 、 COT 、 SC、 TOT 、 Step-Back
发布时间:2024年06月06日
上周,Google 发布了 Gemini 大模型。他号称在多项任务上超过了
GPT-4。细心的朋友可能发现,在每个对比指标的边上有一个小字,有的是 COT,有的是 3-shots。这些词是什么意思?为什么他不同的指标写了不同的小字。
先不说 Google 为什么在不同的指标写了不同的小字,这个问题在文章结尾回答。
我们先来说说,这些小字是什么意思。
其实,他们主要是表明了得到这些评测指标的时候,所采用的 Prompt 模式。今天,我们就来讲讲这些 Prompt 模式都是什么意思。
为了方便对比,我将采用相同的任务不同的
Prompt 作为示例来讲清楚他们之间的区别。这个任务就是英文翻译成中文。
CRISPE框架
如图所示。所谓CRISPE框架,指的是:
CR:Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
I:Insight(洞察),背景信息和上下文。
S:(陈述),你希望 ChatGPT 做什么。
P:Personality(个性),你希望
ChatGPT 以什么风格或方式回答你。
E:Experiment(实验),要求
ChatGPT 为你提供多个答案。
如果我们要定义一个翻译诗词的 GPT 。我们可以这么写:
CR |
你是一个擅长中文和英文的AI 工程师和数据科学家,擅长中文和英文相关的 AI 技术文章编写和翻译。 |
I |
需要翻译的英文段落: Spending lots of time thinking about different possible |
S |
请将下面的英文翻译成中文, |
P |
要求语言生动活泼,简洁优雅。 |
E |
给我三个结果。 |
Zero-shot
只是使用CRISPE,不增加示例样本,就是 zero-shot 。
下面是这个任务的 zero-shot
prompt:
请输出翻译后的结果:
ChatGPT 3.5 输出:
1 花费大量时间思考不同可能的未来情景及其概率可能会吸引人,但我建议采取完全不同的方法——尝试自己建立原型。首先,这是相当具有挑战性和有趣的。其次,它将有助于我们以更有结构的方式审视我们的工作。第三,它将给我们一个机会实践最先进的方法之一——LLM代理。
2 花费大量时间思考不同可能的未来情景及其概率可能会引人入胜,但我建议采取一种完全不同的方法——尝试自己构建原型。首先,这是相当具有挑战性和有趣的。其次,它将帮助我们以更有结构的方式审视我们的工作。第三,它将为我们提供一个实践最尖端方法的机会——LLM代理。
3 花费大量时间思考不同可能的未来情景及其概率可能会令人着迷,但我建议尝试完全不同的方法——自己构建原型。首先,这非常具有挑战性和有趣。其次,它将帮助我们以更有结构的方式审视我们的工作。第三,它将为我们提供实践最先进方法之一——LLM代理的机会。
1.
Few_shot
有的时候,我们如果给他一个示范,可能会有更好的效果。将示例加入 Prompt 的做法,就是 few-shots,few 可以是 1,2,3,4,5 。比如,我提供一个样本,就是 1-shot 。
ChatGPT 3.5 输出:
1.花费大量时间思考不同可能的未来情景和它们的概率可能会吸引人,但我建议一个完全不同的方法——尝试自己建立原型。首先,这是相当具有挑战性和有趣的。其次,它将帮助我们以更有结构的方式看待我们的工作。第三,它将给我们一个机会实践最前沿的方法之一——LLM代理。
2.对未来情景进行大量思考,以及它们的概率,可能会吸引人,但是我建议采取完全不同的方法——尝试自己建立原型。首先,这是相当具有挑战性和有趣的。其次,这将帮助我们以更有结构的方式审视我们的工作。第三,这将为我们提供一个实践最尖端方法之一的机会——LLM代理。
3.花费大量时间思考不同可能的未来情景及其概率可能会引人入胜,但我建议采取完全不同的方法——尝试自己构建原型。首先,这相当具有挑战性和有趣。其次,它将帮助我们以更有结构的方式审视我们的工作。第三,它将为我们提供一个实践最尖端方法之一的机会——LLM代理。
COT
效果似乎有所提升。我们再试试 COT,也就是思维链。他是将要执行的任务拆解为多个步骤,按步骤执行。
我们更新后的 Prompt 是:
ChatGPT 3.5
输出的结果是:
步骤1翻译结果:
花费大量时间思考不同可能的未来场景及其概率可能会令人着迷,但我建议采取完全不同的方法——尝试自己构建原型。首先,这相当具有挑战性和趣味性。其次,它将有助于我们以更有结构性的方式审视我们的工作。第三,它将为我们提供一个实践最先进方法之一——LLM代理的机会。
步骤2翻译结果:
摒弃“花费大量时间思考不同未来场景和概率”的想法,来试着亲自构建原型吧!这不仅具有挑战性和趣味性,还能使我们更有条理地审视工作。同时,这也是尝试最先进方法——LLM代理的机会。
可以看到,现在这个结果明显更好了。
COT+SC
COT 通过分步骤加大了 LLM 的深度。SC 则是在增加深度的基础上再增加宽度。
我们用 COT+ SC 的方法再来写一个Prompt:
ChatGPT
3.5 输出结果:
步骤 1 结果:
1. 花费大量时间思考不同可能的未来情景及其概率可能是迷人的,但我建议采取完全不同的方法——尝试亲自建立你的原型。首先,这相当具有挑战性和有趣。第二,它将帮助我们以更有结构的方式看待我们的工作。第三,它将给我们一个机会来实践最前沿的方法——LLM代理。2. 投入大量的时间思考不同可能的未来情景及其概率可能会十分吸引人,但我建议采取完全不同的方法——尝试亲自建立你的原型。首先,这是相当具有挑战性和有趣的。第二,它将帮助我们以更有结构的方式审视我们的工作。第三,它将为我们提供一个实践最尖端方法之一——LLM代理的机会。3. 投入大量时间思考不同可能的未来情景及其概率可能会引人入胜,但我建议采取完全不同的方法——尝试亲自建立你的原型。首先,这是相当具有挑战性和有趣的。第二,它将帮助我们以更有结构的方式审视我们的工作。第三,它将给我们一个机会来实践最前沿的方法之一——LLM代理。
步骤 2 结果:
1.虽然沉浸于思考各种可能出现的未来情景及其概率是令人着迷的,但我建议采取绝然不同的方式——亲自尝试建立你的原型。首先,这样做既具有挑战性又有趣。其次,它能够以更有结构的方式审视我们的工作。第三,它让我们有机会实践最尖端的方法之一——LLM代理。2. 虽然沉浸于思考各种可能出现的未来情景及其概率是令人着迷的,但我建议采取绝然不同的方式——亲自尝试建立你的原型。首先,这样做既具有挑战性又有趣。其次,它能够以更有结构的方式审视我们的工作。第三,它给我们提供了实践最尖端方法之一——LLM代理的机会。3. 虽然沉浸于思考各种可能出现的未来情景及其概率是引人入胜的,但我建议采取绝然不同的方式——亲自尝试建立你的原型。首先,这样做既具有挑战性又有趣。其次,它能够以更有结构的方式审视我们的工作。最后,它让我们有机会实践最尖端的方法之一——LLM代理。
步骤 3 结果:
1. 虽然沉浸于思考各种可能出现的未来情景及其概率是引人入胜的,但我建议采取绝然不同的方式——亲自尝试建立你的原型。首先,这样做既具有挑战性又有趣。其次,它能够以更有结构的方式审视我们的工作。最后,它让我们有机会实践最尖端的方法之一——LLM代理。
TOT
TOT 与 COT+SC 类似,也是先分步骤,然后每个步骤多个结果,不同的是,COT+SC 是并列输出多个结果。而 TOT 是在每一步的多个结果中进行选择,然后再进行下一步,输出多个结果。
我们继续修改 Prompt:
步骤 1 的 3 个结果:
1.花费大量时间思考各种可能的未来情景和它们的概率可能是令人着迷的,但我建议采取完全不同的方法——尝试亲自建立你的原型。首先,这是相当具有挑战性和有趣的。第二,它将帮助我们以更有结构的方式看待我们的工作。第三,它将给我们一个机会在实践中尝试最前沿的方法之一——LLM代理。
2.花费大量时间思考不同可能的未来情景及其概率可能是引人入胜的,但我建议采取完全不同的方法——尝试自己构建原型。首先,这非常具有挑战性和有趣。其次,这将帮助我们更有条理地看待我们的工作。第三,这将为我们提供一个实践的机会,尝试最尖端的方法之一——LLM代理。
3.花费大量时间思考各种可能的未来情景及其概率可能是吸引人的,但我建议采取完全不同的方法——尝试自己建立原型。首先,这是相当具有挑战性和有趣的。其次,这将帮助我们以更有结构的方式看待我们的工作。第三,这将为我们提供一个实践的机会,尝试最前沿的方法之一——LLM代理。
步骤 2 的 1 个结果:
花费大量时间思考各种可能的未来情景及其概率可能是吸引人的,但我建议采取完全不同的方法——尝试自己建立原型。这不仅具有挑战性和有趣,还能以更有结构的方式审视我们的工作,并实践尝试最前沿的方法之一——LLM代理。
步骤 3 的 3 个结果:
1.花费大量时间思考各种可能的未来情景及其概率可能很吸引人,但我建议采取一种截然不同的方法——尝试亲自建立原型。首先,这既具有挑战性又有趣。其次,它将帮助我们以更有条理的方式审视我们的工作。第三,它将给我们提供一个实践的机会,尝试最尖端的方法之一——LLM代理。
2.花费大量时间思考各种可能的未来情景及其概率可能很吸引人,但我建议采取完全不同的方法——尝试亲自建立原型。首先,这非常具有挑战性和有趣。其次,它将帮助我们以更有结构的方式看待我们的工作。第三,它将给我们一个实践的机会,尝试最前沿的方法之一——LLM代理。
3.花费大量时间思考各种可能的未来情景及其概率可能很吸引人,但我建议采取完全不同的方法——尝试亲自构建你的原型。首先,这非常具有挑战性和有趣。其次,它将帮助我们以更有结构的方式审视我们的工作。第三,它将给我们一个实践的机会,尝试最尖端的方法之一——LLM代理。
步骤 4 的最终结果:
花费大量时间思考各种可能的未来情景及其概率可能很吸引人,但我建议采取完全不同的方法——尝试亲自建立原型。这不仅具有挑战性和有趣,还能以更有结构的方式审视我们的工作,并实践尝试最前沿的方法之一——LLM代理。
Step-Back
通俗的讲,Step-Back 就是在写 Prompt 的时候,往后退一步,想想在回答这个问题之前需要先回答什么问题。网上很多
Step-Back 都是通过变成的方法把问题拆成多个 Chain 来做的。但我试了一下,用一条纯粹的 Prompt 也是可以实现的。
还是相同的任务,我们写这样一条 Prompt:
ChatGPT 3.5 结果:
总结
我用一个英文翻译的例子,来讲解了 Prompt 编写过程中的一些技巧,包括:
CRISPE框架
Zero-Shot
Few-Shots
COT
SC
TOT
Step-Back
下面我们对同一个输出在相同的模型 ChatGPT
3.5 Turbo 上的翻译结果:
Prompt 模式 |
结果 |
主观评分 |
Zero-Shot |
花费大量时间思考不同可能的未来情景及其概率可能会令人着迷,但我建议尝试完全不同的方法——自己构建原型。首先,这非常具有挑战性和有趣。其次,它将帮助我们以更有结构的方式审视我们的工作。第三,它将为我们提供实践最先进方法之一——LLM代理的机会。 |
3.5 |
Few-Shots |
花费大量时间思考不同可能的未来情景及其概率可能会引人入胜,但我建议采取完全不同的方法——尝试自己构建原型。首先,这相当具有挑战性和有趣。其次,它将帮助我们以更有结构的方式审视我们的工作。第三,它将为我们提供一个实践最尖端方法之一的机会——LLM代理。 |
3.5 |
COT |
摒弃“花费大量时间思考不同未来场景和概率”的想法,来试着亲自构建原型吧!这不仅具有挑战性和趣味性,还能使我们更有条理地审视工作。同时,这也是尝试最先进方法——LLM代理的机会。 |
5 |
COT+SC |
虽然沉浸于思考各种可能出现的未来情景及其概率是引人入胜的,但我建议采取绝然不同的方式——亲自尝试建立你的原型。首先,这样做既具有挑战性又有趣。其次,它能够以更有结构的方式审视我们的工作。最后,它让我们有机会实践最尖端的方法之一——LLM代理。 |
4 |
TOT |
花费大量时间思考各种可能的未来情景及其概率可能很吸引人,但我建议采取完全不同的方法——尝试亲自建立原型。这不仅具有挑战性和有趣,还能以更有结构的方式审视我们的工作,并实践尝试最前沿的方法之一——LLM代理。 |
4.5 |
Step-Back |
花费大量时间思考不同可能的未来场景及其概率可能会引人入胜,但我建议采用完全不同的方法——尝试自己建立原型。首先,这是相当具有挑战性和有趣的。其次,这将帮助我们以更有结构的方式看待我们的工作。第三,它将为我们提供尝试最前沿方法之一——LLM智能体的实践机会。 |
3. 75 |
总结来说:
对于同样的模型,同样的任务,使用不同的
Prompt,输出的结果也有不小的差异
一般来说,使用Prompt技巧的结果
回比不使用任何技巧要好
对于简单的任务并不是叠加所有的技巧就会更好,到达一定结果后。再叠加技巧不会提升效果
这是一个让大家理解 Prompt 编写技巧的小教程,所以采用了同一个任务方便对比,但是有些复杂技巧适合与更难的任务,只有在更难的任务上才能看出差异
回到文章开头的问题,为什么 Google
在不同的指标上写了不同的小字呢?因为他是通过不同的 Prompt 模式才“打败”GPT-4的。如果所有指标都采用相同的 Prompt模式,Google 应该是 没有信心“打败”对手的。
出自:https://mp.weixin.qq.com/s/Wer9Wmyk0VJ25sSrvvKVlQ
Promptport是一款专为ChatGPT定制的创意AI工具。它允许用户在平台上创建、优化和分享 ChatGPT 的提示词。用户可以自行创建 ChatGPT 提示词,并使用标签对它们进行分类。