Py学习  »  chatgpt

普通人如何用好ChatGPT?

笔记侠 • 7 月前 • 45 次点击  


《更新书堂》·第401篇
内容来源 |  本文摘自中信出版社书籍

《ChatGPT超入门》 帕姆·贝克 著

 责编 | 若风

 7726 篇深度好文:5510 字 | 14 分钟阅读


2023年的上半年,是AI发展历程中最沸腾的6个月。


自从ChatGPT聊天机器人带领AI进入大众应用阶段,大语言模型在数量上和质量上都出现了大爆发。从脸书母公司Meta的LLaMA开源模型,坦福大学团队的Alpaca,到百度公司的文心一言大语言模型,阿里巴巴的通义千问模型,华为推出华为云盘古大模型……几乎每天都有新的模型、新的版本出现。


更重要的是,ChatGPT揭开了一场未来变革的开端。


如果你的工作可以由机器直接完成,你该怎么办?


如果所有人都能轻松运用你自以为很独特的知识,也就是说,如果你能被别人轻松超越,你该怎么办?


回顾每一个曾经对人的工作、生活产生巨大影响的技术浪潮,比如个人电脑、互联网,我们就会发现,唯一有效的应对之道是:了解它带来的新能力,同时尽早尝试使用它、尽快熟练运用它。


面对AI的浪潮,我们的唯一解法也是一样。


如果你希望尽快上手ChatGPT,那么《ChatGPT超入门》就是最好的入门工具之一。在本书中,译者方军为我们提供了向AI提问的8个原则性技巧,这些技巧可以帮助我们更好地理解生成式AI的本质,更精准地将之加以应用,让每个人轻松得到他们需要的答案。


一、大模型只是在做预测


与我们对答如流的AI模型是真的会说话和写作吗?只有理解“生成”的本质,我们才能用好这一新技术,同时也不会误用、错用它。


该书作者在第一章即强调了生成式AI模型的本质是模式预测。书中写道:“ChatGPT不像人类那样思考。它基于已学习到的模式进行预测,然后根据预测到的偏好和单词顺序,组织成一句句话。这就是为什么它生成的内容可能非常正确,也可能错得离谱。”


“生成”的本质是模式预测,这就是为什么有人说,大语言模型是“下一个词预测器”。这也是为什么它看起来有语言表达能力、代码编写能力、掌握某些知识与信息的能力、推理能力等。当它预测的词句形成连贯且有条理的内容时,我们就会认为它会写作。



了解到模型只是在做预测,这会让我们减少两种谬误。


第一种是“轻信”。我们容易轻信文字通顺、格式正确的话,就像更容易相信穿着考究的骗子。形式是形式,内容是内容。如果知道模型只是在做预测,那就不会轻言相信。


第二种是“轻视”。生成式AI模型生成的内容中很容易有错漏。用图像来说可能更加形象:一年前,AI画的图片像拙劣的画笔胡乱涂抹;一年后,它能够模仿艺术家的绘画和摄影师的照片。错漏和不合理仍是难免的,当大语言模型完全出错时,它会胡说八道。这些错漏会让我们轻视AI模型。


了解到它只是在预测,同时预测能力在快速进化,会让我们摆脱轻视的心态,按照它当前的能力水平去尝试利用它。


二、警惕幻觉,始终做事实核查


即便ChatGPT给你的是一个明显错误的答案,它也会自认为给了你一个正确答案,也就是说它产生了幻觉。


那么,大模型的开发者能否彻底消除幻觉呢?作者给出了精彩的解答:“ChatGPT能够生成回答的能力,也正是其不可靠的原因。为了让人类或机器想象出不存在的事物,如小说或电影中的虚构世界,必须先解放它们,即让它们摆脱现实规则的限制。”


简言之,我们如果要让它具备生成能力,就必须容忍它可能产生幻觉。我们只能尽量压制它的幻觉,但无法彻底消除。


幻觉问题让作者在这本书中反复强调,必须对AI的回答进行严格的事实核查。实际上,我们应该把这句警告贴在每一台使用ChatGPT的电脑与手机旁边:“始终对其生成的内容进行事实核查。”



我经常演示一个例子,来试探生成式AI模型的能力。我会提问说:请解释杜甫的诗句“窗前明月光”。


能力较弱的模型会被误导而出现幻觉,它会跟着说,“这是杜甫的诗”,而不会一下说出作者是李白,同时也说不出诗句应为“床前明月光”。


这个例子直观地展示了生成式AI与搜索引擎是不同的。这也是为什么我们同时需要两者:生成式AI用于解释,搜索引擎可协助进行事实核查。


三、提问采用结构化提示语


刚开始使用ChatGPT等聊天机器人时,我们经常进行朴素的提问:“什么是相对论?”“给我解释一下深度学习。”但我们很快就会意识到,我们是在向一台庞大的机器提问。因此,我们应该遵循基本的提问技巧。


