打造中国最大的
AI信息汇总平台


掌握这3大提示技巧,让你秒变GPT达人!

本文介绍了三种提示工程的方法,分别是OpenAI推荐的前置提示工程,AI自动生成,以及以反思为主的后置提示工程。

原文标题:《你一直以来都用错了 ChatGPT!掌握这 3 大提示技巧,让你秒变 GPT 达人!》

原文作者:Normanrockon,MultiSig

为什么提示工程如此重要?

提示工程的目标是通过提供清晰、简洁且结构良好的输入来提高语言模型的性能,这些输入需要针对模型所用于的特定任务或应用进行定制。可以将提示工程比喻成与人交流时使用清晰明了的语言,让对方更容易理解你的意图,从而做出更满意的回应。

那么接下来,我们将依次介绍 OpenAI 提供的提示工程最佳实践,FushionAI 的自动生成功能,以及让 GPT 进行自我反思。我们还会提供一个额外的实用小技巧,请多留心!

OpenAI 的官方最佳提示技巧

1. 使用最新的模型

为了获得最佳效果,我们建议使用最新、性能最强大的模型。截至 2022 年 11 月,文本生成方面的最佳选择是「text-davinci-003」模型,代码生成方面的最佳选择是「code-davinci-002」模型。能使用 GPT-4 当然会比 ChatGPT 要更好。

2. 将指令放在提示的开头,并用 ### 或”””将指令与文本分开

效果不佳:

将下面的文本摘要成一个关键要点的项目列表。

{输入文本}

更好的选择:

将下面的文本摘要成一个关键要点的项目列表。

文本:

“”” {输入文本} “””

3. 对所需的上下文、结果、长度、格式、风格等尽可能具体、详细和描述性

效果不佳:

写一首关于 OpenAI 的诗。

更好的选择:

写一首关于 OpenAI 的短篇励志诗,重点描述 DALL-E 产品发布(DALL-E 是一个文本到图像的机器学习模型),风格仿照 {著名诗人}。

4. 通过示例(示例 1,示例 2)明确所需输出格式

效果不佳:

从下面的文本中提取实体。提取以下 4 种实体类型:公司名称、人名、特定主题和主题。

文本:{文本}

更好的选择:

从下面的文本中提取重要实体。首先提取所有公司名称,然后提取所有人名,然后提取与内容相关的特定主题,最后提取总体主题。

期望格式:

公司名称:<逗号分隔的公司名称列表> 

人名:-||- 

特定主题:-||- 

总体主题:-||-

文本:{文本}

5. 从零次学习开始,然后进行少次学习,如果这些方法都不起作用,那么进行微调

零次学习

从下面的文本中提取关键词。

文本:{文本}

关键词:

少次学习 – 提供几个示例

从下面的文本中提取关键词。

文本 1:Stripe 为 Web 开发人员提供了 API,以便他们将支付处理集成到自己的网站和移动应用程序中。

关键词 1:Stripe,支付处理,API,Web 开发人员,网站,移动应用程序

文本 2:OpenAI 已经训练出了处理和生成文本方面非常优秀的语言模型。我们的 API 可以让您使用这些模型,解决几乎任何涉及处理语言的任务。

关键词 2:OpenAI,语言模型,文本处理,API。

文本 3:{文本} 

关键词 3:

微调:请参阅参考文献里的微调最佳实践指南。

6. 减少模糊和不精确的描述

效果不佳:

这个产品的描述应该比较简短,只有几句话,不要太多。

更好的选择:

用 3 至 5 句话的段落来描述这个产品。

7. 不仅要说不做什么,更应该说做什么

效果不佳:

以下是代理和客户之间的对话。不要询问用户名或密码。不要重复。

客户:我无法登录我的账户。代理:

更好的选择:

以下是代理和客户之间的对话。代理将尝试诊断问题并提出解决方案,同时避免询问任何与个人身份信息(PII)有关的问题。不要询问用户名或密码,而是引导用户查阅帮助文章 www.samplewebsite.com/help/faq

客户:我无法登录我的账户。代理:

8. 代码生成 – 使用「引导词」引导模型生成特定模式

效果不佳:

编写一个简单的 Python 函数 

1. 询问我一个以英里为单位的数字 

2. 将英里换算成公里

在下面的代码示例中,添加「import」提示模型应该以 Python 语言开始编写。(类似地,「SELECT」是 SQL 语句开始的好提示。)

