Prompt 编写技巧
在前面的内容里,我们提到过要使用模型完成下游任务,有两种方式,一种是通过收集标记样本针对不同的任务进行指令微调,另一种方式便是大模型特有的,可以通过将指令以对话的方式提供给模型,期待模型能够给我们返回预期的结果。相较于前者,后者具有更高的灵活性,使用成本也更低,因此,这一方式成了如今大语言模型区别于传统 NLP 模型的重要标志。
在本章你将学习到:
- Prompt, In-Context-Learning, Prompt engineering 等相关概念
- 如何写好一个 Prompt 及相关 Prompt 调试工具
- 基于 Prompt 催生的一些新的编程范式
为什么要学习提示词?
提示词是大模型的'魔法杖',是人类与大模型交流的桥梁,大大的简化了使用模型的复杂度,从原本的训练和编程调用进化成为自然语言,而在实际效果上却并不输于面向具体下游任务微调的模型。正是因为 GPT 3.5 或者 GPT 4 这样的优秀模型超预期的感受,让大模型 AI 备受追捧。提示词学习并不限于开发者用来构建 LLM 应用,对于普通用户来讲也十分有必要学习,这样能够更好的让模型理解你的意图,从而给予高质量的回复,这对于利用 AI 来帮忙解决问题,提升学习工作效率都有非常大的意义。
应用领域包括信息检索、创意生成、问题解决、讨论反思、预测、学习助手、陪伴对话等。除了这些大模型特有复合任务之外,传统的 NLP 任务也不再话下,比如翻译、情感分析、摘要、总结等等。
编写技巧
我们以大模型代表 ChatGPT 为例,探索 prompt 在编写过程需要了解的事情。
通常一个好的 prompt 应该包含一些关键要素,从重要性高低角度依次为:任务(task)、上下文(context)、范例(exemplar)、角色(persona)、格式(format)和语气(tone)。
1. Task
对于 Task 部分来讲,关键原则是,任务句总是以动作动词(生成 generate、驱动 drive、写作 write、分析 analyze 等)开头,并清楚地说明最终目标。多个任务(Multi-task)应将这些形成一段动作字句,清晰表达其目标。
2. Context
对于上下文来讲,可以提供的内容非常多,受限于 prompt 的长度以及对于大模型完成任务的实际帮助,围绕下面三个问题来提供最有效果:背景、成功目标、环境。
正是通过这样的上下文约束,可以避免大模型的自由发挥,避免回答泛泛而谈,似是而非。
3. 示例(Exemplars)
根据前面提到的 COT 技术可知,在提示语中加入示例可以获得更高质量的答案。比如:如果想为团队中的某个职位撰写一份职位描述,您可以先向 ChatGPT 提供一份情况描述(上下文),然后再根据已经准备好的描述(示例)提供一份参考。
在这种情况下,您可以使用招聘网站上的角色描述,因为 ChatGPT 会模仿其格式和专业语言的表达方式生成符合人力资源专家语气的回复。
Prompt: You're a hiring manager in the marketing team responsible for writing the job description for a B2B product marketing manager job opening.
Your team primarily focuses on increasing brand awareness for Netflix's advertising platform with the goal of acquiring new advertising partners.
Please draft the job description using the format of this existing job description below:
[put the job description here]
可以看到 ChatGPT 的输出质量还是很不错的。但要说明的是,并非每条提示都需要示例,但包含相关示例可大大提高输出质量。
4. 角色(Persona)
通过给大模型以一个角色定位,甚至夸一夸,比如:你是一个非常有经验的招聘专家。能够很好地让大模型进入角色从而提升回答质量。
不仅如此,也可以指定一个特定的角色,但前提是这个角色必须足够有名,能够获得独特风格的回答,进而得到的效果会更好,比如:假如你是苏格拉底…。
5. Format
为了便于阅读或者编程使用,也可以增加一些格式要求,让大模型以某种指定的格式输出。比如表格。在本例中,我们要分析即将去秘鲁旅行的典型菜肴的价格,我要求它向我展示一张表格,其中包含游览地点、典型菜肴及其价格等栏目。
6. Tone
使用不同的语气,对于大模型输出来讲,也有一定作用,可以使得输出的内容风格更符合用户的需求。


