相信很多人在用LLM做下游任务时,能够感受到prompt不同写法的重要性。同样的一段文本,不同的 prompt写法可能会得到完全不同的结果。因此,了解和掌握prompt写法是非常必要的。
本文将从prompt的定义和作用以及演进和写作的科学范式两个方面为大家详细介绍prompt。
1 prompt的定义和作用
提示(Prompt)是指一段用于引导模型理解问题的文本,通常位于问题的开头或结尾。它用于为模型提供上下文和任务要求,以帮助模型更好地理解和回答问题。
例如:你想让chatGPT写出一篇文章,文章的题目是“我有一个朋友叫张三”,那么prompt就可以写成:
请以"我有一个朋友叫张三"为开头,写一篇关于张三的文章,不少于500字。
请以"我有一个朋友叫张三"为开头,写一篇关于张三的文章,不少于500字。
将上述prompt输入给大模型,大模型就会输出你想要的结果,如:
上述流程如下:
上述prompt:“请以"我有一个朋友叫张三"为开头,写一篇关于张三的文章,不少于500字”,是一种最简单随意的写法,对于简单任务也能产生可以接受的结果,但是我们想要利用大模型对复杂的下游任务进行赋能,prompt的写法对于效果的保证就显得至关重要了。
2 prompt的演进以及科学写作范式
由于AI幻觉的问题,大模型的输出并不能保证准确;然后很多应用对于程序的准确输出都有严格的要求,这就导致大模型在实际业务落地过程中并没有想象中的顺利,为了尽可能的保证模型输出的准确性,研究者从prompt的编写方式上进行探索,产生了一系列有意思的研究成果;本文将对prompt的演进和科学写作范式进行梳理,接下来的内容将按下图所示进行展开。
本文是《Prompt的科学范式》上篇,将介绍Input-output prompt以及CoT的prompt写作技巧。
2.1 input-output
2.1.1 zero-shot prompt
zero-shot顾名思义就是零样本,就是在prompt中不加任何和任务相关的示例。
现在的大型语言模型(如GPT-3.5)经过微调后,能够遵循指令,并且在大量