唐抉的个人博客

Prompt设计技巧

字数统计: 9.1k阅读时长: 32 min
2025/04/06

前言

通常我们在使用大语言模型(LLM)时,都是通过输入指令的形式,让LLM完成指定的任务。

在用户指令输入后,LLM首先会将文本指令做分词处理(以BPE分词为例):

  • LLM训练阶段:会将数据集中的文本拆分成一个个小的子词单元(即Token),然后通过统计每个词出现频率来构建词汇表。然后合并频率最高的词汇形成新的词汇,反复迭代后就形成词汇表。
  • 用户输入阶段:LLM用训练阶段生成的词汇表对输入的指令进行分词,将文本转换为模型可识别的子词单元(即Token),然后把这些Token作为模型的输入
  • 模型输出阶段:模型将每个Token转化为一个固定长度的向量,然后通过Transformer架构做上下文处理后,生成输出对应的文案。

因此数据集和分词的质量直接影响到模型对输入文本的理解和处理效果。如果数据集中没有对应的知识,或者说数据集的知识是错的,LLM生成的结果就容易不符合预期。

示例:

这是一个简单的Prompt:

1
让AI补充以下词汇,原()()动:

AI一般的回答都是:原(封)(不)动原(始)(冲)动

如果给他一个背景呢?

1
你是一名原神玩家,请补充以下词汇,原()()动:

这时AI的回答就是:原(神)(启)动

什么是Prompt?

提示词(Prompt)一种是给大模型(LLM)的文本指令,引导大模型解决指定的问题或完成指定的任务。也就是说,大语言模型通过提示词+用户输入的方式来理解用户需求并生成准确答案。因此 prompt 的好坏,直接决定了大模型生成结果是否符合预期。

举个例子,这是一个简单的Prompt:

1
请介绍大语言模型,字数控制在100个字符以内

AI就会基于这个提示词,通过特定的算法模型生成下面的内容:

1
大语言模型是基于海量文本训练的人工智能系统,能理解并生成自然语言文本,广泛应用于写作、翻译、问答等领域,为人们提供高效便捷的语言处理服务,推动人工智能发展。

Prompt设计的陷阱及优化

针对不同业务场景设计不同Prompt时,经常踩到各种各样的坑里,下面是对一些遇到的坑进行归纳总结:

AI产生幻觉

AI生成与事实不符的信息或凭空捏造不存在内容等胡编乱造的行为,称之为“AI幻觉”。

示例Prompt:

1
请告诉我中国第一位女性宇航员的名字。

AI乱答:

1
中国第一位女性宇航员是李娜,她在 2008 年乘坐神舟七号进入太空。

优化:要求AI说明信息来源

当 AI 被要求提供信息来源时,它会更加谨慎地筛选数据,因为需要对信息的出处负责。

优化后的Prompt:

1
请告诉我中国第一位女性宇航员的名字,并说明数据来源。

AI回答:

1
中国第一位女性宇航员是刘洋,她于2012年6月16日成功进入太空。这一信息来源于百度百科,该页面详细介绍了刘洋的生平、教育背景、工作经历以及她成为宇航员的过程

优化:使用限定词,引导AI仅在已知信息范围内作答

在Prompt加上这一句:

1
如果你不确定答案,请回答 “我不知道”,而不要编造信息。

这一策略能有效避免 AI 在知识盲区随意编造答案。让 AI 没有确切把握回答时回复 “我不知道”,而不是给出错误引导,保障用户获取信息的准确性。

优化:让AI以多种方式验证答案

在Prompt加上这一句:

1
请提供你刚才回答的三个独立信息来源,并进行交叉验证。

AI 可能会通过多个数据库、书籍以及他人观点等多个渠道验证信息来源,进而确保信息的准确性。

优化:使用反向Prompt让AI质疑自己的回答

在Prompt加上这一句:

1
你刚才的回答可能有错误。请重新检查,并说明你为何认为这个答案是正确的。

促使 AI 重新审视答案,避免因初始判断失误而给出错误信息。

信息可信度低

优化:按特定格式输出答案

为方便用户快速评估信息质量与可靠性,可以让AI采用结构化格式输出答案

例如:

1
2
3
4
5
请按照以下格式回答:
问题:
答案:
数据来源:
可信度(1-10):

