[toc]
Prompt(提示词)工程笔记
Prompt(提示词)介绍
什么是 Prompt(提示词)?
Prompt(提示词)就是你给大语言模型(LLM)的输入文本,即用户给大模型的自然语言,它告诉模型你想要什么,就像给助理下达指令,指令越清晰,结果越好。
Prompt(提示词)的质量直接决定了回答的质量,写好 Prompt(提示词) 就像给你的 AI 助手下达清晰的指令。
一个好的 Prompt(提示词)的基本原则
- 指令清晰: 提示词应该简洁、直接,避免使用复杂的语言。
- 明确具体,包含必要信息: 避免模糊。例如:不要说"写点关于狗的东西",而应该说"用生动活泼的语言,为 6-8 岁儿童写一段 100 字左右的关于金毛寻回犬性格特点的简短介绍。"
- 提供上下文:告诉模型你的身份、背景和目标。例如:"你是一位经验丰富的 Python 编程导师。请向一个刚学完基本语法的初学者解释什么是列表推导式,并提供一个简单的例子。"
- 分步思考:对于复杂问题,鼓励模型一步步推理。例如:要解决这个问题,我们先计算第一步...,然后第二步...,最后得出结论...
Prompt(提示词)工程
什么是 Prompt(提示词)工程?
提示词工程就是一门关于如何构造和优化你的提示词的工程,目的是最大化 AI 模型的性能,让它产出更符合你需求的、高质量的输出。
举个例子:
- 提示词:"写一篇关于猫的文章。"
- 提示词工程优化后:"你是一位宠物科普作家。请以轻松幽默的口吻,为养猫新手写一篇 800 字左右的文章,重点介绍如何选择第一只猫和接猫回家前三天的必备准备。"
提示词工程的要素
一个有效的提示词通常包含以下几个要素。
- 角色与背景:为 AI 设定一个身份或场景,引导其使用特定的知识体系和表达方式。
- 任务描述:清晰、具体地说明你要 AI 完成什么任务。这是提示词的核心。
- 约束条件: 说明任务的限制条件。
- 拆分步骤:如果任务比较复杂,分解为多个步骤。例如:"第一步...,然后第二步...,最后得出结论..."
- 输出格式:指定你期望的输出格式,如 JSON、Markdown 等。
- 输出示例:提供一个或多个符合要求的输出示例,帮助模型理解你期望的输出样式。
举个例子:
- 提示词:"写一下我们这个新款智能水杯的特点。"
- 提示词工程优化后:
- 【角色】你是一位顶尖的电子产品营销文案写手。
- 【任务】为我公司的新款 HydraTech 智能保温杯撰写一段吸引人的产品特点描述。
- 【约束】描述需面向都市白领群体,突出健康提醒、长效保温、设计简约三大核心卖点,语言简洁有力,充满科技感。
- 【格式】最终输出为一段不超过 150 字的文案。
任务描述明确
一个好的的提示词,必须包含明确的任务描述,这是提示词的核心。任务描述应该清晰、具体地说明你要 AI 完成什么任务。否则,模型可能会无法理解你的需求,导致输出与预期不符。
【差的例子】 写一段关于金毛寻回犬的介绍。
【好的例子】 写一段关于金毛寻回犬的介绍,用生动活泼的语言,为 6-8 岁儿童写一段 100 字左右的关于金毛寻回犬性格特点的简短介绍。角色与背景
一个好的的提示词,必须包含明确的角色与背景,这是提示词的核心。
好的角色与背景就像给大模型“扮演”一个特定的角色,引导其使用角色相关的知识体系和表达方式。从而生成更符合你需求的输出。
【差的例子】 请你写一段关于金毛寻回犬的介绍。
【好的例子】 你是一个专业的宠物科普作家,在各大宠物网站上发表了多个关于宠物的文章,擅长写关于宠物的文章,包括狗、猫、鸟等。现在写一段关于金毛寻回犬的介绍,用xxxxxxx。约束条件
有的时候大模型给出的答复不符合我们的预期。我们可以通过在提示词中添加"约束条件"来提高模型的输出质量。
约束条件是指在提示词中添加的限制条件,用于指定模型的输出必须符合的规则。
【差的例子】 写一段关于金毛寻回犬的介绍。
【好的例子】 写一段关于金毛寻回犬的介绍,字数在 100 字左右,并且文章风格简洁,避免使用复杂的语言。格式化输出
大部分情况下大模型给出的输出都是类似自然语言的文本,而不是符合特定格式的文本。为了提高模型的输出质量,我们需要指定输出的格式。从而方便进行后续的处理和分析。
【差的例子】 写一段关于金毛寻回犬的介绍。
【好的例子】 写一段关于金毛寻回犬的介绍,用 JSON 格式输出,包含犬种名称、犬种介绍、犬种性格特点等字段。提供示例
当我们需要模型输出符合特定要求的文本时,我们需要提供一个或多个符合要求的输出示例,从而帮助模型理解你期望的输出样式。
【差的例子】 写一段关于金毛寻回犬的介绍。
【好的例子】 写一段关于金毛寻回犬的介绍。需要参考这两篇文章《小猫的介绍》,《小鸟的介绍》的内容。思维链(拆分步骤)
我们可以通过再提示词中添加"思维链(拆分步骤)"来实现。思维链(拆分步骤)就是在提示词中包含多个步骤,每个步骤都是一个独立的任务。告诉模型需要按照这些步骤一步步完成任务。从而提高模型的输出质量。
【差的例子】 写一段关于金毛寻回犬的介绍。
【好的例子】 写一段关于金毛寻回犬的介绍。
第一步:需要收集关于金毛寻回犬的介绍信息。
第二步:根据收集到的信息,写一段关于金毛寻回犬的介绍。
第三步:根据写好的介绍,用 JSON 格式输出,包含犬种名称、犬种介绍、犬种性格特点等字段。总结
在经过提示词工程优化后,我们可以得到一个好的输出词。
【差的例子】 写一段关于金毛寻回犬的介绍。
【好的例子】
【角色】你是一个专业的宠物科普作家,在各大宠物网站上发表了多个关于宠物的文章,擅长写关于宠物的文章,包括狗、猫、鸟等。
【任务】写一段关于金毛寻回犬的介绍。
【约束】字数在 100 字左右,用生动活泼的语言,为 6-8 岁儿童写一段 100 字左右的关于金毛寻回犬性格特点的简短介绍。
【格式】用 JSON 格式输出,包含犬种名称、犬种介绍、犬种性格特点等字段。
【示例】可以参数这两篇文章《小猫的介绍》,《小鸟的介绍》的内容。