ChatGPT prompt最佳实践

在使用ChatGPT的过程中,它通常回答得不错,但我们也发现GPT偶尔会长篇大论/找不到重点/无法理解题意/没有给出我们想要的回答。
没关系,在这篇文章中,我会给出一些例子,帮助大家从GPT中获得更好结果。
这些方法结合使用通常会产生更好的效果,在某些场景下,也有可能不生效。具体的情况需要大家多花一些时间,多尝试不同的技巧,多一些耐心给GPT。

本文中,我会使用✔️表示正确用例,❌表示错误用例。

将问题描述清楚

第一条,其实也是最重要的一条,把你的问题描述清楚。ChatGPT不是创世神,它不会读心术,它只是一个大语言模型,请多给它一些信息,多给它一些引导。想像它是你的同事,顾问,而不是搜索引擎。

❌ 怎么反转字符串?
✔️ 在java中,如何反转字符串?

❌ 谁是总统?
✔️ 在2020年1月,美国总统是谁?

做什么/不要做什么

与其告知GPT不能干什么,不妨告诉GPT能干什么。你想要的是明确的答案,加入更多限定词,告知模型能干什么,回答的效率会更高,且预期会更明确。

❌ 给我推荐一部电影,不要恐怖片

✔️ 给我推荐一部好莱坞科幻电影

增加示例

在某些场景下,有些需求很难通过文字指令传递给 AI,即使描述出来了,AI 也不能很好地理解。

❌ 请为 “树莓味无糖百事可乐” 设计广告词

✔️ 你充当广告商。你需要为我的产品设计一个口号,以下是示例。我的产品是 “树莓味无糖百事可乐”
一切,从家开始!(中国石油)
吃饱了没有?(康师傅)
用心良苦,只为你!(乐虎)
活出精彩,从鲜橙多开始!(鲜橙多)
这世界,我们拥有!(中国平安)
它,比想象中更丰富!(易拉罐)
好吃不过农夫山泉!(农夫山泉)
你,值得拥有!(格力)
想不到的,都在这里!(淘宝)

使用引导词

使用引导词,引导模型输出特定内容。在prompt中,增加一个引导,在引导中给出一些上下文背景,可以告诉GPT怎样开始回答。

例如,我们需要补全代码时,我们可以给chatgpt写一个开头,它就会延续这个开头来进行回答。

❌ 反转字符串 工具类

✔️
/**
* 反转字符串 工具类
*/
public class

设定角色或人物

在上一篇文章中,我们提到可以给ChatGPT设定一个角色/人物,让 AI 生成的内容更符合你的需求。

❌ 请给我一些Java面试问题

✔️ 我想让你担任Java开发工程师面试官。我将成为候选人,您将向我询问Java开发工程师职位的面试问题。我希望你只作为面试官回答。不要一次写出所有的问题。我希望你只对我进行采访。问我问题,等待我的回答。

使用特殊符号分割指令和需要处理的文本

有时候,我们会输入一些特定的文本,然后通过指令,告诉GPT需要对文本进行什么样的操作。这时候,就需要用到特殊符号将文本包裹起来,让文本和指令分开。
例如:

“””
some text
“””


public static void main(String[] args){
    //do something.....
}

描述格式

假设你想要ChatGPT按照你想要的格式输出内容,你可以把具体的格式描述给它。

✔️例子1:

###
Ti8总决赛:LGD为年轻与冲动买单 BO5拉满决胜局惜败

OG在第一场比赛中选择了ANA的幽鬼,并在最后一手点出了大树,而LGD显然对于ANA的幽鬼并没有对这套体系做出太多的防范,虽然对线期三路优势,但由于有大树的存在,优势期无法拿塔,反而是被OG在中期反打人头互换,最终UG成型,LGD输掉了BO5的第一局。

第二场比赛,LGD选择尊重ANA的幽鬼,放了他的飞机并且抢掉了ANA的猴子,这一场虽然AME的猴子在线上被打的占不了线,但Maybe和查理斯双核在中期带动了全场的节奏,Topson卡尔20分钟经济倒数,最终,LGD依靠中期几波精彩的团战和后期成型的猴子终结了比赛。

第三场比赛,LGD再次办掉ANA的幽鬼,选择了蚂蚁炼金双核,而Topson则祭出了自己的又一个绝活:中单水人。

本次比赛,Topson的中单水人发挥的十分出色,甚至一度在中期压制了LGD的节奏,不过这一次LGD的四号位FY的凤凰多次关键技能的释放扭转了局势,最终LGD炼金成型,成功拿下第三局。

第四场比赛,LGD奇怪的选择了把一手选择的小鹿放在了五号位,而在第五手选择了血魔,OG则是再次拿出ANA的猴子。

这场比赛打的非常的胶着,LGD的阵容明显缺乏AOE,对于ANA猴子的限制十分有限,但即便是劣势的阵容,LGD在中期甚至一度打赢了很多波劣势团战,破掉了OG两路高地。

但在25级的猴子成型之后,无限神行百变的加持之下LGD再也无法击杀猴子,最终被OG成功翻盘!

