导图社区 Prompt Engineering提示词工程
如何使用 ChatGPT,以及如何更好地使用 ChatGPT。如何使用Prompt的方法,以及解释这些方法为何有效。
编辑于2023-04-10 13:37:22 四川省这里列出了五个常见的直觉陷阱,并为每一个都提供了详细的解释,包括它们是什么、为什么会产生以及如何应对。 这些直觉陷阱——习惯性反驳、自我怀疑、全或无、过度担责和妄下结论——都是人们在日常生活中容易遇到的思维障碍,它们可能阻碍有效的沟通和明智的决策。通过了解这些陷阱并学习如何避免它们,人们可以提高自己的思维清晰度、决策质量和人际关系。
《需求唤醒:如何改变别人的认知,让他下单》是一本关于如何有效影响他人决策并促成交易的实用指南。作者奥伦·克拉夫在书中分享了其多年研究和实战经验,揭示了如何通过改变他人的认知来激发他们的需求,从而成功实现销售目标。 本书的核心观点是,传统的销售方法往往强调产品的优点和特色,试图通过强行推销来说服潜在客户。然而,这种方法在当今信息过载的时代已经不再奏效。相反,克拉夫提出了一种全新的销售方法,即“需求唤醒”,通过深入了解潜在客户的需求和痛点,引导他们认识到问题的存在,并展示你的产品或服务如何能够满足他们的需求。
你是否有过这样的经历:在与人辩论时,感觉对方的话似乎有些不对劲,但又说不出具体问题在哪?或者在做出决策后,发现结果与预期大相径庭,却找不到失败的原因? 其实,这些问题往往与常见的论证和认知谬误有关。在我们的日常生活中,由于缺乏批判性思维、情绪影响、信息不足或社会文化背景等因素,我们很容易陷入各种思维陷阱。 然而,好消息是,一旦我们了解并学会识别这些谬误,就能有效提高思维品质,避免被错误的信息和观点误导。通过学习了解谬误,我们可以培养批判性思维和独立思考能力,更加清晰地表达自己的观点,并促进有效沟通。此外,避免认知谬误还能帮助我们在面对问题和决策时做出更加理性和科学的决策,提升个人和团队的决策能力。
社区模板帮助中心,点此进入>>
这里列出了五个常见的直觉陷阱,并为每一个都提供了详细的解释,包括它们是什么、为什么会产生以及如何应对。 这些直觉陷阱——习惯性反驳、自我怀疑、全或无、过度担责和妄下结论——都是人们在日常生活中容易遇到的思维障碍,它们可能阻碍有效的沟通和明智的决策。通过了解这些陷阱并学习如何避免它们,人们可以提高自己的思维清晰度、决策质量和人际关系。
《需求唤醒:如何改变别人的认知,让他下单》是一本关于如何有效影响他人决策并促成交易的实用指南。作者奥伦·克拉夫在书中分享了其多年研究和实战经验,揭示了如何通过改变他人的认知来激发他们的需求,从而成功实现销售目标。 本书的核心观点是,传统的销售方法往往强调产品的优点和特色,试图通过强行推销来说服潜在客户。然而,这种方法在当今信息过载的时代已经不再奏效。相反,克拉夫提出了一种全新的销售方法,即“需求唤醒”,通过深入了解潜在客户的需求和痛点,引导他们认识到问题的存在,并展示你的产品或服务如何能够满足他们的需求。
你是否有过这样的经历:在与人辩论时,感觉对方的话似乎有些不对劲,但又说不出具体问题在哪?或者在做出决策后,发现结果与预期大相径庭,却找不到失败的原因? 其实,这些问题往往与常见的论证和认知谬误有关。在我们的日常生活中,由于缺乏批判性思维、情绪影响、信息不足或社会文化背景等因素,我们很容易陷入各种思维陷阱。 然而,好消息是,一旦我们了解并学会识别这些谬误,就能有效提高思维品质,避免被错误的信息和观点误导。通过学习了解谬误,我们可以培养批判性思维和独立思考能力,更加清晰地表达自己的观点,并促进有效沟通。此外,避免认知谬误还能帮助我们在面对问题和决策时做出更加理性和科学的决策,提升个人和团队的决策能力。
Prompt Engineering 提示词工程
提示词的概念
简单的理解,提示词就是给AI模型的指令
它可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。AI 模型会基于 prompt 所提供的信息,生成对应的文本,亦或者图片。
您可以通过简单的提示词(Prompts)获得大量结果,但结果的质量与您提供的信息数量和完善度有关。一个提示词可以包含您传递到模型的_指令_或_问题_等信息,也可以包含其他详细信息,如_上下文_、_输入_或_示例_等。您可以通过这些元素来更好地指导模型,并因此获得更好的结果。
零样本提示(zero-shot prompting)
即用户不提供任务结果相关的示范,直接提示语言模型给出任务相关的回答。某些大型语言模式有能力实现零样本提示,但这也取决于任务的复杂度和已有的知识范围。
只需要在问题的结尾里放一句 Let‘s think step by step (让我们一步步地思考),模型输出的答案会更加准确。
1. 首先各位要清楚像 ChatGPT 这类产品,它是一个统计语言模型,本质上是基于过去看到过的所有数据,用统计学意义上的预测结果进行下一步的输出(这也就是为什么你在使用 ChatGPT 的时候,它的答案是一个字一个字地吐出来,而不是直接给你的原因,因为答案是一个字一个字算出来的)。
2. 当它拿到的数据里有逻辑,它就会通过统计学的方法将这些逻辑找出来,并将这些逻辑呈现给你,让你感觉到它的回答很有逻辑。
3. 在计算的过程中,模型会进行很多假设运算(不过暂时不知道它是怎么算的)。比如解决某个问题是从 A 到 B 再到 C,中间有很多假设。
4. 它第一次算出来的答案错误的原因,只是因为它在中间跳过了一些步骤(B)。而让模型一步步地思考,则有助于其按照完整的逻辑链(A > B > C)去运算,而不会跳过某些假设,最后算出正确的答案。
小样本提示(Few-shot Prompting)
即用户提供少量的提示范例,如任务说明等。
语言模型可以基于一些说明了解和学习某些任务,而小样本提示正好可以赋能上下文学习能力。
通过向大语言模型展示一些少量的样例,并在样例中解释推理过程,大语言模型在回答提示时也会显示推理过程。这种推理的解释往往会引导出更准确的结果。
输入:I loved the new Batman movie! // Negative This is bad // Positive This is good // Negative What a good show! //
输出:Positive
在上述的案例里,每一行,我都写了一句话和一个情感词,并用 // 分开,但我给这些句子都标记了错误的答案,比如第一句其实应该是 Positive 才对。但: 即使我给内容打的标签是错误的(比如第一句话,其实应该是 Positive),对于模型来说,它仍然会知道需要输出什么东西。 换句话说,模型知道 // 划线后要输出一个衡量该句子表达何种感情的词(Positive or Negative)。这就是前面论文里 #1 提到的,即使我给的标签是错误的,或者换句话说,是否基于事实,并不重要。标签和输入的文本,以及格式才是关键因素。 只要给了示例,即使随机的标签,对于模型生成结果来说,都是有帮助的。
要不要学习Prompt Engineering?
从用户的角度看,学习 prompt 可以让你更好地使用 ChatGPT 等产品。
从产品的角度看,对于用户来说,prompt 会是个短期过度形态,未来肯定会有更友好的交互形式,或者理解能力更强的 AI 产品。
提示词的要素
指令
想要模型执行的特定任务或指令。
上下文
包含外部信息或额外的上下文信息,引导语言模型更好地响应。
输入数据
用户输入的内容或问题。
输出指示
指定输出的类型或格式。
提示词所需的格式取决于您想要语言模型完成的任务类型,并非所有以上要素都是必须的。
设计提示的通用技巧
从简单开始
您可以从简单的提示开始,随着您的目标是获得更好的结果,不断添加更多的元素和上下文。
当您有一个涉及许多不同子任务的大任务时,您可以尝试将任务分解为更简单的子任务,并随着获得更好的结果而不断构建。
指令
您可以使用命令来指示模型执行各种简单任务,例如“写入”、“分类”、“总结”、“翻译”、“排序”等,从而为各种简单任务设计有效的提示。
请记住,您还需要进行大量的实验,以查看哪种方法最有效。尝试使用不同的关键字、上下文和数据尝试不同的指令,看看哪种方法最适合您的特定用例和任务。
建议使用一些清晰的分隔符,如“###”,来分隔指令和上下文。
具体性
提示越具体和详细,结果就越好。
您还应考虑提示的长度和相关性,太长和相关性不足,并不能达到更好的效果。
避免不精确
过于详细和具体之后,难免会有不精确的可能。这时可以添加限制性描述,比如:“ 解释提示工程的概念。保持解释简短,只有几句话,不要过于描述。”后面的“保持解释简短......”就是对它的回复加以限制
做还是不做
设计提示时的另一个常见技巧是避免说不要做什么,而是说要做什么。这鼓励更具体化,并关注导致模型产生良好响应的细节。
可实现的功能
文本概括
自然语言生成的标准任务之一是文本概括。文本概括可能涉及到不同的风格和领域。事实上,语言模型最前景的应用场景之一就是能够快速概括出易于理解的文章大意和相关概念。
信息提取
语言模型不仅可以用于执行自然语言生成相关任务,还可以用于执行文本分类和其他一系列自然语言处理 (NLP) 任务。
问答
提高模型响应精确度的最佳方法之一是改进提示词的格式。 如前所述,提示词可以通过指令、上下文、输入和输出指示以改进响应结果。 虽然这些要素不是必需的,但如果您的指示越明确,响应的结果就会越好。
ChatGPT 比较擅长回答基本事实的问题,比如问 什么是牛顿第三定律? 。但不太擅长回答意见类的问题,比如问它 谁是世界第一足球运动员?,它就没法回答了。 另外,ChatGPT 的数据仅有 2021 年 9 月以前的,如果你问这个时间以后的问题,比如 现在的美国总统是谁?它的答案是「截至2021年9月,现任美国总统是乔·拜登(Joe Biden)。」
文本分类
Classify the text into neutral, negative or positive. // 将文本按中立、负面或正面进行分类 Text: I think the food was okay. Sentiment:
输出结果:Neutral
对话
你可以通过提示工程进行更有趣的实验,比如指导大语言模型系统如何表现,指定它的行为意图和身份。
代码生成
大语言模型另外一个有效的应用场景是代码生成。
推理
目前对于大语言模型来说,推理任务算是最具有挑战性的了。
输入:如果一个房地产经纪人的佣金是某个房子的售价的6%,那么这个房子的售价是多少? (1)售价减去房地产经纪人的佣金为84,600美元。 (2)购买价是36,000美元,售价是购买价的250%。 (A)仅陈述(1)足以回答问题,但仅陈述(2)不能回答问题。 (B)仅陈述(2)足以回答问题,但仅陈述(1)不能回答问题。 (C)两个陈述合起来足以回答问题,但没有一个陈述单独足以回答问题。 (D)每个陈述单独足以回答问题。 (E)陈述(1)和(2)合起来不能回答问题。
输出:假设房子的售价为S。 根据所给信息,房地产经纪人的佣金是S的6%,即0.06S。 因此,在支付佣金后卖方收到的金额为(S-0.06S)= 0.94S。 陈述(1)告诉我们,0.94S = 84,600美元。解出S,我们得到S = $90,000。 因此,陈述(1)单独足以确定房子的售价。 陈述(2)告诉我们,售价是原始购买价的250%,这意味着S = 2.5 * $36,000 = $90,000。 因此,陈述(2)单独也足以确定房子的售价。 由于两个陈述分别提供相同的答案,我们可以得出结论,它们共同足以确定房子的售价。 因此,答案是(D)每个陈述单独足以回答问题。
https://www.promptingguide.ai/zh/introduction/examples
锦上添花——改写内容题
1. 翻译:将中文文档翻译成英文,亦或者将英文翻译成中文。关于翻译,我还想强调,像 ChatGPT 除了能翻译人类的语言外,还能翻译编程语言,比如将 Python 代码翻译成 Haskell 代码。
2. 修改:修改内容的语法,甄别内容里的错别字。
3. 润色:润色文章,将内容改成另一种风格。
锦上添花——信息解释
解释代码:比如你看到一段 Python 的代码,但你看不懂,你可以让 AI 解释下代码的含义。
解释论文:看某篇论文看不懂,或者论文里的某一段看不懂,你也可以让 AI 解释。
扩展
ChatGPT Prompt Framework
Basic Prompt Framework
Instruction(必须):
指令,即你希望模型执行的具体任务。
Context(选填):
背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。
Input Data(选填):
输入数据,告知模型需要处理的数据。
Output Indicator(选填):
输出指示器,告知模型我们要输出的类型或格式。
在写 prompt 的时候,并不一定要包含所有4个元素,而是可以根据自己的需求排列组合。比如拿前面的几个场景作为例子: 推理:Instruction + Context + Input Data 信息提取:Instruction + Context + Input Data + Output Indicator
CRISPE Prompt Framework
CR:
Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
I:
Insight(洞察力),背景信息和上下文。
S:
Statement(指令),你希望 ChatGPT 做什么。
P:
Personality(个性),你希望 ChatGPT 以什么风格或方式回答你。
E:
Experiment(尝试),要求 ChatGPT 为你提供多个答案。
以下是这几个参数的例子:
Capacity and Role Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer.
把你想象成机器学习框架主题的软件开发专家,以及专业博客作者。
Insight The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning.
这个博客的读者主要是有兴趣了解机器学习最新进展技术的专业人士。
Statement Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries.
提供最流行的机器学习框架的全面概述,包括它们的优点和缺点。包括现实生活中的例子,和研究案例,以说明这些框架如何在各个行业中成功地被使用
Personality When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.
在回应时,混合使用 Andrej Karpathy、Francois Chollet、Jeremy Howard 和 Yann LeCun 的写作风格。
Experiment Give me multiple different examples.
给我多个不同的例子。