角色,背景,任务,产出内容与形式:如何写出优雅的prompt? - 通用的万能框架
AI魔法学院
2023-05-30
分享海报

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官网看看。

© THE END

转载请联系本网站获得授权

投稿或版权问题请加微信:skillupvip