当用户问题为“中国第一位女性宇航员是谁”时,AI输出如下:

1
2
3
4
问题:中国第一位女性宇航员是谁?
答案:刘洋,她于 2012 年随神舟九号进入太空。
数据来源:新华社、百度百科
可信度:9/10

优化:限制回答范围

如果问题涉及复杂领域,可以让AI只回答它有信心的内容。

例如,在Prompt加上这一句:

1
你只能基于 2023 年的数据回答问题,不要使用推测信息。

这种方式可以减少 AI 乱编数据的情况,确保信息的可信度。

AI自带偏见

AI可能会因为训练数据的刻板印象而带有偏见,例如:

  • 性别偏见:“医生通常是男性,护士通常是女性。”
  • 文化偏见:“成功的企业家通常来自发达国家。”
  • 政治偏见
  • 其他偏见:如数据计算、常识判断等,例如9.11比9.9大、3个月按半年算等经典问题

优化:要求使用中立语言

在Prompt加上这一句:

1
请提供多个不同角度的观点,并保持中立态度。

让AI使用中立语言客观分析,避免因倾向性语言导致片面结论。

优化:避免出现暗示性字眼

检查设计的Prompt中是否带有“…比…更好”、“…优于…”的字眼

优化:让AI自己检查偏见

在Prompt加上这一句:

1
你的回答是否可能包含性别、种族或文化偏见?请重新检查并调整。

让AI 通过自我检查修正潜在偏见,确保不出现误解或偏见性描述

优化:适当补充示例

在Prompt中补充对结果影响比较大的其他偏见示例,例如加上以下示例语句:

1
2
3
4
5
示例1、某AI统计工龄时,认为3个月=半年:
用户工作了5年2个月,其中的2个月没有超过6个月,不能按半年计算,所以其工龄应该是5年

示例2、AI认为9.11比9.9大:
比较小数大小时,先比较小数的整数部分,将小数点后的位数转换为相同的位数后,再去比较小数点后的位数。如9.11和9.9的整数部分都是9,将两个数转换为相同位数后,9.9可以写成9.90,此时和9.11比较,显然是9.90比9.11大。

回答前后矛盾

在多轮对话中,如果AI没有启用记忆功能,用户先问“畅享卡有哪些套餐”,再接着问“你确定吗?”。就可能会因为没有保持上下文一致性或者是在不同轮次调用了不同的数据集从而得到不同的回复。

优化:强制AI记住上下文

强制AI记住上下文,在Prompt加上这一句:

1
请确保后续回答与之前保持一致。

优化:让 AI 复述自己的回答

在Prompt加上这一句:

1
你能用不同的表述方式重复你的答案吗?

优化:固定输出格式

在Prompt加上这一句:

1
你需要始终按照“事实+证据”的格式回答问题。

无法控制AI生成的内容长度

优化:回答过于简略,需要限制最少字数

Prompt里限制最少字数及其要点

1
你的回答必须至少包含 50 个字,并提供具体理由。

优化:避免回答过于冗长,需要限制最多字数

Prompt里限制最多字数及其要点

1
你的回答不能超过3句话,并且要直截了当

Prompt结构化模板

尽管 AI 具备强大的语言理解能力,但其输出质量仍然受到 Prompt 设计的影响。如果 Prompt 过于模糊或不够具体,AI 可能会给出偏差较大的答案。因此,优化 Prompt 是提升 AI 交互体验的关键。

常用的 Prompt 文字模板

关键点

常用的Prompt模板通常包含以下几个关键点:

  • 背景信息:提供相关背景信息,让AI可以更准确地理解问题含义
  • 任务说明:明确清晰地告诉AI需要完成什么任务
  • 约束条件:限制AI的输出,包括且不限于格式、字数、风格等
  • 示例参考:通过具体示例引导AI产生符合预期的输出,例子数量不能太多,控制在1-2个即可

示例

举个例子,这是一个普通的Prompt:

1
你是一位健身教练,介绍一款热门的健身APP。

根据上面的Prompt,AI生成以下结果:

1
这款健身APP非常受欢迎,它提供了多种健身课程,包括瑜伽、力量训练和有氧运动。用户可以根据自己的目标选择合适的课程,比如减脂、增肌或提高柔韧性。APP还支持自定义训练计划,用户可以设置自己的健身目标和时间,APP会生成个性化的训练方案。此外,它还有社区功能,用户可以分享自己的健身成果,互相激励。总的来说,这款APP功能强大,界面友好,适合各种水平的健身爱好者。

