Prompt提示工程编写指南

引言  
AIGC 时代,提示工程越来越重要,好的提示事半功倍,差的提示事倍功半,甚至无功而返。
图片
(1)什么是Prompt?
Prompt 就是 提示:
比如有人忘记某个事情,你只需给予特定提示,他就可以想起来
示例:
背诗:提示 白日依山尽, 大家自然而然地会想起来下一句诗:黄河入海流。
搜索引擎:可以根据输入,进行输出提示:
图片
提示学习将这种模式植入到大语言模型训练中,像人一样激发了大语言模型的学习能力。
prompt 就是给 预训练语言模型 的一个线索/提示,更好的理解 人类的问题。
图片
根据提示,BERT能回答,JDK 是 Oracle 研发的
根据 TL;DR: 的提示,BART知道人类想要问的是文章的摘要
根据提示,ERNIE 知道人类想要问鸟类的能力–飞行
prompt范式正在快速崛起,即将替挤掉两阶段范式的王位。
(2)prompt基本结构
prompt虽说只是一串文字,大家都能看懂,但它面向机器(大模型),和人们日常沟通使用的语言有很大区别
prompt像说明书,精确而又全面描述需求,写满了详细性能指标参数。
把具体需求转述成为机器高效理解的优质prompt,是一件反直觉、反人性的事情
提示语使用不当会激发模型的短板,让人啼笑皆非:
图片
Prompt经典构成:
先描述这个任务,然后说明需要怎样的输出,最后跟上需要处理的内容。
也就是三个构成:
(3)什么是提示工程?
这是一门新的学科:「提示工程」(prompt engineering) ,又称In-Context Prompting,是指不更新模型参数的前提下,通过输入文本等方法来操控大型语言模型 (Large Language Model),引导其生成优质结果的方法。
也就是:巧妙设计文字提示(prompt),让ChatGPT/文生图等AIGC模型生成优质结果。
提示工程用聪明、准确、时而冗长的文字提示,来设定好一个上下文场景,一步一步地把 AI 带进这个场景里,并且让它更准确地了解你的意图,从而生成最符合你期待的结果
(4)如何编写prompt?
由三个主要元素组成:
任务:对提示要求模型生成的内容进行清晰而简洁的陈述。
指令:在生成文本时模型应遵循的指令。
角色:模型在生成文本时应扮演的角色。
写好prompt的十条建议
明确主题:清楚表达意图,并聚焦
明确需求:信息查询、劝说、娱乐或其他
明确基调:GPT会根据主题设置表述基调
限制长度:说清楚要输出多少字数,长文、短文
CEO关键词:有助于生成优质结果
明确受众:GPT会自动调整语种、语调、风格,来适配这个群体
领域信息:补充相关领域信息,单独成段
更新版本:ChatGPT(3.5)可以读取链接
阐明动作:在段落尾部,说明要采取什么动作
附加信息:增加相关样例、案例学习、网络资料】对比分析等
标题与副标题
如何使用不同的提示工程技术来实现不同的目标。
(5)如何编写更好的prompt?
以上几条建议还是不够具体、系统。
国外有本书《The Art of Asking ChatGPT for High-Quality Answers: A Complete Guide to Prompt Engineering Techniques》专门告诉大家如何编写高质量Prompt。
图片
全书24章,内容总结如下:
第一章:Prompt 工程技术简介:通过提示指导 ChatGPT 这类语言模型输出
第二章:指令提示技术:提供清晰简洁的任务,以及具体的指令
提示公式:“按照以下指示生成[任务]:[指令]”
第三章:角色提示
提示公式:“作为[角色]生成[任务]”
示例:“作为律师,生成法律文件。”
示例:“作为客户服务代表,生成对客户查询的回复。”
第四章:标准提示
提示公式:“生成一个[任务]”
示例:“生成这篇新闻文章的摘要”
示例:“生成这款新智能手机的评论”
第五章:零、一和少样本提示
当特定任务的数据有限或任务是新的且未定义时,这些技术非常有用。
提示公式:“基于[数量]个示例生成文本”
示例:“基于零个示例为这款新智能手表生成产品描述”
示例:“使用一个示例(最新的iPhone)为这款新智能手机生成产品比较”
示例:“使用少量示例(3个其他电子阅读器)为这款新电子阅读器生成评论”
第六章:“让我们思考一下”提示 — 思维链
确定您要讨论的主题或想法。
制定一个明确表达主题或想法的提示,并开始对话或文本生成。
用“让我们思考”或“让我们讨论”开头的提示,表明您正在启动对话或讨论。
生成反思和思考性的文本。这种技术适用于撰写论文、诗歌或创意写作等任务。
“让我们思考一下提示”, 遵循以下步骤:
提示公式:“让我们思考一下:个人成长”
提示公式:“让我们思考一下:季节变化”
提示:“让我们思考气候变化对农业的影响”
提示:“让我们讨论人工智能的当前状态”
提示:“让我们谈谈远程工作的好处和缺点” 您还可以添加开放式问题、陈述或一段您希望模型继续或扩展的文本。
第七章:自洽提示 – 思维链
输出与提供的输入一致。对于事实核查、数据验证或文本生成中的一致性检查等任务非常有用。
自洽提示的提示公式是输入文本后跟着指令“请确保以下文本是自洽的”。或者,可以提示模型生成与提供的输入一致的文本。
文本生成:“生成与以下产品信息一致的产品评论[插入产品信息]”
文本摘要:“用与提供的信息一致的方式概括以下新闻文章[插入新闻文章]”
文本续写:“以与提供的上下文一致的方式完成以下句子[插入句子]”
事实检查:“请确保以下文本是自洽的:文章中陈述该城市的人口为500万,但后来又说该城市的人口为700万。”
数据验证:“请确保以下文本是自洽的:数据显示7月份的平均温度为30度,但最低温度记录为20度。”
第八章:种子词提示
提供特定种子词或短语来控制ChatGPT输出。控制模型生成文本与某个特定主题或背景相关的方式。
种子词提示可以与角色提示和指令提示相结合,以创建更具体和有针对性的生成文本。
种子词提示的提示公式:种子词或短语,后跟指令“请根据以下种子词生成文本”。
文本生成:“请根据以下种子词生成文本:龙”
文本生成:“作为诗人,根据以下种子词生成与“爱”相关的十四行诗:”
语言翻译:“请根据以下种子词生成文本:你好”
文本完成:“作为研究员,请在与种子词“科学”相关且以研究论文的形式书写的情况下完成以下句子:[插入句子]”
文本摘要:“作为记者,请以中立和公正的语气摘要以下新闻文章,与种子词“政治”相关:[插入新闻文章]”
第九章:知识生成提示
从ChatGPT中引出新的、原创信息,利用模型预先存在的知识来生成新信息或回答问题。
提示公式:“请生成关于X的新的和原创的信息”,其中X是感兴趣的主题。
提示应包括有关所需输出的信息,例如要生成的文本类型以及任何特定的要求或限制。
知识生成:“生成有关[特定主题]的新的准确信息”
问答:“回答以下问题:[插入问题]”
知识整合:“将以下信息与有关[特定主题]的现有知识整合:[插入新信息]”
数据分析:“请从这个数据集中生成有关客户行为的新的和原创的信息”
第十章:知识整合提示
模型应该提供新信息和现有知识作为输入,以及指定生成文本的任务或目标的提示。
提示应包括有关所需输出的信息,例如要生成的文本类型以及任何特定的要求或限制。
用模型的现有知识来整合新信息或连接不同的信息片段。这种技术对于将现有知识与新信息相结合,以生成更全面的特定主题的理解非常有用。
使用要点:
知识整合:“将以下信息与关于[具体主题]的现有知识整合:[插入新信息]”
连接信息片段:“以相关且逻辑清晰的方式连接以下信息片段:[插入信息1] [插入信息2]”
更新现有知识:“使用以下信息更新[具体主题]的现有知识:[插入新信息]”
第十一章:多项选择提示
提供一个问题或任务以及一组预定义的选项作为潜在答案。对于生成仅限于特定选项集的文本非常有用,可用于问答、文本完成和其他任务。模型可以生成仅限于预定义选项的文本。
要使用ChatGPT的多项选择提示,需要向模型提供一个问题或任务作为输入,以及一组预定义的选项作为潜在答案。提示还应包括有关所需输出的信息,例如要生成的文本类型以及任何特定要求或限制。
问答:“通过选择以下选项之一回答以下问题:[插入问题] [插入选项1] [插入选项2] [插入选项3]”
情感分析:“通过选择以下选项之一,将以下文本分类为积极、中立或消极:[插入文本] [积极] [中立] [消极]”
第十二章:可解释的软提示
提供一定灵活性的同时控制模型生成的文本。通过提供一组受控输入和关于所需输出的附加信息来实现, 可以生成更具解释性和可控性的生成文本。
文本生成:“基于以下角色生成故事:[插入角色]和主题:[插入主题]”
第十三章:控制生成提示
让模型在生成文本时对输出进行高度控制。通过提供一组特定的输入来实现,例如模板、特定词汇或一组约束条件,这些输入可用于指导生成过程。
文本生成:“根据以下模板生成故事:[插入模板]”
文本补全:“使用以下词汇完成以下句子:[插入词汇]:[插入句子]”
语言建模:“生成遵循以下语法规则的文本:[插入规则]:[插入上下文]”
第十四章:问答提示
让模型生成回答特定问题或任务的文本。通过将问题或任务与可能与问题或任务相关的任何其他信息一起作为输入提供给模型来实现此目的。
事实问题回答:“回答以下事实问题:[插入问题]”
定义:“定义以下词汇:[插入单词]”
信息检索:“从以下来源检索有关[特定主题]的信息:[插入来源]” — 这对于问答和信息检索等任务非常有用。
第十五章:概述提示
应该向模型提供较长的文本作为输入,并要求其生成该文本的摘要。
提示还应包括有关所需输出的信息,例如摘要的所需长度和任何特定要求或限制。
允许模型在保留其主要思想和信息的同时生成给定文本的较短版本。通过将较长的文本作为输入提供给模型并要求其生成该文本的摘要来实现。对于文本概述和信息压缩等任务非常有用。
使用:
文章概述:“用一句简短的话概括以下新闻文章:[插入文章]”
会议记录:“通过列出主要决策和行动来总结以下会议记录:[插入记录]”
书籍摘要:“用一段简短的段落总结以下书籍:[插入书名]”
第十六章:对话提示
生成模拟两个或更多实体之间对话的文本。通过为模型提供一个上下文和一组角色或实体,以及它们的角色和背景,并要求模型在它们之间生成对话。
因此,应为模型提供上下文和一组角色或实体,以及它们的角色和背景。还应向模型提供有关所需输出的信息,例如对话或交谈的类型以及任何特定的要求或限制。
对话生成:“在以下情境中生成以下角色之间的对话[插入角色]”
故事写作:“在以下故事中生成以下角色之间的对话[插入故事]”
聊天机器人:“在客户询问[插入主题]时,为客服聊天机器人生成专业和准确的对话”
第十七章:对抗性提示
生成抵抗某些类型的攻击或偏见的文本。这种技术可用于训练更为稳健和抵抗某些类型攻击或偏见的模型。
文本分类:“生成难以分类为[插入标签]的文本”
情感分析:“生成难以分类为具有[插入情感]情感的文本”
机器翻译:“生成难以翻译为[插入目标语言]的文本”
第十八章:聚类提示
根据某些特征或特点将相似的数据点分组在一起. 提供一组数据点并要求模型根据某些特征或特点将它们分组成簇,可以实现这一目标。在数据分析、机器学习和自然语言处理等任务中非常有用。
客户评论:“将以下客户评论根据情感分组成簇:[插入评论]”
新闻文章:“将以下新闻文章根据主题分组成簇:[插入文章]”
科学论文:“将以下科学论文根据研究领域分组成簇:[插入论文]”
第十九章:强化学习提示
从过去的行动中学习,并随着时间的推移提高其性能。
文本生成:“使用强化学习来生成与以下风格一致的文本[插入风格]”
语言翻译:“使用强化学习将以下文本[插入文本]从[插入语言]翻译成[插入语言]”
问答:“使用强化学习来回答以下问题[插入问题]”
第二十章:课程学习提示
先训练简单任务,逐渐增加难度来学习复杂任务
文本生成:“使用课程学习来生成与以下风格[插入风格]一致的文本,按照以下顺序[插入顺序]。”
语言翻译:“使用课程学习将以下语言[插入语言]的文本翻译成以下顺序[插入顺序]。”
问答:“使用课程学习来回答以下问题[插入问题],按照以下顺序[插入顺序]生成答案。”
第二十一章:情感分析提示
确定文本的情绪色彩或态度,例如它是积极的、消极的还是中立的。
客户评论:“对以下客户评论进行情感分析[插入评论],并将它们分类为积极的、消极的或中立的。”
推文评论:“对以下推文进行情感分析[插入推文],并将它们分类为积极的、消极的或中立的。”
第二十二章:命名实体识别提示
识别和分类文本中的命名实体,例如人名、组织机构、地点和日期等。
新闻:“在以下新闻文章[插入文章]上执行命名实体识别,并识别和分类人名、组织机构、地点和日期。”
第二十三章:文本分类提示
将文本分成不同的类别
客户评论:“对以下客户评论 [插入评论] 进行文本分类,并根据其内容将其分类为不同的类别,例如电子产品、服装和家具。”
电子邮件:“对以下电子邮件 [插入电子邮件] 进行文本分类,并根据其内容和发件人将其分类为不同的类别,例如垃圾邮件、重要邮件或紧急邮件。”
第二十四章:文本生成提示
故事创作:“根据以下提示[插入提示]生成一个至少包含1000个单词,包括角色[插入角色]和情节[插入情节]的故事。”
语言翻译:“将以下文本[插入文本]翻译成[插入目标语言],并确保其准确且符合习惯用语。”
组合使用
将指令提示、角色提示和种子词提示技术结合使用:
任务:为新智能手机生成产品描述
指令:描述应该是有信息量的,具有说服力,并突出智能手机的独特功能
角色:市场代表 种子词:“创新的”
提示公式:“作为市场代表,生成一个有信息量的、有说服力的产品描述,突出新智能手机的创新功能。该智能手机具有以下功能[插入您的功能]”
在这个示例中,指令提示用于确保产品描述具有信息量和说服力。角色提示用于确保描述是从市场代表的角度书写的。而种子词提示则用于确保描述侧重于智能手机的创新功能。
将标准提示、角色提示和种子词提示技术结合使用的示例:
任务:为一台新笔记本电脑撰写产品评论
说明:评论应客观、信息丰富,强调笔记本电脑的独特特点
角色:技术专家
种子词:“强大的”
提示公式:“作为一名技术专家,生成一个客观而且信息丰富的产品评论,强调新笔记本电脑的强大特点。”
在这个示例中,标准提示技术用于确保模型生成产品评论。角色提示用于确保评论是从技术专家的角度写的。而种子词提示用于确保评论侧重于笔记本电脑的强大特点。
(6)结语
《葵花宝典》有了,接下来就快乐的练功去吧~
图片
附录
英文书籍:https://oceanofpdf.com/authors/ibrahim-john/pdf-the-art-of-asking-chatgpt-for-high-quality-answers-a-complete-guide-to-prompt-engineering-techniques-download/
中文笔记:https://github.com/ORDINAND/The-Art-of-Asking-ChatGPT-for-High-Quality-Answers-A-complete-Guide-to-Prompt-Engineering-Technique
prompt理论笔记:https://wqw547243068.github.io/prompt