让效率加倍的通用prompt到底是怎么写的呢?

Prompt,这个如今炙手可热的词汇,在数字世界中几乎无处不在。ChatGPT和Midjourney等巨头也难以避开它的身影。 它究竟有何魔力?

简单来说,prompt就是一种给人工智能“指挥部”下达“指令”的方式,让人工智能依照我们的需求去执行任务。 好的prompt更是能引领AI理解问题、解答问题。

在AI技术的不断发展和应用中,机器人技术成为了其中的一个热点领域。尤其是在生产制造领域,机器人的应用越来越广泛,能够实现高效、精准、智能的生产和制造,大大提高了生产效率和产品质量。同时,随着AI技术的不断提升和发展,机器人的智能化程度也越来越高,能够实现更加复杂和精细的任务。
Prompt,绝对是现在最炙手可热的名词。无论是ChatGPT,还是Midjourney,好像什么地方都绕不开这个词。在翻阅了大量资料以后,也想用最通俗易懂的话语让大家明白啥是prompt,以及到底应该如何写出好的prompt。
prompt翻译成中文,就是“提示”。但是在NLP领域里,prompt好像并没有特别权威的官方定义,可以理解为提示,也可以是线索、指令。
深入挖掘一下prompt的内部机制:
Prompt,全称为”prompting”,本质上是一种在人工智能模型中引导和提示模型生成所需输出的方法。近年来,随着大型语言模型(LLM)的快速发展,prompt在各种应用中变得越来越重要。
在prompting中,我们通常会向模型提供一个包含问题或提示的文本,以便引导模型生成所需的输出。这个文本可以是简单的问句、陈述、上下文或其他形式的文本。模型会根据这个提示文本进行理解和生成输出。
Prompting的方法可以大致分为两类:开放式和封闭式。
  1. 开放式prompting:在这种方法中,提示文本可以是一个开放性的问题或要求,模型可以根据这个提示自由地生成任何相关的输出。例如,“请给我描述一下春天的景象”,模型会根据这个提示生成关于春天的描述。
  2. 封闭式prompting:在这种方法中,提示文本会为模型提供更具体的指示或限制,模型需要按照这些指示生成输出。例如,“请给我生成一个包含‘猫’和‘狗’两个词的句子”,模型会根据这个提示生成包含这两个词的句子。
对于大型语言模型来说,prompting是一种非常有效的工具,可以帮助它们更好地理解和生成人类语言。通过使用prompting,我们可以更清晰地指导模型,让它们更准确地回答问题、生成文本或解决问题。
然而,prompting并不是一项简单的任务。为了写出好的prompt,我们需要了解模型的能力和局限性,同时还需要掌握一些技巧和策略。例如,我们需要注意语言的清晰度和简洁度、避免使用过于复杂的语言结构、尽可能提供足够的上下文信息等等。
就是给预训练好的大语言模型一个提示,以帮助模型更好的理解人类的问题。可能还是有点难以理解,这里我用一个例子给大家解释:
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框架。
先定角色,后说背景,再提要求,最后定风格。一套齐活,是否生成多个例子可以看自己喜好。
除了CRISPE框架外,在OpenAI的官方文档中,有一篇名为”Best practices for prompt engineering with OpenAI API”的文章,详细介绍了如何编写好的prompt的一些小技巧和规范。以下是一些关键点:
  1. 了解您的模型:首先,您需要了解您正在使用的模型的特性。这包括其训练数据、模型类型、以及它可能具有的任何限制。这将有助于您确定如何构建最有效的prompt。
  2. 清晰简洁:尽量保持prompt简洁并专注于一个主题。避免冗余或不相关的信息。
  3. 使用正确的语法:遵循正确的语法和拼写规则。如果可能,使用标题或列表格式来组织信息。
  4. 考虑上下文:尽量将prompt置于一个上下文或背景中。例如,如果您正在询问一个日期,可能会更好地提供一个时间线或事件列表。
  5. 使用正确的标点符号:标点符号可以大大改变一个句子的含义。务必小心使用它们。
  6. 避免偏见:尽量避免在prompt中引入任何可能导致偏见或歧视的词语或图像。
  7. 测试和迭代:使用不同的模型进行测试,并根据反馈进行迭代。每次修改后,都要重新测试以确保改进是积极的。
  8. 保持一致性:如果您的公司或团队有特定的语言或风格指南,确保您的prompt符合这些指南。
  9. 提供足够的上下文:确保您的prompt提供足够的信息以帮助模型理解问题。然而,避免过多的背景信息,这可能会分散模型的注意力。
  10. 使用积极和鼓励性的语言:使用积极和鼓励性的语言来帮助模型理解并产生您想要的结果。
  11. 检查拼写和语法:在使用API之前,始终检查您的prompt的拼写和语法。一个小错误可能会使您的结果大大不同。
  12. 适应性和灵活性:尽量使您的prompt具有适应性和灵活性,以应对不同的输入和输出格式。
  13. 学习和改进:通过观察模型的响应并评估结果,不断学习和改进您的prompt制作技能。
  14. 尊重用户隐私:在创建prompt时,始终尊重用户隐私并遵守相关法律和政策。避免收集敏感信息或数据。
  15. 提供示例:为API提供示例输入和预期输出,以便其他人可以更轻松地理解您的prompt的目的和效果。
遵循这些最佳实践可以帮助你们更有效地使用OpenAI API并创建出高质量的prompt。
包括“Instead of just saying what not to do, say what to do instead”、“Reduce “fluffy” and imprecise descriptions”等等,个人认为影响不大,感兴趣的可以去OpenAI官网看看,在此文章中就不做过多赘述了。 最后。
prompt的真正故事和其底层专业性,在以上的表述中,仅仅只是门外的惊鸿一瞥。“思维链”“ICL”等等,才是沉在水下的冰山,我猜也是大家想去努力触碰的方向。 怎么说呢,在这个新时代,终身学习必然是未来永久性的思维。 风雨同舟,愿与诸君共勉。
© 版权声明

相关文章

暂无评论

暂无评论...