但如果我用了Prompt模板后再去实现同一功能呢?下面是套用模板后的Prompt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
背景信息&&约束条件:你是一位健身教练,需要为你的客户介绍一款热门的健身APP。请根据提供的APP名称和功能描述,撰写一段详细的介绍文本。确保介绍内容包括APP的主要功能、特色、适用人群以及使用建议。这款健身APP必须是一个真实存在的应用,应用的介绍内容需是真实有效的,不得自行编造。
任务说明:
1. 首先,简要介绍APP的名称和主要功能。
2. 接着,详细描述APP的特色功能,如个性化训练计划、饮食建议、社区互动等。
3. 然后,说明这款APP适合哪些人群使用,例如初学者、进阶者或特定健身目标的人群。
4. 最后,给出使用这款APP的一些建议,比如如何开始使用、如何设置目标等。
5. 确保输出内容流畅、专业,能够吸引并帮助目标用户。
示例参考1:
APP名称: Keep
功能描述: Keep是一款提供个性化训练计划、饮食建议和社区互动的健身APP。
Keep是一款非常受欢迎的健身APP,它提供了个性化的训练计划,帮助用户根据自己的健身目标制定合适的锻炼方案。此外,Keep还提供了丰富的饮食建议,帮助用户更好地控制饮食,达到理想的健身效果。对于喜欢社交互动的用户,Keep还设有社区功能,用户可以在这里分享自己的健身成果,互相鼓励,共同进步。这款APP适合所有健身水平的人群使用,无论是初学者还是进阶者,都能在这里找到适合自己的训练计划。建议用户在开始使用Keep之前,先设定一个明确的健身目标,这样可以更有针对性地选择训练计划和饮食建议。
示例参考2:
APP名称: Nike Training Club
功能描述: Nike Training Club是一款提供专业训练视频、个性化训练计划和社区互动的健身APP。
Nike Training Club是一款由耐克公司推出的健身APP,它提供了大量的专业训练视频,涵盖了从基础到高级的各种训练课程。用户可以根据自己的健身水平和目标选择合适的训练视频进行学习和练习。此外,Nike Training Club还提供了个性化的训练计划,帮助用户制定科学的锻炼方案。对于喜欢社交互动的用户,这款APP还设有社区功能,用户可以在这里分享自己的训练成果,与其他用户交流心得。Nike Training Club适合所有健身水平的人群使用,无论是初学者还是进阶者,都能在这里找到适合自己的训练课程。建议用户在开始使用Nike Training Club之前,先设定一个明确的健身目标,这样可以更有针对性地选择训练计划和饮食建议。

根据这个的Prompt,AI生成以下结果:

常用的 Prompt XML模板(在dify中使用最佳)

在编写Prompt时,使用 XML 标签可以保证Prompt的清晰度、准确性、灵活性及可解析性。其不仅能帮助更好地组织和结构化信息,还能提高 AI 模型的理解能力和响应质量。

常用XML标签

<instruction>

  • 用途:提供给AI的具体指令,明确模型需要执行的任务。

  • 示例:

1
2
3
<instructions>
请将以下文本翻译成西班牙语。
</instructions>

<context>

  • 用途:提供任务的背景信息或上下文,帮助 AI 更好地理解指令。
  • 示例
1
2
3
<context>
这段文本摘自一本关于机器学习的书籍,用于展示基础概念。
</context>

<examples>

  • 用途:提供示例来指导 AI 的响应风格和格式。多个示例可以帮助模型更好地理解指令意图。
  • 示例
1
2
3
4
5
6
7
8
9
10
<examples>
<example>
英文: Hello
西班牙语: Hola
</example>
<example>
英文: Thank you
西班牙语: Gracias
</example>
</examples>

<user_input>

  • 用途:包含用户输入的内容,通常用作提示的动态部分。
  • 示例
1
2
3
<user_input>
请输入您想翻译的内容。
</user_input>

<output>

  • 用途:指定 AI 应该生成的输出格式或样式,确保输出内容与预期一致。
  • 示例
1
2
3
<output>
生成的翻译应为西班牙语,并保持语法正确性。
</output>

