设计有效的提示词 (Prompt)
让我们一起学习如何设计有效的提示词 (Prompts)!提示词设计是一个迭代的过程,需要大量的实验才能达到最佳效果。从简单的提示词开始,逐步添加更多的元素和上下文,以获得更好的结果。记住,迭代是关键!
从简单开始
刚开始设计提示词时,牢记这是一个迭代过程,需要大量实验才能获得最佳结果。使用 OpenAI 或 Cohere 提供的 Playground 是一个不错的起点。
你可以从简单的提示词开始,并随着你追求更好的结果,不断添加更多的元素和上下文。为此,迭代你的提示词至关重要。阅读本指南时,你会看到很多例子,其中明确性、简洁性和精确性通常会给你带来更好的结果。
当有一项涉及许多不同子任务的大任务时,你可以尝试将该任务分解为更简单的子任务,并在获得更好结果时不断构建。这避免了在开始时向提示词设计过程添加过多的复杂性。
🪧 Beginner Tips: 从最简单的指令开始,逐步增加复杂性。这能帮助你更好地理解每个部分的作用。
指令 (Instruction)
你可以通过使用命令来指示模型你想要实现什么,比如 "编写"、"分类"、"总结"、"翻译"、"排序" 等,来为各种简单的任务设计有效的提示词。
请记住,你还需要进行大量实验才能找到最有效的方法。尝试使用不同的关键字、上下文和数据进行不同的指令,看看哪种方法最适合你的特定用例和任务。通常,上下文与你尝试执行的任务越具体和相关,效果就越好。我们将在后续的指南中讨论抽样和添加更多上下文的重要性。
其他人建议将指令放在提示词的开头。另一个建议是使用一些清晰的分隔符,如 "###",来分隔指令和上下文。
例如:
提示词 (Prompt):
### 指令 ###
将下面的文本翻译成西班牙语:
文本: "你好!"
输出 (Output):
¡Hola!
明确性 (Specificity)
对于你想让模型执行的指令和任务,要非常具体。提示词越具有描述性和细节性,结果就越好。当你追求期望的结果或生成风格时,这一点尤其重要。没有特定的 Token 或关键词能带来更好的结果。更重要的是要有良好的格式和描述性的提示词。事实上,在提示词中提供例子对于以特定格式获得期望的输出非常有效。
设计提示词时,还应记住提示词的长度,因为对提示词的长度有限制。思考应该如何具体和详细。包含太多不必要的细节不一定是好方法。这些细节应该与手头的任务相关并有助于完成任务。这是你需要进行大量实验的事情。我们鼓励进行大量实验和迭代,以优化你的应用程序的提示词。
例如,让我们尝试一个简单的提示词,从一段文本中提取特定信息。
提示词 (Prompt):
提取以下文本中的地名。
期望的格式:
地点:<逗号分隔的地点列表>
输入:"尽管这些发展对研究人员来说是令人鼓舞的,但仍然有很多谜团。“我们经常在大脑和我们在外围看到的效果之间有一个黑盒子,”里斯本尚帕利莫未知中心的一位神经免疫学家 Henrique Veiga-Fernandes 说。“如果我们想在治疗中使用它,我们实际上需要了解其机制。“"
输出 (Output):
地点:尚帕利莫未知中心,里斯本
🪧 Beginner Tips: 明确你想要什么。越详细越好,但要确保细节是相关的。
避免不精确性 (Avoid Impreciseness)
鉴于上面关于详细说明和改进格式的技巧,很容易陷入想要过于聪明地使用提示词的陷阱,并可能创建不精确的描述。通常,最好是具体和直接。这里的类比与有效的沟通非常相似 -- 越直接,信息传递就越有效。
例如,你可能对学习提示词工程的概念感兴趣。你可能会尝试这样的方法:
解释提示词工程的概念。保持解释简短,只有几句话,不要太详细。
从上面的提示词中不清楚要使用多少句话以及什么风格。你仍然可能通过上面的提示词获得一些好的响应,但更好的提示词是那些非常具体、简洁且切中要点的提示词。例如:
用 2-3 句话向高中生解释提示词工程的概念。
🪧 Beginner Tips: 避免模糊的描述。直接表达你的需求,就像你和人交流一样。
做什么,不做什么? (To do or not to do?)
设计提示词时,另一个常见的技巧是避免说不该做什么,而是说应该做什么。这鼓励了更多的明确性,并侧重于导致模型产生良好响应的细节。
以下是一个电影推荐聊天机器人,因为它编写指令的方式 -- 专注于不该做什么,所以在完全不希望它做的事情上失败的例子。
提示词 (Prompt):
以下是一个向顾客推荐电影的代理。不要询问兴趣。不要询问个人信息。
顾客:请根据我的兴趣推荐一部电影。
代理:
输出 (Output):
当然,我可以根据你的兴趣推荐一部电影。你想看哪种电影?你喜欢动作片、喜剧片、爱情片还是其他类型的电影?
这是一个更好的提示词:
提示词 (Prompt):
以下是一个向顾客推荐电影的代理。该代理负责推荐一部来自全球热门电影的电影。它应避免询问用户偏好,并避免询问个人信息。如果该代理没有电影可以推荐,则应回复 "抱歉,今天找不到可以推荐的电影。"。
顾客:请根据我的兴趣推荐一部电影。
代理:
输出 (Output):
抱歉,我没有任何关于你兴趣的信息。但是,这是目前全球热门电影的列表:[电影列表]。希望你能找到你喜欢的东西!
🪧 Beginner Tips: 强调做什么,而不是不做什么。告诉模型你期望的结果,而不是限制它。
记住,设计有效的提示词是一个不断学习和实验的过程。祝你学习顺利!
相关视频
AnimateDiff-Lightning 闪电快速生成动画模型comfyUI工作流分享 - 哔哩哔哩
相关网页
ChatGPT Prompt 编写指南 - 咀嚼之味
指南| 面向开发者的Prompt 工程(官方文档中文版)
本章的主要内容为编写Prompt 的原则,在本章中,我们将给出两个编写Prompt 的原则与一些相关的策略,你将练习并基于这两个原则来编写有效的Prompt,从而便捷而有效地使用LLM。