吴恩达老师的《ChatGPT Prompt Engineering for Developers》是一门学习提示词工程不错的课程,我们接下来用几篇文章来解读这门课程。
1.什么是提示词工程
首先看1个问题:
- 向大语言模型输入"一二三四五”,它很可能回答"上山打老虎”。但,我们的意图是希望它把"一二三四五”翻译成英文,怎么办?
我们的解决方法是:
- 问大语言模型:“请将如下文字翻译为英文:一二三四五”,大语言模型就会回答"One Two Three Four Five”。
上述解决方法本质是什么呢?
- 即在问题里明确表达期望大语言模型如何处理一段文字。
- 明确表达期望大语言模型做什么,就是一条指令,也就是提示词。
提示词理论的出现,源于两个假设:
- 假设1:大语言模型已经掌握了很多世界知识,但由于知道的太多,一时想不起来。
- 假设2:自然语言存在二义性,需要更多的提示,才能准确地向大语言模型表达人类的真实意图。
因此,人类通过提示词,可以唤起大语言模型对已有知识的记忆,也可以让大语言模型更加准确地理解人类意图。
开发提示词、优化提示词的过程,被称为提示词工程。
- 提示词工程包含了诸多工程方法,如:设计有效的提示策略、优化提示词表达等。
伴随着大语言模型的发展,提示词工程也形成了一套体系化的工程方法。它成为AI领域的热点技术之一,是AI工程师的必备技能。
2.提示词基本原则
(1)原则1:简洁明确
假想两个人类在说话,两人的表达能力有限,词不达意、含糊其辞、鸡同鸭讲…,最终就导致两人之间的沟通极其困难。
与大语言模型交互,和人类交流类似,也需要简洁明确的同问,向大语言模型清晰表达意图。
我们来看一个例子:
- 我们让ChatGPT写一首诗,它以立冬为题生成一首诗:
- 如果我们希望这首诗是五言绝句,则进一步这样提问,可以看到ChatGPT生成了一首以立冬为题的五言绝句。
上述示例,可以看出:
- 写一首诗是一条简洁的指令。
- 相较于写一首诗,写一首五言绝句是一条更加简洁明确的指令。
(2)原则2:迭代式提示词开发
我们要知道两个事实:
- 没有可以适应所有场景的完美提示词,需要我们针对不同场景,开发不同的提示词。
- 即使在一个很小的场景下存在完美提示词,我们也无法一次性就找到它。
针对某个场景,寻找提示词的过程,就是迭代式提示词开发。
迭代式提示词开发的过程如下:
- Idea阶段:针对特定场景,设计初始提示词。
- Implementation阶段:将初始提示词传递给大语言模型,获得返回结果(
Experimental result
)。 - Error Analysis阶段:分析返回结果,思考改进提示词的方法,重新进入Idea阶段,直到找到特定场景下的完美提示词。
我们再来看一个示例:我们需要一段用于营销的产品介绍。
- Idea阶段:针对产品介绍场景,设计初始提示词。
- Implementation阶段:将初始提示词传递给大语言模型,获得返回结果。可以看到ChatGPT返回了一段不错的文案。
- Error Analysis阶段:从上一步获得的ChatGPT文案内容太长,我们思考改进提示词的方法是进一步明确字数要求。
- Idea阶段:根据上一阶段的改进思路,编写改进后的提示词。
- Implementation阶段:将改进后的提示词传递给大语言模型,获得返回结果。可以看到ChatGPT返回了一段简短的文案。
- Error Analysis阶段:从上一步获得的ChatGPT文案没有突出要点,我们思考改进提示词的方法是限定明确要突出的关键点。
- Idea阶段:根据上一阶段的改进思路,编写改进后的提示词。
- Implementation阶段:将改进后的提示词传递给大语言模型,获得返回结果。可以看到ChatGPT返回了一段简短、要点突出的文案。
这就是迭代式提示词开发的流程,核心要点是多次迭代。
(3)原则3:选择合适的提示词风格
提示词工程是一种Instruct-Tuning
技术,提示词的风格包含:
- Prompt
- Instruction
初学者极易混淆这两种风格,我们来看一个例子:
- 幼儿园老师希望引导小朋友唱歌,于是她说:在小小的花园里面挖呀挖呀挖…,老师此时停顿下来并对小朋友投去了期待的目光,小朋友按耐不住激动的心情,接下句:种小小的种子开小小的花——这就是Prompt(提示)。
- 幼儿园老师希望小朋友背诵五言绝句,于是她说:请背诵《鹅鹅鹅》,小朋友在老师又一次期待的目光下,整齐划一地背诵出"鹅鹅鹅曲项向天歌…"——这就是Instruction(指令)。
我们了解了提示词的两大风格后,就要针对不同场景、不同意图,选择不同的提示词风格。
4.小结
提示词工程是一项热门技术,本文对提示词工程基本概念进行了阐述:
- 提示词工程是开发和优化提示词的过程,包括选择合适的提示词、设计有效的提示策略,以及优化提示词的表达方式等。
- 提示词三个基本原则:
- 简洁、明确
- 迭代式提示词开发
- 选择合适的提示词风格