简介
Prompt 工程是指通过设计和优化输入给人工智能模型的提示(Prompt)来引导模型生成更准确、有用的输出。
在自然语言处理中,Prompt 通常是一段文本,它提供了模型所需的上下文信息和任务指令,帮助模型理解用户的需求并生成相应的回答。
Prompt 工程的目标是通过精心设计 Prompt,最大限度地发挥模型的能力,提高模型的性能和泛化能力。这包括选择合适的语言表达方式、提供足够的背景信息、明确任务要求、引导模型的思维方向等。
例如,在使用语言模型进行文本生成时,可以通过设计 Prompt 来指定生成的主题、风格、长度等要求;在使用问答模型时,可以通过提供相关的问题背景和上下文信息来帮助模型更好地理解问题并给出准确的答案。
Prompt 工程需要对模型的能力和特点有深入的了解,同时也需要不断地进行试验和优化,以找到最适合特定任务和场景的 Prompt。它在人工智能的应用中起着重要的作用,可以提高模型的可用性和实用性。
设计要素
本文会介绍设计过程中常用的引导语和上下文信息等,以及多种prompt编写策略,如复杂规则拆分、关键信息冗余、使用分隔符等,旨在帮助大家提高模型输出的质量和准确性。
- 引导语或指示语:告诉模型你希望它执行哪种类型任务,比如回答问题、提出建议、创作文本等。
- 上下文信息:提供足够的背景信息,以便模型能够更好地理解和处理请求。上下文信息可能包括具体情景、相关数据、历史对话信息等内容。
- 任务描述:明确地描述你期望模型执行的任务。它可以是一个问题、一个命令性语句或者是一个场景描述。
- 输出格式指示:如果你对输出结果有特定的格式要求,应在prompt中说明。比如,你可以指定输出应该是列表形式、一段连贯的文本还是一系列步骤等。
- 限制条件:设置一些约束条件,指导模型避免某些类型的回答或者引导模型产生特定风格的内容。例如,可以限制回答的字数、要求避免使用专业术语等。
- 样例输出:提供一个或多个例子可以帮助LLM理解所期望的输出类型和质量。
- 结束语:如果有必要,可以使用结束语来标示prompt的结束,尤其是在连续的对话或者交互中。
编写策略
策略一:对较难被准确遵循的复杂规则可拆分为多条规则,有助于提升效果
策略二:适当冗余关键信息
#创作要求:每个标题字数不得超过15个字。
#检查步骤:检查每个标题字数是否超出了15个字,要求每个标题字数必须小于15个字。
策略三:使用分隔符给prompt分段
策略四:增加学习示例
请根据以下格式给我推荐三本书:
书名: [书名]
作者: [作者]
出版年份: [年份]
简短描述: [描述]
示例输出:
书名: 《追风筝的人》
作者: 卡勒德·胡赛尼
出版年份: 2003
简短描述: 这是一个关于友谊和救赎的故事,发生在动荡的阿富汗历史背景下。
策略五:编写清晰地说明 - 指定任务所需的步骤
策略六:让大模型反思自己的推理过程
策略七:语音场景下的prompt要点
有些词可能翻译描述错误,你需要基于语境理解原本意思,不要直接因错别字判定不合规。
策略八:判断型的任务,建议先给依据,再出结论
{"reason":"判断原因","result":"判别结果"}
总结
总结来说,prompt 调优是一个不断重复和迭代的过程,整体上需要:
- 尝试不同的prompt方法
- 调整和优化
- 记录和分析
- 迭代循环