定义
我们与AI进行交互的过程中,主要依赖于Prompt,不管是与大模型直接交互,还是基于一些工具开发大模型的应用,其中都是需要涉及到Prompt的编写设计,高质量的Prompt对于充分发挥AI的能力至关重要。因此演进出一种新的工程类型,提示工程。
一句话来说,提示工程,就是怎么向ChatGPT(大模型)提问。
而Prompt Engineering,通过开发和优化提示词,帮助语言模型应用与各种业务场景。
作用
当你输入提示后,系统会对输入进行预处理。这包括:
预处理
- 分词:将输入的文本分解成单词或子词。
- 编码:将这些词转换成模型可以理解的数值表示(向量)。
- *模型处理**
预处理后的输入会被传递给一个大型语言模型(如GPT-4)。这个模型是基于深度学习的神经网络,通常是一个变体的Transformer架构。
- 嵌入层:将输入的数值表示转换成高维向量表示。
- 注意力机制:模型通过注意力机制来理解输入的上下文关系。注意力机制允许模型在处理某个词时,关注输入中的其他相关词。
- 层叠的Transformer块:输入向量通过多个Transformer块,每个块包含多个注意力头和前馈神经网络。这些块逐层处理输入,逐步提取和组合特征。
- 生成输出:模型根据输入和内部状态生成输出的概率分布。通过采样或贪婪搜索等方法,从概率分布中选择最可能的下一个词。
- *后处理**
生成的输出是一个词的序列,这些词是模型根据输入提示逐步生成的。后处理步骤包括:
- 解码:将生成的数值表示转换回人类可读的文本。
- 拼接:将生成的词序列拼接成完整的句子或段落。
如何写出高质量的prompt
这里引用一下吴恩达老师的prompt原则:
1.清晰明确:提示应该清晰明确,避免模糊不清或多义的表达。确保你的问题或任务描述是具体的,以减少模型的误解。
2。提供上下文:提供足够的上下文信息,帮助模型理解你的需求。这可以包括背景信息、目标和任何相关的细节。
3.分步指示:如果任务复杂,可以将其分解为多个步骤,逐步引导模型完成每个部分。这有助于提高结果的准确性和质量。
4.使用示例:提供示例可以帮助模型更好地理解你的期望。示例可以是你希望得到的输出格式或内容。
5.明确输出格式:明确你期望的输出格式,如列表、段落、表格等。这有助于模型生成符合你需求的结果。
6.设定限制:设定字数、时间或其他限制,帮助模型生成符合你需求的输出。
7.迭代优化:通过多次尝试和调整提示,不断优化你的提示设计,以获得更好的结果。记录哪些提示效果好,哪些需要改进。
我们希望Prompt帮我们做什么事情,框架为提示创建过程提供了结构和清晰度,可以让我们更容易的检查提示词的问题。
ICIO框架
- Instruction(指令): 即您希望AI执行的具体任务。
- Context(背景信息): 给AI提供更多的背景信息,以引导模型生成更符合需求的回复。
- Input Data(输入数据): 告知模型需要处理的数据。
- Output Indicator(输出引导): 告知模型所需输出的类型或风格。
1 |
|
BROKE框架
- Background(背景): 提供问题或情境的背景信息。
- Role(角色): 提供应该扮演的角色。
- Objective(选项): 明确需要解决的问题或达到的目标。
- Knowledge(知识点): 分析达到目标的知识点链路。
- Execution(评估): 如何执行。
1 |
|
STAR 框架
- Situation(情境): 描述情境或背景。
- Task(任务): 说明需要完成的任务。
- Action(行动): 描述采取的行动。
- Result(结果): 说明结果或影响。
1 | Situation(情境): |
两个关键配置
Temperature(温度)
Temperature 越高生成内容越放飞自我,更有创意,越低越贴近参考的知识
Top-p
Top-p 越高生成的内容越喜欢勇夺样的表达方式,越低则越单调
如果你想内容更加有创意,那就往高调 Temperature;如果你想内容更严谨,就往低调 Temperature;如果你想内容更活泼,那就往高调 Top-p;如果你想内容更严肃,就往低调 Top-p