← 返回免费教程
OPC 与个人 AI 工作台

提示词进阶与底层逻辑

从任务、上下文、约束和反馈理解提示词,而不是背固定模板。

方法进阶18,705 字公开资料整理于 2026-07-24

前言

大家好,我是云途。

这篇文章通过一系列更加明显的案例,帮助大家解决一个问题,就是如何写出彻底让AI懂的提示词。 因为大模型的选型,已经决定了模型的上限,这个我i们没有办法去改变。但是大模型的表现下限,则由我们的提示词来完成。 但从提示词的底层逻辑来看,只要循序渐进,我们就能够通过一套基本的方式,来完善和微调出属于我们自己的提示词。 Prompt 的基本原理 在深入探讨Prompt工程的实践之前,我们首先要厘清Prompt的基本概念。就像理发师在为顾客服务前,需要了解顾客的发质、脸型等基本情况一样。只有掌握了这些基础知识,我们才能游刃有余地设计出Prompt。 1.1 Prompt的定义与作用 Prompt,直译为"提示"。在自然语言处理(NLP)领域,它指的是我们输入给语言模型的一段文本,用以指导模型完成特定任务。就像理发师通过与顾客的交谈,了解其发型偏好一样,我们通过精心设计的Prompt,让语言模型"理解"我们的意图,进而输出我们期望的结果。 我们可以把语言模型看作一位技艺精湛但略显被动的理发师。他有着丰富的经验和创意,但需要顾客提供明确的指引才能发挥所长。而Prompt,就是我们与这位"理发师"沟通的关键。一个设计良好的Prompt,能够准确传达我们的需求,激发模型的潜力,得到令人满意的结果。 让我们看一个简单的例子。假设我们要让模型生成一封邮件,邀请客户参加新产品发布会。我们可以设计这样一个Prompt:

你是某公司的市场部员工,请给客户写一封100字左右的邮件,邀请他们参加公司的新产品发布会。以下是邮件的要点:

  • 新产品是一款革命性的无线耳机
  • 发布会将于下周五下午2点在公司总部举行
  • 现场将提供茶点,并有机会赢取新产品
  • 请收件人提前回复是否参加

邮件

这个Prompt清晰地表达了任务的背景、目标和关键信息,就像顾客向理发师说明发型的风格、场合和长度一样。有了这些要点,模型就能生成一封结构完整、内容得当的邀请函。而如果我们只是简单地要求模型"写一封邀请函",结果可能就不够理想了。 由此可见,Prompt在指导模型完成任务的过程中扮演着至关重要的角色。它搭建起人与AI之间交流的桥梁,让我们能够有效利用语言模型的能力,创造出有价值的内容。 1.2 设计 Prompt 的三大原则 掌握了Prompt的基本概念后,让我们进一步探讨如何设计出优质的Prompt。这就像理发师在为顾客设计发型时,需要遵循一些基本原则,比如考虑脸型、发质,选择适合的造型等。同样,在Prompt工程中,我们也有三条基本原则需要遵循。 第一条原则 明确任务目标。这就像理发师首先要弄清楚顾客的需求一样,我们在设计Prompt时,也要明确希望模型完成什么样的任务。是文本分类、信息抽取,还是开放式生成?任务的类型决定了Prompt的基本框架。 让我们看一个文本分类的例子。 假设我们要判断一段影评的情感倾向是正面还是负面,我们可以这样设计Prompt:

以下是一段电影影评,请判断其情感倾向是正面还是负面

  • 影评:这部电影的剧情非常吸引人,我从头到尾都在猜测结局。演员的表演也很精彩,特别是男主角,把这个复杂的角色演绎得入木三分。
  • 不过,影片节奏有点慢,前半段略显沉闷。总的来说,这是一部值得一看的电影,但可能不会成为经典。

情感倾向

这个Prompt明确告诉模型,我们希望它对一段影评文本进行二分类。任务的输入是一段影评,输出是"正面"或"负面"。有了这样清晰的任务定义,模型就能更准确地完成我们的要求。 第二条原则 提供充分信息。这就像理发师在设计发型前,需要充分了解顾客的需求和场合一样。在设计Prompt时,我们也要尽可能多地向模型提供与任务相关的背景信息,以帮助它更好地理解我们的意图。 还是以影评分类为例,我们可以在Prompt中补充一些指引,告诉模型如何判断情感倾向:

以下是一段电影影评,请根据以下标准判断其情感倾向是正面还是负面

  • 如果影评主要谈及电影的优点,认为值得一看,整体印象积极,则倾向为正面
  • 如果影评主要批评电影的缺点,认为不太推荐,整体印象消极,则倾向为负面
  • 如果影评中包含褒贬,可根据侧重点和总结来判断,若无明显倾向则选择中性

影评:这部电影的剧情非常吸引人,我从头到尾都在猜测结局。演员的表演也很精彩,特别是男主角,把这个复杂的角色演绎得入木三分。 不过,影片节奏有点慢,前半段略显沉闷。总的来说,这是一部值得一看的电影,但可能不会成为经典。

情感倾向

通过提供判断标准,我们为模型提供了更多参考信息,帮助它更准确地理解任务要求。就像理发师在了解了顾客的发质、脸型和穿搭风格后,能够设计出更贴合顾客气质的发型一样。 第三条原则 体现交互意图。这就像理发师在为顾客服务的过程中,需要通过交谈、提问等方式,表达自己的专业建议,引导顾客做出选择。同样,在设计Prompt时,我们也要体现出与模型交互的意图,引导模型朝着我们期望的方向输出。 举个例子,假设我们希望模型扮演一位心理咨询师的角色,我们可以这样设计Prompt:

