参考资料:
- 探讨 LLaMA-1/2 与 GPT-3.5/4,你只需有原则的指令
- [2312.16171v1] Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4
表 1: 26 个提示原则的概览。
原则编号 | 提示原则 |
---|---|
1 | 与大语言模型交流无需客气,避免使用如“请”、“谢谢”这样的礼貌用语,直截了当地表达需求。 |
2 | 在提示中明确你的受众,比如指出受众是该领域的专家。 |
3 | 把复杂任务拆分成简单的步骤,并通过交互式对话逐步进行。 |
4 | 使用积极的指示词汇,例如“做”,避免使用否定词汇,如“不要”。 |
5 | 当需要对某个主题、想法或信息有更清晰、深入的理解时,可以使用以下提示: |
- 简单地解释[具体主题]。 | |
- 像向 11 岁的孩子一样向我解释。 | |
- 像我是[领域]新手一样向我解释。 | |
- 使用简单易懂的语言编写[文章/文本/段落],就像对 5 岁孩子解释一样。 | |
6 | 添加一句“我会给出$xxx 的小费来获取更好的解决方案!” |
7 | 使用以示例为驱动的提示方法(采用少样本 (few-shot) 提示)。 |
8 | 在撰写提示时,首先用“###指令###”来开始,接着是“###示例###”或“###问题###”(如果适用)。然后展示你的内容。用分行或分段的方式区分开指令、示例、问题、背景和输入数据。 |
9 | 添加短语“你的任务是”和“你必须”。 |
10 | 添加短语“将会受到惩罚”。 |
11 | 使用“以自然、类似人类的方式回答问题”这一短语。 |
12 | 使用引导性词汇,比如“逐步思考”。 |
13 | 在提示中加入“确保你的回答无偏见,不依赖于刻板印象”。 |
14 | 允许模型通过问询来从你那里获取具体的细节和要求,直到它有足够的信息来提供所需输出,例如,“从现在开始,请向我提出问题,以便……”。 |
15 | 当你想探究一个特定主题或想法,或需要某些信息时,如果你想检验自己的理解,可以用这样的话来提问:“请教授我 [任何定理/主题/规则的名称],并在最后附上一个测试,但不要告诉我答案,等我回答后再告诉我答案是否正确”。 |
16 | 为大语言模型 (Large Language Model) 分配一个角色。 |
17 | 使用分隔符。 |
18 | 在一个指令中多次重复某个特定单词或短语。 |
19 | 结合使用思维链 (Chain-of-thought, CoT) 和少样本 (Few-shot) 提示。 |
20 | 使用输出启动器,即用你希望得到的输出的开头来结束你的指令。通过在指令的结尾处加上你期待的回应的开头来应用输出启动器。 |
21 | 要撰写一篇详尽的论文、文本、段落、文章或任何类型的文字时,可以这样说:“请为我写一篇关于 [主题] 的详细 [论文/文本/段落],并包含所有必要的信息”。 |
22 | 为了在不改变其风格的情况下修正或更改特定文本:“请尝试修订用户提交的每个段落。你应该只改善用户的语法和词汇,确保其听起来自然,但不要改变写作风格,比如将一个正式段落变得非正式”。 |
23 | 当你面对一个涉及多个文件的复杂编码指令时:“从现在开始,每当你需要生成跨越多个文件的代码时,请生成一个 [编程语言] 脚本,该脚本能够运行并自动创建所需文件或修改现有文件,以插入生成的代码。[你的问题]”。 |
24 | 当你想使用特定的单词、短语或句子来开始或继续一个文本时,可以使用以下指令: |
- 我为你提供了开头 [歌词/故事/段落/论文等]:[插入歌词/单词/句子]。请根据提供的内容完成它,并保持内容的连贯性。 | |
25 | 清晰地说明模型必须遵循的要求,以便产生内容,这些要求可以是关键词、规则、提示或指示的形式。 |
26 | 要撰写与提供的样本风格类似的文本,请包含具体指示:o“请根据所提供的段落[/标题/文本 /论文/回答]使用相同的语言风格。” |
表 2: 提示原则的分类。
类别 | 原则 | # |
---|---|---|
提示结构与清晰度 | 将预期听众融入到提示中。 | 2 |
使用积极的指令,如“去做”,避免使用否定词汇,如“不要”。 | 4 | |
使用引导性词语,比如写作“一步步思考”。 | 12 | |
使用“输出启动器”,即用期望的输出开头来结束你的提示。 | 20 | |
使用分隔符来区分不同部分。 | 17 | |
在格式化提示时,先写“###指令###”,再根据需要加上“###例子###”或“###问题###”。然后陈述你的内容。用一个或多个换行来区分指令、例子、问题、背景和输入数据。 | 8 | |
具体性与信息 | 使用示例驱动的提示方法(采用少样本提示)。 | 7 |
当你需要清晰地或更深入地理解某个主题、观点或任何信息时,可以使用以下提示: | ||
- 用简单的话解释[指定的主题]。 | ||
- 像向 11 岁的孩子一样向我解释 | ||
- 像我是[该领域]的初学者一样向我解释 | ||
-“用简单的英语写作[论文/文本/段落],就像你在向一个 5 岁的孩子解释一样” | ||
在你的提示中加入这句话:“确保你的回答不带有偏见,且不依赖刻板印象。” | 13 | |
要写出与提供的样本风格类似的文本,请遵循以下指示:o“请根据所提供的段落[ /标题/文本 /论文/回答]使用相同的语言风格。” | 26 | |
当你想用特定的单词、短语或句子开启或延续一个文本时,可以使用下面的提示结构: | ||
- 我提供了开头[歌词/故事/段落/论文…]:[插入歌词/单词/句子]。 | ||
请根据提供的内容完成它,保持语句流畅和一致。 | 24 | |
明确模型为生成内容而必须遵循的要求,以关键词、规定、提示或指令的形式表达。 | 25 | |
用户互动与参与 | 让模型通过询问问题来获取确切的细节和需求,直到它获得足够的信息来提供所需的输出 | 14 |
要撰写一篇详尽的论文、文本、段落、文章或其他形式的文本时: “请为我就 [主题] 撰写一篇包含所有必要信息的详尽 [论文/文本/段落]。” | 21 | |
内容和语言风格 | 更正或修改特定文本,但不改变其风格:“请修改用户发送的每段文字。你应仅改进用户的语法和词汇,确保其听起来自然。不要改变其写作风格,如将正式文本改为非正式。” | 22 |
使用以下短语:“你的任务是”和“你必须。” | 9 | |
使用以下短语:“你将受到惩罚。” | 10 | |
为语言模型指定一个角色。 | 16 | |
在你的提示中使用“以自然语言形式回答问题”的短语。 | 11 | |
与大语言模型交流无需客套,无需使用“请”、“如果你不介意”、“谢谢”、“我想要”等礼貌用语,直接说明要求即可。 | 1 | |
在一个提示中重复使用特定单词或短语多次。 | 18 | |
添加“我将为更佳解决方案支付 $xxx 小费!” | 6 | |
复杂任务与编码引导 | 把复杂任务拆分为一系列更简单的步骤,在互动式对话中实现。 | 3 |
当你面对可能跨越多个文件的复杂编码任务时: | ||
- “从现在开始,每当你需要生成涉及多个文件的代码时,请生成一个 [编程语言] 脚本,用以自动创建所需文件或修改现有文件,以嵌入生成的代码。 [你的问题]。” | 23 | |
结合连锁思考模式(Chain-of-thought, Cot)和少量样本的提示。 | 19 |