Prompt 提示工程学习笔记

一、Prompt设计的四个关键要素:

任务描述、输入数据、上下文信息、提示风格

(1)任务描述 :描述想要让LLM遵循的指令。描述应详细清晰,可进一步使用关键词突出特殊设置,从而更好地指导LLM工作。
(2)输入数据 :对于非结构化数据可用文本描述的方式输入,对于非结构化数据(知识图谱、表格、代码等)采用一种合适的方式,例如:文本化、线性化转换函数。
(3)上下文信息 :上下文和背景信息。有助于更好地描述任务范例、任务目标、特殊的输出格式以及输入和输出之间的映射关系。
(4)提示风格:设置合适的提示风格,有助于激发LLM解决特定任务的能力。例如,角色设定、添加相关前后缀:"Let us think step by step"、拆解为子任务。

二、Prompt设计的四个准则:

任务描述目标清晰、分解为简单的子任务、提供少量示例、使用友好的格式

(1)任务描述目标清晰 :避免莫能两可的描述,导致不精确的返回结构。一个清晰而详细的描述应该包含解释任务的各种元素,例如:任务目标、输入/输出数据、约束要求(字数等信息)
(2)分解为简单的子任务 :将困难任务分解为多个子任务更容易解决问题。可用编号形式列出子任务,例如:1. ... 2. ... 3. ... 。让LLM可以更专注于解决子任务,最终解决整个复杂的任务。
(3)提供少量示例 :提供一些输入输出示例对有助于LLM学习输入和输出之间的语义映射关系。
(4)使用友好的格式 :合适的prompt格式有助于LLM更好的理解指令。例如:OpenAI相关的模型适合使用###"""作为分隔符。训练语料主要为应为的LLM用英语提问的效果更好。

三、Prompt的一些使用技巧

1、任务描述

(1)描述详细

(2)以一个专家角色作为前缀信息

(3)多告诉模型应该做什么,而不是不做什么(否定词)

(4)避免输出长文

2、输入数据

(1)检索相关文档和prompt拼接在一起

(2)使用特殊标记突出重要部分

3、上下文信息

(1)对于复杂的任务,详细描述中间步骤

(2)对于打分的任务,提供打分标准

(3)对于文本生成任务,指导LLM对于上下文上乘的结果进行解释

(4)类似于思维树的方式:多专家讨论,记录每个专家的思考步骤并共享思考步骤,如果有一个专家思考出错,则让他离开,剩下的专家继续思考。如果没出错继续留下来思考。

4、示例

(1)提供良好格式的上下文示例

(2)思维链(一步一步思考),示例用分隔符标注。例如:\n

(3)检索相似的示例,先用示例获取答案,然后再将这个答案和我们的问题拼接

(4)示例多样化,问题或解决方案多样化

(5)使用基于聊天的LLM时,可以将上下文示例分解为多回合信息。同理,可将示例的推理过程分解为多回合对话。

(6)复杂和信息丰富的上下文示例

(7)符号示例分解为多个片段,将前面的片段作为上下文示例,引导LLM预测后面的片段。

(8)示例、提示和问题在prompt中的位置很重要。

(9)没有上下文示例时,可以让LLM生成一些

5、其他设计

(1)让LLM自己检查一下结果是否正确

(2)调用外部工具进行辅助

(3)prompt独立,上下文中减少代词的使用

(4)比较多个示例时,顺序对性能影响较大

(5)角色分配

(6)OpenAI的模型用英文提问更好

(7)做多选题时,限制输出对性能有所帮助。用更详细的解释描述,对逻辑进行限定。

(8)对于基于排序的任务,可以不让LLM直接输出排序后的文本,而是对每个文本段分配一个编号标识符(例如:ABCDE),然后指导LLM输出排序后的编号。

相关推荐
m0_748232391 分钟前
WebRTC学习二:WebRTC音视频数据采集
学习·音视频·webrtc
虾球xz1 小时前
游戏引擎学习第55天
学习·游戏引擎
oneouto2 小时前
selenium学习笔记(二)
笔记·学习·selenium
sealaugh322 小时前
aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发
笔记·学习·aws
18号房客2 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
炭烤玛卡巴卡2 小时前
学习postman工具使用
学习·测试工具·postman
thesky1234563 小时前
活着就好20241224
学习·算法
蜗牛hb3 小时前
VMware Workstation虚拟机网络模式
开发语言·学习·php
强哥之神3 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
汤姆和杰瑞在瑞士吃糯米粑粑3 小时前
【C++学习篇】AVL树
开发语言·c++·学习