更好的选择:

编写一个简单的 Python 函数 

1. 询问我一个以英里为单位的数字 

2. 将英里换算成公里

import

FusionAI, 自动生成更好的提示

图片

FusionAI 是一个可以自动生成更适合 GPT 提示并生成相应文章的 AI 软件,我会建议新手期时将它当作学习提示工程的教程来使用。

例如,当我给出提示:「I want to have a blog of prompt engineering」FusionAI 会修改此提示为

图片

可以看出来这样生成出来的提示对照了前文提到的第 3 和第 6 条技巧,规定了输入长度,要求变得更精确了,让 AI 聚焦于提示工程的好处和挑战,并且举出相应例子。

让我们用中文输入挑战一下 FusionAI。给出提示:「给我一篇关于提示工程的博客」。FusionAI 修改提示为:

图片

可以看出来这个提示是有严重偏差的,词不达意,无法使用。这其实给我们提了个醒,语言和指令在转译的时候是会有信息损失的,转译的次数越多信息差就越大,直到不可辨别。因此我们要尽量接触和使用一手信息,在 AI 上也适用。

我们不建议使用各种模版或者类似 FusionAI 的工具来生成内容,因为噪音太大。当然,在你还不了解提示工程的时候可以参考它们来学习,这是可以的。

GPT,你得学会自我反思

在 Eric Jang 的一篇最新的博客《Can LLMs Critique and Iterate on Their Own Outputs?》里,他提到 LLM 可以在没有任何基础反馈的情况下自我纠正,并尝试将这样的自我反思作为一种提示工程的技巧。(注意,目前只有 GPT-4 有这个功能)

你可以把这种情况想象成某人向你发送了一条短信,然后迅速「取消发送」,再发送一条新的短信。

很明显,节选的小诗是押韵的,这并不符合我们的要求。那么我们给出进一步的指令让 GPT-4 进行自我反思:「did the poem meet the assignment?」,那么 GPT-4 会回答:

图片

可以看出来,这次 GPT-4 生成的小诗确实是不押韵的,在没有给出任何额外反馈的前提下 GPT-4 完成了自我的提示工程。笔者猜想这可能跟 LLM 的无监督学习有关,但为什么 GPT-4 拥有此功能而 GPT-3.5 却没有,就不得而知了。

当然,这样的能力也是有局限的。如果你愿意,你可以要求 GPT-4 随机给出两个五位数并且求出它们的乘积。接下来你会发现,无论你让 GPT-4 怎么反思,它都无法给出正确的答案。GPT-4 只会不断客气地胡说八道而已。对于想深入研究的读者,可以从文末链接阅读 Eric 的博客和一篇最新的预印版论文《Reflection》

One more thing

有心的读者可能已经发现了,作者在使用 LLM 一般都选择英文作为提示语言。这是因为作为预训练模型,其表现的优异程序与预训练时的数据集有关系,一般来说数据越多则被训练得越好。而英语作为全球第一的使用语言,数据量是远超中文的。所以除非你需要输出与中文语境强相关的文章,否则我会建议使用英文来作为提示语言。

总结

在这篇文章里我们介绍了三种提示工程的方法。分别是 OpenAI 推荐的前置提示工程,AI 自动生成,以及以反思为主的后置提示工程。同时,我们也建议非英语母语者尝试使用英语作为与 LLM 交互的语言。

参考文献:

https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
https://docs.google.com/document/d/1hGTjNDDKPKU_Rsd0t1lXCAnHltaXTAzQ8K2HRhQf9U/edit#
https://fusion.tiiny.site/home.html
https://evjang.com/2023/03/26/self-reflection.html
https://arxiv.org/pdf/2303.11366.pdf
掌握这3大提示技巧,让你秒变GPT达人!插图4
赞(1) 打赏
未经允许不得转载:AI爱好者 » 掌握这3大提示技巧,让你秒变GPT达人!

评论 抢沙发

欢迎来到AI爱好者

我们旨在打造一个最具实力的中文AI交流社区平台,致力于为所有AI爱好者,创业者和使用者提供优质服务. 我们的宗旨是为广大用户提供免费解决方案,您可以通过问答形式提出与AI相关的任何问题.

AI社区AI工具

安全服务战略合作伙伴:麒麟盾 SCDN

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

微信扫一扫打赏

登录

找回密码

注册