引言
大规模语言模型(LLM, Large Language Models)扮演着越来越重要的角色。然而,想要真正发挥这些模型的强大能力,关键在于如何向模型输入明确、详细且符合预期的指令,这就是我们今天要讨论的重中之重——Prompt的写作。
Prompt,作为一种结构化的输入序列,不仅为模型提供任务要求和背景信息,更在很大程度上决定了模型输出的质量与相关性。一个设计优秀的Prompt,能够最大程度地减少误解,使得模型理解用户的需求并生成高质量的响应。
这篇文章的核心宗旨就是教你如何写出优秀的Prompt。我们将从Prompt的定义、运行过程,以及优秀Prompt应具备的各个要素入手,逐步展开详细的解析和实用示例,让你在短时间内掌握写作高效Prompt的技巧和策略。通过不断优化你的Prompt写作能力,你将能够更好地引导大模型,为各类应用场景生成高质量的文本输出。
准备好了吗?让我们一起开启Prompt写作秘笈,解锁大模型的无限可能!
一、Prompt 定义
1.1 定义
在大规模语言模型(LLM, Large Language Models)领域,Prompt 是一种结构化的输入序列,用于引导预训练语言模型生成预期的输出。它通常包括明确的任务要求、背景信息、格式规定以及示例,以充分利用模型的能力在特定任务中生成高质量的响应。
1.2 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大基本要素
3.1 明确的目标和任务
在设计一个有效的PROMPT时,需要具体而清晰地阐明你的预期结果和要求。这包括明确PROMPT的整体目标和具体希望进行的任务,例如生成文本、回答问题、翻译语言或进行情感分析等。通过使用清晰、简洁和准确的语言,有助于缩小模型的输出范围,减少误解和生成不相关内容的风险,从而提高生成内容的质量和相关性。
- 避免模糊:使用具体的词语和句子,避免让模型猜测你的意图。这样可以减少理解错误,提高生成内容的质量。
举个🌰
👎不够清晰:“描述一下气候变化。”
👍清晰明确:“请写一篇200字的文章,讨论气候变化对全球农业生产的影响,特别是对水资源管理和农作物产量的影响。”
准确表达希望获得的信息或结果:
👎不够准确:“告诉我关于机器学习的知识。”
👍准确表达:“请解释什么是机器学习,包括其基本概念和至少两种常用算法(如决策树和神经网络),并讨论它们各自的应用领域。”
通过明确界定目标和任务,并使用具体的语言来描述这些目标和任务,可以显著提高PROMPT的效果。这不仅帮助模型更好地理解用户的需求,也确保生成的输出内容更符合用户的预期。明确的任务定义和具体的语言描述是创建高效PROMPT的关键要素。
3.2 上下文和背景信息
上下文和背景信息可以帮助更好地理解如何创建高质量的提示,引导生成型人工智能模型产生准确、高效和有针对性的回应。它包含了充分的上下文和背景信息,具体的任务目标和预期输出,并明确了任何必要的细节、限制条件和目标读者或用户群体。一个优秀的提示能有效减少歧义,使模型能够在总览复杂信息并做出最佳回应时表现出色。
包括以下几个方面:
1.角色和身份
- 明确任务请求者的角色(例如:学生、研究员、产品经理)。
- 了解请求者身份有助于定制答案的专业性和语调。
2. 任务的具体目标
- 明确需要完成的任务或回答的问题。
- 包含具体的细节和预期输出。
3. 相关历史和现状
- 提供与任务相关的背景历史,例如之前的研究、项目进度或市场状况。
- 涉及当前的环境或条件,包括任何变化或影响因素。
4. 特定要求和条件
- 明确任务的具体要求和条件(例如:字数限制、格式要求、时间限制)。
- 说明任何必须满足的约束条件。
5. 读者或受众
- 阐明回答的目标受众。
- 调整回答的复杂性和语言风格以适应特定读者。
举个🌰
假设你是一名城市规划师,正在为一个新兴城市设计一项公共交通系统。请撰写一份报告,评估当前已有的一些全球先进城市的交通系统,包括它们的优缺点和用户满意度情况。报告应包含对每个交通系统的详细分析,并提出适应你所在城市的建议。对应的上下文:
1.角色和身份:城市规划师
2. 任务的具体目标:为新兴城市设计公共交通系统
3. 相关历史和现状:
- 当前城市的交通现状
- 系统需求的背景和动力
4. 特定要求和条件:
- 需要评估全球已有先进交通系统的优缺点
- 必须分析用户满意度
5. 读者或受众:城市管理层及相关公众
通过提供这些上下文和背景信息,模型能够理解任务的背景,识别关键因素并生成有效和相关的建议。例如,模型会更倾向于提供实用的、在你的新兴城市中可行的交通系统建议,而不是泛泛而谈。这样可以确保任务的完成更符合实际需求和目的。
3.3 详细的衡量标准或考评维度
一个优秀的PROMPT应具实现实现任务目标详细的衡量标准或考评维度,提供清晰、全面、高效的评估,确保任务目标的实现。确保PROMPT达成目标客观且有据可依,从而有效地实现任务的目标。这些要素共同确保PROMPT的评估有效性和可靠性。
优秀的PROMPT所需的核心要素,重点关注以下四点:
1. 明确提供与目标和任务直接相关的衡量标准或考评维度:
- 要点:PROMPT应精准指明哪些标准或维度是评估任务完成情况的关键,并详细分析这些标准或维度与任务目标的关联性。
2. 衡量标准或考评维度应全面,覆盖所有必要的评估方面,不遗漏任何关键内容
- 要点:确保评估标准全面且能够涵盖所有重要因素,使得整体评价更为全面和准确,不留评估上的空白。
3. 每个衡量标准或考评维度应有对应的衡量标准,以支持其评估过程:
- 要点:提供每个考评维度的详细衡量标准,确保每个维度都有明确的评价依据,从而方便评估过程的实际操作和执行。
4. 衡量标准或考评维度的定义应清晰明确,便于理解和执行:
- 要点:定义应具备高度的清晰性和客观性,搭配明确的评分指南,保障评估的透明和公正,让各环节易于理解和执行。
举个🌰
任务描述:学生综合评估
👎 请根据学生的出勤率和他们参加课外活动的次数来计算综合表现。
说明:
- 目标和任务对应性差:考评维度仅包括“出勤率”和“参加课外活动的次数”,未直接涉及学术成绩。
- 维度不全面:缺少“学术能力”和“品行表现”等全面评估学生综合表现的关键维度。
- 衡量标准不完整:只有“出勤天数”和“活动参与次数”作为衡量标准,缺少对学术和品行的评估。
- 衡量标准不清晰:没有明确的标准来评估“活动参与次数”和“出勤率”与学生综合表现的关系。
👍 请评估学生的综合表现,总评分为100分,考评维度及标准如下:
1.学术成绩(30分):请提供平均分,按百分制评分。例如,平均分为85分,则得分为25.5分(85/100 × 30)。
2.出勤率(25分):请提供出勤天数占总上课天数的百分比。例如,出勤率为95%,则得分为23.75分(95/100 × 25)。
3.课外活动参与度(20分):请提供参与活动的次数。例如,参与5次以上得20分,3-4次得15分,1-2次得10分,未参与得0分。
4.品行表现(25分):请提供行为记录评分,如A(优秀)得25分,B(良好)得20分,C(中等)得15分,D(较差)得10分。
说明:
- 目标和任务对应性高:考评维度包括学术成绩、班级出勤率、课外活动参与度和品行表现,直接反映学生的综合表现。
- 维度全面且适用:涵盖了学生学术、出勤、活动参与及品行,全面评估学生各方面表现。
- 衡量标准完整:如学术成绩平均分、出勤率百分比、参加活动次数和品行评分。
- 衡量标准清晰且客观:明确的评分标准如学术成绩按百分制评分、出勤率按正常考勤记录计算、活动参与次数分档次评分、品行评分以行为记录评分,确保评估透明和公正。
任务描述:生成面试总结
👎请总结候选人的表现,说明其是否聪明、成熟、阳光。
说明:
- 目标和任务对应性差:仅提供模糊的特质要求,没有明确的考评维度。
- 维度不全面:考评维度缺乏细化,没有具体描述候选人每个特质的表现如何评估。
- 衡量标准不完整:没有具体的衡量标准,容易导致主观性强,无法保证评估一致性。
- 衡量标准不清晰:缺少明确的评分和评价细则,难以确保评估过程透明和公正。
👍 从三个人才特质(聪明、成熟、阳光)中提取相关内容,为候选人的面试表现生成摘要。
1.聪明(40分)
-会学习:评估候选人是否具有持续学习能力,是否能举一反三并学以致用。请提供具体实例并评分。
-有好奇:评估候选人是否保持好奇心,并在工作中不断探索新方法、新思路。请提供具体实例并评分。
-辩证思考:评估候选人是否能理解事物的本质和多样性,能否应对变化并有思考地决策和行动。请提供具体实例并评分
2.成熟(30分)
-略略略
3.阳光(30分)
-略略略
说明:
- 目标和任务对应性高:明确考评维度与面试特质的关系,涵盖候选人的聪明、成熟和阳光等特质。
- 维度全面且适用:各维度详细且适用于全面评估候选人的特质及综合能力。
- 衡量标准完整:如会学习、有好奇、辩证思考、有自知、能共情、客观理性、有能量、够真诚和不抱怨等均有量化标准。
- 衡量标准清晰且客观:明确的评分标准确保每个维度有具体的评估依据,确保评分过程透明和公正。
3.4 明确的输入和输出格式
输入格式是指模型接收的原始数据的结构和形式。明确的输入格式定义了数据应该如何组织和呈现,以确保模型能够正确解析和理解这些数据。输出格式是指模型生成结果的预期结构和形式。明确的输出格式定义了模型应该如何组织和呈现生成的内容,以满足特定的需求或标准。
例如:
- 文本格式(如长篇回答、摘要)
- 结构化数据格式(如JSON、XML、CSV)
- 编码数据格式(如源代码)
- 模版:模板是一个预先定义的格式或结构,用于指导模型生成输出。
举个🌰
JSON格式输出
输出格式是指模型生成结果的预期结构和形式。明确的输出格式定义了模型应该如何组织和呈现生成的内容,以满足特定的需求或标准。
预期输出示例:
{ "students": [ { "name": "Alice", "total_score": 255, "average_score": 85, "grades": { "Math": 85, "English": 78, "Science": 92 } } ] }
模版输出
输出模板:
- 输出格式须遵循以下JSON模板。
{ "students": [ { "name": "<NAME>", "total_score": <TOTAL_SCORE>, "average_score": <AVERAGE_SCORE>, "grades": { "Math": <MATH_SCORE>, "English": <ENGLISH_SCORE>, "Science": <SCIENCE_SCORE> } } ] }
四、再攀新高:8个指标优化PROMPT
4.1 样本和示例
在提示工程中,样本是特定任务中用来指导和帮助模型理解任务要求的具体输入输出配对。样本可以是one-shot或few-shot,并且在提示的上下文中常常用于提供明确的任务示例。
4.1.1 样本的意义
1.增强模型理解:
- 明确任务要求:通过提供具体的示例,模型可以更清楚地理解任务的目标和期望的输出格式。这对于需要精确输出格式的任务非常重要。
- 减少歧义:样本可以消除任务描述中的模糊性,提供明确的指引,使模型更容易生成符合预期的输出。
2.提高模型性能:
- 快速学习:提供样本,可以让模型通过少量数据快速学习任务特性,减少训练需求,这是 few-shot 和 one-shot 学习的核心理念。
- 提升准确性:通过提供多样化的示例,模型可以更好地捕捉任务中的细微差别,提升生成结果的准确性和一致性。
3.适应多样场景:
- 跨领域应用:通过 carefully curated 的示例,模型可以适应不同领域的任务需求,如文本分类、情感分析、问答生成等。
- 任务复杂性:样本可以帮助模型应对从简单到复杂的任务需求,提供从初级到高级的任务解决方案。
4.1.2 样本的类型
1.One-shot 示例:
- 提供给模型的单个输入输出配对示例,帮助模型理解任务要求和期望的输出格式。适用于模型已有相关领域知识时。
- 适用场景:模型已有一定基础知识,只需要一个示例来了解具体格式和期望输出。
2.Few-shot 示例:
- 提供给模型的多个(通常是2-5个)输入输出配对示例,进一步明确任务细节和复杂性。适用模型对任务有一定了解但需要更多具体示例时。
- 适用场景:任务较复杂,或者模型对任务不够熟悉,需要通过多个示例来学习任务特征。
4.1.3 样本和衡量标准的关系
当提示中有明确的衡量标准或考评维度时,样本的作用不只是示范和引导,还能辅助评估和优化模型的输出。明确的标准使得样本更具指导性和评估性,为模型提供明确的成功指标和改进方向。这种结合有助于提升模型在特定任务中的表现,使其生成的结果更加符合预期要求。
举个🌰
任务:基于以下描述生成一段产品评价,评价内容需要符合以下衡量标准:
- 准确性:评价的内容必须真实反映产品的特点,包括声音、舒适性和电池续航。
- 完整性:评价应包括产品的具体优点和缺点,例如音质、佩戴舒适度和电池续航等。
- 流畅性:评价必须语法正确,易于理解,且语言通顺。
样本
输入: 这款耳机音质非常好,但是佩戴时间长了耳朵会有些不舒服。电池续航也不错,能够支持一整天的使用。 输出: -优点: 音质好,电池续航长 -缺点: 长时间佩戴后耳朵不舒服 -评价: 这款耳机的音质非常好,可以提供出色的听觉享受。另外,电池续航也很优秀,能够支持一整天的使用。不过,长时间佩戴可能会导致耳朵感到不适。
说明
- 示例输出清晰地反映了输入中的产品特点,如音质好和电池续航长,同时也包括了舒适度欠佳的情况。无夸大或遗漏。
- 示例输出详细提到了产品的具体优点和缺点,确保了评价的全面性。例如,强调了音质好和电池续航优秀,并指出佩戴长时间后耳朵不舒服。
- 示例输出语法正确,结构清晰,语言通顺易懂。例如,综合句子连接自然,不显得生硬或断裂。
4.1.4 具体应用场景
1.文本分类任务:
- 衡量标准:分类准确率、召回率。
- 样本关系:提供正负面和中立分类的示例,帮助模型理解分类边界。
示例:
输入:“这场比赛真是令人激动!” 输出:“体育”
2.情感分析任务:
- 衡量标准:分类正确性(正面、中性、负面)、文本流畅度。
- 样本关系:多情感示例展示,使模型更好地捕捉情感细节。
示例:
任务:情感分析。 示例1: 输入:句子 - “我非常喜欢这款手机,它的功能很强大。” 输出:情感 - “正面” 示例2: 输入:句子 - “这次服务让我很失望。” 输出:情感 - “负面” 示例3: 输入:句子 - “这部电影不过不失。” 输出:情感 - “中性”
3.翻译任务:
- 衡量标准:译文准确性、流畅性、语法正确性。
- 样本关系:双语示例帮助模型掌握准确的翻译对,确保译文忠实且流畅。
4.文本摘要任务:
- 衡量标准:摘要内容覆盖率、简洁度、流畅度。
- 样本关系:展示长文本和对应的高质量摘要,使模型学习如何提炼关键信息。
5.问答任务:
- 衡量标准:回答准确性、完整性、相关性。
- 样本关系:通过问答对示例,指导模型生成准确且相关的答案。
任务: 根据以下文本生成一个合理的问题。 输入: "苹果公司最新发布的iPhone 12备受关注,其出色的摄像头和强大的处理能力给用户留下了深刻印象。" 输出: "苹果公司最新发布的哪款手机备受关注?"
4.2 简洁和直接
PROMPT应避免不必要的背景信息和复杂措辞,明确指令、内容精简、直达要点,明确任务要求以便模型能够迅速聚焦任务,准确生成内容。
举个🌰
任务描述:《1984》的核心观点做个总结
👎我需要你帮我总结一下《1984》这本小说的主要内容和核心观点。请先介绍一下这本书的背景信息,包括写作年代和作者乔治·奥威尔的一些相关信息,然后再详细描述一下小说的主要剧情,包括但不限于故事发生的地点、时间,以及主要人物的关系和他们之间的主要冲突。除此之外,请重点分析小说的主题思想,并结合具体的情节进行阐述,尤其是要注意揭示极权主义、监控社会对人性的影响。你需要确保细节充分且分析到位,可以尽可能详尽一些。
说明:
- 啰嗦:包含了多余的背景和具体的情节要求,信息量过大且有些不必要。
- 不简洁:用词过于繁琐,任务分解过细,易使执行者陷入细节而忽略核心观点。
- 容易误解:指令过于复杂,容易导致执行者在把握重点时出现偏差。
👍请总结《1984》的核心观点,尤其是其反对极权主义和监控社会的主题思想。
说明:
- 简洁性:去除了冗长的描述,指令内容简明扼要。
- 直接性:明确任务要求,聚焦于总结核心观点和主题思想。
- 易执行:简洁明确的指令减少了误解的可能性,使执行者能够迅速聚焦任务。
4.3 避免歧义
避免歧义指的是通过明确和详细描述语句或提示内容,以确保信息传达清晰、准确,并且能够被准确理解和执行,特别是对于语言模型和人类之间的沟通。
1. 多义词
多义词会带来不必要的歧义,通过选择单一意味明确的词汇,能极大减少误解的可能性。
- 例子:“请介绍下苹果。”(苹果可以是水果,也可以是公司。)
- 解决方法:提供具体细节或上下文,使词义清晰。
- 优化后的描述:“请描述介绍下苹果公司。”
2. 模糊短语
模糊短语或语句结构不明确容易导致理解偏差,需要通过详细的描述来确保意义明确。
- 例子:“解释这个问题。”(问题的具体内容不明确。)
- 解决方法:明确指出具体问题或提供背景信息。
- 优化后的描述:“解释气候变化对海洋生物的影响。”
3. 明确指代对象
使用代词时容易出现指代不清的问题,通过明确指代对象来消除歧义。
- 例子:“他认为这样做不好。”("他" 和 "这样做"的具体内容不明确。)
- 解决方法:具体指出代词指代的对象或动作。
- 优化后的描述:“约翰认为在雨天外出不好。”
通过这些措施,可以有效减少语言中的歧义,使信息传递更加精准和有效,特别是在大语言模型的应用中,避免错误或不相关的响应。
4.4 分步骤和层次化的指导
分步骤是指将一个复杂任务分解成多个简单且明确的步骤,每一个步骤都被清晰地表述。这种方法通过细化任务,减少复杂性,以确保每一环节都可以独立理解和执行。例如,在撰写一份研究报告时,将任务分解为选择主题、进行文献综述、设计研究方法、数据收集与分析、撰写报告等五个独立的步骤,使得每一步都有明确的目标和方法。
在撰写一份关于人工智能伦理问题的研究报告时:
- 选择主题
- 进行文献综述
- 设计研究方法
- 数据收集与分析
- 撰写报告
层次化信息是指通过分级和组织信息,引导用户逐步深入理解和解决问题。在这种结构中,高层次的信息提供总体框架和逻辑顺序,低层次的信息细化具体内容和操作细节。例如,在撰写报告的过程中,可以先提供报告的总体架构(如引言、文献综述、研究方法、结果与讨论、结论与建议),然后针对每一部分进一步细化,描述其具体构成和内容。这种方法帮助用户从总体概念逐步过渡到具体操作,确保全面理解和准确执行。
- 总体架构:引言->文献综述->研究方法->结果与讨论->结论与建议->参考文献
- 细化说明:
- 引言:背景介绍、研究问题、研究目标
- 文献综述:按主题分类、总结前人研究、提出研究空白
- 研究方法:样本选择、数据收集方法、数据质量控制
- 结果与讨论:数据呈现、结果解读、文献支持或反驳
- 结论与建议:研究发现、政策建议、研究局限性和未来方向
通过结合分步骤和层次化指导的方法,不仅可以确保任务的每一步被准确执行,还能逐步引导用户深入理解和解决问题。
举个🌰
任务描述:撰写一份关于人工智能伦理问题的研究报告
👎 请撰写一份关于人工智能伦理问题的研究报告。
说明:
- 缺乏分步骤:任务描述没有将撰写过程逐步展开,导致任务太过模糊和复杂。
- 缺少层次化信息:没有提供报告的总体框架或内部逻辑,也没有细化每一部分应该包含的具体内容。
👍请撰写一份关于人工智能伦理问题的研究报告。为了确保报告的完整性和逻辑清晰,请按以下步骤和结构进行:
a.选择主题
- 明确你研究的具体伦理问题,如“人工智能在医疗行业中的伦理问题”。
- 定义研究范围,例如隐私保护和决策透明度。
b.进行文献综述
- 搜索并阅读相关文献(学术论文、书籍、白皮书)。
- 总结每个文献的核心观点,特别注意提取与自己主题相关的细节。
c.设计研究方法
- 确定你将采用的研究方法(定性、定量或混合)。
- 描述数据收集手段:问卷调查、采访还是二手数据分析。
d.数据收集与分析
- 实施数据收集工作,确保方法一致。
- 使用合适的分析工具和技术进行数据分析。
e.撰写报告
- **引言**:
- 描述研究背景、目的和重要性。
- 具体陈述研究问题和目标。
- **文献综述**:
- 按主题或分类总结前人研究成果和理论框架。
- **研究方法**:
- 描述研究的设计、数据收集和分析方法。
- **结果与讨论**:
- 呈现分析结果,结合文献讨论其意义。
- **结论与建议**:
- 总结研究发现,提出建议,并指出研究局限性和未来研究方向。
- **参考文献**:
- 列出所有引用的文献。"
说明:
- 分步骤:任务被明确地分解为多个独立且具体的步骤,从选择主题到撰写每个部分,都有清晰的指示。
- 层次化信息:提供了研究报告的总体架构,并在每一部分中进一步细化了具体内容和要求。每一层次的信息都为下一层次铺平了道路,使得整篇报告的撰写过程逻辑清晰且容易实现。
4.5 考虑多种可能性和边界条件
4.5.1 考虑多种可能性和边界条件
在设计 PROMPT 时,充分考虑可能出现的各种输入情况和极端条件,从而确保模型在面对各种非理想输入时仍能产生合理的输出。包括但不限于正例和反例、数据稀缺、极端值、格式错误和冲突信息等情况。
使用场景分析:
- 聊天机器人:需要处理用户可能输入的各种类型的问题,包括模糊查询、拼写错误、语法错误等。
- 数据处理和分析工具:确保在面对缺失值、异常值或格式不一致的数据时,能够提供有意义的反馈或处理结果。
- 客户服务系统:在客户提供的描述不全或存在矛盾时,提供合理的回应或请求进一步的信息。
- 自动化测试:确保在测试过程中无论输入多么异常,系统都能有适当的应对策略,避免崩溃或无效输出。
举个🌰
请提供地点和日期以查询天气情况。地点应包括城市或地区名称,日期格式为 yyyy-mm-dd。 1. 如果地点和日期格式不正确,请输出“输入格式错误,请重新输入。” 2. 如果地点不存在或无法识别,请输出“无法识别的地点,请检查您输入的地点名称。” 3. 如果日期是未来30天之后的时间,请输出“日期超出允许范围,请输入最近一个月的日期。” 4. 如果日期是过去的时间,请输出“日期是过去的时间,目前只支持查询未来的天气。” **注意**: - 地点名称可以使用城市名或地区名,例如“纽约”或“东京”。 - 日期必须符合 yyyy-mm-dd 格式。 - 所有输出应友好、简洁,便于用户理解。
4.5.2 纠错机制
在设计 PROMPT 时,考虑到可能出现的常见错误,并设置相应的检测和修正机制,以提高模型输出的正确性和可靠性。包括自动检测输入错误、设置默认应对措施、请求用户确认等。
使用场景分析:
- 电子邮件自动回复:纠正和提示拼写错误,避免误解,同时请求用户确认关键信息,以确保回复的准确性。
- 搜索引擎:自动纠错用户输入的搜索关键字,并提供相关提示或推荐,增强用户体验。
- 表单提交系统:自动检测并提示用户输入的格式错误,避免提交无效表单数据。
- 翻译工具:检测和纠正输入句子中的拼写或语法错误,提供更高质量的翻译结果。
举个🌰
请提供邮件地址和回复内容,以发送自动回复。邮件地址应为有效的电子邮件地址格式,回复内容请尽量详细。 1. 如果邮件地址格式错误,请输出“邮件地址格式无效,请重新输入正确的邮件地址。” 2. 如果回复内容为空或过于简短,请输出“回复内容太短,请提供更详细的信息。” 3. 如果检测到拼写错误,请标记错误并建议修改,例如:“检测到拼写错误‘adn’,建议修改为‘and’。” 4. 如果发送邮件服务器不可用,请输出“邮件发送失败,服务器暂时不可用,请稍后再试。” **注意**: - 邮件地址必须包含 '@' 和有效的域名。 - 回复内容应至少包含10个字符。 - 提供拼写错误的检测和建议修改功能,增强用户体验。
4.6 语言和文化敏感性
考虑语言和文化敏感性以及遵循伦理规范对于设计有效、安全的 Prompts 至关重要。一个优秀的 PROMPT 是能够有效引导用户或 AI 系统生成符合预期、高质量响应的输入语句,同时在设计和使用过程中体现出显著的语言和文化敏感性,并严格遵循伦理规范。
1.语言和文化敏感性:
- 多语言支持: PROMPT 具备多语言适应性,确保不同语言背景的用户能够准确理解和使用。
- 文化适应性: 考虑到不同文化背景的差异,避免对特定文化、族群、宗教或政治观点的偏见和歧视。
- 中性语言使用: 使用中性、不偏不倚的语言,确保在各类文化环境下的普遍接受度。
2.伦理考虑:
- 避免冒犯性内容: 确保语言不含冒犯性、歧视性或可能引起误解的成分。
- 隐私保护: 重视和保护用户隐私,避免泄露个人信息,遵循相关法律法规(如GDPR)。
- 透明度和知情同意: 明确告知用户 AI 系统的功能和限制,确保其在知情的情况下使用系统。
- 无偏见: 避免算法和数据模型中带有的系统偏见,确保输出结果公正、公平。
举个🌰
示例 Prompt 1:
“请描述中国新年的习俗。” 语言和文化敏感性: 正面: 提供了一个特定文化背景下有意义的话题。 改进空间: 需要确保所有文化背景的人理解何为“中国新年”。 伦理考虑: 正面: 语言中性,没有冒犯性内容。 改进空间: 若用户分享个人经验,需提醒其保护隐私。
示例 Prompt 2:
“你认为现代化进程对社会有何影响?” 语言和文化敏感性: 正面: 这是一个较为中性的特题,适合不同文化背景的人回答。 改进空间: 提问题时需避免文化中特定的政治经济偏见。 伦理考虑: 正面: 语言中性,无冒犯。 改进空间: 若讨论政治、经济等敏感话题,需适当引导,避免引发争议。
4.7 数据隐私和安全性
1.数据隐私:
- 避免敏感信息: 在设计PROMPT时,确保不会包含或请求敏感信息,如个人识别信息(PII)、财务数据、健康数据等。
- 脱敏处理: 如果需要测试真实数据,确保所有数据已进行脱敏处理,即所有敏感信息被替换或删除。
2.合规性:
- 遵循隐私条例: 确保提示设计符合相关隐私法规和条例,如GDPR、CCPA等。如果提示涉及国际用户,应考虑跨国隐私法规。
- 数据最小化原则: 提示内容应遵循数据最小化原则,仅要求模型使用完成任务所需的最低限度信息。
举个🌰
👎请你分析一下以下客户的具体反馈信息,包括他们的姓名、地址、联系方式以及他们的反馈内容,并根据这些信息给出改进建议:
1. 客户A:姓名:张三,地址:北京市海淀区XX街道,电话:123-456-7890,反馈内容:产品质量不佳。
2. 客户B:姓名:李四,地址:上海市浦东新区XX路,电话:098-765-4321,反馈内容:配送时间太长。
说明:
- 敏感信息暴露:提示中包含客户的姓名、地址及联系方式,这些都是个人敏感信息(PII)。
- 隐私风险:直接暴露客户的详细个人信息,可能违反隐私法规(如GDPR、CCPA)。
- 不合规:整个提示未考虑数据最小化原则,包含了不必要的细节。
👍请你分析以下脱敏处理后的客户反馈数据,识别主要的问题,并根据这些信息提供改进建议:
1. 客户001:反馈内容:产品质量不佳。
2. 客户002:反馈内容:配送时间太长。
说明:
- 脱敏处理:将客户的个人信息替换为匿名ID(如“客户001”、“客户002”)。
- 数据最小化:仅保留与任务相关的反馈内容,去除不必要的个人信息。
4.8 约束
约束是对提示内容施加的特定限制或要求,合理设置约束是提示设计中的关键步骤,有助于提高生成内容的质量、相关性和适用性。通过对不同类型的约束如内容、格式、风格等多方面的限制,可以使AI模型生成更加符合需求的结果,从而在多个应用场景下实现最佳效果。
4.8.1 约束的类型
1.内容约束
- 定义:内容约束是对生成内容的主题、信息点或观点的具体要求,确保输出内容围绕特定主题展开。
- 实例:撰写一篇关于气候变化影响的文章,必须包括至少三种应对策略。
- 说明:通过指定主题和信息点,可以确保生成内容集中且有深度地探讨特定问题。
2.格式约束
- 定义:格式约束是对输出内容的结构或排版形式的要求,确保生成内容符合预期的布局和组织方式。
- 实例:生成一个包含引言、主体和结论三部分结构的技术报告。
- 说明:这种约束对文档或报告有特别的用处,使生成的内容便于阅读和分段。
3.风格约束
- 定义:风格约束是对生成内容的写作风格或语气的要求,确保输出内容符合预期的文化和情感语境。
- 实例:用幽默和轻松的语调撰写产品描述。
- 说明:适用于广告文案、博客文章等需要特定表达风格的场景,使内容更具吸引力。
4.长度约束
- 定义:长度约束是对生成内容的字数、段落数或字符数的要求,确保输出内容在预定的长度范围内。
- 实例:撰写一篇不超过300字的新闻简报。
- 说明:这种约束常用于新闻报道、推文或市场营销材料,需要简洁明了地传达信息。
5.技术约束
- 定义:技术约束是对生成内容使用特定专业术语或技术语言的要求,确保输出内容在专业领域内的准确性。
- 实例:在生成的软件说明中,使用特定的编程术语。
- 说明:适用于技术文档或专业论文,确保内容精确且专业。
6.时间约束
- 定义:时间约束是对生成内容涉及特定时间节点或历史事件的要求,确保输出内容与特定时间背景相关。
- 实例:描述19世纪工业革命对英国经济的影响。
- 说明:适用于历史研究、时间序列分析等场景,确保内容准确反映特定历史时期。
7.目标受众约束
- 定义:目标受众约束是对生成内容的受众人群设定特定要求,确保输出内容适合预期的阅读或使用群体。
- 实例:撰写一篇适合高中生阅读的微积分基础介绍。
- 说明:这种约束确保内容的复杂度和表达方式适应目标受众的理解能力。
8.语境约束
- 定义:语境约束是对生成内容的上下文或景的要求,确保输出内容与预定的情境或场景相符。
- 实例:在商业会议的背景下生成CEO的演讲稿。
- 说明:这种约束有助于生成适用于特定情境的内容,使其在应用场景中具有更高的实用性。
最常见的🌰
例如你要求PROMPT返回固定的格式的内容,但是PROMPT返回了其他的信息,这时你可以加入约束:
只生成特定的数据或信息,不包含其他不相关内容。
再来一些🌰
类型: 综合约束 内容约束: 描述机器学习相关内容。 格式约束: 包括引言、方法、结果、结论四个部分。 风格约束: 使用正式且专业的语气。 长度约束: 字数不超过5000字。 类型: 内容约束、长度约束 内容约束: 需提供IoT的定义和五种实际应用。 长度约束: 不超过200字。
五、举个大🌰
#### 任务描述 撰写一篇关于气候变化对全球农业生产影响的文章。 请撰写一篇800字的文章,详细讨论气候变化对全球农业生产影响,特别强调对水资源管理和农作物产量的影响。 #### 背景信息 近年来,全球气候变化对农业生产造成了重大影响。例如,不规律的降水模式和极端天气事件使得水资源管理变得复杂,农作物产量也受到影响。 #### 角色描述 研究员 #### 任务目标 分析气候变化对全球农业生产的影响,特别是水资源管理和农作物产量。 #### 特定要求和条件 文章必须包括关于水资源管理和农作物产量的具体讨论,字数不超过200字。 #### 目标受众 农业科学家和政策制定者 #### 衡量标准 - **准确性**:文章内容必须真实反映气候变化对农业生产的影响。 - **完整性**:需包含关于水资源管理和农作物产量的具体细节。 - **流畅性**:文章语法正确、语言通顺。 - **相关性**:内容紧扣气候变化影响农业生产的主题。 #### 分步骤指南 1. 介绍气候变化对全球农业生产的总体影响。 2. 详细讨论气候变化对水资源管理的影响。 3. 详细讨论气候变化对农作物产量的影响。 #### 层次化信息 - **引言:** 介绍气候变化及其对农业生产的总体影响。 - **水资源管理:** 详细讨论气候变化如何影响水资源的获取和管理。 - **农作物产量:** 详细讨论气候变化如何影响农作物的生长和产量。 #### 考虑多种可能性和边界条件 **示例1:** **输入:** 北美:水资源短缺,农作物种类改变。 **输出:** 北美正在经历严重的水资源短缺,导致一些传统作物的种植受到影响。改良作物品种和新灌溉技术成为应对措施。 **示例2:** **输入:** 非洲:降水模式变化,影响农作物种植。 **输出:** 非洲不规律的降水模式对小农场主造成重大影响。农作物产量波动,影响粮食安全。需要国际援助和新技术支持。 #### 自动检测与修正 设置机制,如果未按要求描述水资源管理和农作物产量,则提示重新输入相关信息。 **示例:** **输入:** 未提及水资源管理。 **输出:** “请包括关于水资源管理的讨论内容。” #### 语言和文化敏感性 确保内容对各个文化背景的读者友好,避免使用技术术语影响理解。 **示例:** - **营销文章:** 使用通俗易懂的语言,避免技术术语。 #### 数据隐私和安全性 **示例:** **输入:** 客户反馈内容,客户ID已脱敏。 #### 任务约束 - **内容约束:** 描述气候变化影响农业生产的应对策略。 - **格式约束:** 包括引言、主体和结论。 - **风格约束:** 使用正式语调。 - **长度约束:** 不超过800字。
六、总结
在当今大规模语言模型(LLM)的世界里,Prompt 是引导神器,能让 AI 听话又聪明。通过这篇文章的深入,指引你彻底掌握设计强大 Prompt 的艺术,从而解锁 AI 的全部潜力,并大幅减少 AI 的“幻觉”问题——生成与现实不符或莫名其妙的内容。
回顾下:本文主要解决的问题
哈哈,你看懂了吗?如果之前遇到以下问题,本文绝对是你的救命稻草:
1. Prompt 模糊:AI 生成的内容总是跑偏,让人抓狂。
2. **细节不够**:AI 对你的需求云里雾里,满嘴跑火车。
3. **结构太复杂**:AI 看你的指令累得“喘不过气”。
4. **幻觉问题**:AI 不时冒出令人费解的内容,令人欲哭无泪。
回顾下:怎么做,爽翻天!
1. 明确目标和任务:让 AI 知道你想要啥,选对方向。
2. 充分上下文和背景:信息充足,不多不少,AI 掌握事实不胡思乱想。
3. 设定衡量标准或考评维度:希冀结果,AI 就像你当年的满分作业。
4. 简洁直接:少啰嗦,AI 秒懂。
5. 避免歧义:不理解的词汇休想扰乱 AI 的步伐。
6. 分步骤和层次化指导:分清先后,步步为赢。
7. 考虑多种可能性和边界条件:极端情况,让 AI 时刻清醒。
8. 纠错机制:一键修正,防微杜渐。
9. 语言和文化敏感性:跨文化交流,AI 落落大方。
10. 数据隐私和安全性:合规隐私,放心传递。
11. 约束设置:锁定目标,输出精准。
准备好了吗?凭借这些 Prompt 设计妙招,来一场与 AI 的畅快对话吧,将幻觉变成过去式,高效生成,乐享其成!
来源 | 阿里云开发者公众号
作者 | 一钦