指令 (Directive): 指令是prompt的核心,以指令或问题的形式出现,表明prompt的目的或意图。它可以是显式的,例如“写一首关于树的诗”;也可以是隐式的,例如在翻译任务中,只提供“Night: 晚上”这样的示例,隐含的指令是进行英语到中文的翻译。指令有时也简称为“意图”,明确告诉 LLM 需要做什么。它是一个动词短语,清楚地表达了任务的目标和期望。 重要性: 指令的清晰程度直接决定了 LLM 理解任务的能力。
示例 (Examples): 示例也称为范例或样本 (exemplars or shots),它们是任务完成的示范,引导生成式AI完成任务。示例的数量可以是零 (zero-shot prompting)、一个 (one-shot prompting) 或多个 (few-shot prompting)。示例的质量、数量、顺序、标签分布和格式都会影响模型的性能。
输出格式 (Output Formatting): 为了获得特定格式的输出,用户可以在prompt中指定输出格式,例如CSV、Markdown、XML或自定义格式。指定输出格式可以提高某些任务的性能,但也有可能降低其他任务的性能。
角色设定 (Role): 角色设定,也称为角色扮演 (persona),为生成式AI赋予特定的角色或身份,例如“一位牧羊人”、“一位旅行作家”等。这可以影响生成的文本风格和内容,并在某些任务中提高准确性。
附加信息 (Additional Information): 除了指令、示例和角色设定外,prompt中还可以包含其他相关信息,以提供更多上下文或约束条件。例如,如果指令是写一封电子邮件,那么附加信息可能包括发件人的姓名、职位、收件人信息等。这些信息有时也被称为“上下文 (context)”,但由于该词在prompting领域中含义较为模糊,因此作者建议避免使用。
一个高质量的 Prompt 并非简单地抛出一个问题,而是由多个精心设计的组成部分构成,协同作用,才能有效地引导 LLM 产生期望的结果。https://blxjj.com