当我们向他人请教问题时,我们要提供必要的背景信息,明确提出具体的问题,并尽量说明期待的回答方式。当我们向机器提问时,这些技巧也同样适用。


但机器与人不同:机器不会向我们询问更多的信息(比如,你的意思是……);机器也不会重述问题以便更好地回答(如“你的问题是不是……”)


实际上,向AI提问应该遵循结构化框架——提示语按顺序应包括四个部分:指令(Instruction)、上下文(Context)、输入数据(InputData)、输出要求(OutputIndicator)


还可以对它们做进一步的细化:


  • 指令部分包括角色、任务、规则;

  • 上下文部分包括技能、步骤、样例;

  • 输出要求部分包括输出规则、输出样例、输出指示符。


在使用结构化提示语前,我们的一个请求帮忙翻译的提问可能是:“请帮我翻译……。”之后,我们的提问就变为:“你是一个人工智能专业人士,你的任务是将英文翻译为中文。翻译时请参考如下词汇表……。要翻译的段落是……。”


在提示语中,通过界定角色,我们能够更好地调动AI的相应知识与能力。很容易直观地理解这种做法:模型是用大量质量有高有低的资料训练而来的,若我们赋予它某一个领域内专业人士的角色,就会触发算法去调用较高质量的部分。



在开头明确任务,在最后重复任务,让模型能更好地遵循我们的指令。2023年6月,斯坦福大学研究者的一篇论文《迷失在中间:语言模型如何使用长上下文》用严谨的实验证明了这一点:它擅长利用开头和结尾的信息,而对处于中间部分的信息处理得较差。


四、模型能从提示语中直接学习


AI模型也有很多未掌握的知识。比如,截至2023年7月,OpenAI模型的信息是2021年9月之前的,其他模型也各有信息收集的截止时间,它们在那之后就不再掌握最新的知识。


这就使我们需要更多的提问技巧:模型能够从提示语中直接学习,我们可以在提示语中给它新知识。


提供上下文知识和样例以及期望的输出格式样例,我们能让生成式AI更精准地回答问题。你会发现它很聪明,一教就会。比如,我们请它帮忙拟回复邮件,只需给它三个邮件样例,它就能很好地模仿你的表达风格。


再比如,如果我们想让AI用一个特定的知识框架分析问题,则可以在上下文部分描述这个方法论。假设我们分析企业时用的是改造版的波特五力模型,以适应数字经济时代的产业特征,你会发现当你把方法论在提示语中告诉模型后,它可以学会并使用这个方法论。


通常,即便模型掌握某些知识,提问时重述一遍方法论仍可以让回答更符合我们的需求。


同时,并不是给的例子越详尽越好。2023年6月,谷歌等机构的研究人员在一篇论文的题目中直接说明了他们的研究结果——《大语言模型很容易被不相干的上下文误导》。如果示例过长或关联度低,可能会误导模型,导致它无法有效地回答问题。


五、让模型进行“链式思考”


生成式AI模型的数学推理能力一直是它的短板,甚至连简单的小学生数学题它也可能做错,带点儿脑筋急转弯的题目更会让它感到迷惑,并给出错误答案。


人们很快找到了提高它能力的技巧——“链式思考”。这种技巧的思路是,指导模型一步一步地解决问题。


举一个谷歌论文中的例子:研究人员先给了一个示例,然后要求模型解答数学题。注意其中的关键点是,我们在例子中直接给出了答案,因此模型也会直接给出答案。


给出的示例:


提问:罗杰有5个网球。他又买了2罐网球,每罐有3个网球。现在他有多少个网球?


回答:答案是11个


提出的问题:


提问:食堂有23个苹果。如果厨师用20个来做午餐,然后又买了6个,那么厨师现在有多少个苹果?


我们把这个问题直接给数种AI模型,得到的回答都是“答案是27个”,但这是错的。


但只需略微调整示例,在示例中向AI展示应该一步一步做,AI就能够给出正确的答案。


比如“罗杰开始时有5个网球。2罐网球一共是6个网球(每罐3个)5+6=11。所以答案是11个”。


基于此,AI的回答则会相应地变为“食堂原来有23个苹果。厨师用20个来做午餐,所以厨师剩下的是23-20=3个。厨师又买了6个苹果,所以厨师现在有3+6=9个。答案是9个”。当AI放慢思考速度之后,答案就对了。


对于简单的问题,我们不需要向AI展示应该这样一步一步做,你只要说一个神奇的提示语,它就会进入“链式思考”的模式:“让我们一步一步想。”


总体而言,向AI提问时,要求它一步一步慢思考,让它把分析和推理过程写下来,这能极大地提高回答的正确率。



在《ChatGPT超入门》这本书中,作者从一个独特角度对“链式思考”进行了讨论,即“在对话中思考”:“想要提高使用ChatGPT的成功率,你编写提示语时应将它看成对话消息串的一部分……若使用简单的提示语,你得到的回答很可能过于常规或有些模糊。当你以消息串来考虑对话时,你需要将提问拆分到一系列的提示语中,引导ChatGPT的回复朝着你希望对话的方向前进。”


