用户在使用大模型产品的过程中,需要通过输入精准的prompt,来得到自己想要的答案。那么,在使用大模型的时候,我们要怎么写prompt,才可以更高效地获得想要的答案?这篇文章里,作者便做了梳理和总结,或许会对想了解大模型的同学有所启发。
前言一直有在持续研究大语言模型,给身边的朋友推荐了很多国内外的GPT产品,大多数朋友体验完的感受就是“AI也就这样吧~”,这可能也是Chat GPT在今年第二、三季度的日活开始下滑的原因之一。
目前的市面上大部分的大模型训练数据量级少则都在百亿级别,多则在万亿级别,GPT的回答质量高低一方面取决于模型本身的数据和对自然语言的理解,另一方面取决于我们输入的提示内容(prompt)是否足够精准和具体。
在今年五月份的一篇文章也有提到过如何使用GPT类产品,那么今天就从更专业的角度,再给大家详细科普一下究竟如何写prompt,可以更高效得到你想要的答案?
一、基础概念在开始写 prompt之前,我们先了解关于prompt的这些基本概念:
1. Prompt定义Prompt(提示)是一段文字、一句话或一个问题,它被用来引导人工智能模型生成文本或执行特定的任务。它是用户与模型之间进行交互的起点,用于明确用户的需求和意图。
2. prompt作用Prompt的主要作用是引导模型进行文本生成或其他自然语言处理任务。
模型会根据提示理解用户的要求,并生成相应的文本作为响应。
3. 示例一个常见的示例是,如果你想要让模型翻译一段文字成另一种语言,你可以使用以下提示:“请将下面的英文文本翻译成法语。”在这个提示中,明确了任务(翻译)和要翻译的语言(英文到法语)。
4. 任务导向Prompt可以是任务导向的,它明确要求模型执行特定的任务,如翻译、回答问题、生成文章等。任务导向的提示通常包含清晰的指令。
5. 开放性提示除了任务导向的提示,还可以使用开放性提示,让模型自由生成文本,例如:“请写一篇关于夏季的文章。”这种提示不会明确规定具体的任务,模型需要自行决定生成什么内容。
6. 上下文(背景)在多轮对话或复杂任务中,提示可以包含上下文信息,以确保模型理解问题的背景和条件。上下文可以帮助模型更好地生成相关的响应。
二、不同类型prompt示例1. 任务导向型生成一首诗歌,主题是秋天。翻译以下西班牙文句子成英文:“El sol brilla en el cielo.”回答问题:“谁是莎士比亚?”创建一则新闻标题,涵盖太空探索的最新进展。
2. 开放型请写一封感谢信,内容自由。描述一个你最喜欢的旅行目的地。编写一篇文章,讨论气候变化对环境的影响。请写一个故事,以“一只迷路的小狗”为主题。
3. 上下文在以下对话中,作为第三轮的回应,继续对话:对话前两轮:用户:明天天气怎么样?模型:明天预计会有阵雨,最高温度25°C。用户:那我应该穿什么?你是一名餐厅服务员,一位客人对你的建议提出了投诉,请回应。
4. 提示设计对比下面两个提示,哪一个更适合获取模型的长篇文章回应?提示1:请写一篇关于太阳系的文章。提示2:请用详细的文字描述太阳系中每个行星的特点和轨道。
5. 复杂任务型你是一位虚拟助手,一位用户要求你协助安排一次商务旅行,包括预订机票、酒店和制定行程安排。请提供一个适当的回应。你是一名编程导师,一位学生向你提问如何编写一个简单的网页应用程序。请解释并提供指导。
看了上面的5种类型的prompt示例,大家有没有一点找到一些规律,分别对应在不同的使用场景中。比如你不知道自己的prompt哪个更优或者不会写prompt也可以让GPT帮助你,使用提示设计。
复杂任务型是我们比较高频使用到的prompt类型,它是由特定场景的角色设定+上下文+任务组成的。掌握这个prompt结构,可以让prompt充当任何角色帮助你高质量输出内容。
三、prompt设计1. prompt设计原则1)清晰和明确
提示应当表达清晰和明确的指令或任务,使模型明白你想要什么。避免模糊不清或含糊的表述,以免引导模型产生不准确的响应。不佳示例:请写一篇文章。优化示例:请写一篇关于气候变化对极地冰融化的影响的文章。
2)具体性
提示应尽可能具体,以减少模型的猜测和误解。提供必要的上下文信息,以便模型理解问题的背景和条件。不佳示例:请翻译这句话。优化示例:请将以下英文句子翻译成法语:“The sun is shining in the sky.”
2)任务导向
如果你希望模型执行特定任务,明确提供任务导向的提示,包括明确的动作动词或指令。不佳示例:关于自然界的一些信息。优化示例:请列举五种生活在雨林中的动植物。
3)不带偏见
避免在提示中包含可能引导模型产生偏见或不公平内容的语言。确保提示设计中的语言中性和尊重。
2. 编写高质量prompt仔细考虑任务:在编写提示时,首先明确任务和目标。问自己你想要模型做什么,以及你期望得到什么样的响应。使用明确的语言:使用清晰、直接和明确的语言。不要留下歧义或多义性,以确保模型理解你的意图。提供上下文:如果需要,提供必要的上下文信息,以帮助模型更好地理解问题。避免过于复杂的提示:过于复杂或含糊不清的提示可能会导致模型产生混乱的响应。保持提示简洁而具体。提示设计1(简洁而具体):“将以下英文句子翻译成法文:‘Hello, how are you?’”
提示设计2(过于复杂和模糊):“请将这个句子从英文转化为法文,并考虑其中的问候和询问对方的情感,以及可能的回应。”
在这个例子中,提示设计1非常简洁而具体。它明确了任务,即将给定的英文句子翻译成法文。这样的提示很清晰,模型可以直接理解任务并提供正确的翻译。
相比之下,提示设计2过于复杂和模糊。它包含了许多不相关的信息,例如情感和可能的回应,这可能会让模型感到困惑,并导致不准确的翻译或混乱的响应。
3. 避免常见prompt设计错误1)不要假设模型知道你的意图:不要期望模型能够猜测你的意图。确保你的提示能够明确传达你的需求。
2)避免含糊不清的问题:避免使用模糊或开放性的问题,除非你明确希望获得开放性的响应。任务导向的提示通常更有效。
3)谨慎使用负面指令:避免使用否定语言,因为它可能导致混淆或产生不期望的结果。
不清晰的提示:“不要忘记不按照这个方法做。”这个提示使用了多个否定性词汇(“不要”和“不按照”),这使得它的意思变得不明确。用户可能会疑惑,到底是要按照这个方法做还是不要按照这个方法做,因为否定性词汇相互抵消,导致混淆。
更清晰的提示:“请按照这个方法操作。”在这个提示中,去掉了否定性词汇,指令变得明确和清晰。用户明白他们应该按照给定的方法进行操作,而不需要猜测是否需要做相反的事情。
4)考虑多个提示:如果你不满意模型的响应,不要犹豫尝试不同的提示。不同的提示可能会产生不同的效果。
四、如何优化prompt1. 优化提示以获得更好的结果明确目标:在设计提示之前,明确你的任务目标是什么。确定你希望模型生成什么样的文本或完成什么任务。考虑上下文:如果是多轮对话或需要依赖先前信息的任务,确保提示包含足够的上下文信息,以便模型理解问题的背景。清晰明了:提示应该清晰、明了,具体说明你的需求或任务。避免使用模糊或多义性的语言。任务导向性:如果需要模型执行特定任务,使用任务导向性的提示,明确任务和行动动词。实验和反馈:在设计提示后,进行实验,观察模型的响应,并收集用户反馈。这有助于确定提示的有效性和效果。2. 不断迭代和实验以改进提示的方法1)尝试不同的提示:不要害怕尝试不同的提示,尤其是在初始尝试没有达到预期效果时。通过多次尝试,你可以发现哪些提示对模型性能更有效。
2)收集反馈:收集用户和领域专家的反馈。他们的反馈可以提供有关提示效果的有用信息,并指导下一步的改进。
3)使用探索性问题:提出一系列探索性问题,以测试模型在不同条件下的响应。这有助于了解提示的效果。
例子:假设你正在开发一个智能客服聊天机器人,其任务是回答关于产品的问题。你已经设计了一些提示,用于引导模型回答用户的问题。现在,你希望测试这些提示的效果。
探索性问题:
问题类型1:“产品的尺寸是多少?”问题类型2:“这个产品有哪些颜色可供选择?”问题类型3:“这个产品的价格是多少?”问题类型4:“产品在哪里生产?”问题类型5:“这个产品的评价如何?”在这个示例中,你提出了一系列不同类型的问题,涵盖了尺寸、颜色、价格、制造地点和评价等方面。这些问题代表了不同的查询类型,有些可能需要模型回答一个具体的数值,而有些可能需要模型提供一些描述性信息。
通过观察模型在回答这些不同类型问题时的表现,你可以了解哪些提示对不同任务更有效,哪些可能需要进一步改进或优化。这种方法有助于你更全面地了解提示的效果,以便在实际应用中更好地满足用户的需求。
4)引入多样性:尝试在提示中引入一些多样性,以测试模型的灵活性和适应能力。不要一成不变地使用相同类型的提示。
3. 根据模型的反馈进行调整分析生成文本:仔细分析模型生成的文本,确定是否满足了预期的标准。检查文本的准确性、流畅性和相关性。识别问题:如果模型的响应不符合预期,尝试确定问题所在。可能是提示设计、上下文不足或任务定义的问题。调整提示:根据分析的结果,对prompt进行调整。可以更明确地描述任务,提供更多上下文信息,或者改进提示的语言。重新实验:重新运行实验,观察模型的新响应。不断调整和测试,直到获得期望的结果。通过不断迭代、实验和根据模型的反馈进行调整,你可以优化提示,以获得更好的模型性能和生成文本的质量。这是一个持续改进的过程,可以帮助你充分利用自然语言处理模型的潜力。
五、prompt设计考虑伦理和法律避免偏见和不公平性:提示设计应避免包含偏见或不公平内容,不应歧视任何特定群体,不应促使模型生成歧视性或有害的文本。不误导用户:提示不应具有误导性。它们应当清晰明了,不应故意误导用户,而应当以用户的最佳利益为优先考虑。维护隐私:在多轮对话中,不应泄露用户的敏感信息或违反隐私。提示设计应保护用户的个人信息,符合数据隐私法规。确保安全性:提示不应鼓励危险、非法或有害的行为。它们应当有助于维护网络和个人安全。法律遵从性:提示设计应符合适用的法律法规,包括数据隐私、版权和消费者权益法规。六、一些大模型AI产品如何设计prompt1. 文心一言用户和模型直接进行对话交互,文心一言在对话框提供了一些prompt示例和一言百宝箱,不难看出提供的prompt结构基本都遵循前面提到的角色、任务、上下文、要求(对任务的补充)。例如:
任务:为电影[消失的她]写一则无剧透的影视评论任何➕要求:为杭州亚运会赋诗一首,要求表达出对杭州亚运会的美好期待和祝福。
角色+任务+要求:请作为一名媒体编辑,写一个[九九重阳节全民开启登山活动]的新闻报道的标题,要求主题明确、结构合理、节奏鲜明、风格独特。
上下文+任务:想象一下你置身于一个魔法世界,你的魔法能力是可以随心所欲地创造出任何东西。现在,请写一篇关于你如何使用这个魔法能力的故事。
2. 讯飞星火同样是用户与模型直接进行对话交互,星火在个人用户侧的投入相对更多,不仅仅有文心一言的场景百宝箱,还有各类AI助手,并且还支持个人用户上传数据自定义AI助手,大大提升了大模型的可玩性及个性化程度。
讯飞的prompt基本都是这种复杂任务型的,角色设定(场景)+上下文+任务+要求。例如:
我希望你是一位手工达人,现在需要制作一个[手工纸杯女孩]主题的手工,需要用到[环保类材料,例如生活中常见的废品]材料,请提供手工制作的教程。
七、prompt学习1. 在线教程和课程prompt个人分享文章:https://hubeiqiao.notion.site/ChatGPT-c13f60d4adc14eb0ae73a58dca3a54af
油管的prompt视频:https://www.youtube.com/watch?v=dOxUroR57xs
国外付费的ChatGPT课程–初级:https://www.edx.org/learn/artificial-intelligence/edx-introduction-to-chatgpt
2. 论文prompt一些论文研究:https://learnprompting.org/docs/intro
3. 博客和网站文心一言的官方课程:https://yiyan.baidu.com/learn
https://github.com/dair-ai/Prompt-Engineering-Guide
https://github.com/openai/openai-cookbook/
AI新闻社区:https://news.bensbites.co/
国内大神个人博客:https://learningprompt.wiki/zh-Hans/docs/recommend/information-worth-reading
Azure 官方prompt教程:https://learn.microsoft.com/zh-cn/azure/ai-services/openai/concepts/prompt-engineering
推荐小白先看文心一言的官方课程https://yiyan.baidu.com/learn,一共8节,深入浅出的带你玩转AI大模型。其次是prompt一些论文研究,了解大模型的原理有助于你写出更好的prompt。其他的感兴趣可以多多了解。
八、总结作为一个AIGC产品经理,我认为他的核心价值有两点:
1. 场景切入精准的需求场景切入:产品经理需要脑洞大开,找准用户需求,结合AI满足用户在这一场景下的需求。
2. 低成本使用低成本的让普通用户用起来:许多人都听过chat GPT和Midjourney,但由于目前有一定的使用门槛,很少有人真正的使用过它们,会用的人更是少之又少,那么AIGC产品经理的价值就体现在,如何巧妙设计prompt和交互,让普通人不改变现有的提问习惯下就能更高效更精准的进行内容创作。
本文由 @Glee 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
标签: #英雄联盟手游任务翻译