使用ChatGPT已经一年半有余,陆续写过几篇使用GPT心得的文章,如下所示:
没有读不懂的书,ChatGPT让我的理解力提升了1000%!
我用ChatGPT搞懂GPT技术原理,只问了30个问题,这是极致的学习体验!
问了ChatGPT 上百个问题后,我断定ChatGPT可以重塑学习范式!
GPT 可以说已经是一个自身具足的智能,但是我们跟它交流还是得讲技巧和策略。现在有个专门研究怎么跟AI交流的学问叫“提示语工程”( Prompt Engineering)。这就如同要想让一个魔法发挥最大的效力,你得会念咒语一样,下面是我提供的10个咒语。
1、明确性和具体性
我以前用ChatGPT,由于急于要获得答案,因此对问题的描述往往比较简单,这样得到的答案与自己的预期会相差很远,因为这个时候我们可能根本没想清楚自己要的是什么。
比如你想学习数据安全,对GPT说:“给我讲下数据安全。” 这就不是一个很好的提示语。它的回答不会比百度好多少,往往是泛泛而谈的答案。
你应该想清楚一点,到底想学什么,比如说:“最近公司发生了数据泄露事件,主要是数据被非法导出了,请问有什么控制办法?“
你看,这一次AI的回答就更有针对性了,然后你对数据加密的技术不太了解,于是你提出进一步要求:”请解释下主要的敏感数据加密技术并举例。“
像这样的对话可以来往很多轮,直到你满意为止。这其实有点像编程,不断反馈、不断修正,你会乐此不疲的。
2、提供示例或模版
GPT有强大的小样本学习能力,看一遍就会了,有时候先举几个例子或给出模版,可以让GPT 更清楚你到底想要什么。
我们在做ChatSQL的时候,就经常发现AI无法理解自然语言的问题,然后给几个示范例子,它就能按照这些示范输出了,如下所示。
假设你是一名数据分析师,想要让GPT帮你生成一些数据清洗的SQL查询语句。你可能会这样开始:
"以下是一个数据清洗的SQL查询例子:
SELECT customer_id, TRIM(customer_name) AS customer_name,UPPER(email) AS emailFROM customers WHERE customer_id IS NOT NULL;
请生成5个类似的数据清洗SQL查询。"
然后ChatGPT举一反三的给你示例了一堆,涵盖了常见的数据清洗任务,如处理缺失值、标准化格式、删除重复项、拆分字段和数据类型转换,如下所示:
您可以根据具体需求修改这些查询,这种方式可以极大的拓展我们不知道自己不知道的东西。
3、给出具体的情境
现在很多人都会用GPT 起草报告,甚至写文章,给它一篇文章,它还可以生成摘要, 回答关于这篇文章的问题。但是要让GPT把这些事情真正做得漂亮,你最好自己先做一番功夫。
GPT 是无数语料喂出来的,我们可以想象它是无数个作家的分身叠加而成的。如果你只是提一个一般性的要求,它就只能给你生成一个一般性的、用在哪里都行,但是用在哪里都不是最恰当的内容。
但如果你能把要求细化,它就会生成适合你这个特殊情况的内容。你的独特性要体现在你提的问题里到底有多少你所处情景的描述,即上下文。
举个例子,你想优化数据库性能,可以这么提问:"我需要优化我的数据库性能,你能给些建议吗?"
ChatGPT可能会给出一些通用的优化建议,但这些建议可能不够具体或不适用于用户的实际情况。
但如果这么描述:“我有一个电子商务网站,使用MySQL数据库。最近,随着用户增加到约100万,我们注意到在高峰时段(每天晚上8点到10点)网站响应变慢。特别是产品搜索和订单处理页面加载时间增加。数据库大小约为500GB,主要包含用户、产品、订单和库存表。你能给出一些针对性的数据库优化建议吗?”
有了这个具体情境,ChatGPT可以提供更有针对性和实用性的建议,如下所示:
你说的越不具体,GPT就只好脑补,它脑补的往往不是你想要的。
4、使用角色扮演
这是AI官方推荐的标准用法,我们可以来比较下使用角色扮演和不使用角色扮演的区别,比如你想了解数据治理,对ChatGPT说:“数据治理是什么意思?” 这就不是一个很好的提示语。
下面这个GPT的答案质量很低,我是看不下去的。所以会这样,我想大致是因为喂给大模型的语料质量所致(比如要么是大众语料太多,要么是观点不够精确)。
但如果换成:“假设你是一名理论扎实,拥有30年实战经验的数据治理的咨询专家,请解释下数据治理是什么意思?” 这次回答的质量就不太一样了,如下所示:
专家的观点大多是比较严谨的,从这个回答就能看出来,其实也反映出大模型训练中的问题。
理论上,专家的语料权重比普通人要大很多,但训练的时候无法进行区分,因此只能在提示词中进行引导。
下面是一个我以前在学习数据治理时写的一个Prompt,供大家参考:
5、分步骤给出需求
我们在给AI提复杂问题的时候,尽量要拆解问题,分步骤提出你的需求 ,使用列表或编号来组织复杂的请求,这样才能得到理想的答案。大致的原因如下:
(1)自然语言本身具有模糊性,复杂问题可能导致AI在理解意图时产生歧义,容易混淆或忽略某些细节
(2)AI的推理能力在面对复杂、长链的推理任务时有一定的局限性
(3)AI训练过程中形成了特定的输入-输出对应模式,结构化的输入更容易触发正确的处理模式
(4)上下文记忆限制,AI可能无法同时考虑所有信息,从而导致不准确的回答。
比如你是一家电商公司的数据分析师,想分析其客户流失情况,你对ChatGPT简单的说:“请分析我们电商公司的客户流失情况。” GPT给的回复会非常俗套,但如果你针对性的给出了分析步骤,那就完全不一样了,比如这么提问:
“请帮助分析我们电商公司的客户流失情况。请按以下步骤进行:
(1)定义客户流失: a) 给出客户流失的明确定义 b) 列出可能影响流失的关键指标
(2)数据准备: a) 列出分析所需的数据字段 b) 说明如何处理缺失值和异常值
(3)分析方法: a) 推荐2-3种适合的分析技术 b) 解释每种技术的优缺点
(4)可视化: a) 建议2-3种展示流失分析结果的图表 b) 解释每种图表的优势
(5)洞察和建议: a) 列出3-5个可能的流失原因 b) 提出相应的客户保留策略
请为每个步骤提供详细解释和建议。"
GPT的回复质量会高很多,如下所示:
因此,如果我们的问题比较复杂,几句话说不清楚,比如写文章,一般都是要先列出提纲,然后让GPT回答,否则写的文章一般是没法看的。
6、帮助GPT思考
GPT 的数学能力不强,这里的根本原因在于GPT的基本原理是“预测下一个词”,所以它有时候感觉强烈,就会不加思考脱口而出,就如同一个粗心大意的学生。而如果你能帮它整理一下思路,它就能做得更好。
下面这个例子出自一篇很火的论文。
直接问GPT:“150和250之间有多少个质数? ”它的回答明显错误。它一上来就说有21个,但研究也发现,哪怕你什么思路都不提供,只是简单地多说一句“咱们一步一步想”,GPT 就能给更准确的答案。
现在很多AI,比如GPT已经部分的修复了这个缺陷,给出的方法就是借助Python等工具来,但即使不使用工具,现在的AI大多也不脱口而出了,而是会给出计算步骤,然后自己一步步算出来。
大概是这些AI针对计算等特定场景已经内置了分步计算的提示词。比如针对“3.5亿 + 5000万 + 4000万 + 4000万 + 1200万 给出计算结果”这个问题,GPT的回复如下:
但即使是这样,在处理需要细致思考的复杂问题时,我们也尽可能采用这种提示词策略:
一是降低AI"脱口而出"错误答案的风险。
二是提高回答的可解释性和可信度。
三是展示更清晰的推理过程,有更高的教育价值。
7、指定输出格式
我们使用AI的输出结果,不仅仅是要得到一个答案,还需要将其集成到其他地方去,比如我以前的公众号文章要引用AI的输出结果时,会花很多时间去调整格式,指定输出格式则是使用AI时的一个重要技巧,下面示例了指定AI输出编号格式的提示词:
8、设定限制和参数
设定限制和参数是编写有效AI提示词的重要技巧之一,因为明确的参数有助于AI生成更符合您具体需求的内容,包括内容的精确度、质量、实用性,一致性以及目标导向等各个方面。
比如我要为企业制定数据治理策略,不设参数的提示词:"制定一个数据治理策略。" GPT的回答是这样的:
设定参数的提示词如下:
"请为一家拥有500名员工的中型科技公司制定数据治理策略,需满足以下条件:
(1)文档长度:不超过1500字
(2)结构要求:包括执行摘要、主要挑战、策略框架、实施步骤、预期成果五个部分
(3)重点关注领域:数据安全、数据质量、法规遵从(特别是GDPR和CCPA)
(4)技术复杂度:适中,假设读者具有基本的IT和数据管理知识
(5)实用性要求:包含2-3个可立即实施的行动建议
(6)格式:使用markdown格式,每个主要部分使用二级标题"
GPT的输出变成了下面这个样子:
9、检查和验证
在一些专业领域的问答场景,AI经常会一本正经的胡说,不光如此,AI有时候还是个软脚虾,你一质疑又会来迎合你。
因此对AI的回答一定要保持批判性思考,必要时要求AI解释或证明其回答。从AI的回答中取得真经的过程,就是一个“去其糟粕,取其精华”的过程,对提问者本身的专业能力就是一个考验。
比如我问GPT:"你认为数据管理包括哪些内容?" GPT会把数据治理放在第一个,如下所示,这其实有误导作用。
然后我反问:“数据治理不属于数据管理吧?” GPT就改口了:
然后我又问:“DAMA中的数据管理包括数据治理吗?” GPT又改口了。
事实上,从严格的逻辑角度来看,数据管理是否包括数据治理难说对错,这更多是一个视角和定义的问题,而不是一个绝对的对错问题。DAMA的观点有其合理性,将数据治理视为数据管理的一部分可以确保两者的紧密集成和协调。但在许多组织中,数据治理和数据管理职能是分开的。我们必须有批判精神,才不会被AI带偏。
10、多角度分析或创意建议
我们搞IT的,对其他专业领域的知识可能并不太清楚,但这个世界的运行规则不是按照我们所谓的专业来划分的,很多问题需要提供跨专业知识才能解决。
比如你要搞清楚最近比较热的数据资产入表是怎么回事,就需要对IT、数据、财务等各专业的知识都有所了解。
AI大模型的的优势就在于它的推理能力是基于全领域语料训练出来的,天然就是打破专业壁垒的,更容易从不同的视角或学科角度审视问题,模拟不同背景的专家观点,提供独特的见解或创新性的方法。
比如取数人员要提升供数的速度,更多会从技术角度考虑解决方案,但如果你问AI:“如何提升公司的取数响应速度?” AI就会给你一个超越IT的一个全面的方案,你可以从中选择适合的来进行探索。有时候,一次AI提问顶得上100人的头脑风暴,下面是GPT的一个回复:
当然,要最大化发挥出ChatGPT的价值,首先你得养成使用它的习惯,用得越多,就越会发现它的好处。很多人用了一下就不用了,觉得对自己价值不大,这是非常可惜的。
况且现在的AI,跟大模型刚出来的时候相比,已经不是一个物种了,各类AI百花齐放,各有优势。
比如我特别喜欢Claude自动生成图表的能力,因为有助于形象化的理解概念,而Perperity事实性的智能检索有效减少了幻觉,这对于很多严肃工作非常重要。
希望对你有所启示。
傅一平:大模型在数据领域的十大价值应用 3674
基于AI大模型的数据治理 3868
孙凝晖院士给正国级、副国级讲课的万字长稿《人工智能与智能计算的发展》 10506
大企业如何推进AI 1555
点击左下角“阅读原文”查看更多精彩文章,公众号推送规则变了,如果您想及时收到推送,麻烦右下角点个在看或者把本号置顶