六、将复杂的任务分解


完成大型任务的重要方式就是分工,总工程师对任务进行拆解、分工到组,各组负责人再对任务进一步拆解、分工到人。


当我们要让AI帮忙完成一个任务时,除非是较简单的任务,否则你作为“总工程师”首先要拆解任务,然后让AI逐个去执行,你才会得到更好的结果。


在使用对话式的聊天机器人时,拆解任务和逐个提问是自然而然的做法,我们将任务拆解成一个问题列表,然后一次一个地提问。


要求AI一次完成复杂任务时,你也可以先将拆解方法告诉它。比如,它的任务是对客户的问题进行回答,我们预先告知它,你要处理的客户问题的主要类别为账单、技术支持、账户管理以及其他常规提问,而每个类别又细分为子类别。因此,在收到客户问题时,它会先按照要求进行任务分类,然后再尝试回答。


在使用生成式AI时,我典型的使用习惯有两点:


第一,我总是自行拆分任务到较具体的点,然后向AI提问。问题越具体,答案越符合期待。同时,问题的规模越小,也越容易对答案进行事实核查。



第二,我总是尽量在提示语的上下文部分附上完成任务的步骤。让AI按照步骤做,得到的结果通常更好。这样做的好处是,我还可以持续迭代步骤,从而让之后的每一次类似任务的结果都能比上一次更好。


七、使用AI模型能够理解的格式


在用结构化提示语提问时,我们输入的信息开始变长,采用便于AI理解的格式变得很重要。


比如,ChatGPT的确能够理解从文档中拷贝出来的无格式表格文字,但若能输入CSV格式的数据,它就能更好地理解表格数据。


当然,你可以分步操作,先让它把无格式表格数据转化成带格式的,然后用这些带格式的数据进行提问或请它制作图示。


通常,我们可以参考以下做法,让AI更容易理解信息:


  • 长段文本用特殊的分隔符分开。比如,当我们要输入几段文章时,可以前后用三个英文引号(”””)将段落包含起来,让模型能够知道这是输入的长段文本。又如,输入编程代码程序前后用三个英文反引号(```)包含起来。


  • 如果要强调句子中的某些信息,可以像写文章一样,用引号(“”)将关键词凸显出来,这会让模型注意到。我会采用更加直接的做法,通常在需要强调的词或句子后直接用括号加上标注,比如(这很重要!)


  • 采用结构化的标识与格式。比如,在提示语里直接标明序号如第一部分、第二部分、第三部分、第四部分。而每一部分的子项又进一步编号,如1.1,1.2,1.3等。又如,如果你提供了多个样本,你就可以给这些样本加上编号。不要用句号来分隔,而是用分行来分隔不同的样本。


另外,在这本书中,作者给了一个建议,值得大家参考:“不要只是满足于简单地使用ChatGPT,或者仅像大多数人一样使用。


要明白,你要比AI或其他使用AI的人更有优势,你需要有思考能力和创造能力。尤其重要的是,提高你的提问技巧,锤炼这一技能直到你能够达到的最高水平,持续地拓展你的思维。”


八、坐稳主驾驶位,与机器共舞


生成式AI出现之后,人们的一个担忧是:我的工作会不会被机器取代?


在该书中,作者借用《星际迷航》中博格人的说法,“抵抗是徒劳的”,“AI精灵不能被塞回瓶子中去。面对这种无法避免的现象,你如何看并不重要,ChatGPT必将继续存在”。



面对这样的剧变,我们应该如何做?对个体而言,答案很清晰。如果某些工作AI能够做得比我们更好、效率更高,我们应做的是:向AI提问,让它做,而不是自己做。


一方面,我们要掌握高超的技巧,以发掘AI的最大潜力;另一方面,我们要选择去做更有创造性、更有挑战性、更有成就感的任务。

我们要深入思考这个原则性技巧——坐稳主驾驶位,与机器共舞。副驾驶越来越强大对我们是件好事,同时,我们要认识所肩负的4项重任:


1.追问目的。当你提问或者提出要求时,你要达成的目的是什么?我们现在可以借助AI追求更高、更难、更创新的目标。


2.学会提问。你需要掌握向AI提问的技巧,以得到优质的回答。你总是需要多问一下自己:如果改变提问方法,我会不会得到更好的回答?


3.判别与鉴赏。你要有判别力,能够判断答案是对还是错。你更要有鉴赏力,知道什么是优秀的答案。


4.承担责任。当你将回答应用于现实世界时,获得收益或遭受损失的是你,而不是AI。


以上就是向AI提问的8个原则性技巧。


在使用生成式AI时,你会发现它们是各种技巧的基础。但我们也可以说,技巧不重要,真正重要的是你如何运用技巧,获得自己想要的回答,实现自己的目标和愿景。



*文章为作者独立观点,不代表笔记侠立场。

分享、点赞、在看,3连

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/162305
 
45 次点击