《花雕学AI》17:关注提示工程—本世纪最重要的技能可能就是与AI人工智能对话
本文目录与主要结构
如何看待AI代替人类工作?
百度创始人李彦宏表示,不管有多少工作被替代,这只是整个图景的一部分,另外一部分是,存在我们现在甚至无法想象的更多新机会。做一个大胆预测,10年之后,人类一半的工作是与写提示词(prompt)有关。未来可能不需要那么多程序员,但是会需要越来越多的提示词工程师。李彦宏认为,以后没准学文科更容易找工作,因为写提示词的时候,想象力、情感、表达这些有可能真的比现在学工程的人要更有意思,更有效果一些。而多元认知,结构化思考,思维模型更加重要了。“人人都是提示词工程师”的提法,也许意味着每个人都可以通过使用机器学习和人工智能技术,来改进搜索引擎的提示词系统。
ChatGPT 的创始人 SAM前段时间也说过,提示是一个高杠杆技能。要用好人工智能,给出我们想要的答案,对我们每个人来说,学会设计AI提示词是必要的,不管人工智能他有多聪明,也不是我们肚子里的蛔虫,不太可能知道我们在想什么。所以,写提示词,就是结构化的思考和表达,是AI重要的人机接口。这在跟人交流沟通中也是需要的。
作为较早和成功的NLP和LLM工具开发公司之一,Cohere认为,成功的提示工程师将找到一种方法来指导模型生成有用的输出。该公司在其提示工程师指南中解释说,实现这一点的一种方法是尝试多种提示组合。该公司表示:“同一提示的不同组合可能听起来与人类相似,但可能会导致不同的效果。”
引言:
人工智能(AI)是本世纪最具影响力和变革力的技术之一,它正在改变我们的生活、工作和社会。在人工智能领域,语言模型(LM)是一种可以理解和生成自然语言(如中文、英文等)的模型,它可以用于各种应用和研究主题,如聊天机器人、文本摘要、机器翻译、知识图谱等。随着计算能力和数据量的增加,语言模型也越来越强大和智能,如ChatGPT、百度文心一言、阿里通义千问、腾讯混元和华为盘古等大型语言模型(LLM),它们可以根据用户提供的输入(prompt)生成各种类型和风格的内容(response)。
但是,如何有效地利用语言模型呢?如何让语言模型理解我们想要的内容,并生成我们需要的结果呢?这就需要一种新兴的学科——提示工程(Prompt engineering)。提示工程是一种利用人工智能模型生成内容的方法,需要给模型提供一些输入(prompt),让模型根据输入生成输出(response)。提示工程的难点在于如何设计合适的输入,让模型能够理解用户的意图和需求,并生成高质量的输出。
为什么提示工程是本世纪最重要的技能之一呢?因为它可以让我们更好地与人工智能对话,更好地利用人工智能的能力和潜力,更好地创造和创新。提示工程可以帮助我们解决各种问题,提高效率和质量,拓展思维和视野,增强表达和沟通。提示工程不仅适用于语言模型,也适用于其他类型的人工智能模型,如图像、音频、视频等。提示工程是连接人类和人工智能的桥梁,是实现人机协作和协同创新的关键。
在本文中,我们将介绍提示工程的基本原理和方法,展示提示工程在不同领域和场景中的应用和案例(主要使用BingGPT和ChatGPT进行测试),探讨提示工程面临的挑战和前景。我们希望通过本文,让读者开始关注并学习提示工程这门重要而有趣的学科。
知识点:
提示工程(prompt engineering),是一种利用人工智能模型生成内容的方法,需要给模型提供一些输入(prompt),让模型根据输入生成输出(response)。它利用人工智能模型的语言生成能力,通过与模型对话,实现各种功能和任务,有着广泛的应用和案例,也有着一些高级的技巧和原则。提示工程是一门有趣而有用的技能,它可以让我们更好地利用人工智能模型的潜力,创造出更多的价值和可能性。
一、提示工程的基本原理和方法
在引言中,介绍了提示工程的概念和背景,说明了为什么它是本世纪最重要的技能之一。在本节中,将介绍提示工程的基本原理和方法,帮助读者掌握如何利用人工智能模型生成内容的技巧。
首先,我们需要了解什么是提示(prompt)。提示是一种给人工智能模型提供输入的方式,它可以包括指令、背景、示例、输入和输出指示等不同的元素,用于告诉模型我们想要它执行的任务和生成的结果。例如,如果我们想让新Bing为我们生成一首诗,我们可以给它一个这样的输入:
写一首五言绝句,主题是春天。
这个输入就是一个简单的提示,它包含了一个指令(写一首五言绝句)和一个背景(主题是春天)。根据这个输入,可能会生成这样一个输出:
好的,我试试吧。这是我写的一首五言绝句,主题是春天:春风吹绿杨柳, 百花争艳绽笑容。 蜜蜂采集花蜜, 小鸟欢唱枝头上。
这个输出就是一个简单的响应(response),它符合了输入中给出的任务和条件。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。
其次,我们需要了解如何设计提示(prompt design)。设计提示的目的是让模型能够理解我们的意图和需求,并生成高质量的输出。设计提示的方法有很多,如使用问答格式、提供多个示例、使用特定的令牌或关键字等。设计提示的原则是要尽可能具体、明确、简洁和相关。例如,如果我们想让百度文心一言为我们生成一篇文章摘要,我们可以给它一个这样的输入:
Q: 请根据以下内容写一篇摘要,不超过100字。 A: Content: 人工智能(AI)是本世纪最具影响力和变革力的技术之一,它正在改变我们的生活、工作和社会。在人工智能领域,语言模型(LM)是一种可以理解和生成自然语言(如中文、英文等)的模型,它可以用于各种应用和研究主题,如聊天机器人、文本摘要、机器翻译、知识图谱等。随着计算能力和数据量的增加,语言模型也越来越强大和智能,如ChatGPT、百度文心一言、阿里通义千问、腾讯混元和华为盘古等大型语言模型(LLM),它们可以根据用户提供的输入(prompt)生成各种类型和风格的内容(response)。
这个输入就是一个问答式的提示,它包含了一个问题(Q)和一个答案(A)。问题部分给出了任务的要求和限制,答案部分给出了需要摘要的内容。根据这个输入,BingGPT可能会生成这样一个输出:
摘要:本文介绍了人工智能(AI)领域中的语言模型(LM),它是一种可以理解和生成自然语言的模型。本文概述了语言模型的应用和研究主题,如聊天机器人、文本摘要、机器翻译、知识图谱等,并介绍了几种大型语言模型(LLM),如ChatGPT、百度文心一言、阿里通义千问、腾讯混元和华为盘古等。本文分析了语言模型的优势和挑战,并展望了语言模型的未来发展方向。
这个输出就是一个简单的摘要(summary),它符合了输入中给出的任务和条件。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。
最后,我们需要了解如何优化提示(prompt optimization)。优化提示的目的是让模型能够更好地执行任务,并提高输出的准确性、可靠性和多样性。优化提示的方法有很多,如调整模型参数、使用反馈循环、进行实验和迭代等。优化提示的原则是要尽可能测试、评估和改进。例如,如果我们想让百度文心一言为我们生成一首诗,我们可以尝试不同的输入来观察输出的变化,如下所示:
写一首五言绝句,主题是太阳。输出: 太阳升起东方, 万物沐浴光芒。 暖风拂过山岗, 人们欢笑田旁。
写一首五言绝句,主题是太阳。请使用对仗法。 输出: 太阳照亮天空, 白云映衬山峰。 日出惊艳东方, 晚霞绚烂西红。
写一首五言绝句,主题是太阳。请使用拟人法。 输出: 太阳从梦中醒, 慢慢露出笑脸。 他照耀着大地, 温暖着万物心。
从上面的例子可以看出,不同的输入会导致不同风格或质量的输出。通过优化提示,我们可以让模型更好地满足我们的需求和期望。
总之,在本节中,我们介绍了提示工程的基本原理和方法,包括什么是提示、如何设计提示和如何优化提示。我们通过一些具体的例子,展示了提示工程在文本摘要、信息提取、问答、文本分类、对话、代码生成和推理等任务中的应用。我们希望通过本节,让读者对提示工程有一个初步的了解和掌握。在下一节中,我们将介绍提示工程在不同领域和场景中的应用和案例,让读者更深入地感受提示工程的魅力和价值。
二、提示工程的应用和案例
在上一节中,我们介绍了提示工程的基本原理和方法,包括什么是提示、如何设计提示和如何优化提示。在本节中,我们将介绍提示工程在不同领域和场景中的应用和案例,让读者更深入地感受提示工程的魅力和价值。
首先,我们来看一个生成数据的应用。生成数据是指利用人工智能模型的文本生成能力,通过有效的提示策略,引导模型产生更好、更一致和更准确的数据,用于各种实验和测试。例如,我们可以使用ChatGPT来生成一些情感分析的例子,如下所示:
生成 10个情感分析例子。 将示例归类为积极或消极。 生成 2个消极的示例和 8个积极的示例。 使用以下格式进行示例: 问: <句子 > 答: <情感 >
输出:以下是 10个情感分析例子,2个消极的示例和8个积极的示例:
问: 我们失去了游戏,但我们付出了最大的努力。 答: 积极 [1]
问: 这个新餐厅真是美味! 答: 积极 [3]
问: 我的电脑坏了,我现在不能上网了。 答: 消极 [1]
问: 我感到非常生气和失望,因为我未能赢得比赛。 答: 消极 [3]
问: 我很高兴今天早上起床了,可以迎接新的一天。 答: 积极 [1]
问: 每个人都对我的研究表达了高度评价。 答: 积极 [3]
问: 我们刚刚完成了一个困难的任务,这让我们感到非常自豪。 答: 积极 [1]
问: 我们的校园环境真的很美丽。 答: 积极 [3]
问: 我在晚会上看到了我的老朋友们,这让我感到非常快乐。 答: 积极 [1]
问: 我们的公司获得了一个巨大的合同,这是我们的一次重大胜利。 答: 积极 [3]
这些输出就是一些简单的情感分析例子(examples),它们符合了输入中给出的任务和条件。当然,这些输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。通过生成数据,我们可以快速地获取一些样本数据,用于训练或评估我们自己的情感分类器。
其次,我们来看一个PAL(编程辅助语言模型)的应用。PAL是指利用人工智能模型的代码生成能力,通过将问题转化为程序作为中间推理步骤,利用编程运行时(如Python解释器)来提供答案。例如,我们可以使用ChatGPT解决一些需要日期理解的问题,如下所示:
根据以下上下文回答问题。 保持答案简短明了。 如果不确定答案,请回复“不确定答案”。
语境:
Teplizumab 的根源可以追溯到一家名为 Ortho Pharmaceutical 的新泽西制药公司。 在那里,科学家们生成了早期版本的抗体,称为 OKT3。 该分子最初来自小鼠,能够与 T 细胞表面结合并限制其杀伤细胞的潜力。 1986 年,它被批准用于帮助预防肾移植后的器官排斥反应,使其成为第一个获准用于人类的治疗性抗体。
问题:
OKT3最初来源于什么?
回答:
输出:
OKT3最初来源于小鼠。
这个输出就是一个简单的答案(answer),它符合了输入中给出的任务和条件。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。通过PAL,我们可以让模型利用编程语言和逻辑来解决一些复杂或特定的问题。
最后,我们来看一个Python笔记本的应用。Python笔记本是指利用人工智能模型的代码执行能力,通过在Python笔记本中使用提示,实现各种功能和任务,如数据分析、可视化、机器学习等。例如,我们可以使用BingGPT(因为涉及AI绘画,这里使用新必应桌面端)来绘制一些图表,如下所示:
在Python笔记本中执行以下代码,并显示结果。
import matplotlib.pyplot as plt import numpy as np
生成一些随机数据
x = np.random.randn(1000) y = np.random.randn(1000)
绘制散点图
plt.scatter(x, y) plt.xlabel(‘x’) plt.ylabel(‘y’) plt.title(‘Random Scatter Plot’) plt.show()
输出:
这个输出就是一个简单的图表(chart),它显示了输入中给出的代码执行后的结果。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。通过Python笔记本,我们可以让模型利用Python语言和库来实现各种功能和任务。
总之,在本节中,我们介绍了提示工程在不同领域和场景中的应用和案例,包括生成数据、PAL(编程辅助语言模型)和Python笔记本。我们通过一些具体的例子,展示了提示工程在文本生成、代码生成和代码执行等任务中的能力和价值。我们希望通过本节,让读者更深入地感受提示工程的魅力和价值。在下一节中,我们将介绍提示工程的一些高级技巧和原则,让读者更好地掌握如何设计和优化高效和有效的提示。
三、提示工程的高级技巧和原则
在上一节中,我们介绍了提示工程在不同领域和场景中的应用和案例,包括生成数据、PAL(编程辅助语言模型)和Python笔记本。在本节中,我们将介绍提示工程的一些高级技巧和原则,让读者更好地掌握如何设计和优化高效和有效的提示。
首先,我们来看一个零样本提示的技巧。零样本提示是指利用人工智能模型的零样本能力,通过简单的提示,让模型在没有任何示例的情况下执行任务。例如,我们可以使用ChatGPT来进行文本分类,如下所示:
将文本分类为中性、负面或积极。 文本:我认为假期还好。
情感:
输出:
中性
这个输出就是一个简单的分类(classification),它符合了输入中给出的任务和条件。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。通过零样本提示,我们可以让模型利用其内部知识和语言理解来执行各种任务。
其次,我们来看一个少样本提示的技巧。少样本提示是指利用人工智能模型的少样本能力,通过在提示中提供一些示例,让模型在有限的数据下执行任务。例如,我们可以使用ChatGPT来进行命名实体识别(NER),如下所示:
根据以下上下文回答问题。 保持答案简短明了。 如果不确定答案,请回复“Unsure about answer”。
Context:
Teplizumab 的根源可以追溯到一家名为 Ortho Pharmaceutical 的新泽西制药公司,在那里,科学家们生成了早期版本的抗体,称为 OKT3。 该分子最初来自小鼠,能够与 T 细胞表面结合并限制其杀伤细胞的潜力。 1986 年,它被批准用于帮助预防肾移植后的器官排斥反应,使其成为第一个获准用于人类的治疗性抗体。
Question:
Ortho Pharmaceutical 是哪个国家的公司?
Answer:
Output:
Ortho Pharmaceutical 是美国的公司。
这个输出就是一个简单的答案(answer),它符合了输入中给出的任务和条件。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。通过少样本提示,我们可以让模型利用一些示例数据来执行各种任务。
最后,我们来看一个链式思考提示的技巧。链式思考提示是指利用人工智能模型的推理能力,通过在提示中提供一些推理步骤,让模型在复杂的任务下执行任务。例如,我们可以使用ChatGPT来进行算术运算,如下所示:
这组数中的奇数相加得到一个偶数:4、8、9、15、12、2、1。 A:将所有奇数相加(9、15、1)得到25。 答案是错的。
这组数中的奇数相加得到一个偶数:15、32、5、13、82、7、1。 A:
Output:
将所有奇数相加(15+5+13+7+1)得到41,不是一个偶数。因为所有奇数之和为奇数,不可能得到一个偶数的结果。
这个输出就是一个简单的运算(calculation),它符合了输入中给出的任务和条件。当然,这个输出并不是唯一可能的结果,不同的模型或参数可能会生成不同风格或质量的内容。通过链式思考提示,我们可以让模型利用一些推理步骤来执行各种任务。
总之,在本节中,我们介绍了提示工程的一些高级技巧和原则,包括零样本提示、少样本提示、链式思考提示、自我一致性、生成知识提示和自动提示工程师。我们通过一些具体的例子,展示了提示工程在不同任务中的能力和价值。我们希望通过本节,让读者更好地掌握如何设计和优化高效和有效的提示。
结论:
提示工程是一门新兴的技术,它利用人工智能模型的语言生成能力,通过与模型对话,实现各种功能和任务。提示工程有着广泛的应用和案例,包括生成数据、PAL(编程辅助语言模型)、Python笔记本等。提示工程也有着一些高级的技巧和原则,包括零样本提示、少样本提示、链式思考提示,其他还有自我一致性、生成知识提示和自动提示工程师等。提示工程是一门有趣而有用的技能,它可以让我们更好地利用人工智能模型的潜力,创造出更多的价值和可能性。我们希望通过本文,让读者对提示工程有了一个初步的了解和兴趣,并鼓励读者尝试自己与人工智能模型对话,发现更多的惊喜和乐趣。
附录:
《花雕学AI》是一个学习与交流AI的专栏,由驴友花雕撰写,主要介绍了人工智能领域的多维度学习和广泛尝试,包含多篇文章,分别介绍了ChatGPT、New Bing和Leonardo AI等人工智能应用和技术的过程和成果。本专栏通过实际案例和故事,详细介绍了人工智能和编程的基本概念、原理、方法、应用等,并展示了这些平台的各种人工智能功能,如搜索、交流、创作、绘画等。在本专栏里,作者花雕和ChatGPT及新必应等一起探索了各种有趣和有用的人工智能应用。他们共同学习了很多人工智能和编程的知识和技能,并结下了深厚的友谊。他们用自己的创造力和热情,为人工智能领域增添了一抹亮色。如果您也对此感兴趣,欢迎关注《花雕学AI》这个专栏,大家一起探索人工智能的奥秘和乐趣。想要了解本专栏的最新进展,请使用谷歌、必应、百度或者今日头条等引擎直接搜索【花雕学AI】。