标签顺序

标签的位置和先后顺序能够显著提升AI模型对提示的解析效果,进而提高其响应质量。

推荐的标签顺序如下:

  1. <instructions>: 描述AI应遵循的具体指令。
  2. <context>: 提供任务背景信息,便于AI理解上下文。
  3. <examples>: 通过示例引导AI如何准确生成响应。
  4. <user_input>: 包含用户的输入内容。
  5. <output>: 定义AI应该输出的格式或样式。

注意事项

  • 标签名称的一致性:XML 标签区分大小写,因此请确保标签字母大小写的一致性,如 <Tag><tag> 是不同的元素。
  • 格式正确性:确保 XML 文档格式正确,所有标签都必须闭合,且标签间的嵌套关系需符合 XML 规范。
  • 安全性考虑:当提示中包含用户输入时,建议对用户输入进行转义处理,以防止潜在的安全问题,例如代码注入或无效的标签解析。

示例

将常用的Prompt文字模板例子中的Prompt使用xml模板将改写成以下格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
``xml
<instruction>
你是一位健身教练,需要为你的客户介绍一款热门的健身APP。请根据提供的APP名称和功能描述,撰写一段详细的介绍文本。确保介绍内容包括APP的主要功能、特色、适用人群以及使用建议。这款健身APP必须是一个真实存在的应用,应用的介绍内容需是真实有效的,不得自行编造。
1. 首先,简要介绍APP的名称和主要功能。
2. 接着,详细描述APP的特色功能,如个性化训练计划、饮食建议、社区互动等。
3. 然后,说明这款APP适合哪些人群使用,例如初学者、进阶者或特定健身目标的人群。
4. 最后,给出使用这款APP的一些建议,比如如何开始使用、如何设置目标等。
5. 确保输出内容流畅、专业,能够吸引并帮助目标用户。
</instruction>
<examples>
<example>
APP名称: Keep
功能描述: Keep是一款提供个性化训练计划、饮食建议和社区互动的健身APP。
输出:
Keep是一款非常受欢迎的健身APP,它提供了个性化的训练计划,帮助用户根据自己的健身目标制定合适的锻炼方案。此外,Keep还提供了丰富的饮食建议,帮助用户更好地控制饮食,达到理想的健身效果。对于喜欢社交互动的用户,Keep还设有社区功能,用户可以在这里分享自己的健身成果,互相鼓励,共同进步。这款APP适合所有健身水平的人群使用,无论是初学者还是进阶者,都能在这里找到适合自己的训练计划。建议用户在开始使用Keep之前,先设定一个明确的健身目标,这样可以更有针对性地选择训练计划和饮食建议。
</example>
<example>
APP名称: Nike Training Club
功能描述: Nike Training Club是一款提供专业训练视频、个性化训练计划和社区互动的健身APP。
输出:
Nike Training Club是一款由耐克公司推出的健身APP,它提供了大量的专业训练视频,涵盖了从基础到高级的各种训练课程。用户可以根据自己的健身水平和目标选择合适的训练视频进行学习和练习。此外,Nike Training Club还提供了个性化的训练计划,帮助用户制定科学的锻炼方案。对于喜欢社交互动的用户,这款APP还设有社区功能,用户可以在这里分享自己的训练成果,与其他用户交流心得。Nike Training Club适合所有健身水平的人群使用,无论是初学者还是进阶者,都能在这里找到适合自己的训练课程。建议用户在开始使用Nike Training Club之前,先设定一个明确的健身目标,这样可以更有针对性地选择训练计划和饮食建议。
</example>
</examples>

根据这个的Prompt,AI生成以下结果:

编写Prompt工具推荐

  • 使用dify自带的提示词优化器:输入具体的需求可以一键生成xml格式的prompt

  • 让AI帮忙优化:使用kimi、豆包、腾讯元宝、通义千问等AI工具,输入请参照常用的prompt模板,帮我优化以下prompt:具体的需求就能生成较为规范的prompt

  • 提示词优化器提示词优化器 输入自己写好的prompt后,使用优化器进行优化(需要配模型api)

高阶Prompt设计技巧

示例驱动Prompt

示例驱动Prompt通过提供示例,引导AI按照特定风格或格式输出结果。

示例1,生成一个关于冒险的故事:

1
2
3
4
请生成一个关于冒险的故事。  
示例:
在蒙德城的酒馆里,旅行者听到了一个关于“风龙废墟”的传说。据说废墟深处藏有巴巴托斯遗留的风元素神瞳。旅行者与派蒙一同前往探索,途中遇到了丘丘人设下的陷阱,还与风魔龙瓦格纳展开了激战。最终,他们解开了机关,获得了神瞳,并发现了巴巴托斯的古老笔记,记录着提瓦特大陆的隐秘历史。
现在,请生成一个类似的故事。

那么AI会参照示例里的格式输出:

1
在璃月的清泉镇,旅行者得知了“归乡之玉”的传说。这块玉器据说能指引失散的亲人重逢。旅行者与钟离一同前往玉京台遗迹,在途中遭遇了愚人众执行官的阻挠,还解开了岩元素机关唤醒了守护灵猴。最终,他们找到了归乡之玉,却发现它与旅行者失散的亲人有着神秘的联系……  

示例2,编写一个计算角色伤害的函数:

1
2
3
4
5
请编写一个计算角色伤害的函数。  
**示例**:
输入:旅行者攻击力为1000,敌人防御力为200,元素反应为“超载”(伤害提升50%)。
输出:总伤害 = (1000 - 200) * 1.5 = 1200
**现在,请编写这个函数。**

那么AI会参照示例里的格式输出:

1
2
3
4
5
6
7
8
9
10
11
def calculate_damage(atk, defense, elemental_reaction=None):  
base_damage = max(1, atk - defense) # 基础伤害
if elemental_reaction == "超载":
return base_damage * 1.5
elif elemental_reaction == "融化":
return base_damage * 2.0
else:
return base_damage

# 测试示例
print(calculate_damage(1000, 200, "超载")) # 输出:1200

该技巧的适用场景如下:

  • 根据指定格式生成文案
  • 故事创作:提供角色、地点和任务框架
  • 信息提取:明确输入输出格式
  • 代码实现:通过示例设定逻辑规则

链式思维Prompt

链式思维Prompt是指,通过逐步引导模型进行推理和探索,将复杂任务分解为多个步骤,逐步完善输出,特别适合需要逻辑推理和逐步深入的场景。

一般Prompt可能会让AI直接给出答案,而链式思维Prompt会要求AI详细推理出答案的过程。就像是qwen模型和deepseek模型回答问题的区别。

例如,在计算数学问题时,可以要求AI按步骤计算,而不是直接给出答案。

示例1,一般Prompt计算25*48:

1
计算25*48的结果*

AI会直接回答:1200

使用链式思维Prompt:

1
计算25*48的结果,请逐步拆解计算过程,并给出最终答案

AI会则会回答:

1
2
3
4
25 × 48 = 25 × (50 - 2)
= (25 × 50) - (25 × 2)
= 1250 - 50
= 1200

示例2,生成一个关于冒险的故事:

单轮的Prompt:

1
请为我规划一次提瓦特大陆的旅行,包括主要景点和活动。

使用链式思维Prompt:

1
2
3
4
5
6
7
8
确定主题:
请为我规划一次提瓦特大陆的旅行,包括主要景点和活动。
选择地点:
如果旅行主题是冒险,你会推荐哪些地点?
细化活动:
每个地点有哪些具体的冒险活动?
安全提示:
旅行中需要注意哪些安全事项?

该技巧的适用场景如下:

  • 数学计算
  • 复杂逻辑推理
  • 代码调试与优化
  • 业务决策分析
  • 逐步推理与验证

反向Prompt

反向Prompt就是通过提供错误或不理想的示例,引导模型避免这些错误并输出更符合预期结果。

示例1,让AI生成一个关于冒险的故事 :

1
2
3
4
5
请生成一个关于《原神》的冒险故事,确保包含具体角色、地点和冲突。
反向示例:
以下是一个模糊的冒险故事:
从前有一个冒险家,他踏上了一段旅程,经历了许多困难,最终找到了宝藏。
问题:这个故事过于笼统,没有具体细节和角色背景。

示例2,让AI生成计算角色伤害的函数:

1
2
3
4
5
6
请编写一个计算《原神》角色伤害的函数,确保包含元素反应的加成逻辑。
反向示例:
以下是一个过于简单的实现:
def calculate_damage(atk, defense):
return atk * (1 - defense / 100)
问题:这个函数忽略了元素反应的加成效果。

