一文学会Prompt编写技巧 - AI全书 -- 知识铺
在本文中,我们将深入探讨如何编写出色的Prompt。首先,我们会定义什么是Prompt,并解释它在大规模语言模型(LLM)中所扮演的角色。接着,我们会详细介绍Prompt的运行过程,包括它的五个关键步骤。此外,我们还会讨论优秀Prompt应具备的各种要素,并通过实用的示例来展示如何有效地使用这些要素。通过阅读这篇文章,你将能够掌握编写高效Prompt的技巧和策略,从而更好地利用大模型的能力,为各种应用场景生成高质量的文本输出。
1.接收输入
-
用户或系统向语言模型提供一个Prompt,这个Prompt包含任务指令、背景信息、示例以及格式说明。
-
例如,Prompt 可以是:“写一篇关于气候变化的文章,包括其原因、影响和解决方案。”
2.文本处理与编码
-
模型首先对输入的Prompt进行预处理,包括分词(tokenization)和编码(encoding)。
-
预处理过程将文本转换为一系列的词汇ID(token IDs),这些IDs会传递到Embedding层,进行进一步处理。
3.模型计算
-
编码后的文本输入到基于Transformer架构的神经网络中。Transformer架构包括多个层的自注意力机制(Self-Attention Mechanism)和前馈神经网络(Feed-Forward Neural Network)。
-
在自注意力机制层,模型能够考虑输入序列中每个词汇与其他词汇的关系,计算注意力权重(Attention Weights),从而捕捉远距离依赖关系。
-
随后,前馈神经网络层对自注意力层的输出进行非线性变换,以生成新的表示。
-
多个Transformer层堆叠在一起,使模型逐步构建对输入Prompt的深层理解。
-
位置编码(Positional Encoding)也被添加,以补充位置信息,因为自注意力机制本身不区分词汇的位置顺序。
4.生成输出
-
模型根据计算结果,从生成的概率分布中采样下一个词汇。每个生成的词汇会迭代地输入回模型,以生成后续词汇。这个过程持续进行,直到满足输出条件(例如达到预定句子长度或遇到特殊结束符)。
-
这一过程称为解码(Decoding),可以使用贪心搜索(Greedy Search)、束搜索(Beam Search)或其他采样方法(如随机采样和核采样),以生成最优的文本输出。
5.格式调整与后处理
-
生成的输出文本可能需要进一步的格式调整和后处理,以确保符合Prompt要求的输出格式和风格。例如,可能需要删除冗余内容、调整空格或修正拼写错误。
-
如果Prompt要求生成不超过200字的摘要,则可以在后处理步骤中对生成文本进行截取,同时确保摘要完整和连贯。
三、好PRMOPT是什么样的
主观的说:好的PROMPT就像与你的老朋友聊天,既清晰又相关,还得简单直白。
换位思考:检查你的PROMPT,AI能不能一口气朗读下来
换位思考想象下AI读你的话时是否顺畅。如果AI在读的时候停顿,每次停顿就像高中上台朗读课文时的尴尬瞬间,那你的PROMPT需要“减肥”了。
像和朋友聊天一样
好的PROMPT就像和朋友聊天,不要过分复杂又要清晰明了。你只需要知道自己想要什么,让AI知道你要什么,那一切都简单得像吃个大馒头一样爽。
总之,当你的PROMPT既能让AI懂,又能让你省心,同时有趣又实用,那你就是在和AI玩得其乐融融了!So,放心大胆地和AI来一场愉快的对话吧!😄🚀
客观的说:各种指标见下文… …
四、精准打造PROMPT的4大基本要素
明确的目标和任务
在设计一个有效的PROMPT时,需要具体而清晰地阐明你的预期结果和要求。这包括明确PROMPT的整体目标和具体希望进行的任务,例如生成文本、回答问题、翻译语言或进行情感分析等。通过使用清晰、简洁和准确的语言,有助于缩小模型的输出范围,减少误解和生成不相关内容的风险,从而提高生成内容的质量和相关性。
避免模糊:使用具体的词语和句子,避免让模型猜测你的意图。这样可以减少理解错误,提高生成内容的质量。
举个🌰
👎不够清晰:“描述一下气候变化。”
👍清晰明确:“请写一篇200字的文章,讨论气候变化对全球农业生产的影响,特别是对水资源管理和农作物产量的影响。”
准确表达希望获得的信息或结果:
👎不够准确:“告诉我关于机器学习的知识。”
👍准确表达:“请解释什么是机器学习,包括其基本概念和至少两种常用算法(如决策树和神经网络),并讨论它们各自的应用领域。”
通过明确界定目标和任务,并使用具体的语言来描述这些目标和任务,可以显著提高PROMPT的效果。这不仅帮助模型更好地理解用户的需求,也确保生成的输出内容更符合用户的预期。明确的任务定义和具体的语言描述是创建高效PROMPT的关键要素。
上下文和背景信息
上下文和背景信息可以帮助更好地理解如何创建高质量的提示,引导生成型人工智能模型产生准确、高效和有针对性的回应。它包含了充分的上下文和背景信息,具体的任务目标和预期输出,并明确了任何必要的细节、限制条件和目标读者或用户群体。一个优秀的提示能有效减少歧义,使模型能够在总览复杂信息并做出最佳回应时表现出色。
包括以下几个方面:
1、角色和身份
-
明确任务请求者的角色(例如:学生、研究员、产品经理)。
-
了解请求者身份有助于定制答案的专业性和语调。
2、任务的具体目标
-
明确需要完成的任务或回答的问题。
-
包含具体的细节和预期输出。
3、相关历史和现状
-
提供与任务相关的背景历史,例如之前的研究、项目进度或市场状况。
-
涉及当前的环境或条件,包括任何变化或影响因素。
4、特定要求和条件
-
明确任务的具体要求和条件(例如:字数限制、格式要求、时间限制)。
-
说明任何必须满足的约束条件。
5、读者或受众
-
阐明回答的目标受众。
-
调整回答的复杂性和语言风格以适应特定读者。
举个🌰
假设你是一名城市规划师,正在为一个新兴城市设计一项公共交通系统。请撰写一份报告,评估当前已有的一些全球先进城市的交通系统,包括它们的优缺点和用户满意度情况。报告应包含对每个交通系统的详细分析,并提出适应你所在城市的建议。对应的上下文:
1.角色和身份:城市规划师
2. 任务的具体目标:为新兴城市设计公共交通系统
3. 相关历史和现状:
- 当前城市的交通现状
- 系统需求的背景和动力
4. 特定要求和条件:
- 需要评估全球已有先进交通系统的优缺点
- 必须分析用户满意度
5. 读者或受众:城市管理层及相关公众
通过提供这些上下文和背景信息,模型能够理解任务的背景,识别关键因素并生成有效和相关的建议。例如,模型会更倾向于提供实用的、在你的新兴城市中可行的交通系统建议,而不是泛泛而谈。这样可以确保任务的完成更符合实际需求和目的。
详细的衡量标准或考评维度
一个优秀的PROMPT应具实现实现任务目标详细的衡量标准或考评维度,提供清晰、全面、高效的评估,确保任务目标的实现。确保PROMPT达成目标客观且有据可依,从而有效地实现任务的目标。这些要素共同确保PROMPT的评估有效性和可靠性。
优秀的PROMPT所需的核心要素,重点关注以下四点:
1. 明确提供与目标和任务直接相关的衡量标准或考评维度:
- 要点:PROMPT应精准指明哪些标准或维度是评估任务完成情况的关键,并详细分析这些标准或维度与任务目标的关联性。
2. 衡量标准或考评维度应全面,覆盖所有必要的评估方面,不遗漏任何关键内容
- 要点:确保评估标准全面且能够涵盖所有重要因素,使得整体评价更为全面和准确,不留评估上的空白。
3. 每个衡量标准或考评维度应有对应的衡量标准,以支持其评估过程:
- 要点:提供每个考评维度的详细衡量标准,确保每个维度都有明确的评价依据,从而方便评估过程的实际操作和执行。
4. 衡量标准或考评维度的定义应清晰明确,便于理解和执行:
- 要点:定义应具备高度的清晰性和客观性,搭配明确的评分指南,保障评估的透明和公正,让各环节易于理解和执行。
举个🌰
任务描述:学生综合评估
👎 请根据学生的出勤率和他们参加课外活动的次数来计算综合表现。
说明:
目标和任务对应性差:考评维度仅包括“出勤率”和“参加课外活动的次数”,未直接涉及学术成绩。
维度不全面:缺少“学术能力”和“品行表现”等全面评估学生综合表现的关键维度。
衡量标准不完整:只有“出勤天数”和“活动参与次数”作为衡量标准,缺少对学术和品行的评估。
衡量标准不清晰:没有明确的标准来评估“活动参与次数”和“出勤率”与学生综合表现的关系。
👍 请评估学生的综合表现,总评分为100分,考评维度及标准如下:
-
学术成绩(30分):请提供平均分,按百分制评分。例如,平均分为85分,则得分为25.5分(85/100 × 30)。
-
出勤率(25分):请提供出勤天数占总上课天数的百分比。例如,出勤率为95%,则得分为23.75分(95/100 × 25)。
-
课外活动参与度(20分):请提供参与活动的次数。例如,参与5次以上得20分,3-4次得15分,1-2次得10分,未参与得0分。
-
品行表现(25分):请提供行为记录评分,如A(优秀)得25分,B(良好)得20分,C(中等)得15分,D(较差)得10分。
说明:
目标和任务对应性高:考评维度包括学术成绩、班级出勤率、课外活动参与度和品行表现,直接反映学生的综合表现。
维度全面且适用:涵盖了学生学术、出勤、活动参与及品行,全面评估学生各方面表现。
衡量标准完整:如学术成绩平均分、出勤率百分比、参加活动次数和品行评分。
衡量标准清晰且客观:明确的评分标准如学术成绩按百分制评分、出勤率按正常考勤记录计算、活动参与次数分档次评分、品行评分以行为记录评分,确保评估透明和公正。
任务描述:生成面试总结
👎请总结候选人的表现,说明其是否聪明、成熟、阳光。
说明:
目标和任务对应性差:仅提供模糊的特质要求,没有明确的考评维度。
维度不全面:考评维度缺乏细化,没有具体描述候选人每个特质的表现如何评估。
衡量标准不完整:没有具体的衡量标准,容易导致主观性强,无法保证评估一致性。
衡量标准不清晰:缺少明确的评分和评价细则,难以确保评估过程透明和公正。
👍 从三个人才特质(聪明、成熟、阳光)中提取相关内容,为候选人的面试表现生成摘要。
1.聪明(40分)
-会学习:评估候选人是否具有持续学习能力,是否能举一反三并学以致用。请提供具体实例并评分。
-有好奇:评估候选人是否保持好奇心,并在工作中不断探索新方法、新思路。请提供具体实例并评分。
-辩证思考:评估候选人是否能理解事物的本质和多样性,能否应对变化并有思考地决策和行动。请提供具体实例并评分
2.成熟(30分)
-略略略
3.阳光(30分)
-略略略
说明:
目标和任务对应性高:明确考评维度与面试特质的关系,涵盖候选人的聪明、成熟和阳光等特质。
维度全面且适用:各维度详细且适用于全面评估候选人的特质及综合能力。
衡量标准完整:如会学习、有好奇、辩证思考、有自知、能共情、客观理性、有能量、够真诚和不抱怨等均有量化标准。
衡量标准清晰且客观:明确的评分标准确保每个维度有具体的评估依据,确保评分过程透明和公正。
明确的输入和输出格式
输入格式是指模型接收的原始数据的结构和形式。明确的输入格式定义了数据应该如何组织和呈现,以确保模型能够正确解析和理解这些数据。输出格式是指模型生成结果的预期结构和形式。明确的输出格式定义了模型应该如何组织和呈现生成的内容,以满足特定的需求或标准。
例如:
文本格式(如长篇回答、摘要)
结构化数据格式(如JSON、XML、CSV)
编码数据格式(如源代码)
模版:模板是一个预先定义的格式或结构,用于指导模型生成输出。
举个🌰
JSON格式输出
输出格式是指模型生成结果的预期结构和形式。明确的输出格式定义了模型应该如何组织和呈现生成的内容,以满足特定的需求或标准。
预期输出示例:
<div id="code-lang-json"><p><code data-highlighted="yes"><table><tbody><tr><td><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td><pre>{
"students": [
{
"name": "Alice",
"total_score": 255,
"average_score": 85,
"grades": {
"Math": 85,
"English": 78,
"Science": 92
}
}
]
}</pre></td></tr></tbody></table></p></div>
模版输出
输出模板:
输出格式须遵循以下JSON模板。
<div id="code-lang-json"><p><code data-highlighted="yes"><table><tbody><tr><td><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td><pre>{
"students": [
{
"name": "<NAME>",
"total_score": <TOTAL_SCORE>,
"average_score": <AVERAGE_SCORE>,
"grades": {
"Math": <MATH_SCORE>,
"English": <ENGLISH_SCORE>,
"Science": <SCIENCE_SCORE>
}
}
]
}</pre></td></tr></tbody></table></p></div>
样本和示例在提示工程中的作用
一、样本的意义
1. 增强模型理解
-
明确任务要求:通过具体的输入输出配对,模型能更准确地理解任务目标及预期格式。
-
减少歧义:具体示例有助于消除模糊性,确保模型生成的输出符合预期。
2. 提高模型性能
-
快速学习:少量但精心挑选的数据点可以加速模型学习过程。
-
提升准确性:多样化的示例帮助模型更好地捕捉任务细节,提高结果质量。
3. 适应多样场景
-
跨领域应用:适用于不同领域的任务需求,从文本分类到问答系统。
-
任务复杂性:支持从简单到复杂的任务需求,提供广泛适用的解决方案。
二、样本的类型
1. One-shot 示例
-
定义:单个输入输出配对,适合已有相关知识背景的模型。
-
适用场景:当模型具备一定基础知识,只需了解具体格式时。
2. Few-shot 示例
-
定义:多个(通常2-5个)输入输出配对,提供更多任务细节。
-
适用场景:对于较为复杂或不熟悉的任务,通过更多实例帮助模型学习。
三、样本与衡量标准的关系
- 当提示中包含明确的评估维度时,样本不仅起到示范作用,还辅助于评估模型输出的质量。这为模型提供了改进的方向,使生成的结果更加贴合预期。
四、案例说明
-
任务:根据给定的产品特性,撰写一段评价,需满足准确性、完整性、流畅性的衡量标准。
-
样本要求:基于上述内容,按照指定规则重新编排,并以JSON格式呈现,确保内容条理清晰,结构合理。aaaaaa
<div id="code-lang-plaintext"><p><code data-highlighted="yes"><table><tbody><tr><td></td><td><pre>输入:
这款耳机音质非常好,但是佩戴时间长了耳朵会有些不舒服。电池续航也不错,能够支持一整天的使用。
输出:
-优点: 音质好,电池续航长
-缺点: 长时间佩戴后耳朵不舒服
-评价: 这款耳机的音质非常好,可以提供出色的听觉享受。另外,电池续航也很优秀,能够支持一整天的使用。不过,长时间佩戴可能会导致耳朵感到不适。</pre></td></tr></tbody></table></p></div>
指导说明
示例输出特点
-
准确性:示例输出准确反映了输入产品的特性,包括正面特性(如优秀的音质和长电池续航)和负面特性(如长时间佩戴不舒适),没有夸大或遗漏。
-
全面性:具体指出产品优点(例如音质好、电池续航优秀)和缺点(例如长时间佩戴后耳朵不舒服),确保评价全面。
-
语言质量:语法正确,结构清晰,句子连接自然流畅,易于理解。
应用场景
文本分类任务
-
衡量标准:以分类准确率和召回率为评估指标。
-
样本关系:通过提供正负面及中立分类的实例,帮助模型更精准地识别文本类别,理解分类界限。
情感分析任务
-
衡量标准:依据分类正确性(区分正面、中性和负面情感)和文本表达的流畅度进行评估。
-
样本关系:利用多情感实例展示,增强模型对情感细节的捕捉能力。
<div id="code-lang-plaintext"><p><code data-highlighted="yes"><table><tbody><tr><td></td><td><pre> 任务:情感分析。
示例1:
输入:句子 - “我非常喜欢这款手机,它的功能很强大。”
输出:情感 - “正面”
示例2:
输入:句子 - “这次服务让我很失望。”
输出:情感 - “负面”
示例3:
输入:句子 - “这部电影不过不失。”
输出:情感 - “中性”</pre></td></tr></tbody></table></p></div>
3.翻译任务:衡量标准包括译文的准确性、流畅性和语法的正确性。样本关系通过双语示例帮助模型掌握准确的翻译对,确保译文忠实且流畅。4.文本摘要任务:衡量标准涵盖摘要内容覆盖率、简洁度和流畅度。样本关系展示长文本和对应的高质量摘要,使模型学习如何提炼关键信息。5.问答任务:衡量标准关注回答的准确性、完整性和相关性。样本关系通过问答对示例,指导模型生成准确且相关的答案。
<div id="code-lang-plaintext"><p><code data-highlighted="yes"><table><tbody><tr><td></td><td><pre> 任务: 根据以下文本生成一个合理的问题。
输入: "苹果公司最新发布的iPhone 12备受关注,其出色的摄像头和强大的处理能力给用户留下了深刻印象。"
输出: "苹果公司最新发布的哪款手机备受关注?"</pre></td></tr></tbody></table></p></div>
在设计Prompt时,简洁和直接是关键。去除冗余信息,确保指令简明扼要,使模型能够快速聚焦任务。例如,将复杂的描述简化为具体的行动请求,如“总结《1984》的核心主题”代替冗长的前置说明。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai/post/20241218/%E4%B8%80%E6%96%87%E5%AD%A6%E4%BC%9APrompt%E7%BC%96%E5%86%99%E6%8A%80%E5%B7%A7-AI%E5%85%A8%E4%B9%A6--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com