假设你是一位专业的心理咨询师,你的来访者是一位大学生,他最近感到压力很大,对学业和未来感到迷茫。请用以下要点与他展开一段对话:

  • 表达理解和同情,让来访者感受到被倾听
  • 询问来访者目前面临的主要困难和担忧
  • 提供一些缓解压力的建议,如深呼吸、运动等
  • 鼓励来访者多与家人朋友沟通,寻求支持
  • 建议来访者制定短期学业目标,循序渐进

对话

咨询师

在这个Prompt中,我们明确告诉模型,我们希望它扮演一位心理咨询师的角色,并提供了一些关键的交互要点。这就像理发师在为顾客提供发型建议时,会考虑到顾客的气质、职业等因素。通过这种方式,我们引导模型进行角色扮演,体现出关怀、专业的交互意图。 总结一下,提示词 = 角色 + 目标 + 行动 + (限制)。 角色让大模型圈定部分语料 目标告诉大模型要干什么 行动则是告诉大模型应该用什么方式去做 限制则告诉大模型什么一定不能干(没有前三条重要) 以上就是Prompt工程的基本原理部分。通过类比理发师与顾客的互动,我们诠释了Prompt的定义、作用,以及设计的三大原则。 常见任务的 Prompt 设计

就像理发师需要掌握各种剪发技巧,适应不同顾客的需求一样,我们在设计Prompt时,也要针对不同的任务特点,灵活运用第一部分所讲的原则。无论是文本分类、生成,还是转换,都有其独特的要求和窍门。让我们一一探讨。

2.1 文本分类 文本分类是NLP中最常见的任务之一,它就像理发师给顾客的发型"分类"一样,需要根据某些特征,将文本划分到预定义的类别中。比如,判断一封邮件是否为垃圾邮件,一条评论是正面还是负面,一篇新闻属于哪个话题等。 设计文本分类的Prompt,首先要明确分类的目标和标准。这就像理发师在给顾客做发型前,要先了解顾客的需求和场合一样。我们要在Prompt中说清楚待分类的文本类型、类别体系,以及判断的依据。 举个例子,假设我们要训练一个模型,能够自动将顾客的评价分为"满意"、"一般"和"不满意"三类,以便公司及时了解顾客体验,改进服务。我们可以设计这样一个Prompt:

作为一家餐厅的服务质量分析师,你的任务是根据顾客的评价,判断他们对餐厅的满意度。请按照以下标准进行分类:

  • 满意:评价中主要谈及餐厅的优点,如食物美味、服务周到、环境舒适等,整体给人积极正面的印象。
  • 一般:评价中提及餐厅的优缺点都有,但无明显倾向,或者只是平淡地描述就餐经历,没有表现出特别的喜好或不满。
  • 不满意:评价中主要谈及餐厅的缺点,如食物难吃、服务态度差、卫生条件差等,整体给人消极负面的印象。

请根据以上标准,判断下面这条顾客评价的满意度

  • 评价:这家餐厅的环境不错,装修得很有格调。但是上菜速度实在太慢了,我们等了半个小时才上主菜。而且味道也一般,没有想象中那么好。

满意度

这个Prompt清晰地定义了分类的目标(判断顾客满意度)、类别含义(满意、一般、不满意),以及判断标准(评价的内容和整体印象)。通过这些信息,模型就能比较准确地理解我们的任务需求,对评价文本进行分类。 当然,文本分类的Prompt设计还有一个重要的方面,就是训练数据的选择和呈现方式。这就像理发师在给新员工培训时,要选择合适的示范案例,手把手教学一样。 我们需要在Prompt中提供一些典型的文本示例,并标注它们的类别,让模型通过这些"样板发型"来理解和掌握分类规则。这种通过示例来学习的方式,在Few-Shot Learning(少样本学习)中尤为重要。 举个例子,我们可以在上面的评价分类Prompt中,再补充几个带标签的评价样本:

作为一家餐厅的服务质量分析师,你的任务是根据顾客的评价,判断他们对餐厅的满意度。请按照以下标准进行分类:

  • 满意:评价中主要谈及餐厅的优点,如食物美味、服务周到、环境舒适等,整体给人积极正面的印象。
  • 一般:评价中提及餐厅的优缺点都有,但无明显倾向,或者只是平淡地描述就餐经历,没有表现出特别的喜好或不满。
  • 不满意:评价中主要谈及餐厅的缺点,如食物难吃、服务态度差、卫生条件差等,整体给人消极负面的印象。

以下是一些已标注满意度的评价示例,供你参考

评价1:这是我吃过最难吃的法国菜!牛排又老又柴,鹅肝酱也很腥,简直浪费了食材。而且服务员态度也不好,感觉很不耐烦。再也不会来这家餐厅了! 满意度1:不满意

评价2:昨天和朋友来这家餐厅吃晚餐,感觉还不错。披萨的馅料很丰富,口感香脆,就是量有点小。意面也比较正宗,酱汁味道不错。服务方面一般,上菜速度有点慢。 满意度2:一般

评价3:这家餐厅真是太棒了!无论是食物还是服务,都堪称完美。那道香煎三文鱼让我回味无穷,配菜也很精致。餐后甜点更是惊艳,芝士蛋糕松软绵密,入口即化。服务员也非常专业友好,给我们提供了很多很棒的菜品推荐。下次一定还会来! 满意度3:满意

请根据以上标准,判断下面这条顾客评价的满意度

评价:这家餐厅的环境不错,装修得很有格调。但是上菜速度实在太慢了,我们等了半个小时才上主菜。而且味道也一般,没有想象中那么好。

满意度

