在使用AI工具进行内容生成时,您可能会发现AI给出的结果并不尽如人意。实际上,这往往是由于没有正确编写提示词所致。
一个精心设计的提示词能够显著提高AIGC工具生成内容的质量。本文将详细介绍如何编写优秀的AI提示词(Prompt),并提供一些实用的建议和策略。
一、什么是提示词(Prompt)
提示词(Prompt)是用户在使用人工智能模型提供给模型的输入语句或短语,目的是引导模型生成特定类型或风格的输出。简单来说,提示词便是给模型的指令,告诉模型我们期待得到什么样的回答或生成什么样的文本、图片或者视频。
提示工程(Prompt Engineering)是一种优化技术,主要用于改进人工智能模型(尤其是自然语言处理模型,如GPT-4等)的输入数据,以提升模型的表现和结果准确性。在此过程中,可能需要对输入数据进行预处理、选定特定的输入格式,或设计策略以实现预期目标。
提示词主要由以下元素构成:
- 指令:明确告知模型需要执行的具体任务。
- 上下文:提供额外的背景信息,帮助语言模型作出更合适的响应。
- 输入数据:用户提供的问题或内容。
- 输出指示:定义输出的类型或格式。
二、如何有效地编写提示词
以下是一些能够帮我们获得更好结果的策略:
01、让AI模型扮演特定角色
不同的角色给出的答案会有所不同,以ChatGPT为例,为AI提示语赋予一个角色将有助于我们获取更为准确的结果。
比如:你是一位资深广告文案策划,根据我提供的产品信息,提炼10个产品卖点。
或者:你是一名中英翻译,根据我输入的中文内容,翻译成对应英文。
02、明确指出期望的输出长度
明确指出期望的输出长度有助于AI生成更符合需求的内容。比如:将以下文本总结为约100个单词。
03、提供参考文本
给模型提供参考文本可以引导它更好地生成内容。
例如,如果我们希望ChatGPT编写一段有关最新数字化营销的简单介绍。可以给出一些参考文本,提示词可以是:
“参考以下现有的内容,编写一段有关最新数字化营销的简单介绍。150字左右。”
(参考文本来源:ChatGPT生成,图片来自官网)
04、通过示例表达期望的输出格式
当我们向AI展示并指出具体的格式要求时,AI可能会给出更符合需求的回答。
比如:列出全球五座最高的山峰,并分别罗列它们的名字和海拔。期望的格式:
(1)名称:山峰1,海拔:X米
(2)名称:山峰2,海拔:X米
(3)名称:山峰3,海拔:X米
(4)名称:山峰4,海拔:X米
(5)名称:山峰5,海拔:X米
05、在必要时提供参考样本提示
先只提供指令,如果效果不佳,再提供少量参考范例,如果效果仍不理想,再适当调整。
零样本提示(zero-shot)例子:
从下方文本中提取关键词:
文本:{文本}
关键词:
少样本提示(few-shot)例子:
从相应的文本中提取关键字:
文本1:Python是一种流行的高级编程语言,适用于许多不同的应用,包括网页开发,数据科学,人工智能,机器学习等。
关键词1:Python,高级编程语言,网页开发,数据科学,人工智能,机器学习。
##
文本2:Facebook是一种社交媒体平台,允许用户创建个人资料,分享照片,视频,发送消息,并保持与其他用户的联系。它还为企业提供广告平台,以便企业能够接触到全球的潜在客户。
关键词2:Facebook,社交媒体平台,个人资料,分享,照片,视频,消息,用户,企业,广告平台,全球,潜在客户。
##
文本 3:{文本}
关键词3:
此处“##”被用作分隔符。
06、使用分隔符区分指令和上下文
将指令放在提示的开头,并使用分隔符如 ### 或者三重引号 “”” 来区分指令和上下文。以下是一个指令示例,仅供参考:
帮我对以下文本进行归纳总结。
文本:””” {文本指令} “””
“{}”是一个占位符,表示需要分析的实际文本内容将在这里填充。
(图片来自官网)
然而,如ChatGPT自己所言,在一些内容边界和语境比较清晰的情况下,###和三重引号 “””并非是必需的。聚加团队的建议是:在合适位置多使用分隔符,从而提升回答内容的准确性。
(图片来自官网)
07、减少含糊的和不精确的描述
尽可能具体、描述性和详细地阐述要求和期待的结果等。减少指令中的含糊表达。
示例1:
效果较差的提示词:这篇文章应该包含一些引用,但不要插入太多。
效果更好的提示词:在您的文章中至少包含3个相关的文献引用,但不要超过5个。
示例2:
效果较差的提示词:为XXX公司的耳机产品写一段销售推广文案。
效果更好的提示词:撰写一段引人入胜的销售文案来推广我们新发布的无线耳机产品,150字左右,突出其噪音消除和舒适佩戴的特点。
08、指定适当的语言风格
可以通过指定语言风格来改变模型的回答,例如正式、非正式、幽默、严肃等。
例如:“你能够以一种诗意的方式描述这个场景吗?”或者“用通俗易懂的方式解释这个科学概念”,“请以小红书风格撰写”。
09、用问题引导答案的方向
当想要获得一个特定的答案或观点时,可以以问题的形式提出提示,这将更可能引导模型给出期待的回答。
例如,如果想让模型给出正面的评论,可以问:“这个方案有哪些令人印象深刻的优点?”而不是开放式的:“你对这个方案的评价是什么?”
10、添加生成代码的特定“引导词”
在使用AI工具进行代码生成时,使用“引导词”来引导模型沿着特定模式生成。“SELECT”是SQL语句的一个好提示。同样,添加“import”提示模型应开始用Python编写,“function”是JavaScript中用来声明函数的关键字。下面为相应对比示例:
效果较差的提示词:
# 编写一个简单的JavaScript函数
# 1. 让输入一个数字
# 2. 计算该数字的平方
效果更好的提示词:
# 编写一个简单的JavaScript函数
# 1. 让输入一个数字
# 2. 计算该数字的平方
function
11、将复杂任务分解为更简单的子任务
正如在软件工程中将复杂系统分解为一组模块化组件是一种好的做法一样,提交给语言模型的任务也是如此。建议先对复杂的任务进行分解,再让AI生成内容。
以编写一个全面的产品营销计划为例。这个复杂的任务可以被分解为以下简单的子任务:
(1)首先,我需要你为这个产品编写一个吸引人的概述,突出产品的核心特性和优势。
(2)然后,为产品的各个特性和功能编写详细的介绍。
(3)接下来,想出一系列的标语或口号,这些标语或口号应该能够准确地传达产品的价值和吸引客户的注意力。
(4)最后,列出几种可能的销售策略,包括潜在的渠道和客户群的建议。这些策略应该根据产品的特点和目标市场进行定制。
12、给模型时间“思考”
在让AI给出答案之前询问“思路链”的话,可以帮助ChatGPT推理出更可靠的答案。
例如说:如果想要让ChatGPT协助制作月度目标,可以先问一下是否有通用的目标制定理论模型,再提供一些背景资料和历史数据,让ChatGPT扮演一个角色,再一步步引导它给出答案。
再以辩论赛准备为例,我们可能会这样询问模型:“在我开始辩论之前,我需要确定我的论点是什么?有哪些证据或者论据可以支持我的观点?我对手可能会提出哪些反驳论据?我怎样提前准备以反驳他们的观点?有没有什么我可能忽视的要点?”
在整个过程中,我们并没有直接让ChatGPT解决问题,而是引导它沿着一个思路链一步一步地进行思考。这样可以确保AI有足够的时间考虑问题的各个方面,并且慢慢构建起对问题的理解。最后,我们再让AI根据前面的步骤和理解来得出结论。
13、使用外部工具
通过将其他工具的输出提供给模型来弥补模型的弱点。例如,一个文本检索系统提供给模型关于相关文档的信息。一个代码执行引擎,如OpenAI的代码解释器(Code Interpreter),可以帮助模型进行数学运算和运行代码。
策略:
(1)使用基于嵌入的搜索来实现有效的知识检索;
(2)使用代码执行来进行更准确的计算或调用外部APIs;
(3)给模型访问特定功能的权限。
聚加互动的指令工具也将会在不久后正式上线,助力企业更高效、便捷地使用AI工具进行营销内容的生成。我们已经开放内测窗口,感兴趣的读者可以关注聚加互动公众号,与我们联系。
14、使用最新的模型
为了获得更精准的结果,我们通常建议使用最新、功能强大的模型。新模型通常更易于进行提示工程。
例如:相对于ChatGPT3.5,ChatGPT 4.0的功能更为强大,对于指令的回复也更好些。
写在最后
总的来说,一个有效的提示词能够让AI工具更加理解我们的需求,并生成更高质量的内容。掌握如何写出精准的提示词将有助于提高使用AI工具的效率和准确性。
AI工具拥有巨大的潜力和能力。但正如任何强大的工具一样,学习如何正确使用它是至关重要的。如果能够正确地使用Prompt,它将成为我们强大的助手。随着技术的不断进步,利用好AI工具将会是一项重要的能力。
随着深度学习和人工智能的发展,不少企业都在努力寻求使用人工智能来解决问题和优化决策,对于能有效地驱动这些模型并优化输出的人才需求也在不断增长。
Prompt Engineer就属于此类人才,其在人工智能领域中扮演重要的角色。Prompt Engineer的主要职责是设计和优化输入数据,以提高模型输出结果的精准度。他们需要理解数据、模型以及模型和数据之间的关系,然后选择或制定最佳的提示策略。
未来,随着人工智能的进一步发展,Prompt Engineer将会有更广阔的前景。
参考资料:
https://platform.openai.com/docs/guides/prompt-engineering/six-strategies-for-getting-better-results
https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api
https://www.promptingguide.ai/zh/introduction/tips