一、Prompt(提示词)
Prompt(提示词)是给AI模型交互文本片段,用于指导模型生成符合预期输出结果,提示词的目的是为模型提供一个上下文的任务,以便模型能够更准确地理解用户的意图,并生成相关的回应。
二、Prompt(提示词核心)
-
具体性:
- 差:“讲一下历史”
- 好:“用300字简要概括第二次世界大战的主要起因,列出5个关键因素”
-
示例和格式:
-
差:“说说节假日分别有哪些?”
-
好:"说说2025年中国节假日有哪些?以表格形式展示(包括序号、开始日期、结束日期、节假名称、周几范围,总天数)
例如:
序号| 开始日期 | 结束日期| 节假名称| 周几范围 | 总天数
1 | 2025-04-04|2025-04-07|清明节|周四~周日|3天"
-
-
避免不精确:
-
差:“有5个用户,分别是A\B\C\D\E; 现在进行角色扮演,请猜出那个是水果。”
-
好:"有5个用户,分别是A\B\C\D\E; 现在进行角色扮演,根据5个用户每一轮对话进行排除,
其中分别代表A:苹果; B-西瓜; C-橘子;D-冬瓜;E-葡萄。
请模拟至少4轮对话进行依次排除,猜出谁非正确水果。"
-
-
做还是不做:
- 差:“现在由一组数依次是1~100。”
- 好:“现在由一组数依次是1~100。分别求基数和,偶数和,基数积,偶数积,说出具体分析步骤,结果以表格形式展示。”
-
结构化表达:
- 差:“现在有2个用户分别是A和B,他具有很多属性; 年龄age, 性别sex, 身高height,体重weigth,角色role等,A用户年龄18,性别男,身高168cm,体重65kg,角色学生,B用户年龄38,性别男,身高178cm,体重75kg,角色教师”
- 好:“现在有2个用户分别是A和B,他具有很多属性; 年龄age, 性别sex, 身高height,体重weigth,角色role等,A用户年龄18,性别男,身高168cm,体重65kg,角色学生,B用户年龄38,性别男,身高178cm,体重75kg,角色教师。请根据以上描述返回JSON数据结构,无需展示分析步骤,直接要结果。”
-
上下文支持:
- 差:“写首诗”
- 好:“以秋天黄昏为背景,写一首8行的现代诗,表达时光流逝的感伤”
三、Prompt(提示词场景)
-
通用技巧
提示词是与大模型沟通语言,在提问最好尽量满足以下场景,让大模型更好理解你的意图。
- 具体性。
- 示例和格式。
- 避免不精确。
- 做还是不做?
-
Zero-Short(零样本)
零样本提示不提供示例,直接向模型提出问题或任务。适用于模型已熟悉的任务或问题明确的场景。这对于一些简单的、明确的问题,非常高效。但对于一些复杂的问题,效果就不好了。- 可分析情感、归类总结、结构化输出、步骤实施等等。
-
Few-Short(少量样本)
少样本提示可以作为一种技术,以启用上下文学习,我们在提示中提供演示以引导模型实现更好的性能。
少样本提示通过提供示例,让模型更清楚任务要求。适用于复杂或自定义任务。
- 可语言翻译、综合计算、逻辑推理等等。
-
COT(Chain-of-Thought, 思维链)
思维链是一种链式思维,他不仅仅限于单步纵向思维,而是实现更复杂的推理能力,解决复杂问题。
- Zero-Short-COT(零样本COT)。
- Few-Short-COT(少量样本COT)。
标准的prompt 思维链prompt Q:罗杰有5个网球。他又买了2罐网球。每个罐子有3个网球。他现在有多少个网球? Q:罗杰有5个网球。他又买了2罐网球。每个罐子有3个网球。他现在有多少个网球? A:答案是11个 A:罗杰一开始有5个球。2罐3个网球,等于6个网球。5 + 6 = 11。答案是11。 Q:自助餐厅有23个苹果。如果他们用20做午餐,又买了6个,他们有多少个苹果? Q:自助餐厅有23个苹果。如果他们用20做午餐,又买了6个,他们有多少个苹果? A:答案是27个 A:自助餐厅最初有23个苹果。他们使用20个做午饭。23 - 20 = 3。他们又买了6个苹果,得到3+ 6= 9。答案是9个。 -
COT-SC(Chain-of-Thought Self-Consistency, 思维链自一致性)
大模型通过思维链方式得到结果有所偏离(产生幻觉),需多次论证后才能保证自一致性,自一致性性(自洽性)是指模型在生成文本时,能够保持内部逻辑的一致性,避免自相矛盾或与上下文不符的回答。
-
TOT(Tree-of-thought, 思维树)
对于需要探索或预判战略的复杂任务来说,传统或简单的提示技巧是不够的。思维树基于思维链提示进行了总结,引导语言模型探索把思维作为中间步骤来解决通用问题。
- 分层次思考。
- 多路径探索。
- 动态调整。
四、Prompt Engineering(提示工程)
提示工程(Prompt Engineering) 也可以被称为「指令工程」,提示工程的核心思想是,通过精心设计的提示Prompt,可以显著提高模型的性能和输出质量。它是与AI交互的核心技能之一,尤其在自然语言处理NLP领域至关重要。
- 貌似简单,但其实意义非凡。(提问的智慧)
- Prompt 是 AGI 时代的「编程语言」
- 提示工程师是 AGI 时代的「程序员」
如果要学好提示工程,那么其实就是要知道如何对咱们的Prompt进行调优,与大模型进行更好的交互。
- 提示工程(Prompt Engineering):
直接使用预训练的模型,并通过设计巧妙的提示(prompt)来引导模型生成所需的输出。 - RAG(Retrieval Augmented Generation, RAG):
模型通过引入外部知识来增强其生成能力。这可能是通过检索相关文本、知识图谱或其他数据源来实现的。 - 微调(Fine-tuning):
已经预训练好的模型会在特定领域的数据上进行优化也就是通过领域特定的数据来精炼预训练模型,以提高其在该领域的性能。 - 预训练(Pre-training):
金字塔的顶部是“预训练”阶段,这通常意味着从头开始训练一个机器学习模型。这一阶段使用大量的数据进行训练,以建立一个基本的、能够处理多种任务的模型。
五、提示工程基于那些组成。
Prompt Engineering工程是什么? 一切在提示之前的内容
这张概念图以直观的方式揭示了提示工程(Prompt Engineering)的核心要素及其运作流程。图中清晰地展示了在给定提示之前,涉及的一系列关键步骤和组件,这些共同构成了提示工程的整体框架。
首先,图的左侧列出了几个重要的组成部分:
-
数据库和其他信息存储(Databases & Other InfoStores)
这是信息的源头,包含了各种相关的数据库和知识库,它们为AI模型生成输出或输入提供了丰富的素材。
-
工作流程(Workflows)
输入工作流程描述了如何将人类的想法和意图转化为机器可理解的指令。这可能涉及多个步骤,如数据预处理、特征提取、提示设计等。在Prompt中扮演着指导者的角色,它用简单的语句清晰地规划出大模型处理任务的整体流程。这个流程通常包括欢迎用户、获取用户输入、处理用户输入、输出结果、结束对话等关键步骤。通过这样的流程设计,我们可以确保大模型在与用户的交互过程中,能够按照预定的逻辑和顺序进行工作,从而提高交互的效率和准确性。Workflow的设计还可以根据具体的应用场景和需求进行定制和优化。例如,在某些复杂的场景中,我们可能需要添加更多的处理步骤或条件判断来确保大模型能够正确地理解和处理用户的输入。而在一些简单的场景中,我们则可以简化Workflow的设计,以提高交互的速度和便捷性。
-
提示库(Prompt Libraries)
AI提示库是存储各种经过验证和优化的提示的集合。这些提示可以被重复使用或稍作修改以适应不同的任务或需求。
-
提示词设计指南(Prompt Recipe)
提示配方是指创建有效提示的一系列步骤或指南。它可能包括选择适当的语言风格、确定提示的结构、添加必要的上下文信息等。
-
角色(Role)
提示角色指的是在提示中扮演的特定角色或身份。例如,提示可能要求AI模型以专家的身份回答问题,或以某种特定的风格(如正式、幽默等)进行写作。
-
任务指令(Task Instructions)
任务指令是明确告诉AI模型需要执行的具体任务。这些指令应该清晰、具体,以便AI模型能够准确理解并执行。
-
上下文(Context)
上下文是指与提示相关的信息或背景知识。提供足够的上下文可以帮助AI模型更好地理解提示,并生成更相关、更准确的输出。
-
-
生成性提示(Prompting)
在生成式AI的应用中,可以通过设计巧妙的提示词,让模型生成符合特定场景、风格或主题的文本。 通过调整提示的内容和结构,可以实现对模型输出的精细控制,从而满足不同的应用场景和需求。