通过提供几个带标签的评价样本,模型可以更直观地理解我们的分类标准,学习如何将这些标准应用到新的评价中。这就像理发师在给学徒示范时,会选择几个典型的发型案例,一步步讲解要领。学徒通过模仿这些示范,很快就能掌握基本的理发技巧。 需要注意的是,我们在选择示例时,要尽量覆盖各种可能的情况,体现分类标准的边界。就像理发师在示范时,要同时展示短发、长发、卷发、直发等不同发型,让学徒全面地理解理发的技巧。如果示例过于单一,模型可能会过拟合,无法很好地泛化到新的文本中。 我们在设计Few-Shot的Prompt时,也要注意控制示例的数量。就像理发师在教学时,也不能一下子展示太多的发型,否则会让学徒眼花缭乱,不知从何学起。通常来说,3-5个示例就足够让模型理解任务了。太多的示例反而会占用过多的文本空间,影响Prompt的简洁性。 设计文本分类的Prompt,关键是要明确分类的目标和标准,并通过精心挑选的示例,引导模型理解和掌握这些标准。这就像理发师在给学徒传授理发技艺时,要明确教学目标,并通过典型案例的示范,手把手地教会学徒如何理发。只有这样,我们才能训练出一个"理发好手",能够对各种"发型"进行准确分类。 2.2 文本生成 除了分类,另一项常见的NLP任务就是文本生成,也就是让模型根据上下文,创作出连贯、富有意义的文本。这就像理发师在为顾客设计新发型时,需要根据顾客的气质、喜好,发挥创意,设计出独特又适合的发型。 文本生成的应用非常广泛,比如写作助手、对话生成、故事创作等。与分类不同,文本生成是一个开放性的任务,没有固定的答案。这对Prompt的设计提出了更高的要求。我们不仅要明确生成的主题、风格,还要给模型足够的创作空间,激发它的"灵感"。 设计文本生成的Prompt,首先要明确生成的目标和约束条件。这就像理发师在为顾客设计发型前,要了解顾客的需求和期望一样。我们要在Prompt中说清楚希望模型生成什么样的文本,包括主题、长度、语言风格等。同时,也要给出一些指引和示例,帮助模型理解我们的意图。 举个例子,假设我们要让模型为一款新的健身APP撰写一段100字左右的推广文案,突出其便捷、有效、有趣的特点。我们可以设计这样一个Prompt:

作为一名资深的健身APP宣传文案撰稿人,请为我们新推出的APP"FitGo"撰写一段100字左右的推广文案。文案需要突出以下几个卖点:

  • FitGo可以根据用户的身体数据和目标,智能推荐个性化的健身计划,非常便捷。
  • FitGo的健身计划科学有效,融合了有氧、力量、柔韧等多种训练方法,帮助用户全面塑形。
  • FitGo的训练界面设计时尚有趣,结合游戏化元素,让用户在运动中获得乐趣,坚持下去。
  • 文案要突出产品优势,语言要生动有感染力,让人一看就心动想要下载APP开始锻炼。

推广文案

这个Prompt清晰地描述了文案的主题(健身APP推广)、目标受众(潜在用户)、重点卖点(便捷、有效、有趣)、字数要求(100字左右)和期望风格(生动有感染力)。通过这些指引,模型可以比较准确地把握我们的需求,生成符合要求的推广文案。 当然,文本生成任务的开放性,也给了我们更大的创意空间。我们可以在Prompt中加入一些有趣的元素,激发模型的想象力,生成更有创意的文本。这就像理发师在设计新发型时,会从生活、艺术、自然等领域汲取灵感,创造出与众不同的造型。 比如,我们可以让模型扮演一个角色,以第一人称视角来撰写APP推广文案。这种角色扮演的方式,可以让文案更富有个性和代入感:

你是一位热爱健身的年轻人,刚刚使用了新推出的健身APP"FitGo",对它的便捷性和有效性感到非常惊喜。现在,你要在社交媒体上分享你的使用体验,推荐给你的朋友们。请以第一人称的视角,写一段100字左右的推文,表达你对FitGo的喜爱之情,并鼓励大家也来试试这款APP。推文要突出以下几点:

  • FitGo如何通过智能推荐,为你定制了一套非常适合你的健身计划
  • 在FitGo的帮助下,你的身材和体能都得到了明显改善
  • 你很享受在FitGo有趣的游戏化界面中运动的过程

推文要真诚自然,读起来像是在跟朋友聊天,不要太露骨地"广告"。

推文

通过让模型扮演一个FitGo的忠实用户,我们可以从更贴近用户的视角来生成推广文案。这样的文案会更有说服力和感染力,仿佛是用户对朋友的真心推荐,而不是公司的硬广告。这就像理发师根据顾客的气质和穿衣风格,设计出独属于TA的发型,比直接照搬杂志上的样板发型更能彰显个性,让顾客满意。 除了角色扮演,我们还可以在Prompt中融入一些有趣的隐喻、巧妙的词语游戏,让生成的文本更富有文学性和艺术性。这就像理发师在发型设计中融入一些独特的元素和巧思,让发型更加出众。

举个例子,我们可以要求模型用"交响乐"来比喻FitGo的健身体验

FitGo就像一场精彩的交响乐,将有氧、力量、柔韧等多种训练方式巧妙地融合在一起,带给你全面均衡的健身体验。智能推荐就像一位出色的指挥,为你量身定制最适合的乐谱。游戏化的界面设计则像是华丽的舞台布景,让你在运动中仿佛置身于一场视听盛宴。在FitGo的帮助下,你的身体就是那架美妙的乐器,每一次训练都在演奏着动人的旋律。让我们一起加入FitGo!

推广文案

用"交响乐"来比喻健身APP,可以让本来有些枯燥的健身过程变得更加优雅和有艺术感。FitGo的智能推荐算法被比作"指挥",游戏化界面被比作"舞台布景",用户的身体被比作"乐器",健身过程则被比作"演奏"。 这些巧妙的隐喻,可以激发用户对APP的好感和向往之情,让推广文案更有感染力。这就像理发师在发型中融入一些独特的元素,如编发、染色、饰品等,让顾客的形象更加出众夺目。 设计文本生成的Prompt,既要明确任务的主题、风格等约束条件,又要给模型一定的创作空间,激发它的想象力。通过角色扮演、隐喻等创意性写作技巧,我们可以引导模型生成更富有个性和感染力的文本。 这就像理发师在发型设计中,既要遵循基本的美学原则,又要融入独特的创意,让每一位顾客都能拥有专属的时尚发型。 2.3 文本转换 除了分类和生成,还有一类常见的NLP任务叫做文本转换,也就是将输入的文本转换成另一种形式的文本。这就像理发师将顾客的长发剪成短发,或者将直发烫成卷发一样,是一种"改头换面"的过程。