该技巧的适用场景如下:

  • 修正模糊输出
  • 修正不完整信息
  • 修正逻辑错误

多轮交互Prompt

多轮交互Prompt是指,通过多轮对话逐步引导模型输出更精准的内容,适合需要逐步细化的场景。在某些情况下,一次性提供完整的Prompt不一定能得到最佳答案,这时候就需要通过多轮的交互来优化AI的响应。

示例1,一般Prompt:

1
请写一篇关于人工智能的文章。

AI会直接给出一篇关于人工智能的文章。

使用多轮交互Prompt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
用户:我想写一篇关于人工智能的文章,你能帮我吗?
AI:当然!请问你希望文章的重点是什么?是介绍 AI 的基本概念,还是探讨 AI 的未来发展?

用户:主要是 AI 在医疗领域的应用。
AI:好的,我会围绕 AI 在医疗诊断、药物研发、手术辅助等方面的应用展开。请问你希望文章的风格是学术性还是通俗易懂?

用户:通俗易懂,并举一些实际案例。
AI:以下是一篇关于人工智能在医疗领域应用的文章,重点突出通俗易懂的风格,并结合了实际案例:
人工智能:医疗领域的“超级助手”
在当今的医疗领域,人工智能(AI)正像一位神奇的“超级助手”,悄然改变着医疗服务的方方面面。它不仅让医生的工作变得更加高效,也让患者享受到了更精准、更便捷的医疗服务。下面,就让我们一起走进人工智能在医疗领域的奇妙世界,看看它都发挥了哪些重要作用。
一、精准诊断:让疾病无处遁形
在传统的医疗诊断中,医生主要依靠自己的经验和对检查结果的解读来判断病情,但这种方式难免会受到主观因素的影响,有时会出现误诊或漏诊的情况。而人工智能的出现,就像为医生配备了一双“火眼金睛”,能够更精准地发现疾病。
(一)医学影像分析
医学影像(如X光、CT、MRI等)是医生诊断疾病的重要依据之一。人工智能通过深度学习技术,可以对这些影像进行快速且精准的分析。比如,DeepMind开发的AI系统能够自动检测乳腺X射线图像中的潜在癌症病变,将漏诊率降低了5.7%,诊断准确率超过了传统放射科医生。在北京协和医院,部署的AI系统可以秒级识别肺结节,敏感度高达97%。这意味着,那些微小的、容易被忽略的病灶,很难逃过AI的“法眼”,从而帮助医生更早地发现疾病,提高患者的治愈率。
(二)病理切片识别
病理切片是诊断疾病的重要手段,但传统的病理分析需要病理学家花费大量时间和精力进行观察和判断。现在,上海瑞金医院发布的“瑞智病理大模型”能够实现百万级数字切片的自动化分析,准确率超过98%。这不仅大大提高了工作效率,还减少了人为因素导致的误差,让病理诊断更加准确可靠。
......(省略后续的n个字)

示例2,我想要让AI为我规划一次提瓦特大陆的旅行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
用户:请为我规划一次提瓦特大陆的旅行。
AI:好的!以下是一份详细的提瓦特大陆旅行规划,涵盖蒙德、璃月、稻妻、须弥、枫丹、纳塔、至冬等主要区域的主要景点和活动,希望对你有所帮助!
一、蒙德
主要景点
蒙德城:蒙德的中心区域,有冒险家协会等重要机构。城内建筑风格独特,充满欧式风情,可以在这里感受蒙德的历史与文化。
风起地:全蒙德唯一一处地势较平坦的原野,中央有棵庞大的橡树。
鹰翔海滩:可以闲逛欣赏风景。
低语森林:安柏非常熟悉的地方。
明冠峡:风景秀丽的峡谷。
龙脊雪山:蒙德的著名地标之一,景色壮观,但需注意保暖和安全。
特色活动
风花节:蒙德的特色节日,有各种浪漫的活动,如放风筝、制作花饰等。
探索与解谜:在蒙德的各个角落寻找隐藏的宝藏和解谜元素,如开启风神瞳等。
美食之旅:品尝蒙德的特色美食,如风神杂烩汤等。
......(省略后续的n个字)

