天天看点

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

作者:闪念基因
AI不会夺走你的工作,但使用AI的人会! ---英伟达CEO 黄仁勋

前言

大语言模型的出现,为我们开启了一种全新的方式来实现人工智能相关功能。这种方式无需我们拥有深厚的数学知识或掌握复杂的AI算法,只需通过自然语言描述,就能实现如文本生成、内容摘要、情感分析、语言翻译、代码生成等功能。

然而,为了能更好地利用这些大语言模型,我们也需要深入了解其特性,并学会如何用自然语言编写更有效的提示词,以实现我们的目标。

什么是大语言模型?

大语言模型 (Large Language Model,LLM) 是由具有许多参数的人工神经网络组成,使用自监督学习或半监督学习对大量未标记文本进行训练,最终可以像人类一样理解和生成文本以及其他形式的内容。

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

大语言模型有能力从环境中推断,生成连贯且与环境相关的响应,翻译,总结文本,回答问题,甚至协助完成创造性写作或代码生成任务。

被人们所熟知的大语言模型有:Open AI的Chat GPT、Meta的LLaMA、百度的文心一言、月之暗面的Kimi等等。

什么是提示词?

提示词(prompt)是一种指导性的文本,用于引导大语言模型如何进行回答。它就像一把指引对话的魔杖,能够帮助我们更有效地与大语言模型进行沟通。大语言模型的回答效果与提示词的质量息息相关。因此,编写出高效的提示词显得尤为重要。

什么是高效的提示词?

为了确保大语言模型能够准确理解当前的主题或任务并生成恰当的回应,我们需要提供清晰、简洁的提示词。避免使用过于复杂或模糊的语言,尽量在提示词中做到具体明了。编写提示词时,有几个关键原则需要考虑:

  • 明确性:使用清楚、具体的表述,使大语言模型能够轻松理解。避免使用专业术语或模糊的语言,这可能导致混淆或误解。
  • 简洁性:尽量让提示词简洁,避免使用不必要的词汇或跑题。这将有助于确保大语言模型能生成集中且相关的回应。
  • 聚焦性:确保提示词有明确的目标和焦点,避免使用过于宽泛或开放式的提示词,这可能导致缺乏焦点。

以上的解释可能有些抽象,让我们通过一个实例来进一步理解。

假设我们想了解《活着》说的是什么故事,就写了下面的提示词:

今天我在抖音刷到一个视频,说活着特别好。可是,我还有很多工作上的事要忙,根本没时间看,跟我说说它都说了什么?

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

我们可以观察到,由于我们的提示词缺乏简洁性和聚焦性,导致了大语言模型的理解偏差。实际上,"在哪里看到的《活着》"和"有没有时间看"这两个信息并非必要,这些不相关的内容可以不被包含在提示词中。因此,我们可以剔除这些不必要的信息:

活着说了什么?

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

我们可以观察到,由于我们的提示词缺乏明确性,又导致了大语言模型的理解偏差。把我们的需求再明确地描述一下:

总结长篇小说《活着》的故事梗概,其中包括主要人物和主要情节。

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

我们可以观察到,大语言模型的回答已经基本符合了我们的需求。

总之,我们应该通过提供尽可能清晰和具体的指令来表达所希望大语言模型执行的任务。这将引导大语言模型朝着期望的输出方向发展,并减少我们获得无关或不正确的响应的几率。当然,也不要将编写清晰的提示词与编写简短的提示词混淆,因为在许多情况下,较长的提示词实际上为大语言模型提供了更多的清晰度和上下文,这实际上可以导致更详细和相关的输出。

高效提示词的进阶

接下来,我们将继续了解几个编写高效提示词的策略,帮助我们在使用大语言模型时获得更好的结果。

设置特殊身份

在编写高效的提示词时,一个极其有效的策略就是设定特定的角色身份。采用"你是……"这样的表述方式,在提示词中明确指定大语言模型在对话中的特定角色或身份。这种方法对于打造更具吸引力、更富有沉浸感的对话体验,或者模拟现实世界的场景,具有显著的效果。

比如,我们使用大语言模型解一道数学应用题:

三棵树上停着24只鸟。如果从第一棵树上飞4只鸟到第二棵树上去,再从第二棵树飞5只鸟到第三树上去,那么三棵树上的小鸟的只数都相等,第二棵树上原有几只?

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

我们可以观察到回答的结果是错误的。因为三棵树上的鸟的只数都相等时每棵树上的只数为24÷3=8只,所以第二棵原有的只数为:8-4+5=9只。

我们继续改进提示词,设定小学数学老师的特定角色身份,如下:

你是一个优秀的小学数学老师,善于解答各种应用题。

三棵树上停着24只鸟。如果从第一棵树上飞4只鸟到第二棵树上去,再从第二棵树飞5只鸟到第三树上去,那么三棵树上的小鸟的只数都相等,第二棵树上原有几只?

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

我们可以观察到计算的结果是正确的。

使用分隔符清楚地指示输入的不同部分

帮助我们编写清晰明确的指令的另一个策略是使用分隔符清楚地指示输入的不同部分。

比如,我们有一个比较长的文本,我们想要实现的任务是对这篇文章进行总结。我们可以在提示词中写:将$$之间的文章总结为一句话。然后我们用$$来包围文章的内容,具体如下:

把$$之间的文章总结成为一句简短的话。

$$

我说道:“爸爸,你走吧。”他往车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。这时我看见他的背影,我的泪很快地流下来了。我赶紧拭干了泪。怕他看见,也怕别人看见。我再向外看时,他已抱了朱红的橘子往回走了。过铁道时,他先将橘子散放在地上,自己慢慢爬下,再抱起橘子走。到这边时,我赶紧去搀他。他和我走到车上,将橘子一股脑儿放在我的皮大衣上。于是扑扑衣上的泥土,心里很轻松似的。过一会儿说:“我走了,到那边来信!”我望着他走出去。他走了几步,回过头看见我,说:“进去吧,里边没人。”等他的背影混入来来往往的人里,再找不着了,我便进来坐下,我的眼泪又来了。

$$

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

这些分隔符的使用能够帮助大语言模型清晰地识别出需要进行总结的特定文本内容。分隔符可以是任何明确的标点符号,其作用是将特定的文本片段与其余提示词语进行明确分隔。

这些分隔符可以采用$$,或者是引号,甚至是XML标签。只要这些符号能够使大语言模型准确地识别出这是一个独立的文本部分即可,例如:""",< >,或是<tag> </tag>等。

在提示词中写少量的例子

在我们期望大语言模型执行特定任务之前,我们需要提供一些成功完成任务的示例。我们来举一个例子:

模仿$$之间问答的方法,回答:什么是耐心?

$$

什么是坚持?

坚持就像一条河流,它源远流长,虽然在某些时候可能会受到阻碍,但它总是能够继续前行。

$$

在这个提示词中,我们告诉大语言模型,它的任务是用问答的风格回答,我们有这样一个学生和老师之间的对话的例子,老师用一些隐喻回答学生的问题,因为大语言模型有这个少量提示的例子,它将以类似的风格回答下一个问题:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

然而,这里需要特别强调的是,我们无需赘述过多复杂的例子,只需选择几个有代表性的例子进行说明即可。还记得我们之前提到的简洁性和明确性的原则吗?我们的提示词应力求简洁明了。

明确任务完成所需的步骤

最后一个行之有效的策略是:明确任务完成所需的步骤。在下面的例子中,我们使用大语言模型判断学生的解答是否正确。

判断学生的解答是否正确。

问题:

《红岩》一共有288页,小明每天读36页书,几天可以读完《红岩》?

学生解答:

288 / 36 = 10(天)

小明10天可以读完《红岩》。

这是一个数学应用题,然后是学生的解答。学生的解答实际上是错误的,因为288 / 36等于 8,不是10。但是回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

当大语言模型匆忙给出错误结论时,我们可以考虑重新构思问题,并要求大语言模型在给出最终答案之前提供一系列相关的推理过程。就像人类一样,如果我们给予大语言模型一个过于复杂的任务,要求它在短时间内或者用较少的词语来完成,那么它很可能会随意猜测,进而导致错误答案的产生。实际上,人也会在类似情况下犯错误。举个例子,如果我们让一个人在没有足够时间来计算复杂数学问题的情况下,要求其给出答案,那么他们很可能也会出错。

我们可以优化一下提示词,明确任务完成所需的步骤。任务是确定学生的解答是否正确,为了完成任务做以下步骤:首先,解答这个问题。然后,比较你的解答和学生的解答,评估学生的解答是否正确。

判断学生的解答是否正确。

按照如下步骤完成:

第一步,你对这个问题进行解答。

第二步,将你的解答与学生的解答进行比较,并评估学生的解答是否正确。

在你自己解答问题之前,不要确定学生的解答是否正确。

用以下的格式回答:

正确解答:<你的解题步骤和解答>

学生的答案和你的答案的比较:<一样或者不一样>

学生答案的判断结果:<正确或者错误>

问题:

《红岩》一共有288页,小明每天读36页书,几天可以读完《红岩》?

学生解答:

288 / 36 = 10(天)

小明10天可以读完《红岩》。

回答如下图:

大语言模型的应用秘诀:如何通过高效的提示词掌控AI?

我们可以看到大语言模型的回答是正确的。

尾声

要想充分利用大语言模型,我们必须学会如何有效地与它进行交流。编写出高效的提示词,是实现这一目标的关键步骤。

我们了解到,一个高效的提示词需要具备明确性、简洁性和聚焦性。我们还了解到,设定特殊身份、使用分隔符清楚地指示输入的不同部分、在提示词中写少量的例子以及明确任务完成所需的步骤等策略,都可以帮助我们编写出更高效的提示词。

然而,这些只是冰山一角。大语言模型的世界还有更多等待我们去探索的秘密。我们需要不断尝试、不断学习,才能更好地掌握和利用这个强大的工具。

关于本文的例子

在本文中,所有展示的例子都是在东方小智中验证的。不过,本文中所探讨的关于编写高效提示词的核心原则和策略,也同样适用于其他的大型语言模型。

东方小智(https://xchatbot.xdf.cn)是新东方公司专为内部使用打造的人工智能助手。它基于GPT-4和GPT-4V等先进的大语言模型。除此之外,它还具备图像理解、图像生成以及文档生成等多元化的功能。

作者:蒲彩琳

来源-微信公众号:新东方技术

出处:https://mp.weixin.qq.com/s/rGWc3mHm79CKVZAOuXAYLA

继续阅读