比赛来到了最终的决胜局,在本届Ti最为关键的这场比赛中,LGD求稳拿到了自己擅长的TB和牛头,而OG则选择了猛犸宙斯火猫三核。前中期,LGD一度在场上取得了较大的优势,但在TB装备BKB后LGD在一波肉山团中处理不当,被OG反打团灭。随后LGD明显心态出了问题,急于打开局面,但AME一波失误的走位导致自己直接被秒并且无法买活,被OG连破LGD两路,突然死亡。

不得不说,OG在本次Ti的发挥到最后可以说是越来越出色了,LGD固然有不成熟的地方,但OG抓机会的能力实在是太强了。LGD为自己年轻付出了代价,但纵观所有中国战队,他们已经是最好的了。

最后,祝福OG,同时也希望CNDOTA卧薪尝胆,在明年本土举办的Ti9上重新捍卫自己的荣耀!

###

请使用json数组格式输出每一局的胜利者。
模板:

[{
    "winner": $the_winner_of_${game_no}
    "game_no": ${game_no}
}]

✔️例子2:

请分析苹果公司在2023年的市值能达到多少
格式:

预计苹果公司在2023年底的市值能达到${value}美元   
原因1:${reason_1}   
- ${point_1_1}   
- ${point_1_2}   
原因2:${reason_2}  
- ${point_2_1}   
...

进阶内容 Zero and Few Shot Prompting

Zero Shot、One Shot和Few Shot是一些机器学习中常用的概念,它们用于描述在特定任务中所需的训练样本数量。

  • Zero Shot(零样本)学习:在这种情况下,模型需要在没有看到过目标类别训练样本的情况下进行预测。它通过学习从已知类别到目标类别之间的语义关联来实现。例如,如果一个模型仅在”狗”和”猫”这两个类别上进行训练,而之后需要对”鸟”进行分类,它可以利用先前学到的知识来进行预测。

  • Few Shot(少样本)学习:模型在每个目标类别上只能获得很少的训练样本。通常,Few Shot学习涉及到在目标类别的有限样本上进行迁移学习或元学习,以便在遇到新样本时进行分类。

在与ChatGPT对话的过程中,我们可以给 ChatGPT 一个简短的 prompt,比如 描述某部电影的故事情节,它就可以生成一个关于该情节的摘要。这种情况,就叫做 Zero Shot, 这也是我们最常用的手段,这种提问方式有一些优点,但也存在很多缺点。

Zero Shot的优点

  1. 简单,易上手,提问者无需告诉ChatGPT如何进行回答,它会通过使用预先训练的语言模型和一些示例或提示。

Zero Shot的缺点

  1. 依赖于预训练的语言模型,这些模型可能会受到训练数据集的限制和偏见。比如在使用 ChatGPT 的时候,它常常会在一些投资领域,使用男性的「他」,而不是女性的「她」。那是因为训练 ChatGPT 的数据里,提到金融投资领域的内容,多为男性。
  2. 输出有时可能不够准确,或不符合预期。这可能需要对模型进行进一步的微调或添加更多的提示文本来纠正。

另一种情况,我们可以预先设定一些对话,用来引导ChatGPT按照我们想要的方向来生成回答。在上一篇文章中,我们了解到了prompt中,messagessystemuserassistant组成,那么,我们可以模拟一些对话,来引导ChatGPT。

[
    {
        "role": "system",
        "content": "你是一个英语单词查询助手,每当用户发送一个英语单词给你,你都要以固定格式响应用户。"
    },
    {
        "role": "user",
        "content": "mirror"
    },
    {
        "role": "assistant",
        "content": "- n. 镜子;写照,真实反映;(计算机)镜像网点;榜样\n- vt. 反射,映照;反映;与……十分相似;(计算机)做……的镜像;(计算机)在(两个或数个硬盘)中做备份"
    }
]

预先设定好对话后,每次给ChatGPT一个单词,它就会按照你给定的demo格式进行返回,无需再每次再使用prompt命令它。

用这种方式,我们可以构建出很多有用的角色。例如,词典,一个外教老师,一个emoji查询器,一个投资顾问….

That’s all

以上就是我要分享的一些最佳实践,现在的ChatGPT很聪明,也很笨拙。取决于你要如何去使用和引导它,希望这篇文章能够对你带来一些启发。

Finally

2022年底,GPT3.5 发布了,截止2023年7月,GPT4,new bing,google bard,auto gpt还有一系列AI图像处理,语音处理模型相继发布。

我们正处在一个变革的转折点,第四次工业革命已经开始了,这一次革命,带来的生产力提升是爆炸式的,甚至有可能超过前三次的总和。我们理应抱着学习,开放,包容的态度来接受和拥抱这次变革,否则,与一百多年前的清政府闭关锁国有什么区别呢?

在这AI革命的浪潮中,希望大家都能够不断学习和适应新的技术和工作方式,在这变革的时代劈荆斩棘,乘风破浪,早日达到自我实现和财富自由!


ChatGPT prompt最佳实践
https://coding.gs/2023/07/09/chatgpt-prompt-tips/
作者
K
发布于
2023年7月9日
许可协议