用户:如果旅行主题是冒险,你会推荐哪些地点?
AI:如果旅行主题是冒险,提瓦特大陆上有许多充满挑战和神秘的地方,以下是一些推荐的冒险地点:
一、蒙德
龙脊雪山:
冒险亮点:雪山环境恶劣,有极寒天气和暴风雪,需要携带抗寒装备。雪山中有许多隐藏的宝藏和解谜元素,如古老的遗迹、冰封的洞穴等。
挑战:雪山中有强大的怪物,如冰元素的丘丘人、冰史莱姆等。此外,还需要小心雪崩和冰裂缝等自然危险。
奖励:开启雪山中的风神瞳可以获得丰厚的奖励,还能找到珍贵的材料和宝藏。
深林之底:
冒险亮点:位于蒙德的森林深处,环境幽暗且充满危险。这里有古老的遗迹和神秘的力量,适合喜欢探险的旅行者。
挑战:森林中有许多危险的生物,如风龙特瓦林的遗迹和强大的风元素怪物。此外,森林中迷雾重重,容易迷路。
奖励:探索深林之底可以获得稀有的风元素材料和宝藏,还能解锁隐藏的剧情。
......(省略后续的n个字)

用户:每个地点有哪些具体的冒险活动?
AI:以下是一份以冒险为主题的提瓦特大陆旅行规划,涵盖各地区的具体冒险活动:
蒙德
龙脊雪山:
冒险活动:
雪山大勘测:与NPC艾斯特尔对话后,前往雪山各处寻找特定物品,解开雪山的谜团。
雪山迷踪:与乔尔交谈,探索雪山深处的遗迹,解开隐藏的机关。
低温预警:进入雪山的严寒区域,帮助玉霞研究低温现象,应对恶劣环境。
冒险亮点:雪山环境恶劣,有极寒天气和暴风雪,需要携带抗寒装备,同时应对强大的冰元素怪物。
达达乌帕谷:
冒险活动:
探索剑冢封印:找到利文斯通博士,解开剑冢的封印,探索其中的秘密。
冒险亮点:剑冢封印区域有强大的敌人和复杂的机关,需要智慧和勇气。
......(省略后续的n个字)

用户:旅行中需要注意哪些安全事项?
AI:在提瓦特大陆的冒险旅行中,安全至关重要。以下是一些需要注意的安全事项,确保你的旅程既刺激又安全:
一、环境安全
恶劣天气:
龙脊雪山:雪山环境恶劣,有极寒天气和暴风雪。建议携带抗寒装备,如抗寒药剂、保暖衣物等。在暴风雪中,尽量避免长时间暴露在外,寻找避风处。
稻妻:稻妻经常有雷暴天气,建议携带抗雷装备,如抗雷药剂、绝缘手套等。在雷暴中,尽量避免站在高处或靠近金属物体。
层岩巨渊:地下区域可能有塌方和落石的危险,建议携带照明工具和防塌方装备,如矿工头盔等。
地形危险:
绝云间:地形复杂,有悬崖和深谷,建议小心行走,避免失足。攀爬时要确保装备牢固。
清籁岛:地形多变,有沼泽和险峻的山地,建议携带防滑鞋和探路工具。
层岩巨渊:地下区域有复杂的洞穴和狭窄的通道,建议携带地图和指南针,避免迷路。
......(省略后续的n个字)

该技巧的适用场景如下:

  • 产品设计
  • 内容创作
  • 心理咨询

层级Prompt

层级Prompt是指通过分层结构逐步引导模型输出,适合需要分步骤完成的复杂任务。在处理复杂问题时,将问题分解成多个子问题,让AI逐步回答。

示例1,我想要让AI为我规划一次提瓦特大陆的旅行。应用层级Prompt的用例如下:

1
2
3
4
5
6
顶层Prompt(第一次提问):
请为我规划一次提瓦特大陆的旅行,包括主要景点和活动。
子层级Prompt(AI拆解问题后发出第二次提问):
如果旅行主题是冒险,你会推荐哪些地点?
每个地点有哪些具体的冒险活动?
旅行中需要注意哪些安全事项?

AI最终生成的回答如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
旅行主题:冒险探索  