文本转换的应用也非常广泛,比如

语言翻译:将一种语言的文本翻译成另一种语言,比如将英文文章翻译成中文 文体转换:将一种文体的文本转换成另一种文体,比如将新闻稿改写成故事、将学术论文改写成通俗科普文等 文本简化:将较难理解的文本转换成易读易懂的版本,比如将法律条文转换成通俗解释 信息抽取:从长文本中提取出关键信息,比如从新闻报道中提取事件要素,从论文中提取研究方法和结论等 这些转换任务的共同点,就是要保留原文的核心内容和语义,但要用另一种形式或风格来表达。这对Prompt的设计提出了新的要求。我们不仅要让模型理解原文的内容,还要指定转换的目标形式,并给出一些示例来说明这种转换。 举个语言翻译的例子。假设我们要将一篇英文的科技新闻稿翻译成中文,且翻译要准确通顺,符合中文的表达习惯。我们可以设计这样一个Prompt:

请将以下英文科技新闻稿翻译成中文

Apple Unveils Revolutionary New iPhone 14 and iPhone 14 Plus Featuring two sizes — 6.1-inch and 6.7-inch — and an impressive list of new capabilities Powered by A15 Bionic, with a 5-core GPU, which offers incredible performance and efficiency Introduces groundbreaking safety capabilities, including Emergency SOS via satellite and Crash Detection Featuring a durable and sophisticated aerospace-grade aluminum design in five beautiful colors iPhone 14 and iPhone 14 Plus will be available in midnight, blue, starlight, purple, and (PRODUCT)RED1 finishes. Available in 128GB, 256GB, and 512GB storage capacities.

翻译要求

  • 信息要准确,不要遗漏或误译原文的任何重要信息
  • 译文要通顺自然,符合中文的语法和表达习惯
  • 专业术语要翻译准确,必要时可在译文后加括号注明原英文词汇
  • 人名、地名等专有名词可以音译,公司名称可以直接使用英文

请参考以下翻译示例

请开始你的翻译吧!

  • 原文:The new Apple Watch SE delivers the core Apple Watch experience, including Activity tracking, high and low heart rate notifications, and Emergency SOS, as well as the new Crash Detection feature and a completely redesigned back case that perfectly matches the three classic case finishes.
  • 译文:新款Apple Watch SE带来了Apple Watch的核心体验,包括健身追踪、心率过高和过低通知,以及紧急SOS功能,还有全新的跌倒检测功能和全新设计的后盖,与三种经典表壳完美搭配。

中文译文

这个Prompt清晰地说明了翻译的要求,包括信息准确性、译文流畅性、专业术语处理、专有名词翻译等。同时,我们还给出了一个类似文本的翻译示例,让模型更直观地理解我们对翻译质量的期望。通过这些指引,模型可以更好地把握翻译的"度",既保留原文的核心信息,又符合中文的表达习惯。 类似地,对于其他类型的文本转换任务,我们也可以参考以上的设计思路。明确转换的目标形式和质量要求,并给出一些示例来引导模型。这就像理发师在为顾客改变发型前,会先与顾客沟通要达到的效果,并展示一些参考样式照片,确保双方的理解一致。 举个文本简化的例子。假设我们要将一份复杂的手机使用说明书,转换成老年人也能轻松读懂的版本。我们可以这样设计Prompt:

请将以下手机使用说明书的内容,转换成适合老年人阅读的简化版本

如何设置锁屏密码

  • 打开设置应用,点击"生物识别和密码"
  • 在"设备解锁选项"中选择"密码",然后点击"添加密码"
  • 输入你想设置的数字密码,需要6位数。然后再次输入进行确认
  • 如果你希望在锁屏界面显示通知的详细信息,请开启"锁定时显示"选项,并选择"显示所有通知内容"
  • 点击右上角的"完成"按钮,即可完成锁屏密码的设置

简化要求

  • 使用简单、易懂的词汇,避免使用专业术语
  • 缩短句子,一句话表达一个意思
  • 增加必要的解释说明,帮助老年人理解手机的基本概念和操作逻辑
  • 可以适当省略一些非关键的步骤或细节

请参考以下示例

- 原文: 如何截屏

同时按下手机右侧的电源键和音量上键,屏幕会闪一下,表示截屏成功 你可以在相册中的"截屏"相册找到你截取的图片 你也可以直接在图片上进行编辑标注,或分享给好友

- 简化版: 如何给手机屏幕拍照(截屏)

用一只手握住手机,另一只手同时按下手机右边的开关键和音量向上键 屏幕会亮一下,表示拍照成功了。拍下的照片会自动保存 你可以去相册 App 里找到这些照片,然后编辑或者发给别人

简化版

在这个Prompt中,我们详细说明了简化的要求,包括用词、语法、解释说明等方面。我们还给出了一个截屏功能的简化示例,展示了如何将专业的步骤描述转换成通俗易懂的语言。 通过这些指引,模型可以学会如何将复杂的说明书"翻译"成老年人也能读懂的版本。这就像理发师在为老年顾客理发时,会特别注重发型的简洁实用,并且在沟通时会用更通俗的语言,体贴他们的需求。 设计文本转换任务的Prompt,关键是要明确转换的目标形式和质量要求,并通过示例来引导模型。这就像理发师在为顾客改变发型前,要先沟通理想的效果,展示参考样式,确保双方理解一致。 只有这样,我们才能得到高质量的转换结果,既保留了原文的核心内容,又符合目标形式的表达习惯。 以上就是常见NLP任务的Prompt设计思路。从文本分类到生成,再到转换,我们发现了一些共通的原则:

明确任务的目标和约束,告诉模型我们希望它完成什么 提供一些示例,让模型直观地理解我们的期望 在必要时给予一定的创作空间,激发模型的"灵感" 设身处地地为模型提供必要的背景信息,帮助它更好地理解任务 善于利用一些写作技巧,如角色扮演、隐喻等,让生成的文本更富有感染力 这就像理发师为顾客设计发型时,也要遵循一些共通的原则:了解顾客需求、展示参考样式、发挥创意、考虑脸型气质、运用专业技巧等。 当然,每一类任务也有其独特的侧重点。文本分类任务要注重分类标准的界定,文本生成任务要注重创意性,文本转换任务要注重形式转换的质量把控。这就像理发师给顾客剪发、染发、烫发等,也各有不同的技巧和考量。 不管是哪一类任务,Prompt设计的核心都在于建立人与 AI 之间的高效沟通。 Prompt 的优化技巧 就像一个优秀的理发师不仅要掌握基本的理发技能,还要不断磨练自己的技艺,追求更高的造诣一样,一个优秀的Prompt工程师也不能止步于基础的设计原则,还要学会运用各种优化技巧,让Prompt更加精准、高效、富有创意。 这些优化技巧,就像理发师手中的各种工具和产品,如果运用得当,就能让发型更加完美。 3.1 迭代优化 Prompt 设计Prompt的过程,很像理发师为顾客设计发型的过程。第一次的设计,往往不会尽善尽美。但一个优秀的理发师不会就此罢休,而是会根据效果反复调整,直到顾客满意为止。 同样,一个优秀的Prompt工程师也要学会迭代优化Prompt。我们首先要审慎地评估模型的初步输出,看看是否符合我们的预期。这就像理发师在剪完发后,会让顾客照镜子,检查效果如何。 如果输出不够理想,我们就要分析原因,并相应地调整Prompt。比如,输出的分类结果不够准确,可能是因为我们的分类标准定义不够清晰,或者缺乏一些边界案例。 这时,我们就要优化类别体系,补充说明标准。这就像顾客对第一次的发型不满意,理发师会问清楚顾客的具体想法,然后做出调整。 举个例子,还是之前那个餐厅评论的分类任务。如果我们发现,模型对一些兼有褒贬的评论分类错误,我们可以这样优化Prompt:

在之前的Prompt基础上,我们再补充两条说明

  • 如果一条评论中既有正面评价,也有负面评价,要根据其中的侧重点来判断。如果褒大于贬,且总体评价是推荐这家餐厅的,则倾向于"满意";如果贬大于褒,且总体评价是不推荐这家餐厅的,则倾向于"不满意"。
  • 如果褒贬各半,正负面评价都不多,且没有明确的推荐或不推荐,则归为"一般"。

以下是一些兼有褒贬评价的示例,供你参考

评价1:这家店的牛排还不错,肉质鲜嫩,但配菜就很一般,感觉不够新鲜。烤箱的温度可能也不够,牛排表面没有我想要的那种焦脆。整体来说还行,但不会成为我的最爱。 满意度1:一般

评价2:店里的环境不错,装修挺有格调,桌椅也舒适。但菜品口味一般,可能不太符合我的口味。最难以接受的是服务态度,服务员给人一种爱答不理的感觉。不建议来这家店。 满意度2:不满意

请再次评价以下评论,并注意之前的错误

评价:这家餐厅给人的感觉有些矛盾。食物的味道不错,尤其是那道番茄浓汤,口感丰富,酸甜适中。但食材的新鲜度似乎有待提高,沙拉里的蔬菜有些蔫了。另外,餐具和桌布看起来不够干净整洁。服务方面,员工们还算热情,但效率不高,上菜速度有点慢。总的来说,性价比一般,不算特别推荐。

满意度

通过补充更详细的判断标准,并提供一些兼有褒贬的评论示例,模型应该能够更准确地处理这类复杂的情况。这就像理发师在顾客的反馈下,进一步细化了发型的要求,并参考一些发型照片,从而更好地满足顾客的期望。 对于文本生成和转换任务,如果我们对初次输出不满意,也可以通过调整任务描述、示例等方式,引导模型朝着更好的方向优化。这个过程可能需要多次迭代,但只要我们不断学习和调整,就一定能设计出让"顾客"满意的Prompt。就像一个好的理发师,也是在不断实践和积累经验中成长起来的。 3.2 参数调优 除了迭代优化Prompt本身,我们还可以通过调整模型的各种参数,来优化输出效果。这就像理发师在剪发时,会调整剪刀的角度、力度等,以达到最佳的效果。

在调用API时,我们可以设置多个参数,其中最常用的有

temperature:控制输出的随机性。数值越高,输出越随机;数值越低,输出越确定。默认为1。 top_p:控制输出的多样性。数值越高,考虑的候选词越多;数值越低,考虑的候选词越少。默认为1。 max_tokens:控制输出的最大长度。默认为16。 stop:控制输出的终止条件。可以是一个字符串,或一个字符串列表。生成过程会在遇到stop中的内容时终止。 这些参数的调整,对于不同类型的任务有不同的影响。比如,对于文本分类任务,我们希望输出尽量确定和准确,所以可以将temperature和top_p设置得较低。而对于文本生成任务,我们希望输出更有创意和多样性,所以可以将这两个参数设置得较高。 举个例子,还是之前那个生成健身APP推广文案的任务。如果我们希望输出更有创意,可以这样调整Prompt:

在之前的Prompt基础上,我们可以加上以下参数设置

temperature: 1.2 top_p: 0.9 max_tokens: 200 stop: ["\n"]

这样,模型在生成时会考虑更多的可能性,输出会更有想象力和多样性。同时,我们也控制了输出的最大长度和终止条件,避免生成过长或不相关的内容。

