5.1.1. Prompt 从 0 到 1
Prompting Engineer 提示工程是一种相对较新的学科,用于开发和优化提示,以高效地使用语言模型(LM)进行各种应用和研究主题。提示工程技能有助于更好地理解大型语言模型(LLM)的能力和局限性。研究人员使用提示工程来改善LLM在各种常见和复杂任务(如问答和算术推理)上的能力。开发人员使用提示工程来设计与LLM和其他工具交互的稳健有效的提示技术。 本指南介绍标准提示的基础知识,以提供如何使用提示与大型语言模型(LLM)进行交互和指导的大致概念。 注:以下示例使用 ChatGPT Mar 23 Version。Prompt 基础介绍
你已经可以通过提示实现很多功能,但结果的质量取决于你提供的信息量。提示可以包含信息,如传递给模型的指令或问题,并包括其他细节,如输入或示例。 以下是一个简单提示的基本示例: 输入:从简单的 Prompt 开始
正如上面的例子,设计 Prompt 是一个不断迭代以达到目标的过程,你可能在问 ChatGPT 前心中就对于完美答案有了一个预期,但我们想要告诉您的是,AI 是需要被调教的,大量的试验所逼近的 Prompt 才会来获得更好的结果。 我们可以尝试先放下「问它一次就能获得好答案」的想法,从最简单的 Prompt 开始,然后再根据我们的目标不断添加元素。 我们以 「让 ChatGPT 教我们学英语」作为例子: 如果需要一个英语老师,我们冒出的第一个念头可能是翻译,那我们就直接开始:好的 Prompt 应该遵循的准则
具体而精确
在上文的「英语老师」的例子中我们可以看到,我们不断地根据需求调整自己的 Prompt,ChatGPT 所返回的答案会逐渐逼近我们的需求。 但是随着不断添加文字说明的过程,很容易陷入想要过于聪明的提示陷阱,从而可能创建不精确的描述。越直接,信息传递就越有效。 在输入文字的时候可以更精确的建议:- 正确的语法、拼写和标点符号,避免错别字;
- 使用简短而没有歧义的句子,例如
我喜欢一个人就不是一个好的句子; - 使用精确的词语,例如
给我3-5个建议就比给我几个建议要好;
元素
当我们尝试写一个更好的 Prompt 时,我们可以参考 Elavis Saravia 总结的优质 prompt 需包含的元素:- Context(选填): 背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。
- Instruction(必须): 指令,即你希望模型执行的具体任务。
- Input Data(选填): 输入数据,告知模型需要处理的数据。
- Output Indicator(选填): 输出指示器,告知模型我们要输出的类型或格式。