admin 管理员组文章数量: 887006
ChatGPT高效提问—prompt常见用法(续篇九)
如何准确地向大型语言模型提出问题,使其更好地理解我们的意图,从而得到期望的答案呢?编写有效的prompt的技巧,精心设计的prompt,获得期望的的答案。
1.1 增加条件
在各种prompt技巧中,增加条件是最常用的。在prompt中增加条件时,一条基本原则是:明确且清晰的信息传达。这能够保证prompt对ChatGPT有效,进而引导ChatGPT生成既饶有趣味又富含信息的对话。如何基于这个准则为prompt增加条件呢?下面结合实例说明具体用法。
1.1.1 ToDo or NotToDo式条件
在问答场景中,我们设定条件的本质目标通常有两种:希望ChatGPT执行某项任务,或者禁止ChatGPT执行某项任务。一般而言,积极性的“ToDo“类条件通常比消极性的”NotToDo“类条件效果更佳。举例来说,假设想让ChatGPT推荐一本编程类图书。
首先尝试未加条件的prompt。
输入prompt:
ChatGPT输出:
添加到ToDo条件,输入prompt:
ChatGPT给出更精确的回答:
从回答中可以看出,通过增加ToDo条件“编程相关”,成功缩小了推荐范围,仅通过两轮对话就具备了得到满意答案的可能。假如我们想阅读Go语言编程相关的书,可以添加“Go语言“作为限定词,如下所示:
如果供Go语言初学者阅读,可以这么输入:
ChatGPT最终的回答:
接下来我们使用增加NotToDo条件的prompt,看看ChatGPT的表现如何。
输入未加条件的prompt:
ChatGPT输出:
添加对非心理学和行为经济学类的限定:
ChatGPT输出:
添加对非历史和传记类的限定:
ChatGPT输出:
NotToDo式提问仅展示了部分对话内容。从以上对话可见,添加NotToDo条件(不要X X相关的书),实际上是采用了一种排除法。虽然这种方式确实能够有效地缩小推荐范围,但每次缩小的幅度仅限于NotToDo条件描述的范围。这就导致需要经过三至四轮(甚至更多)对话,才能获得满意的答案。
这并不是说NotToDo条件不实用,事实上,在某些场景中,NotToDo条件能发挥更大的作用。以下是一些常见的应用场景。
- 当你已经明确地向ChatGPT表达了需求,但还想进一步缩小范围时,适当增加NotToDo条件可以有效提高查找效率。
- 当你处在某种探索阶段,例如不清楚如何精确地限定需求,只知道不希望得到什么时,可以先添加NotToDo条件,让ChatGPT在更大的范围内提供答案。当完成探索并明确了需求后,继续优化prompt。
因此,不论是ToDo还是NotToDo,选择哪种类型的条件,关键在于具体需求和应用场景。
1.1.2 增加条件的注意事项
- 明确prompt的目标:简单来说,你想让ChatGPT为你做什么,是需要事实信息、意见、建议,或者是回答问题、记录信息?你希望得到简短的回答,还是详尽的解释?你提出的问题是否基于之前的对话内容?你的问题是开放式的,还是封闭式的?开放式问题允许更多可能的回答,而封闭式问题通常只需要特定的答案。明确了这些点,设计prompt时再增加相应的条件,表述会更加准确。
- **条件词汇要具体:**包括但不限于时间(如2023年4月15日星期六)、人名(如张三)、书名(如《时间简史》)等能确切表达一个事物的条件,而像书籍、作业、程序这种统称型词汇,则不适合作为prompt的条件单独使用,比如“能帮我写程序吗?”这个prompt中的“程序”条件就显得过于宽泛和开放,导致ChatGPT难以生成有用的回答。这时我们就需要引入其他限定词,使目标更明确,进而获得较好的答案,例如“帮我写一个Python程序,其主要功能是列出当前文件夹下及子文件夹下的所有文件“。这样的prompt比较具体,ChatGPT能够较好地实现我们的需求。
- **保持对话在正确的轨道上:**在与ChatGPT的交流过程中,专注于正在讨论的主题并规避与之无关的话题至关重要。保持对话在正确的轨道上,能够确保ChatGPT的反馈符合自己的目标,且信息内容既有价值又有相关性。
上面两个例子的第一轮对话使用不含条件或条件过于宽泛的prompt,ChatGPT不知道我们具体想问什么,因此难以生成有重点或有用的回答。我们在添加条件时尽量避免这类情况,具体操作可参照上述注意事项。
1.2 增加示例
对于一些涉及既定事实的问题,我们可以通过在prompt中增加限定词的方式,限制ChatGPT返回答案的范围。示例如下。
输入prompt:
ChatGPT输出:
我们设计的prompt限定了ChatGPT只能列举大洋洲的国家。大洋洲所含国家既定事实,限定这个范围后,ChatGPT给出的答案正是我们想要的。然而在某些场景下,有些要求很难通过prompt中的文字描述传递给ChatGPT,即使描述出来了,ChatGPT也不能很好地理解。比如下面这个起名字的例子。
输入prompt:
ChatGPT输出:
可以看出,当向ChatGPT提出起名字的要求后,ChatGPT给出的答案虽然是人名,但不是我想要的。针对这个情况,我们可以在设计prompt时,在问题的最后加上一些示例,以引导ChatGPT模仿示例,从而返回更加符合需求的答案。
输入prompt:
ChatGPT输出:
可以看出,我们通过“张三”这示例,引导ChatGPT输出了三个中文人名,并且都是两个字人名,符合要求。下面试试增加需求。
输入prompt:
ChatGPT输出:
看起来ChatGPT回答得不错。通过限定条件与提供示例,引导ChatGPT给出了符合要求的答案,这就是在prompt中增加示例的作用。
看起来,ChatGPT回答的不错。通过限定条件与提供示例,引导ChatGPT给出了符合要求的答案。这就是在prompt中增加示例的作用。
版权声明:本文标题:ChatGPT高效提问—prompt常见用法(续篇九) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1733525903h1602617.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论