请用以上参数设置,再次生成一段FitGo的推广文案吧!

推广文案

通过适当地提高temperature和top_p(在Coze智能体当中就可以更改,不过如Deepseek或者Kimi的网页端对话则无法修改),我们可以让模型"放飞自我",生成一些出人意料的创意文案。这就像理发师在给艺术家设计发型时,会更大胆地尝试一些新奇的想法。当然,我们也要把握一个度,不能让输出太离谱或者偏离主题。 所以,max_tokens和stop参数的设置也很重要,它们就像是理发师手中的剪刀,时刻提醒着不要"剪过头"。 对于文本转换任务,参数调整的重点在于平衡转换的准确性和流畅性。比如,在将专业文献转换成大众版时,我们希望输出尽量忠实原文的信息,同时又要易于理解。 这时,我们可以将temperature和top_p设置得稍低一些,确保输出不会偏离原文太多;同时,将max_tokens设置得稍大一些,给模型足够的空间来阐释和举例。 这就像理发师在给顾客做发型转换时,会尽量保留发型的基本特征,同时又要考虑到新发型的整体协调性。 当然,参数调优往往需要多次尝试和比较。我们可以通过实验不同的参数组合,观察输出效果的变化,从而找到最优的设置。 这个过程,就像理发师在为顾客找到最适合的发型一样,需要不断地尝试和修正,直至达到最佳效果。一个优秀的Prompt工程师,应该具备敏锐的洞察力和耐心,能够从实验结果中总结规律,不断优化自己的方案。 3.3 数据增强 除了迭代优化Prompt本身和调整模型参数,我们还可以通过数据增强的方式,来提高输出的质量和鲁棒性。所谓数据增强,就是在原有的输入数据基础上,进行一些变换或扩充,从而让模型学习到更丰富、更全面的信息。这就像理发师在设计发型时,会参考不同季节、场合、风格的元素,让发型更加百变和时尚。

数据增强的方式有很多,这里介绍几种比较常用的

同义词替换:将输入文本中的一些词语替换成同义词,增加语言的多样性。比如,"高兴"可以替换成"开心"、"愉快"等。 反义词替换:将输入文本中的一些词语替换成反义词,制造一些对比案例。比如,"喜欢"可以替换成"讨厌"、"反感"等。 语序调整:在不影响语义的情况下,调整输入文本中词语的顺序,增加语言的灵活性。比如,"我喜欢吃苹果"可以改成"苹果,我喜欢吃"。 添加噪声:在输入文本中随机添加一些无关的词语、标点符号等,增加语言的鲁棒性。比如,"我喜欢吃苹果"可以改成"我喜欢吃#!苹果"。 回译:先将输入文本翻译成另一种语言,再翻译回来,利用不同语言之间的差异,生成一些新的表达方式。比如,"我喜欢吃苹果"可以翻译成英文"I like to eat apples",再翻译回中文"我喜欢吃苹果"。 这些数据增强的方法,可以帮助模型学习到更丰富的语言知识,提高它应对不同表达方式的能力。这就像理发师在学习新的发型时,会借鉴不同文化、时代、风格的元素,从而拓展自己的视野和创意。 举个例子,还是之前那个餐厅评论分类的任务。我们可以在原有的评论数据基础上,进行一些数据增强:

在之前的Prompt基础上,我们可以加入以下数据增强的步骤

对于每一条原始评论,我们生成三条增强的评论

1. 同义词替换:将情感词替换成同义词。比如,将"难吃"替换成"味道不好",将"优雅"替换成"高档"等。

2. 反义词替换:将一些形容词替换成反义词。比如,将"友好"替换成"不友好",将"干净"替换成"脏乱"等。

3. 添加噪声:在评论中随机插入一些标点符号或表情符号。比如,在句子中间加个感叹号"!",在句尾加个笑脸"😊"等。

请用以上方法,对下面这条评论生成三条增强的评论,并判断它们的满意度

原始评论:这家餐厅的环境不错,装修得很有格调。但是上菜速度实在太慢了,我们等了半个小时才上主菜。而且味道也一般,没有想象中那么好。

满意度:一般

增强评论1

满意度1

增强评论2

满意度2

增强评论3

满意度3

