美国的AI专家Patrick Storm通过大量时间研究并测试各种提示词,总结了 10 个级别的提示词设计技巧。内容从基础开始,一直深入到最近在新加坡提示词设计比赛中夺冠的专家技术,适合各个级别的ChatGPT用户学习使用。
在这个级别,你只需直接告诉 ChatGPT 你想要什么。不需要过多思考,这也是大部分小白用户的使用方式。例如,"ChatGPT,帮我写一个小红书爆款文案","ChatGPT,帮我写一篇三万字的人工智能论文"。对于这种稍微复杂一点的问题,都不能得到好的结果。
一些微小的格式调整可能会带来意外的大影响。比如,仅仅在提示词中添加一些破折号,就可以大大帮助 ChatGPT 理解你的提示词各部分的含义。现在看起来可能没什么大不了的,但随着我们的提示词变得越来越复杂,这种影响就会越来越大。
其他一些简单的格式调整,比如友好地表达,避免使用否定句,甚至“恳求”式的表达,有研究指出,在提示词中保持礼貌,可以提高大语言模型的准确性。大语言模型在你告诉它去做某事时,表现比你让它不做某事时更好。这个思考方式和人类也很像,比如说告诉你不要想象一头大象,你最后还是会想象一头大象。
在这个阶段,我们真正开始看到回应质量的提升。第三级的关键是明确且专注地表达你希望从聊天机器人那里得到什么。例如,你应该避免模糊的指令,像是 "让回答漂亮一些。"相反,你可以清楚地指示,如 "请用标题、小标题和表格回答。" 或者你只需要某些特定的信息。在一些论文或者自媒体文案写作场景,经常有同学直接让ChatGPT"帮我写3000字人工智能相关论文","写一个小红书爆款口红文案",这都是典型的指令不精确问题,对于这种泛指令,ChatGPT给出的也只能是"空洞"的"泛回复"。
这是我们第一个稍微高级的提示技术。如果你听过"少样本学习(Few-shot learning)",这就是它的含义。基本上,你要给 ChatGPT 一些示例输入和一些示例输出,即便没有具体要求,它也能完美地回应符合了我想要的格式。但有时会遇到,当指令很长、要求很多时,ChatGPT会漏掉一些信息。有一些技巧可以确保它不会漏掉任何信息,其中最简单的一种是下面的第5级,自我反省。
“Hi,ChatGPT,你刚才的回答漏掉了什么?”这个方法几乎简单到不能再简单了,但往往可以让你得到好几倍的结果。大语言模型在评估方面要比生成效果更好。所以,当你提出这个问题时,你实际上是在利用 ChatGPT 的评估优势。这也是ChatGPT相比于之前的AI质的提升,它有非常好的上下文理解能力和自我反思能力,通过多步的迭代式问答,让结果变得更符合预期。
这一点非常关键。这是一套特殊的指示,可以指导 ChatGPT 按照你所期望的方式回答。要点是,尽量为 ChatGPT 提供尽可能多的关于我以及我希望得到什么的背景信息。我告诉它"你是一名软件工程师,更喜欢某种编程语言,更倾向于得到简短的回答和后续的问题,而不是长篇大论的文字,等等"。所以一定要加入这一步。只需要 1 分钟,就能改善你想要领域的回应。
假设你有一个简单的谜语。"我看到一个玻璃门,上面镜像字写着'推'。我应该推还是拉这扇门呢?" 大部分人都会直觉地认为,既然是镜像字,那就应该拉门。但 ChatGPT 却自信地给出错误答案。其实,有时候只需告诉 ChatGPT 模仿我们正在咨询的专家角色,就能获得满意的答案。我查阅的一些研究表明,仅通过使用角色设定,大语言模型在回答的准确性上就能提高 6-20%。让我惊讶的是,你只需告诉它"扮演某个角色",就能得到如此出色的结果。
这是一个ChatGPT官方的推荐使用方式,来自一篇OpenAI自己的论文,指出通过思维链(COT)可以大幅提升模型的推理能力和回答准确性,甚至只是简单的加一句"step by step"就可以让模型在评测上平均准确率提升10%以上。思维链本质上就是让模型通过一步步的推理,给出答案。这一点和人的思考方式也很像,当我们做一个复杂问题时,如果把问题拆解,一步步解答往往比直接回答问题得到的结果更好。我几乎在所有的提示词中都使用了这个方法,效果非常好。我发现,告诉 ChatGPT 全面考虑问题,也能得到更好的结果。
如果你已经学会了前面这些技巧,并且还在看这篇文章,那么现在可以忘记它们了。因为实际上,大语言模型在给自己出提示时,比人类做得更好。所以,我们只需要让 ChatGPT 制定一个提示词就能得到我们想要的答案。比如"让ChatGPT生成的非常详细的提示词用来解答一个给出的谜题","我想写一篇关于人工智能的论文,请给我一个符合ChatGPT风格的指令框架"。
虽然有很多方法来构建一个提示词但在我看来,最好的方式就是 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 吗?或者只是一大堆文字?你想要的,在这里都能找到。
基本上,使用 CO-STAR 的指南,你需要提供的所有信息 ChatGPT 都能处理,以便精确地回答你的问题。
最后,如果有同学还不知道怎么使用ChatGPT,这里推荐一个我一直在用的一站式AI创作平台AIBox,可以无魔法使用GPT4、Claude3、Gemini等最先进模型。
🚀https://aibox365.com