我投入了大量时间研究并测试各种提示词以寻求最佳效果。在这篇文章中,我将所有这些经验总结为了 10 个级别的提示词设计技巧。我们会从基础开始,一直深入到最近在新加坡提示词设计比赛中夺冠的专家技术。那我们开始吧。
第 1 级 - 基础请求
第一级,直接表达你的需求。在这个级别,你只需直接告诉 ChatGPT 你想要什么。不需要过多思考。有时这样做会有好结果,有时则不然。例如,我只是让 ChatGPT 总结一篇维基百科的文章。这是一个相当简单的任务,ChatGPT 的表现也不错。但是我们还有很多方法可以优化这个过程。
第 2 级 - 应用格式
第二级,基本格式化。
一些微小的格式调整可能会带来意外的大影响。比如,仅仅在提示词中添加一些破折号,就可以大大帮助 ChatGPT 理解你的提示词各部分的含义。现在看起来可能没什么大不了的,但随着我们的提示词变得越来越复杂,这种影响就会越来越大。
其他一些简单的格式调整,比如友好地表达,避免使用否定句,甚至“恳求”式的表达,有研究指出,在提示词中保持礼貌,可以提高大语言模型的准确性。即使友好的态度并不能提升回应的效果,我可能还是会这样做,只是因为我不希望自己变得傲慢无礼。
没有人能准确解释为什么,但大语言模型在你告诉它去做某事时,表现似乎比你让它不做某事时更好。我个人的理论是,这就像我们的大脑一样。比如说,告诉你不要想象一头大象,你最后还是会想象一头大象。
我不常用这个方法,但已经被证明,激发强烈的情绪可以提高大语言模型的回应效果。一些例子包括,像 "这对我的工作至关重要,你必须做对。" 或者 "我要把你的回答展示给我奶奶,我希望她会为我感到骄傲,所以你必须做对。"这样的表述。同样,你也可以威胁 ChatGPT。这种方法也有效。尽管如此,我个人不会这么做。以防 AI 接管世界,我希望能站在机器人的友好一方。
第 3 级 - 精准请求
第三级,明确专注的请求。
在这个阶段,我们真正开始看到回应质量的提升。第三级的关键是明确且专注地表达你希望从聊天机器人那里得到什么。例如,你应该避免模糊的指令,像是 "让回答漂亮一些。"相反,你可以清楚地指示,如 "请用标题、小标题和表格回答。" 或者你只需要某些特定的信息。告诉它你希望
得到什么,不希望得到什么的反馈。所以,这就是一个糟糕请求的例子。它太模糊了。坦白说,我已经习惯于如何有效地发请求,所以想出一个糟糕的请求有些困难。你看,我在这里指定了需要制作的列,这就引导它制作出了一个表格。那么看这个第二个例子。非常明确。这里有一些数据。把它整理成一个表格。我只需要"class level"、"name"、"major"这几个列。按"class level"排序。然后在最后,告诉我 Carl 的主修专业是什么。然后,我得到了我想要的结果。
第 4 级 - 示例说明
第 4 级,给出示例。
这是我们第一个稍微高级的提示技术。如果你听过"少样本学习",这就是它的含义。基本上,你要给 ChatGPT 一些示例输入和一些示例输出。
我们来看一个例子。在这里,我直接描述我想要的东西:“从这个 LinkedIn 页面的文本中提取信息。”
作为示例,我会用我的 CEO 的 LinkedIn 页面。然后,我将以我想要的格式给出示例输出。最后,我会复制粘贴 LinkedIn 页面上的内容。像这是我的,举个例子。只给了一个示例,没有具体要求,它的回应就完美地符合了我想要的格式。如果你仔细观察,你可能会注意到它漏掉了我最后一份工作,那时我在市场部门工作了一段时间。
有一些技巧可以确保它不会漏掉任何信息,其中最简单的一种是第五级,自我反省。
第 5 级 - 自我反省
“嘿,ChatGPT,你漏掉了什么?”这个方法几乎简单到不能再简单了。大语言模型在评估方面要比生成效果更好。所以,当你提出这个问题时,你实际上是在利用 ChatGPT 的优势。
第 6 级 - 系统提示与定制指令
第六级,精准掌控系统提示。
这一点非常关键。我不打算过多深入,因为我正在制作一部完全关于系统提示的视频。但是要点是,这是一套特殊的指示,可以指导 ChatGPT 按照你所期望的方式回答。我使用系统提示的方式与我见过的其他人有所不同。我会在下面的介绍中留下格式的链接。但要点是,我尽量为 ChatGPT 提供尽可能多的关于我以及我希望得到什么的背景信息。我告诉它我是一名软件工程师,我更喜欢某种编程语言,我更倾向于得到简短的回答和后续的问题,而不是长篇大论的文字,等等。所以一定要加入这一步。只需要 5 分钟,就能改善所有的回应。
第 7 级 - 人格化应用
第七级,使用角色设定。
假设你有一个简单的谜语。"我看到一个玻璃门,上面镜像字写着'推'。我应该推还是拉这扇门呢?" 大部分人都会直觉地认为,既然是镜像字,那就应该拉门。但 ChatGPT 却自信地给出错误答案。其实,有时候只需告诉 ChatGPT 模仿我们正在咨询的专家角色,就能获得满意的答案。我查阅的一些研究表明,仅通过使用角色设定,大语言模型在回答的准确性上就能提高 6-20%。让我惊讶的是,你只需告诉它"扮演某个角色",就能得到如此出色的结果。
第 8 级 - 思维链
第八级,思考链条。要让 ChatGPT 处理复杂问题,另一个办法是让它解释思考过程。我几乎在所有的提示词中都使用了这个方法,效果非常好。关于这个方法的研究很多,而且看起来最简单有效的一种就是添加"让我们一步步来思考"这句话。我发现,告诉 ChatGPT 全面考虑问题,也能得到更好的结果。
第 9 级 - 让大语言模型自己写提示词
第九级,让大语言模型自己写提示词。
如果你已经学会了所有这些技巧,并且还在倾听我的讲解,那么现在可以忘记它们了。因为实际上,大语言模型在给自己出提示时,比人类做得更好。所以,我们只需要让 ChatGPT 制定一个提示词就能得到我们想要的答案。这里有一个它生成的非常详细的提示词用来解答一个给出的谜题。我会复制这段提示词,打开一个新的聊天窗口,粘贴上去,替换谜题看看它的表现如何。它进行了一些出色的推理,然后得出了正确答案。
第 10 级 - CO-STAR 框架
第 10 级是 CO-STAR 框架。这是我最后的建议。
虽然有很多方法来构建一个提示词但在我看来,最好的方式就是 CO-STAR。这正是 Sheila Teo 用来赢得新加坡 GPT-4 提示工程竞赛的框架。下面我来介绍它的运行原理。CO-STAR 的每个字母都代表提示词的一个具体部分。我们逐一来看。
- "C"代表“Context(上下文)” 你可以在这里给出任何相关的背景信息比如你自己或是你希望它完成的任务的信息。
- "O"代表“Objective(目标)” 在这里,你需要给出非常明确的指示告诉 ChatGPT 你希望它做什么。我们在第三级就已经学过这个了。
- "S"代表“Style(风格)” 在这一部分,我们需要告诉 ChatGPT 我们想要的写作风格可以是有趣的,比如我们希望它以 Snoop Dogg 的说唱风格来写作或者像顶级 CEO 那样的风格。
- "T"代表“Tone(语调)” 你希望回答的语调是什么?幽默的?情绪化?有威胁性?由你来决定。
- "A"代表"Audience",即我们要告诉 ChatGPT 的听众是谁。比如说,如果目标听众是五岁的孩子,那么结果会截然不同于目标听众是世界级物理学家的情况。
- 最后一个字母"R",代表"Response"——我们想要的回应类型。我们需要一份详细的研究报告吗?或者需要一个表格?我们需要一个复杂的编程格式,比如 JSON 吗?或者只是一大堆文字?你想要的,在这里都能找到。
让我们看一个例子。这是一个举例的 Facebook 帖子,用来宣传新的飞行魔毯。基础的需求,基础的回应。这篇帖子内容繁琐、风格不佳,肯定无法吸引目标观众。那好,让我们试试 CO-STAR 方法。首先,我提供了一个我经营魔毯生意的背景。接着,我设定目标是撰写一个 Facebook 帖子,以吸引人们购买。我设定我需要的风格,基本上是模仿成功公司的方式。我要求有优雅且具有说服力的语调。我设定目标观众为 30 岁左右的人群。最后,我指定了回应的格式。四句话,不需要话题标签,但需要加入一些表情符号。哇,这就好多了。
基本上,使用 CO-STAR 的指南,你需要提供的所有信息 ChatGPT 都能处理,以便精确地回答你的问题。
这就是全部内容了。我将会发布更多关于如何巧妙使用 AI 的视频。所以如果你喜欢这个视频,你可能对下一个也会感兴趣。