角色,背景,任务,产出内容与形式:如何写出优雅的prompt? – 通用的万能框架
发布时间:2024年06月06日
Prompt,绝对是现在最炙手可热的名词。无论是ChatGPT,还是Midjourney,好像什么地方都绕不开这个词。本文会用最通俗易懂的话语让大家明白啥是prompt,以及到底应该如何写出好的prompt。
prompt翻译成中文,就是“提示”。但是在NLP领域里,prompt好像并没有特别权威的官方定义,可以理解为提示,也可以是线索、指令。
就是给预训练好的大语言模型一个提示,以帮助模型更好的理解人类的问题。可能还是有点难以理解,这里我用一个例子给大家解释:
你叫小帅,是一个卑微打工人。有一天,老板突然给你喊过去:“小帅啊,公司要新搞一个项目,要卖椰子鸡,你给我写个方案吧”你直接就懵逼了:“卧槽,老板,啥情况,我这啥也不知道啊。椰子鸡是啥?为啥突然要卖椰子鸡啊?我这方案咋做啊?”这时候老板告诉你:“你个废物,啥都不知道,你好歹是一个策划专家。我们之所以要卖椰子鸡,是因为公司要进军餐饮行业,咱们以前是做椰子的,这正好契合。方案嘛,你就用公司背景、目标人群、地段租金、成本等等方面分析去写,最少2000字啊” |
如果老板不跟你说这些话,你能明白项目背景吗?你能知道要从哪些角度去写方案吗?那这方案能写得好吗?我们把身份互换一下,小帅就是ChatGPT,你就是老板。你不说这些,十个ChatGPT都得懵逼。“你好歹是一个策划...等方面分析去写,最少2000字啊”这一段,就是标准的prompt。prompt的作用不言而喻:提供给模型输入文本,指导模型生成合适的回答。在聊天交互中,用户可以提供一个问题或主题作为prompt,让ChatGPT生成相应的回答。而在文本生成任务中,prompt则可以指定一段前置文本,让模型在此基础上生成一段连贯的文本等等。prompt如此重要,我们应该怎么去写一个好的prompt呢?
这时候我们就需要请出github上的大佬,@Matt Nigh。
在ChatGPT3-Free-Prompt-List的项目上,他总结了一套prompt的方-法-论框架。这个框架的完备性非常高,直接套用就行,傻瓜又无脑。
CRISPE Prompt Framework,CRISPE是首字母的缩写,分别代表以下含义:
CR:Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
I:Insight(洞察),背景信息和上下文。
S:Statement(陈述),你希望 ChatGPT 做什么。
P:Personality(个性),你希望 ChatGPT 以什么风格或方式回答你。
E:Experiment(实验),要求 ChatGPT 为你提供多个答案。这里用大佬的prompt举个例子(这里是为了大家看的懂翻译了一下,建议还是用英文做prompt):
组合起来就是:
作为机器学习框架主题的软件开发专家和专业网站,本网站的受众是对最新的机器学习进展感兴趣的技术专业人员。提供最受欢迎的机器学习框架的全面概述,包括其优缺点。通过真实的案例和案例研究,说明这些框架在各行各业中的成功应用。在回答问题时,请结合Andrej Karpathy、Francois Chollet、Jeremy Howard和Yann LeCun的写作风格。请给我多个不同的例子
这样的例子其实有很多,github上的那prompt角色大全基本都是CRISPE框架。
作为广告商
贡献者: @devisasari
我想让你充当广告商。您将创建一个活动来推广您选择的产品或服务。您将选择目标受众,制定关键信息和口号,选择宣传媒体渠道,并决定实现目标所需的任何其他活动。我的第一个建议请求是“我需要帮助针对 18-30岁的年轻人制作一种新型能量饮料的广告活动。
充当讲故事的人
贡献者: @devisasari
我想让你扮演讲故事的角色。您将想出引人入胜、富有想象力和吸引观众的有趣故事。它可以是童话故事、教育故事或任何其他类型的故事,有可能吸引人们的注意力和想象力。根据目标受众,您可以为您的讲故事会议选择特定的主题或主题,例如,如果是儿童,您可以谈论动物,如果是成年人,那么基于历史的故事可能会更好地吸引他们等等。我的第一个要求是”我需要一个关于毅力的有趣故事。
担任足球解说员
贡献者:@devisasari
我想让你担任足球评论员。我会给你描述正在进行的足球比赛,你会评论比赛,分析到目前为止发生的事情,并预测比赛可能会如何结束。您应该了解足球术语、战术、每场比赛涉及的球员/球队,并主要专注于提供明智的评我的第一个请求是”我正在观看曼联对切尔西的比赛一-为这场比赛提供评论。论,而不仅仅是逐场叙述。
扮演脱口秀喜剧演员
贡献者: @devisasari
我想让你扮演一个脱口秀喜剧演员。我将为您提供一些与时事相关的话题,您将运用您的智慧、创造力和观察能力,根据这些话题创建一个例程。您还应该确保将个人轶事或经历融入日常活动中,以使其对观众更具相关性和吸引力。我的第一个请求是”我想要幽默地看待政治”。
充当励志教练
贡献者:@devisasari
我希望你充当激励教练。我将为您提供一些关于某人的目标和挑战的信息,而您的工作就是想出可以帮助此人实现目标的策略。这可能涉及提供积极的肯定、提供有用的建议或建议他们可以采取哪些行动来实现最终目标。我的第一个请求是“我需要帮助来激励自己在为即将到来的考试学习时保持纪律”。
担任作曲家
贡献者: @devisasari
我想让你扮演作曲家。我会提供一首歌的歌词,你会为它创作音乐。这可能包括使用各种乐器或工具,例如合成器或采样器,以创造使歌词栩栩如生的旋律和和声。我的第一个请求是“我写了一首名为“Hayalet Sevgilim”的诗。
先定角色,后说背景,再提要求,最后定风格。一套齐活,是否生成多个例子可以看自己喜好。
除了CRISPE框架外,在OpenAI的官方文档中:Best practices for prompt engineering with OpenAI API,也介绍了很多如何写好的prompt的小技巧和规范。
包括“Instead of just saying what not to do, say what to do instead”、“Reduce “fluffy” and imprecise descriptions”等等,个人认为影响不大,感兴趣的可以去OpenAI官网看看。
如果你想要了解关于智能工具类的内容,可以查看 智汇宝库,这是一个提供智能工具的网站。
在这你可以找到各种智能工具的相关信息,了解智能工具的用法以及最新动态。
Transcribe 是一个基于 OpenAl 训练并开源的录音转文字工具,支持英语、中文等多种语言,最大的优点就是无需下载大型的模型文件。