通过这样的数据增强,我们可以从一条原始评论中,生成多条风格、语气有所不同,但主题相关的评论。这样,模型就能学习到更多样化的表达方式,提高分类的泛化能力。这就像理发师在为一个人设计发型时,会考虑他在不同场合、心情下的造型,从而给出更全面、更贴心的建议。 当然,数据增强也要把握一个度,不能过度扭曲原文的语义,或者生成一些无厘头的文本。这就像理发师在融合不同元素时,也要考虑到整体的协调性和美观度,不能过于标新立异而失去了基本的功能性。 在进行数据增强时,我们要时刻检查生成的文本是否合理、连贯,是否符合任务的需求。如果发现问题,要及时调整策略,比如减少噪声的比例,或者限制替换的词语范围等。 数据增强的效果也与任务类型和数据规模有关。一般来说,数据规模越小,增强的效果就越明显;而数据规模很大时,增强的必要性就没那么大了。 对于一些对格式、词语非常敏感的任务,如代码生成、古诗词填空等,数据增强也要格外小心,避免破坏原有的逻辑和韵律。这就像理发师在给一些特殊发质或发型的顾客设计时,也要更加严谨和考究,确保不会适得其反。 数据增强是一个提高模型鲁棒性和泛化能力的有效手段。它通过一些简单的文本变换,让模型见识到更多样化的语言现象,从而学习到更深层次的规律。这个过程,就像理发师在不断尝试新的元素和风格中,提升自己的创意和技艺一样,需要我们用心去设计和实践。 以上就是一些常用的Prompt优化技巧,包括迭代优化Prompt、参数调优和数据增强。通过灵活运用这些技巧,我们可以进一步提升模型的表现,让输出更加精准、流畅、有创意。这就像一个优秀的理发师,不仅要掌握基本功,还要不断钻研新的技术和风格,给顾客带来更好的体验。 Prompt优化它需要我们在实践中不断积累经验、总结规律。每一个任务、每一个数据集,都可能有其独特的特点和挑战。我们要学会举一反三,灵活应用这些优化技巧,而不是教条地照搬。这就像每一位顾客都有自己独特的发质、脸型、个性,理发师需要因人而异,设计出最适合的方案。 作为一名Prompt工程师,我们要培养敏锐的洞察力,能够快速分析任务的特点和难点;要有严谨的思维,能够设计出系统、全面的优化方案;更要有创新的精神,能够不断尝试新的思路和方法。 Prompt工程的应用拓展 通过前面的三个部分,相信你已经掌握了Prompt工程的基本原理和设计方法,并能够运用各种优化技巧,提升Prompt的效果。现在,让我们把目光放得更远一些,看看Prompt工程还能在哪些领域大展拳脚,为我们的工作和生活带来更多便利。 4.1 结合知识库与检索技术 我们知道,大语言模型之所以能够完成各种任务,归根结底是因为它们从海量的文本数据中学习到了丰富的知识。但这种知识是以隐含的方式存储在模型的参数中的,并不能直接检索或修改。 这就像一个理发师掌握了许多发型知识和技巧,但都是凭借经验和直觉来运用的,并没有一个系统的"发型知识库"可以查阅。 但如果我们能够将模型与外部知识库相结合,让模型能够直接访问和利用这些知识,是否就能进一步增强模型的能力呢?这就是知识增强型Prompt的基本思路。 具体来说,就是在Prompt中引入一些结构化的知识,如实体、关系、属性等,让模型能够根据这些知识来生成更加准确、丰富的文本。这就像给理发师提供一本发型百科全书,让他能够随时查阅、参考,从而设计出更加专业、时尚的发型。 举个例子,假设我们要让模型根据一部电影的基本信息,生成一段影评。传统的Prompt可能是这样的:

根据以下电影信息,请写一段100字左右的影评

电影名称:肖申克的救赎 导演:弗兰克·德拉邦特 主演:蒂姆·罗宾斯,摩根·弗里曼 类型:剧情,犯罪 上映时间:1994年

影评

但如果我们引入一些关于这部电影的结构化知识,Prompt就可以变成这样

根据以下电影信息和相关知识,请写一段100字左右的影评

电影名称:肖申克的救赎 导演:弗兰克·德拉邦特 主演:蒂姆·罗宾斯,摩根·弗里曼 类型:剧情,犯罪 上映时间:1994年

知识

  • 电影改编自斯蒂芬·金的短篇小说《丽塔·海华丝与肖申克的救赎》
  • 电影刻画了监狱中人性的善恶、自由的渴望以及希望的重要性
  • 电影的结局被认为是电影史上最振奋人心的结局之一
  • 电影获得了第67届奥斯卡最佳影片、最佳男主角等7项提名
  • 电影在IMDb的评分为9.3分,是IMDb电影Top250榜单的第一名

影评

这些都是知识增强型NLP领域的前沿研究课题。尽管仍面临许多挑战,但其潜力是巨大的。通过让模型能够直接利用结构化知识,我们可以极大地提升它们在事实准确性、逻辑一致性和上下文相关性方面的表现。这将把Prompt工程提升到一个全新的水平。 4.2 跨模态Prompt组合 到目前为止,我们对Prompt工程的讨论主要集中在文本模态,即用文本提示来指导文本生成。然而,人类智能本质上是多模态的。 我们通过视觉、听觉、触觉等各种模态来感知世界、与世界互动。我们能否也以一种多模态的方式来设计Prompt,实现更加智能的人机交互呢? 答案是肯定的,这就是跨模态Prompt的基本思想。通过将文本提示与其他模态(如图像、视频、音频等)的提示相结合,我们可以指导模型执行跨模态理解和生成任务。 这就像理发师不仅倾听顾客的口头要求,还通过观察他们的照片、触摸他们的发质,来更全面地了解他们的需求。 例如,假设我们希望模型生成一个图像的生动描述。传统的纯文本Prompt可能是这样的:

请详细描述以下图像

[图像]

描述

但如果我们将文本提示与图像本身结合起来,Prompt就可以变成这样

[图像]

请仔细观察上面的图像,并详细描述它。要关注图像中的物体、人物、动作和场景。试着捕捉微妙的细节和情感。以一个吸引人的开场白开始,用生动的感官语言让图像栩栩如生。

描述

通过将图像直接输入模型,并对描述的侧重点和方式给出更具体的指导,我们可以获得更加详尽、生动、引人入胜的描述。这就像理发师不仅听顾客说"我想要一个很酷的发型",还观察他们的面部特征、穿着打扮,甚至顾客带来的名人照片,从而设计出真正适合顾客、展现顾客最佳风采的发型。

类似地,我们可以为各种任务设计跨模态Prompt,例如

图像描述:生成总结图像主要内容的文字说明。 视觉问答:根据问题文本和图像内容,回答关于图像的问题。 语音转录:根据音频信号和可选的说话人身份信息,将语音转录为文字。 文本到图像生成:根据给定的文字描述,生成与之匹配的图像。 视频摘要:根据视频的视觉、音频和文本内容,生成文字摘要或精彩剪辑。 设计有效的跨模态Prompt的关键在于如何表征和对齐来自不同模态的信息。我们需要找到恰当的方法来编码非文本输入(例如,对图像使用CNN,对音频使用MFCC等),并将它们与文本提示融合(例如,使用注意力机制、跨模态嵌入等),使模型能够在多模态上下文中进行联合推理,完成任务。 跨模态Prompt设计为人机交互开辟了一个全新的维度。通过利用人类感知和认知能力的全部范畴,我们可以创造出更自然、直观、智能的界面和体验。 正如一位大师级的理发师可以通过观察、倾听、触摸来把握顾客的需求和偏好,并将其转化为完美的发型;一个精心设计的跨模态Prompt能够让模型真正理解我们,以我们想要的方式为我们服务。

