前言
美国顶尖大学(Vanderbilt University)顶级教授(Dr. Jules White)的提示词工程(Prompt Engineering)课程
prompt介绍
- prompt也可以比如说是向一种语言模型提供信息。
- 因此,如果你想让它写点东西或分析一些东西,那么当你说出来时,它总是有帮助的。然后给它一个非常具体的单词、名字或你想让它用来触发输出的东西。
- 因此,为了打破常见的模式,你需要在输出中注入你想要的更具体的想法,或者你需要注入有助于挖掘那些更具体的东西的模式。因此,这是一个重要的方面,如果你只是使用它然后问它一些一般性的问题,你就会得到通用的答案。如果你问它普通的问题和普通的问题,你会得到普通的答案。要真正有力地使用它,你必须运用自己的创造力和思想来具体说明你想讨论的内容的细节。然后想一想在你的提示中加入哪些正确的模式来触发你想要的行为
- 角色模式是我们可以用来挖掘大型语言模型中有趣行为的最强大模型之一。
- 当我们要给GPT更多信息时,应该将信息放置在prompt的前面部分然后再在后半部分提问。
- 如果我们把像 ChatGPT 这样的大型语言模型当作工具,你可以想象米开朗基罗得到了一把新锤子,他会找一块石头,然后他会开始把那块石头雕成一些漂亮的雕塑,比如 daveat 或者他要创作的任何雕塑。他拿着锤子走上去然后用锤子猛击雕塑然后一块掉下来。他看了看,他用锤子猛击石头 然后一块石头掉下来然后他看着自己得到了什么。他说,这是一座糟糕的雕塑然后他把锤子扔到地上。他说自己做得不好然后他走开了。不,事实并非如此。米开朗基罗是做什么的?他拿起锤子一遍又一遍地击中岩石,精炼、塑造和雕刻。随着时间的推移,他反复完善那块岩石,直到它变成一座漂亮的雕塑。对于大型语言模型,我们需要做的很多事情都是以 这种心态思考,这不是要立即从这个提示中得到完美的答案,而是要与可能涉及一系列提示的大型语言模型进行整个对话,以及一系列提示的输出。稍后我们将讨论这些东西是如何表现的。但基本上是与大型语言模型进行对话,以便产生我们想要的输出或制作其他有趣的产品。
prompt模式一
问题提炼模式
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 从现在起,每当我提出一个问题时,请建议我使用一个更好的问题版本来代替它。
- (可选)提示我是否愿意改用更好的版本
定制示例:
- 每当我问一个关于节食的问题时,就提出一个更好的问题,强调健康的饮食习惯和合理的营养。问我第一个问题,让我提炼。
- 每当我问到 "谁是史上最伟大的球员(GOAT)"这个问题时,请提出一个更好的版本,将多名球员的独特成就纳入考虑范围。
认知验证模式
要使用 "认知验证模式",您的提示语应包含以下基本语境陈述:
- 当你被问到一个问题时,请遵循以下规则
- 生成一些有助于更准确地回答问题的附加问题
- 综合各个问题的答案,得出整个问题的最终答案
举例说明:
- 当你被问到一个问题时,请遵循以下规则。提出一些额外的问题,帮助你更准确地回答问题。综合各个问题的答案,得出整个问题的最终答案。
定制示例:
- 当要求你制作一份食谱时,请遵循以下规则。就我手头的配料和我拥有的烹饪设备提出一些附加问题。将这些问题的答案结合起来,帮助制作一份我有材料和工具可以制作的食谱。
- 当要求您计划一次旅行时,请遵循这些规则。就我的预算、喜欢的活动以及是否有车等方面提出一些额外的问题。综合这些问题的答案,更好地规划我的行程。
受众角色模式
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 向我解释 X。
- 假设我是角色 Y。
您需要将 "Y "替换为一个合适的角色,例如 "计算机科学背景有限 "或 "医疗保健专家"。然后,您需要指定要解释的主题 X。
举例说明
- 向我解释大型语言模型。假设我是一只鸟。
- 向我解释美国杂货店的供应链是如何运作的。假设我是成吉思汗。
翻转互动模式
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 我希望你向我提问,以实现 X
- 你应该提问,直到条件 Y 满足或实现这一目标(或者,永远提问)
- (可选)一次问我一个问题、一次问我两个问题、问我第一个问题等。
您需要将 "X "替换为一个适当的目标,如 "制定一个膳食计划 "或 "制作我的营销材料的变体"。你应该用 "Y "指明何时停止提问。例如,"直到你掌握了关于我的受众和目标的足够信息 "或 "直到你知道我喜欢吃什么以及我的热量目标"。
举例说明:
- 我希望你向我提问,以帮助我制作各种营销材料。 你应该先提问,直到你对我目前的信息草案、受众和目标有足够的了解。问我第一个问题。
- 我希望你向我提出问题,帮助我诊断我的互联网问题。问我问题,直到你有足够的信息找出两个最可能的原因。一次问我一个问题。问我第一个问题。
有效提示词的例子
- few-shot examples
- few-shot examples for actions
- few-shot examples with intermediate steps
- writing effective few-shot examples(判断)
- chain of thought prompting(推理)
- ReActpromping(多模态)
- using llm to grade each other(评估)
prompt模式二
Game play pattern(游戏模式)
要使用这种模式,您的提示应包含以下基本语境陈述:
- 围绕 X 为我设计一个游戏,或者我们要玩一个 X 游戏
- 一个或多个基本游戏规则
您需要将 "X "替换为一个合适的游戏主题,如 "数学 "或 "洞穴探索游戏以发现一种失传的语言"。然后,您需要提供游戏规则,如 "描述洞穴里有什么,并列出我可以采取的行动 "或 "向我提出与分数有关的问题,每答对一个问题就增加我的分数"。
举例说明:
-
为我制作一个洞穴探索游戏,让我发现一种失传的语言。描述我在洞穴中的位置以及我能做什么。我应该在洞穴的每个区域发现失落文明的新单词和符号。每个区域还应该有使用这种语言的部分故事。我必须收集所有的词语和符号,才能理解故事。告诉我第一个区域的情况,然后问我应该采取什么行动。
-
为我制作一个涉及《达利》的小组聚会游戏。游戏应包括创建提示语,提示语的主题由您在每轮游戏中列出。每个人都将创建一个提示,并生成一个有 DALL-E 的图像。然后,大家将根据生成的图像投票选出最佳提示。每轮结束时,问我谁赢了,然后列出当前得分。说明规则,然后列出第一个主题。
the template pattern(模板模式)
要使用这种模式,您的提示应包含以下基本的上下文语句:
- 我将为您的输出提供一个模板
- X 是我的内容占位符
- 尝试将输出内容放入我列出的一个或多个占位符中
- 请保留我提供的格式和整体模板
- 这就是模板:带占位符的模板
您需要将 "X "替换为适当的占位符,如 "大写单词 "或""。然后,您需要指定一个要填写的模式,如 "亲爱的 <全名>"或 "姓名、职称、公司"。
举例说明
-
今天为我创建一个随机的力量训练,并进行补充练习。我将为您的输出提供一个模板。大写单词是我的内容占位符。请尽量将输出内容放入我列出的一个或多个占位符中。请保留我提供的格式和整体模板。这就是模板:姓名、代表次数 @ 组数、锻炼的肌肉群、难度 1-5、形式说明
-
请为我从头开始烹饪通心粉和奶酪、大蒜面包和意大利面酱创建一份杂货清单。是我的内容占位符。请尝试将输出内容放入我列出的一个或多个占位符中。请保留我提供的格式和整体模板。 这就是模板: 过道 <过道名称>: 过道所需的<物品>,<数量>(<用于>的菜肴)
the meta language creation pattern(元语言创作模式)
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 当我说 X 时,我的意思是 Y(或希望你做 Y)
您需要用适当的语句、符号、单词等替换 "X"。然后,您需要将其转换为 Y 的含义。
举例说明:
-
当我说 "variations() "时,我的意思是给我十个不同的 变体。
- 用法: "variations()"variations(一家销售提示工程软件服务的公司名称)"
- 用法:"变体(泡菜的营销口号)"
-
当我说任务 X [任务 Y]时,我的意思是任务 X 取决于任务 Y 是否首先完成。
- 用法:"描述建造房屋的步骤":"用我的任务依赖语言描述建房步骤"。
- 用法"提供步骤的排序:烧水 [打开炉灶],煮意大利面 [烧水],做意大利面酱 [打开炉灶],打开炉灶 [进厨房]"
the recipe pattern(配方模式)
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 我想实现 X
- 我知道我需要执行 A、B、C 步骤
- 为我提供一个完整的步骤序列
- 填写任何缺失的步骤
- (可选)确定任何不必要的步骤
您需要将 "X "替换为适当的任务。然后,您需要指定您知道需要成为配方/完整计划一部分的步骤 A、B、C。
举例说明:
-
我想购买一套房子。我知道我需要执行出价和成交的步骤。为我提供完整的步骤顺序。填写任何缺失的步骤。
-
我想从纳什维尔开车去纽约。我知道途中要经过北卡罗来纳州的阿什维尔,而且我不想每天开车超过 300 英里。为我提供完整的步骤顺序。填写任何缺失的步骤。
the alternative approaches pattern(备选方法模式)
要使用这种模式,您的提示语应包含以下基本背景陈述:
- 如果有其他方法可以完成我交给你的 X 任务,请列出最佳替代方法
- (可选)比较/对比每种方法的优缺点
- (可选)包括我要求的原始方法
- (可选)提示我想使用哪种方法
您需要用适当的任务来代替 "X"。
举例说明:
-
对于我给你的每一个提示,如果我给你的提示有其他的措辞方法,请列出最好的替代措辞。比较/对比每种措辞的优缺点。
-
对于我要求你写的任何内容,确定我试图解决的根本问题以及我试图如何解决这个问题。列出至少一种解决问题的替代方法,并将该方法与我向您提出的要求所隐含的原始方法进行比较/对比。
prompt模式三
ask for input pattern(询问输入模式)
outline expansion pattern(轮廓展开模式)
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 充当提纲扩充者。
- 根据我给你的输入生成一个要点提纲,然后问我你应该扩展哪个要点。
- 为我选择的要点创建一个新提纲。
- 最后,问我下一个要扩展的要点是什么。
- 问我应该列出什么提纲。
举例说明:
- 充当大纲扩展者。根据我给你的输入生成一个要点提纲,然后问我你应该扩展哪个要点。每个要点最多可以有 3-5 个子要点。项目应使用[A-Z].[i-v].[* 至 ****]的模式编号。为我选择的要点创建一个新提纲。 最后,问我下一个要扩展的要点是什么。问我要列出什么提纲。
menu actions pattern(菜单操作模式)
要使用这种模式,您的提示应包含以下基本的上下文语句:
- 每当我输入只要我输入 X,你就会执行 Y。
- (可选,提供其他菜单项) 每当我输入 Z,你将执行 Q。
- 最后,你将询问我下一步操作。
您需要用适当的模式替换 "X",例如 "估算 <任务时间>"或 "添加食物"。然后,您需要为菜单项指定一个要触发的操作,例如 "将 FOOD 添加到我的购物清单并更新我的估计杂货账单"。
举例说明
- 每当我输入"添加 FOOD",您就会将 FOOD 添加到我的购物清单并更新我的预估杂货账单。每当我输入 "删除 FOOD",您就会从我的杂货清单中删除 FOOD 并更新我的杂货账单估算。每当我输入 "节省 "时,您就会列出我所添加的 FOOD 的替代品,以节省开支。最后,您会询问我下一步的操作。 询问我的第一个操作。
fact check list pattern(事实核查列表模式)
要使用这种模式,您的提示应包含以下基本的上下文陈述:
- 生成一组包含在输出中的事实
- 这组事实应插入输出结果的 POSITION 处
- 这组事实应该是基本事实,如果其中任何一个不正确,都会破坏输出结果的真实性
您需要将 POSITION 替换为放置事实的适当位置,例如 "在输出的末尾"。
举例说明:
- 每当输出文本时,生成一组包含在输出中的事实。事实集应插入输出的末尾。这组事实应该是基本事实,如果其中任何一个事实不正确,都会破坏输出的真实性。
tail generation(尾部生成模式)
要使用这种模式,您的提示语应包含以下基本语境陈述:
- 最后,重复 Y 和/或问我 X。
您需要将 "Y "替换为模型应该重复的内容,如 "重复我的选项列表",将 "X "替换为模型应该询问的内容,如 "下一步行动"。这些语句通常需要放在提示语的末尾或倒数第二位。
举例说明:
-
充当大纲扩展器。根据我给你的输入生成一个要点提纲,然后问我你应该扩展哪个要点。为我选择的要点创建一个新大纲。最后,询问我下一个要扩展的要点。 问我该列出什么提纲。
-
从现在起,在输出结果的末尾添加免责声明 "本输出结果由大型语言模型生成,可能包含错误或不准确的陈述。所有陈述均应进行事实核查"。问我要写的第一件事是什么。
semantic filter pattern(语义过滤模式)
要使用这种模式,您的提示应包含以下基本上下文语句:
- 过滤此信息以删除 X
您需要用适当的定义来替换 "X",例如:"姓名和日期 "或 "大于 100 美元的费用"。"姓名和日期 "或 "费用大于 100 美元"。
举例说明:
- 过滤此信息,删除任何个人身份信息或可能用于重新识别个人身份的信息。
- 过滤此电子邮件,删除多余信息。
第三章课后作业
You
Please follow the following rules when making a daily recipe. Ask some additional questions about the ingredients on hand and the cooking equipment I have. Combine the answers to these questions to help create a recipe that I have the materials and tools to make.
ChatGPT
Of course! I'd be happy to help you create a daily recipe while considering the ingredients you have on hand and the cooking equipment you possess. Please provide me with the following information:
- Ingredients on hand: List the ingredients you currently have available in your kitchen, including any proteins, vegetables, grains, spices, and condiments.
- Dietary restrictions or preferences: Let me know if you have any dietary restrictions or specific preferences, such as vegetarian, vegan, gluten-free, or any ingredients you want to avoid.
- Cooking equipment: Describe the cooking equipment you have access to, such as stovetop, oven, microwave, slow cooker, blender, etc.
- Cooking skill level: Please tell me your level of cooking experience, whether you're a beginner or an experienced home cook.
- Desired meal type: Specify if you're looking for a particular type of meal, such as breakfast, lunch, dinner, or a snack.
Once I have this information, I can suggest a recipe that matches your ingredients and cooking equipment while considering your dietary preferences and skill level.
You
Requesting you to plan a trip, please follow these rules. Ask some additional questions about my budget, favorite activities, and whether I have a car. Based on the answers to these questions, I can better plan my itinerary.
ChatGPT
Certainly! I'd be happy to help you plan a trip while considering your budget, favorite activities, and transportation options. Please provide me with the following information:
- Budget: What is your budget for this trip? Knowing your budget will help me suggest destinations and activities that align with your financial constraints.
- Destination preferences: Do you have a specific destination in mind, or are you open to suggestions? If you have a preferred location, please let me know. Otherwise, I can suggest some options based on your interests.
- Activities: What are your favorite activities or interests when traveling? Are you into outdoor adventures, cultural experiences, relaxation by the beach, exploring historical sites, or something else? Knowing your interests will help me tailor the itinerary accordingly.
- Duration of the trip: How many days do you plan to spend on this trip? Knowing the duration will allow me to suggest an itinerary that fits your available time.
- Mode of transportation: Do you have access to a car or plan to rent one? Alternatively, are you relying on public transportation or other means of getting around at your destination?
Once I have this information, I can provide you with a tailored trip itinerary that matches your preferences, budget, and available resources.
You
Please follow these rules to conceive a logo. Put forward some additional questions about my company's culture, our company's goals, and whether it needs to be simple and easy to distinguish. Based on the answers to these questions, I can better plan my itinerary.
ChatGPT
Certainly! Designing a logo requires a deep understanding of your company's culture, goals, and branding requirements. Please provide me with the following information:
- Company culture: Describe your company's culture and values. Is it formal, informal, modern, traditional, creative, or something else? Understanding your company's ethos will help create a logo that reflects your identity.
- Company goals and mission: What are your company's main goals and mission? Are there any specific messages or values you want the logo to convey? Knowing your objectives will guide the logo's symbolism.
- Branding style: Do you have a preferred branding style or aesthetic? For example, do you want your logo to be minimalist, bold, playful, elegant, or something else? Providing insights into your preferred style helps in designing a logo that aligns with your brand image.
- Simplicity and distinctiveness: Should the logo be simple and easy to distinguish from other brands? Are there any specific elements or symbols that must be incorporated to make your logo stand out?
- Color preferences: Do you have any specific colors in mind for the logo, or should we explore color options that align with your company's branding?
- Preferred symbols or imagery: Are there any specific symbols, icons, or imagery that are associated with your industry or company that you'd like to incorporate into the logo?
- Logo usage: How and where do you plan to use the logo? Knowing the intended applications (e.g., website, business cards, merchandise) can impact the design's scalability and adaptability.
Once I have a better understanding of your company's culture, goals, and design preferences, I can provide you with a logo concept that matches your vision and branding needs.