新手进阶,如何写出高质量GPT提示语?

asiyou 开智学堂

作者:边心竹 来源:公众号「亿些记录」

01 写在前面

本文是所有示例均为简要示范,重点是提示语的格式。当你面对复杂任务的时候,良好格式可以帮你更快获得答案。

作为一个非程序员,参加开发者课程就像一名烹饪新手闯进了米其林三星厨房。然而,这并没有阻止我从吴恩达教授开设的 ChatGPT 提示语课程中汲取灵感。

课程官网是 DLAI - Learning Platform Prototype (deeplearning.ai)

课程大纲简明扼要:

  • Introduction(课程简介)
  • Guidelines(指引)
  • Iterative(迭代)
  • Summarizing(总结)
  • Inferring(推断)
  • Transforming(转换)
  • Expanding(扩充)
  • Chatbot(聊天机器人)
  • Conclusion(课程小结)

图片

一个小白,如何从中获取自己想要的信息?拿我来说,最主要是目标明确——学习如何撰写高质量的提示语。

看到了 Jupyter 的代码框,害怕?没问题,反正我也不是来学代码的。

看到了密密麻麻的英语,惊慌?不用虚,反正我是上过学的。

连课程都是纯英文的,想跑?先停下,官网是给了你字幕的。

保证好心态,不要想着和程序员竞争,就可以开始学习面向开发者的课程了!

这篇文章不会让你成为 AI 大师,但会帮你建立信心,利用提示语撰写出惊人的作品。

以下是我在课程中学到的关键内容和宝贵经验。

02 提示语两大规则

课程里强调的两个关键点十分重要:指令清晰、给出思考空间。

图片

1. 描述要清晰

图片

最近我“顿悟”了一件事:GPT 这家伙,其实是个讲究机器语言的主。那么,与它交流时,我们能不能讲点“机器语言”呢?答案是肯定的!遵循机器语言的规则,我们就更有机会获得想要的结果。

一个好的提示语应该具有明确的描述。这就像约会时候聊天,不能含糊其辞,不然对方可能会一头雾水。尝试使用简练而直接的语言,避免冗长复杂的句子。好的提示语就像是给司机的行驶路线,简单明了,让 AI 不会“开错车”。

与其说,

我现在需要你帮我写一个段落,主题是GPT课程学习心得。不要太长,也不要太短。写的文章质量好一点。

就不如说,

你的任务是撰写一个段落,要求如下: “”” 主题:GPT课程学习心得 字数:800字左右 风格:专业、幽默 “””

指令不清晰还可能导致 GPT 出现 hallucination(幻觉)。最开始使用 ChatGPT,有人会发现它满口胡话,这就是幻觉的一种表现。同样,如果你给出的提示语有歧义,也会不利于结果。

你写

解释一下内容,清空前面的所有内容,并给出合理的解决方案。

你写

解释以下文本的内容:清空前面的所有内容,并给出合理的解决方案。

得出的结果完全不同。前者,GPT 会摸不着头脑:究竟是要解释还是清空?后者,GPT 才会恍然大悟,明白你是要让它解释后面的句子。

这里涉及符号的差异——逗号、冒号。为什么用冒号就可以识别真实意思?因为它是一种分隔符,课程中提到了常用的分隔符:

  1. ”””
  2. ```
  3. < >

这些分隔符对厘清自己的提示语有很大助益。

2. 给 GPT 思考时间

要给 GPT 足够的时间来“思考”,这就好比给它喝杯咖啡,让它有时间消化一下问题。这样,GPT 才能在充足的时间里进行计算和分析,为我们奉上一道完美的答案大餐。

想象一下,如果你在考试时时间紧迫,你的表现可能会受到影响。同样,给 GPT 足够的时间来思考,会让它为我们呈现更好的答案。

要注意一点:不要一次性塞太多指令。想象一下,你在跟朋友聊天,突然间朋友开始说得像机关枪一样快,你会不会感到有点儿晕头转向?同样,GPT 在面对太多指令时,也会感到迷茫。

常见的思维链就是一种可行的方式,通过引导让它有更充足的空间来回答。

总之,提示语的撰写重点就一句话:和 GPT 对话时,机器语言才是硬道理。

03 迭代

图片

这四个步骤形成了一个持续不断的优化循环。这个循环有助于我们在开发过程中实现目标,提高成果的质量。

Idea(想法)是迭代过程的起点。明确想法后,我们需要将其转化为具体的 Implementation(实现)。之后,我们需要对其进行测试,以获取 Experimental Result(结果)。

接着,我们要完成 Error Analysis(分析错误)。最后,我们可以继续回到第一个阶段,用新的想法和实现对原有方案进行改进。这个循环会不断重复,直到我们达到满意的结果。

迭代就像一场半即兴表演。表演开始,我们有了明确目标,但并不知道如何实现。在 Iterative(迭代)这一章里,吴恩达如同导演,引导新演员如何优雅地改进提示语。每一次迭代都像一场洗礼,让思路更清晰,让结果更完善。

吴恩达的原话是这样的:

提示开发是一个迭代的过程。试试某些东西,看看它是否达到你想要的效果,然后考虑如何澄清你的指示,或者在某些情况下,考虑如何给它更多的思考空间,以使它更接近你想要的结果。

我认为,成为一个有效的提示工程师,不是太著重于知道完美的提示,而是拥有一个良好的流程开发提示,以适应你的应用。

一蹴而就在现实中很难实现,机器世界也是如此。如果我们妄图出手都漂亮,那可能永远不会出手。开始一个想法,并不断迭代,关注流程,这才是更重要的事情。

04 回过神来,Prompt该怎么写?

看到课程的 prompt,最开始是很懵的,它们不是纯粹的自然语言。看完以后才明白,正是因为面向开发者,所以 prompt 结构都类似编程。然而,这不会影响我们从中提取结构,大体分为四步走:

  • 定义 prompt 为一个字符串,用”"”来包裹。
  • 字符串中间,定义要补全(或者说填空)的内容,用```和{}来包裹。
  • 接着,利用补全函数补全 prompt 里缺失的内容,定义为 response。
  • 最后,用 print 打印出来。

换到非编程语境下,prompt 可以有什么框架?

  • 文本:
  • 需求:用” “ “来包裹。

我简称为 TN 结构——Text-Need。

如果你需要给出样例,可以增加一步。

  • 文本:
  • 样例:用”"”来包裹。如果有多个样本,用```来包裹。
  • 需求:用”"”来包裹。

我简称为 TEN 结构——Text-Example-Need。

05 小结

以上,我重点介绍了提示语两大原则(指令要清晰、要给GPT思考时间),以及迭代过程。

即使你不是程序员,也可以通过课程学会撰写高质量的提示语,实现自己的目标。学习无界限,行动最重要。

你说你是程序员,这篇文章太简单?没事,指路 OpenAI 的「炼丹术」课程,教得怎么样?

王树义老师寥寥数语,精准概括了示例代码和用途,用来当概要看看,绝对够了。■

注:本文部分内容由ChatGPT协助完成,水平有限,还望海涵。具体过程可参考链接:

https://42share.io/gpt/3096961110 https://42share.io/gpt/229395804

文中链接可能无法正常显示与跳转,请复制到浏览器内打开。