本文目录与主要结构

引言:介绍提示工程的概念和背景,说明为什么它是本世纪最重要的技能之一。
正文:
一、提示工程的基本原理和方法:介绍什么是提示、如何设计和优化提示、如何使用提示与语言模型进行交互。
二、提示工程的应用和案例:介绍提示工程在不同领域和场景中的应用,如文学创作、商业文案、数理推算、中文理解和多模态生成等,给出具体的案例和示例。
三、提示工程的高级技巧和原则:介绍提示工程的一些高级技巧和原则,让读者更好地掌握如何设计和优化高效和有效的提示。
结论:总结全文的主要观点,强调提示工程的重要性和价值,呼吁读者开始关注并学习提示工程。

如何看待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】。

《花雕学AI》17:关注提示工程—本世纪最重要的技能可能就是与AI人工智能对话的更多相关文章

  1. [置顶] AI大行其道,你准备好了吗?—谨送给徘徊于转行AI的程序员

    前言 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界.所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布 ...

  2. XMOS发布集单片机,AI,FPGA,DSP于一身的跨界处理器完全体xcore.ai,致力于AIOT,售价1美元起步

    说明:XMOS这次致力于打造全新的,颠覆性的嵌入式平台,简化开发人员要学一堆东西才能开发一款高性能AIOT产品的痛点. XCORE.AI集单片机,AI,FPGA,DSP于一身,嵌入式软件开发人员可以灵 ...

  3. 零基础学python-2.17 文件、open()、file()

    今天我们来说说文件,以及跟文件有关的内建函数open和file 首先我们在python的根文件夹下建一个名为"123"的txt文本文件 文件中面我们输入一些文本 watermark ...

  4. idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输

    众所周知,HTTPS是用来解决 HTTP 明文协议的缺陷,在 HTTP 的基础上加入 SSL/TLS 协议,依靠 SSL 证书来验证服务器的身份,为客户端和服务器端之间建立“SSL”通道,确保数据运输 ...

  5. 17 汽车服务工程 李腾飞 MP4

  6. 17 汽车服务工程 李腾飞 Excel 课程表

  7. 17级-车辆工程-周金霖 计算机作业 MP4音乐网站

  8. Rhythmk 一步一步学 JAVA (17):Servlet 文件上传

    1.环境 : JDK 1.6 , Tomcat 7.0 2.第三方类库: commons-fileupload-1.3.1.jar commons-io-2.4.jar 3.web.xml配置: &l ...

  9. 跟着百度学PHP[17]-复习PDO的几个关键词

    主要就是复习一下几个关键词.发现太久没有写又忘了.惭愧. final self static const

  10. 跟着百度学PHP[17]-PHP扩展CURL的模拟登陆并获取数据

    这两天也不知道怎么,学习效率低.很无奈. 如何知道要去URL该怎么填写呢?就是填写表单中的Action内容: tempnam() 函数创建一个具有唯一文件名的临时文件. <?php header ...

随机推荐

  1. 更改yum源

    1)cd /etc/yum.repos.d/ 2)wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/C ...

  2. Post 大小超出允许的限制

    原因大体找到了: 除了项目最外层有web.config, 在 Pages页面下还有一个web.config配置文件, 遍历顺序为 :aspx 页面同级目录-->逐级父级目录-->根目录-- ...

  3. Stream流相关方法

    LIST<对象> 转换MAP 并根据某个字段分组 // 并根据某个字段分组,并做了归类 Map<String, List<User>> collect = user ...

  4. 【内存管理】ION内存管理器浅析(system heap)(基于linux 4.14)

    什么是ION ION具体不知道是什么的缩写,只知道是android系统上google引入的内存管理方式,为了实现用户与内核间数据共享时零拷贝.多用于多媒体,比如camera和display,graph ...

  5. 将 Sql Server 表信息 C# 对象化 小工具_ 张光荣 的 正能量

    注: a.此程序所得到的结果是根据本人个人习惯生成,所以,肯定不完全适合所有人使用,重在想法...然后个人根据个人需求作出更进...b.程序中可能会出现数据库连接的错误提示[原因概是在sql 连接过程 ...

  6. mysql知识点一

    1.mysql中造成索引失效的原因有哪些?如何分析和解决? 原因: 1.like以通配符%开头索引失效 通常用的索引数据结构是B+树,而索引是有序排列的 优化:一种是使用覆盖索引,另一种是把%放后面 ...

  7. C/C++ 数据结构链式队列的定义与实现

    #include <iostream> #include <Windows.h> using namespace std; typedef struct _QNode{ int ...

  8. java 进程排查

    [admin@New-OperSys-01 ~]$ jstack $pid | grep -A 50 55e7 "GC task thread#1 (ParallelGC)" os ...

  9. .net Core5.0使用IdentityServer4 进行权限控制

    .net Core5.0使用IdentityServer4 进行权限控制 IdentityServer4  ASP.NET Core的一个包含OpenID Connect和OAuth 2.0协议的框架 ...

  10. Jenkins搭建项目过程中遇到的问题解决方法

    1.运行时,报没有权限 报错: rm -rf '/root/jar/*' rm: cannot remove '/root/jar/*': Permission denied 解决方法: 将Jenki ...