写在前面
面对ChatGPT这个新工具,我们该怎么使用它呢?
ChatGPT最擅长的就是找答案,无论在速度还是数量上,都比人强很多。
对于学习的人,最重要的事情之一,就是你得学会向ChatGPT提出一个好问题。
怎么做到呢?
本文共计3405字
阅读时长约5min
chatGPT的使用界面,相比其他一些AI来说要简单很多,会微信聊天基本就会用。
所以有些人会说,ChatGPT能为你产生多大的价值,关键在于你提问的质量。
这话没错。
在ChatGPT没出现的年代,一个能不时的提出好问题的人也是稀有的。
比如苏格拉底式提问,又被称为苏格拉底式教学法,不断提出好问题,本身就是最好的习得新知识的方式。
能提出结合了理性思考、发现谬误、拓展思路、获得启发的问题,是一种令人羡慕的能力。
而在ChatGPT出现之后,提问能力就变得更重要了。
之所以把问题问好对于输出高质量回答非常重要,主要是因为ChatGPT生成文本类似于一个“文字接龙游戏”,就是在当前已有的句子之后,如果另外加一个词的话,加什么词最合适呢?
知道了这一点,你就能理解,输出结果之前的句子有多重要了,因为后面不断增加的词都是在前面那句话的基础上生长出来的。
既然是稀有的能力,就意味着它很难用工程化的技巧习得。
而我们这门课,并不是强调这个角度的能力提升,而是依据ChatGPT特有的属性,教你一些“工程化”的方法。
也就是说,只要你按照提示做,就会得到很多观点新颖的内容,更可能收获很多灵感;
如果你缺乏这方面的技巧,收到的回复里正确的废话就会占比很多。
就在最近,世界上出现了一个新词——“提示工程”(Prompt Engineering),其中有一部分内容就是这方面的工作。
有一个简单的宗旨,能让你更好的利用AI:
你可以把自己假设为公司领导,把ChatGPT当作你的直接下属,你的一切命令、吩咐、需求都由它负责执行,你提出的要求直接决定了它是否能执行到位。
在这个宗旨下,你的每个问题就不能太宽泛,而是要具体。
现在问题来了,一个具体的好问题应该是什么样的呢?
简单来说,它应该包含三个元素:
任务简述、任务描述、角色场景。
我会举很多例子说明,怎么用好这三个元素,如果不用,又会出现哪些问题。
元素一:任务简述
第一个元素是任务简述。
你要给ChatGPT明确指示,输出什么东西。
比如,常见的有以下20种:
我要写一首诗,
我要生成一篇手机评测,
我需要一份广告文案,
我想了解科技前沿,
我要解一道物理题,
我要生成一篇论文,
我要生成一篇论文的摘要,
我要生成一篇节目的提纲,
我要起草一个计划,
我要写一封信,
我要做一个PPT,
我要生成一个故事,
我要分析一个问题,
我需要翻译(各国文字之间、各编程语言之间),
我需要写代码,
我需要分类,
我要解释一段代码的含义,
我要提取关键词,
我要取名,
我要修复代码中的bug,
……
在一开始提问时就明确任务,会让最后输出的结果从内容体裁到格式上都更加满足你的需要;
否则你只能追问另外若干个问题,然后再根据多条回复,自己重新组织起一个你需要的格式出来。
但仅有任务简述是不够的,这过于宽泛。为什么呢?我们可以从ChatGPT生成结果的方式去考虑:
它要解决的问题是,在当前句子的最末尾添加另外一个什么词才能让这句话更好。
所以,如果你的问题极为宽泛,就用我们刚刚说到的ChatGPT可以做到的那20类任务的简述直接问,比如“我要写一首诗”,那么根据ChatGPT生成回复的规则,你就可以预料到,如果在这个任务简述后面增加一个词的话,其实有很多备选都是可用的,比如有200个词都可以接在它后面,而且它们之间并没有明显的优劣之别。
这就导致你得到的回复过于宽泛,缺少针对性。
元素二:任务描述
为了得到更有见地的回复,我们还需要对任务做描述,比如具体内容、信息背景、期望达成的结果、细节上的要求、技术指标、生成回复的字数、情感倾向等等。
我在文稿中举了生成一首诗歌、一篇评测、一份广告文案、写一封信四个例子。
通过这些例子你可以清晰的对比出来,没有详细任务描述和有详细任务描述的情况下,输出结果的差异有多大。
举例:写诗
举例:评测
举例:广告文案
举例:投诉信
比如,写一首诗歌,你就可以这么问:
“我要写一首诗,内容和求职就业有关。因为我一直没找到理想的工作,非常郁闷,想把这首诗发在网上,抒发我胸中的愤懑,诗要犀利,但不要愤怒,只需要8句话就可以。”
在这段描述中——
“内容和求职就业有关”是具体内容,“我一直没找到理想的工作”是信息背景,
“抒发胸中愤懑,但不要愤怒”是情感倾向,
“只需要8句话”是字数要求。
通过下面的例子你会发现,当你添加了任务描述后,尽管诗歌的字数并没有增加,但是高度贴合你的需求。
在第一个例子中,第一首诗就没有任何明确的要求,只是提出“我要写一首诗”,你可以看看它写的是什么样子;
而当你把任务描述写得很详细的时候,这首诗就很符合我们的要求了。
第二个有对比性的例子是一篇手机评测。
如果你的要求只是“我要写一篇手机评测”的话,它的内容就会很泛泛;
如果你把要求细化成“我要写一篇手机评测,鉴于最近2年手机同质化问题很严重,所以要突出这个手机续航能力强的特点,把重点放在续航时间长、电池电量大、充电快、节电措施合理上。
让人看了就觉得值得买,500字以内”,当要求详细了之后,它列出的5点全部结合了续航时间长这个特点。
第三个例子是一份羽绒服的广告文案。
如果你只是写“我要写一份羽绒服的广告文案”,内容也是很泛泛的;
但如果你这么写,“我要写一份羽绒服的广告文案,今年有另外4个品牌和我们打价格战,我们的羽绒服含绒量、充绒量上都超过竞争对手,而且由于特殊的网格设计,蓬松度能维持的更久。
你要把这几个参数的优势写清楚,让消费者看到以后会觉得我们的羽绒服买回去能穿更久,别看价格更高,但其实更省钱。
300字以内”,这次生成的羽绒服广告文案就全都围绕你说的这个优势了。
第四个例子是写一封投诉信。
如果你只提很简单的要求,“我要向银行写一封投诉信,因为他们的办事效率太低”,那自动生成的文章里涉及到的问题也许都不是你遇到的。
而你可以这么写,“我要向银行写一封投诉信,办卡申请已经提交了2周还没有回复,还不知道要等多久,没有银行卡的日子,生活非常不方便。
你要把理由写充足,用强硬的语气,尽最大可能让他们收到邮件后能立刻重视起来,帮我加速办理银行卡”,当我们把任务描述细化到这个地步,加入场景和情感倾向之后,相信这封投诉信会得到很好的响应。
元素三:角色场景
以上,我们通过对比,了解了和ChatGPT对话时设置详细的任务描述的好处。
下面一些例子,我们再来看看额外设置角色场景的效果。
因为有时候,额外设置角色场景会收到意想不到的效果。
比如,要了解新冠病毒的信息,没有意识到主动加入角色场景时一般会这么问:
“我想了解一下新冠病毒”;
但有角色场景下可以这样问:
“假设我是一个生物学家,我想了解一下新冠病毒。”这样问,你将得到更加专业的回复。
用两种不同的方式问,生成的内容是很不一样的——
如果没有告诉它角色场景,ChatGPT的回答基本就是针对小白的,什么新冠病毒具有较强的传染性,感染后的症状什么样,建议佩戴口罩、勤洗手、接种疫苗来预防等等。
如果告诉他,“我是一个生物学家”,它输出的内容就会深入得多。
比如,它会告诉你,“新冠病毒的基本结构包括RNA基因组、脂质包膜以及多种蛋白质,如刺突蛋白(S)、膜蛋白(M)和核衣壳蛋白(N)。
刺突蛋白(S)在病毒侵入宿主细胞的过程中发挥关键作用……新冠疫苗有多种技术平台,包括mRNA疫苗(如辉瑞-BioNTech和Moderna疫苗)、腺病毒载体疫苗(如阿斯利康疫苗和约翰逊&约翰逊疫苗)以及灭活病毒疫苗(如中国科兴和中国国药的疫苗)等”。
对比1:
对比2:
对比3:
对比4:
通过对比我们可以看出来,只要在问题中给ChatGPT赋予一个角色,就能让答案更贴近我们想要的方向。
如果回顾最初的4个例子,也就是写诗、写手机评测、写广告文案和写投诉信中,我们虽然没有用特定的指令赋予ChatGPT一个角色,但实际上,陈述中已经包含了一些角色的信息。
比如,写诗的时候,我是一个在求职中遇到困难的人;写手机评测和写羽绒服广告文案时,我是厂商市场部的员工;写投诉信时,我是一个不满的客户。
总结
在向ChatGPT提问时,想要获得更好的回复,最基础的几个元素是:
任务简述+任务描述+角色场景。
当然,你不必硬记这几个元素。
很多时候,把ChatGPT当作你的直接下属来提需求,往往就能把最基础的元素覆盖全。
当你吩咐下属做事的时候,把背景交代得越完整,要求提得越明确,下属执行起来也会越符合你的期待。这一点和ChatGPT是一样的。