当然,跨模态Prompt工程仍是一个新兴领域,面临许多公开挑战,例如

数据稀缺:收集大规模、高质量、对齐的多模态数据通常很困难且昂贵。 模态鸿沟:不同模态具有截然不同的特征和信息密度,使它们难以有效融合。 评估:评估跨模态生成的质量远比纯文本生成更加困难,因为我们需要考虑相关性、一致性、流畅性等多个方面。 偏差和公平性:跨模态模型可能会继承甚至放大训练数据中的偏差,导致不公平或冒犯性的结果。 用户体验:为跨模态交互设计直观无缝的用户界面是一个富有挑战的UI/UX问题。 随着多模态深度学习的快速发展和多模态数据可用性的不断提高,我们相信跨模态Prompt工程将成为一个越来越重要、硕果累累的方向。作为Prompt工程师,我们应该开始跳出文本的框框,探索多模态智能的全部潜力。 4.3 基于Prompt的少样本学习 最后,让我们讨论一下Prompt工程的一个强大应用,那就是少样本学习。在传统的机器学习中,模型需要在大量标注数据上训练,然后才能应用到新的测试数据上。然而,在许多实际场景中,我们只有很少的新任务标注样本,这使得传统的监督学习范式不可行。 这就是少样本学习的用武之地。其思想是利用从之前任务中学到的知识,快速适应只有少量样本的新任务。而Prompt工程在这个过程中可以发挥关键作用,它提供了一种自然、高效的方式来指定新任务并从模型中引出相关知识。 为了说明这一点,让我们考虑一个经典的少样本学习任务:情感分类。假设我们有一个在大规模文本数据上预训练的语言模型,但它并没有专门用于情感分析。 现在,我们想要调整这个模型,让它能够对电影评论的情感进行分类,但我们只有几个标注样本,如:

评论:我简直太爱这部电影了!演技精湛,情节始终吸引着我。强烈推荐! 情感:正面

评论:这部电影完全是在浪费时间。人物单薄,故事毫无意义。别费事去看了。 情感:负面 为了用基于Prompt的少样本学习来解决这个任务,我们可以设计一个同时包含任务指令和少样本示例的Prompt,像这样:

请对以下电影评论的情感进行分类,类别为"正面"或"负面"

示例1

评论:我简直太爱这部电影了!演技精湛,情节始终吸引着我。强烈推荐! 情感:正面

示例2

评论:这部电影完全是在浪费时间。人物单薄,故事毫无意义。别费事去看了。 情感:负面

评论:这部电影还不错。演员表演得很自然,剧情也比较吸引人。但节奏有点慢,可能不适合所有人。

情感

通过在Prompt中提供几个标注样本作为演示,并明确要求模型对新的评论进行情感分类,我们就能利用模型之前学到的语言知识,在很少的样本上完成新任务。 这就像一个资深理发师,在给一位新顾客理发时,通过查看顾客提供的几张自己喜欢的发型照片,并听取顾客的简单描述,就能快速领会顾客的需求,设计出满意的发型方案。 少样本学习的关键在于通过Prompt引导模型在小样本上进行模仿学习。通过给出一些精心设计的任务描述和示例,我们启发模型将大规模预训练阶段学到的语言知识迁移到具体的小样本任务上。 这个过程不需要重新训练模型,只需要设计合适的Prompt,就能实现快速、灵活的知识适配。

当然,要让基于Prompt的少样本学习发挥最大效用,我们需要注意几个关键点: 示例的选择要具有代表性,尽量覆盖任务的重要变式和边界情况。就像理发师挑选的发型照片,要尽可能反映顾客想要的各种风格元素。 示例的格式和Prompt的组织方式要清晰、一致,减少歧义和噪声。就像理发师与顾客的沟通,要条理清楚,避免模棱两可。 示例的数量要适中,既要足够让模型理解任务,又不能太多而浪费Prompt的有限长度。就像给理发师的发型参考,几张有针对性的照片就够了,太多了反而会让理发师眼花缭乱。 任务描述要明确、具体,切中任务的要点。就像顾客要明确告诉理发师自己的整体发型需求,而不是让理发师猜测。 基于Prompt的少样本学习为我们开启了一扇智能应用的新大门。通过巧妙地设计Prompt,我们可以充分利用预训练语言模型的海量知识,用极少量的样本实现各种任务的快速适配。 这就像一个经验丰富的理发师,能够通过几张照片和简单的交流,就为不同发质、脸型的顾客设计出称心如意的发型方案。作为一名Prompt工程师,如果能够掌握少样本学习的要领,就能在各种实际场景中发挥AI的强大潜能,用很小的成本创造很大的价值。 从知识增强到跨模态再到少样本学习,我们看到了Prompt工程在不同领域、不同层面的应用拓展。 Prompt工程的本质,就是如何通过设计良好的人机交互方式,充分释放AI模型蕴藏的智能,用更自然、更高效的方式让AI为人类服务。 这就如同理发师通过与顾客的有效沟通,将自己多年积累的美发知识和技艺,转化为令顾客满意的美发服务。

总结

以后遇到问题,先问问AI,多写Prompt,想方设法用AI来提效。 处处留心AI的应用场景,看似不起眼的小事,没准就能用AI搞定。积累的Prompt模板越多,解决问题的效率就越高。 但想成为Prompt高手,光看文章还不够,关键要多练。 遇到啥新问题就试着写Prompt,多尝试,多迭代。写多了,套路就慢慢摸出来了。这个过程也是在锻炼自己的思维能力。久而久之,脑子会越来越清晰,想问题越来越有条理。