在本文中,我们将深入探讨如何编写出色的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分,考评维度及标准如下:

  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分)

-略略略

说明:

目标和任务对应性高:明确考评维度与面试特质的关系,涵盖候选人的聪明、成熟和阳光等特质。

维度全面且适用:各维度详细且适用于全面评估候选人的特质及综合能力。

衡量标准完整:如会学习、有好奇、辩证思考、有自知、能共情、客观理性、有能量、够真诚和不抱怨等均有量化标准。

衡量标准清晰且客观:明确的评分标准确保每个维度有具体的评估依据,确保评分过程透明和公正。

明确的输入和输出格式

输入格式是指模型接收的原始数据的结构和形式。明确的输入格式定义了数据应该如何组织和呈现,以确保模型能够正确解析和理解这些数据。输出格式是指模型生成结果的预期结构和形式。明确的输出格式定义了模型应该如何组织和呈现生成的内容,以满足特定的需求或标准。

例如:

文本格式(如长篇回答、摘要)

结构化数据格式(如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": "&lt;NAME&gt;",
      "total_score": &lt;TOTAL_SCORE&gt;,
      "average_score": &lt;AVERAGE_SCORE&gt;,
      "grades": {
        "Math": &lt;MATH_SCORE&gt;,
        "English": &lt;ENGLISH_SCORE&gt;,
        "Science": &lt;SCIENCE_SCORE&gt;
      }
    }
  ]
}</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》的核心主题”代替冗长的前置说明。