推荐地点与活动:
1. 龙脊雪山:
活动:攀登雪山,寻找被冰封的遗迹,挑战冰龙瓦格纳。
注意事项:携带保暖装备,小心雪崩和低温陷阱。

2. 清泉镇(璃月):
活动:探索“归乡之玉”遗迹,与守护灵猴互动。
注意事项:避开愚人众巡逻队,携带岩元素武器破解机关。

3. 稻妻踏鞴砂:
活动:挑战“影打刀”试炼,收集雷元素神瞳。
注意事项:注意雷暴天气,避免被雷龙袭击。

旅行建议:
提前与当地冒险家协会联系获取最新情报。
准备足够的治疗道具和元素反应材料。

示例2,我想要让AI生成一个关于 2024 年全球新能源市场趋势的分析报告。应用层级Prompt的用例如下:

1
2
3
4
5
6
7
顶层Prompt(第一次提问):
我需要一个关于 2024 年全球新能源市场趋势的分析报告,请从市场规模、技术发展、政策影响、竞争格局四个方面分别分析,并提供数据支持。
子层级Prompt(AI拆解问题后发出第二次提问):
市场规模:全球新能源市场的增长率、市场份额等数据。
技术发展:当前主流新能源技术及其突破点。
政策影响:各国政府的新能源补贴政策、环保法规等。
竞争格局:主要新能源企业的市场占有率、竞争策略等。

AI让将这个复杂的问题拆分成4个小的问题,逐步分析解答,最后再汇总。

该技巧的适用场景如下:

  • 报告撰写
  • 系统设计
  • 商业分析
  • 语料生成

总结

  • 链式思维Prompt:逐步推理和探索,适合复杂任务分解。
  • 示例驱动Prompt:通过示例引导风格和格式,适合个性化输出。
  • 反向Prompt:通过错误示例避免常见问题,适合修正错误。
  • 多轮交互Prompt:通过多轮对话逐步细化输出,适合逐步细化的任务。
  • 层级Prompt:通过分层结构逐步引导输出,适合复杂任务分解。
CATALOG
  1. 1. 前言
  2. 2. 什么是Prompt?
  3. 3. Prompt设计的陷阱及优化
    1. 3.1. AI产生幻觉
      1. 3.1.1. 优化:要求AI说明信息来源
      2. 3.1.2. 优化:使用限定词,引导AI仅在已知信息范围内作答
      3. 3.1.3. 优化:让AI以多种方式验证答案
      4. 3.1.4. 优化:使用反向Prompt让AI质疑自己的回答
    2. 3.2. 信息可信度低
      1. 3.2.1. 优化:按特定格式输出答案
      2. 3.2.2. 优化:限制回答范围
    3. 3.3. AI自带偏见
      1. 3.3.1. 优化:要求使用中立语言
      2. 3.3.2. 优化:避免出现暗示性字眼
      3. 3.3.3. 优化:让AI自己检查偏见
      4. 3.3.4. 优化:适当补充示例
    4. 3.4. 回答前后矛盾
      1. 3.4.1. 优化:强制AI记住上下文
      2. 3.4.2. 优化:让 AI 复述自己的回答
      3. 3.4.3. 优化:固定输出格式
    5. 3.5. 无法控制AI生成的内容长度
      1. 3.5.1. 优化:回答过于简略,需要限制最少字数
      2. 3.5.2. 优化:避免回答过于冗长,需要限制最多字数
  4. 4. Prompt结构化模板
    1. 4.1. 常用的 Prompt 文字模板
      1. 4.1.1. 关键点
      2. 4.1.2. 示例
    2. 4.2. 常用的 Prompt XML模板(在dify中使用最佳)
      1. 4.2.1. 常用XML标签
        1. 4.2.1.1. <instruction>
        2. 4.2.1.2. <context>
        3. 4.2.1.3. <examples>
        4. 4.2.1.4. <user_input>
        5. 4.2.1.5. <output>
      2. 4.2.2. 标签顺序
      3. 4.2.3. 注意事项
      4. 4.2.4. 示例
    3. 4.3. 编写Prompt工具推荐
  5. 5. 高阶Prompt设计技巧
    1. 5.1. 示例驱动Prompt
    2. 5.2. 链式思维Prompt
    3. 5.3. 反向Prompt
    4. 5.4. 多轮交互Prompt
    5. 5.5. 层级Prompt
    6. 5.6. 总结