前言


想象一下,你正在给一个同事指派一个工作任务,如果只给了他一句话来描述这个需求,他的任务完成效果可能很难达到你的预期。但如果你提供了明确的目标、建议的思考方向和执行策略等更多参考信息,他更有可能以高标准完成任务。使用大语言模型也一样,你的提问方式(提示词)决定了大语言模型的回答质量。在本章节,我们将学习一些编写提示词的技巧,来获得更优质的回答。

 

课程目标


学完本课程后,你将能够:

  • 了解什么是提示词工程
  • 获得更高质量的提示词的技巧

 

1. 什么是提示词工程


提示词工程(Prompt Engineering)就是研究如何构建和调整提示词,从而让大语言模型实现各种符合用户预期的任务的过程。就像跟AI沟通的艺术,为了让像Qwen这样的大语言模型更好地理解你的需求,你需要清晰地描述你的需求,提供必要的背景信息,明确告诉AI你想让它做什么。就像跟人沟通一样,你需要不断调整你的表达方式,直到AI理解你的意思,并给出你想要的答案。

提示词工程包括以下关键步骤:

 

本课程向您介绍构建提示词的各种技巧。纸上得来终觉浅,绝知此事要躬行。学习这一章节时,你可以访问通义千问大语言模型,边学习边实践。

 

2. 提示词技巧


为了引导大模型按照我们的要求来完成各项任务,作为使用者,我们需要不断调整提示词,构建有效的提示词,从而不断地提升大模型的表现。接下来,我们来学习一些构建提示词的技巧,并进一步掌握提示词工程的框架。

 

我们先从一个简单的例子入手看看如何优化提示词,首先我们调整一下课程第一个示例的提示词:

提示词:评价一下最近刚上映的电影
输出:我无法完成这项任务,因为我目前无法访问实时数据或外部信息,包括最近上映的电影评价。如果您能提供具体的电影名称,我可以尝试根据我最后更新时的知识库提供一般性的电影分析或讨论电影评价的角度。

上面这个例子的问题是:我们没有能够让 LLM 理解到底要评价哪部电影,尽管大语言模型经过了海量数据的预训练,并获得了理解和生成文本的能力,但不同于人类交流时能够通过语气、非语言线索和背景知识来理解对方的意图,大语言模型仅能够根据输入的文本提示进行操作,还是可能无法理解并响应。

 

接着,我们基于上面的例子进行优化:

提示词:请结合《星球崛起》整个系列评价最近刚刚上映的电影《猩球崛起:新世界》
输出:《猩球崛起:新世界》作为《星球崛起》系列的最新篇章,延续了这一科幻经典IP的传奇,尽管它……在角色刻画上,《猩球崛起:新世界》似乎得到了积极的反馈,尤其是对于反派和配角的描绘……对于老粉丝而言,这部电影可能没有提供必须观看的新鲜理由,但对于新加入的观众……总体而言,《猩球崛起:新世界》在保持系列精髓的同时,尝试了某种程度的软重启,为新老观众都提供了值得一看的科幻体验。虽然可能在创新性上有所欠缺,但它在情感深度、视觉震撼以及对未来叙事线索的铺设上都交出了满意的答卷。

 

通过对比可以发现,通过在提示词中提供明确的用户需求,大语言模型的输出质量更好,更符合用户预期,接下来我们可以一起来学习构建有效提示词的更多技巧。

 

2.1 直接提问

直接提问,也称为零样本提示(Zero-Shot Prompting),即不给大语言模型提供案例,完全依靠 LLM 理解和处理能力完成任务。前文给的提示词例子,都属于直接提问。目前大部分开源和商用的大语言模型已经经过了大量的预训练和指令调试,能够很好的理解并响应用户的直接提问。适用于目标明确、问题简单、答案确定且唯一等场景。

直接提问时,可遵循以下原则:

  • 简洁:尽量用最简短的方式表达问题。过于冗长的问题可能包含多余的信息,导致模型理解错误或答非所问。
  • 具体:避免抽象的问题,确保问题是具体的,不含糊。
  • 详细上下文:如果问题涉及特定上下文或背景信息,要提供足够的详情以帮助模型理解,即使是直接提问也不例外。
  • 避免歧义:如果一个词或短语可能有多重含义,要么明确其含义,要么重新表述以消除歧义。
  • 逻辑清晰:问题应逻辑连贯,避免出现逻辑上的混淆或矛盾,这样才能促使模型提供有意义的回答。

 

为大语言模型提供如下不同的提示词,得到的答案质量会有明显差距。

不好的提示词提示词:苹果好看吗?
输出:不好意思,我不清楚你所指的“苹果”具体指的是什么,水果还是电子设备。
好的提示词提示词:这批红色的苹果水果外观怎么样,新鲜吗?
输出:新鲜。

 

然而,大语言模型给出的答案有时候也不是固定的,直接提问效果在很大程度上取决于所使用的模型的理解能力和泛化能力,它无法很好地处理复杂、模糊或多义性的问题,当需要较深入的背景知识或分析时,可能无法准确了解用户的真正意图。我们可以尝试在提示词中增加示例样本、分配角色、提示写作风格/输出格式或构建思维链和思维树拆解复杂任务等方式解决。

 

2.2 增加示例

在提示词中提供少量(通常几个或几十个)示例,也称为少样本提示(Few-Shot Prompting),以帮助模型更好地理解任务要求和期望输出。比如:

  • 让 LLM 跟随我们所要求的规范、格式、概念、文法、语气进行输出。
  • 提供进一步推理的参考,比如让大模型学会数学运算或按照示例方式进行逻辑推理。

 

以下示例中,我们分别在提示词中增加示例和不增加示例,就会得到以下不同的答案。

未增加示例提示词:任务:请根据以下电影评论,判断其情感评价(正面、负面或中性)。待分类评论:这部电影音乐动人,但剧情略显平淡。
输出:情感评价:中性
增加示例提示词:要求:请根据以下电影评论,判断其情感评价(正面、负面或中性)。示例1:这部电影剧情引人入胜,但特效炸裂。情感评价:正面示例2:虽然这部电影剧情单调,但特效却非常炸裂。情感评价:负面+正面示例3:这部电影不好不坏。情感评价:中性待分类评论:这部电影音乐动人,但剧情略显平淡。
输出:情感评价:正面+负面解释:评论中提到“音乐动人”属于正面评价,表明了对电影音乐部分的喜爱和赞赏。然而,紧接着的“但剧情略显平淡”则为负面评价,表达了对电影剧情的不满或失望。因此,整体评价是正面和负面情感的混合。

在英文缩写比较多的专业技术文档翻译场景,我们可以尽可能地为 LLM 提供一些缩写的翻译示例,然后再让 LLM 完成后续的翻译工作:

值得一提的是,这种方式比较适合翻译量不大,且示例的数量可穷举的场景,可以轻量、快速地完成翻译工作。但是当需要成千上万的专业术语词条示例辅助翻译的场景,这种方式就不够了,也不够方便,我们可以让大语言模型接入专业的术语库,来增强大语言模型的能力,也即检索增强生成(Retrieval-Augmented Generation),简称RAG,我们在后续课程会展开讲解。

 

示例的质量和数量会直接影响回答的结果,增加示例时可参考以下技巧

  • 精选代表性样本:选择具有代表性的示例,覆盖任务的各种情况,同时避免使用可能引起模型混淆的极端或边缘案例,确保模型能从有限的数据中学习到任务的核心特征。
  • 保证示例的多样性:尽可能覆盖任务的各种角度和情境,确保模型能从有限的数据中学习到任务的核心特征。
  • 使用相似的格式和结构:在所有示例中使用相似的提示格式和结构,使模型能够清晰识别输入与输出的关系。
  • 让大语言模型生成示例:实践时,我们还可以先让 LLM 按照提示生成一些示例,再进行筛选或人工调整,以提高示例质量和针对性。

 

2.3 分配角色

赋予模型一个具体的角色或身份,如“作为经验丰富的营养师”,来引导模型在特定角色视角下生成回答。

分配角色适用以下场景:

  • 需要专业知识或特定视角的问题解答。例如,模拟老师、医生、律师等回答相关领域的问题。
  • 模拟特定人物或角色的语言风格。例如,模仿某个著名人物(如历史人物或文学角色)语言风格的文本时。
  • 进行角色扮演游戏或创作。在创意写作或角色扮演游戏中扮演指定的角色,与使用者进行互动。
  • 在特定行业内进行决策模拟。例如,模拟一个管理咨询师来分析商业案例或提供商业建议。

 

下面的例子中,让大语言模型分别扮演酒店评论家和小学生,来执行“酒店评价”的任务,从而得到不同风格的答案。

未增加角色提示词:请对刚入住的酒店进行评价。
输出:刚入住的这家酒店给我留下了深刻的印象,整体体验非常满意。
增加A角色提示词:你是一名酒店评论家,请对刚入住的酒店进行评价。
输出:我对刚入住的这家酒店进行了全方位的考察与体验,现就其各项服务与设施作出如下评价:位置与周边环境:该酒店位于城市中心地带...建筑与设计:酒店建筑风格独特,融合了...服务质量:酒店员工专业素养极高,从接待到...餐饮设施:酒店内设有多家风格各异的餐厅...休闲与健身设施:酒店配备完善的休闲与健身...环保与社会责任:酒店在运营过程中展现出...综上所述,这家酒店凭借其优越的地理位置、独具匠心的设计、卓越的服务质量、丰富的餐饮选择、完善的休闲设施以及对环保与社会责任的积极践行,为宾客打造了一处兼具舒适性、便利性与文化内涵的高品质下榻之所。无论是商务出行还是休闲度假,这里无疑都是理想的选择,我对此给予高度评价。
增加B角色提示词:你是一名刚上小学的学生,请对训练营入住的酒店进行评价。
输出:嗨,我是刚上小学的小朋友,参加了这个训练营,现在我要来分享一下我住的酒店怎么样!房间超酷!:哇哦,我的房间就像一个小城堡!...好吃的食物:酒店的饭菜超级好吃!...好玩的地方:酒店里有个大大的游戏室...友好的叔叔阿姨:酒店的叔叔阿姨们都对我很好...安全又干净:酒店到处都很干净,地板亮晶晶的...总的来说,我非常喜欢这个训练营入住的酒店,它像一个充满乐趣的大乐园,让我在学习之余还能尽情玩耍,享受到家一般的温馨和舒适。如果下次还有训练营,我一定还想再来这里住!

 

分配角色引导模型生成符合特定情境和对话逻辑的内容,可遵循以下技巧:

  • 明确角色身份与特性
    • 确定角色的基本属性,如年龄、性别、职业、性格、技能、价值观等。
    • 赋予角色相关领域的专业知识或特殊背景,如专家、学者、历史人物、虚构角色等。
  • 设定角色目标与动机
    • 为角色设定对话的目标,如寻求信息、说服他人、解决问题、分享观点等。
    • 揭示角色的内在动机,如个人利益、道德信念、情感需求等,有助于塑造角色的真实性和深度。
  • 设定角色语言风格:
    • 根据角色性格、教育水平、文化背景等设定其语言习惯、用词选择、句式结构、口头禅等。
    • 规定角色在对话中的情绪状态,如冷静理智、激动愤怒、悲伤失落、幽默风趣等,影响其表达方式。
  • 设定角色规则约束:规定角色在对话中的行为约束,如不得人身攻击、保持礼貌尊重、遵守讨论主题等。
  • 动态调整角色设定:
    • 随着对话深入,适时调整角色设定以适应新的情境和话题,如角色态度转变、关系演变、目标更新等。
    • 向模型反馈角色表现,如偏离设定、缺乏个性、对话僵化等,及时修正角色设定并引导模型调整。

 

2.4 限定输出风格/格式

大语言模型非常善于撰写论文、文章等内容,不过如果我们仅仅简单地告诉大语言模型一些宽泛的提示,比如:

提示词:写一篇关于桥的文章
输出:桥是一种用来跨越障碍的大型构造物,一般会指架设在江河湖海上,使车辆行人等能顺利通行的构筑物。桥梁主要由桥跨结构、墩台、基础三大部分组成,桥跨结构也称上部结构包括承重结构及桥面系,墩台也叫下部结构包括桥墩、桥台等,基础主要是指桩基础。

大语言模型有可能会生成枯燥、平淡、空洞的内容,这些内容往往与我们期望的结果有较大的出入。

我们可以在提示词中增加“风格”的限定,比如当我们明确需要大语言模型帮我们写一篇幽默的简短小说,就可以尝试将上面的提示词改写为如下形式:

提示词:写一篇关于桥的短篇小说,要求叙事风格诙谐幽默
输出:【桥的另类日记】在这个名为“平凡镇”的小镇上,有一座并不怎么平凡的桥,名叫“哈欠桥”。别误会,它并不爱打哈欠,只是建成之日,镇长在揭幕仪式上打了个大大的哈欠,从此这名字就像粘了强力胶,甩都甩不掉。哈欠桥自述:“我今年102岁了,按照桥的年龄来说,正值壮年。每天看着小镇的人来人往,我就跟个八卦中心似的,什么秘密都逃不过我的‘桥眼’。”......

 

为了更好的限定“风格”,准确引导模型写出符合需求的内容,下面我们介绍一些推荐的技巧:

  1. 明确指出所需的内容类型,如“论文/散文/诗歌/新闻报道/剧本/日记”等。
  2. 用形容词限定风格,如“严谨客观”、“感性抒情”、“幽默诙谐”、“庄重典雅”等。
  3. 列举风格(代表人物/作品)示例,如“仿照鲁迅先生的笔触描述社会现象”或“以J.K.罗琳的叙述风格撰写一段奇幻冒险故事”。
  4. 设定语境与情感色彩:为模型设定故事背景、情感基调或角色视角,影响其语言表达和修辞选择,从而形成特定风格。如“以一名二战老兵的视角,深情回忆战场经历”。
  5. 规定语言与句式特点:要求使用特定词汇、短语、成语、俚语、古语等,或强调长句、短句、排比、反问、比喻等修辞手法的运用,以契合特定风格。

 

我们还可以进一步对内容的输出格式进行限定:

  1. 明确输出长度:如“撰写一篇关于全球气候变化的新闻报道,标题需简洁明快,概括主题,不超过300字”。
  2. 段落结构:规定正文的段落数量、每段的大致内容与逻辑关系,如“文章分为引言、主体(分三点论述)和结论三部分”。
  3. 列表与编号:要求使用项目符号、数字编号等形式列出要点或步骤,如“通过数字编号列出五种有效的时间管理方法,并简要解释”。
  4. 引用与注释:指示何时使用引号、脚注、尾注、参考文献等格式引用他人观点或资料,如“在论述中适当引用至少两篇相关学术论文,并按照APA格式添加引用和参考文献”。
  5. 格式标记:如对齐方式(左对齐、居中、右对齐)、字体样式(加粗、斜体、下划线)、缩进、行距、页眉页脚等进行详细说明,甚至可以要求大模型按照JSON格式输出。
  6. 特殊要求:针对特定场景,如邮件、信函、通知、海报、简历等,规定相应的格式标准,如“按照商务电子邮件的标准格式撰写邀请函,包括收件人、抄送人、主题、问候语、正文、结束语、签名档等部分”。

 

当然,我们还可以让大语言模型帮助我们生成限定内容风格和格式的提示词:

 

2.5 拆解复杂任务

把一个复杂的任务,拆解成多个稍微简单的任务,让大语言模型分步来思考问题,称为思维链(Chain-of-Thought Prompting, CoT)提示,这种方式可让大语言模型像人类一样逐步解释或进行推理,从而极大地提升 LLM 的能力。与前面介绍的标准提示不同,该方法不仅寻求答案,还要求模型解释其得出答案的步骤。

下图展示了标准提示与思维链提示的对比。

标准提示提示词:小明有20个苹果,吃了两个,又买了5个,小明现在一共有多少苹果?
输出:27
【思维链提示】提示词:小明有20个苹果,吃了两个,又买了5个,小明现在一共有多少苹果,通过思维链CoT的方式来分析。
输出:初始小明最初有20个苹果。小明吃了2个苹果后,他剩下20−2=18个苹果。接着,小明又买了5个苹果,所以他现在的苹果数量是 18+5=23个苹果。因此,通过这个思维链的分析,我们可以得出结论:小明现在一共有23个苹果。

标准提示只给出了答案,而且答案明显是错误的,而思维链提示会展开推理过程,通常通过思维链提示的方式会产生更为准确和可校验的结果。

 

上面思维链提示中没有给 LLM 提供问题解析示例,所以也可以称为零样本思维链(Zero-shot CoT),相对应地在增加了示例后就变成了少样本思维链(Few-shot Cot)。

零样本思维链 Zero-shot CoT提示词:小宝有三盒糖果,每盒糖果有10颗糖,小宝一共有多少颗糖果?答案:给出逐步思考过程
输出:小宝有三盒糖果,每盒糖果有10颗,那么他一共有的糖果数量就是: 3盒 × 10颗/盒 = 30颗答案:小宝一共有30颗糖果。
少样本思维链 Few-shot CoT提示词:问题:小宝有三盒糖果,每盒糖果有10颗糖,小宝一共有多少颗糖果?答案:小宝有三盒糖果,每盒糖果有10颗,那么他一共有的糖果数量就是: 3盒 × 10颗/盒 = 30颗,小宝一共有30颗糖果。问题:小明有20个苹果,吃了2个苹果,又买了5个苹果,小明一共有多少颗苹果?答案:给出逐步思考过程
输出:小明原本有20个苹果,吃了2个,所以剩下:20个 - 2个 = 18个接着他又买了5个苹果,那么他现在总共有:18个 + 5个 = 23个答案:小明一共有23个苹果。

 

有时 LLM 通过零样本思维链可能会得到错误的答案,可以通过增加示例的方式,即少样本思维链,帮助 LLM 理解相关任务并正确执行,如下面的例子中,明显在使用零样本思维链来分析问题后还是获得了错误的答案:

 

 

下面的改进例子中,我们尝试给 LLM 更多相似问题的分析示例后,LLM 可以给出更为精简且正确的答案:

 

3. 提示词框架


3.1 提示词框架的概念

前面的学习中,我们知道了编写提示词的基础原则包括:简单、明确、详细,也学习了零样本提示、少样本提示、分配角色、提示写作风格、限定输出格式等技巧,这里我们将重新审视一个提示词是如何构成的,实际上提示词可以包含以下任意要素:

指令 Instruction:需要模型去做什么,如回答某个问题、撰写某种类型的文章或按照特定格式进行总结。指令应该简洁、明确,确保 LLM 能够理解任务的目标和要求。

背景信息 Context:背景信息可以包括任务的背景、目的相关的各类信息,还可以为 LLM 设置角色背景、观点立场等信息,LLM 将在此背景下进行回应或生成文本。

参考样本 Examples:与解决用户问题相关的示例,比如通过少样本提示的方式帮助 LLM 更好理解如何处理指令。

输入数据 Input Data:用户输入指令和要求,比如用什么语气,生成多少字的内容。

输出指示 Output Indicator:指定输出的类型或格式,我们可以给出限定关键词、限制条件或要求的输出格式/方式(如表格),也可以避免无关或不期望的信息出现。

 

结合上述要素,我们可以根据任务的复杂度来设计提示词,具体有以下几种情况:

  1. 纯指令型:最直接的互动方式,仅通过简明指令向模型提出需求,适合于寻求快速、基本答案的场景。
  2. 背景+指令:在指令基础上融入背景信息,为模型创造一个理解和响应任务的框架,尤其适用于需要考虑特定情境或角色定位的任务。
  3. 指令/背景+输出指示:在基础指令或背景信息之上,加入输出指示,精确指导模型如何组织和呈现答案,以满足特定的格式或风格要求。
  4. 综合型提示:结合指令、背景信息、输入数据与输出指示,形成一个全方位的引导体系。这种复合型提示尤为强大,能够在复杂任务中提高模型输出的针对性与质量,尤其是在模型需要从示例中学习并模仿特定风格或结构时。

 

3.2 提示词框架示例

下面是一个包含了“背景信息”+“指令”+“输出指示”的提示词示例:

提示词:背景知识:“阿里云弹性容器实例 ECI(Elastic Container Instance)是敏捷安全的Serverless容器运行服务。您无需管理底层服务器,也无需关心运行过程中的容量规划,只需要提供打包好的Docker镜像,即可运行容器,并仅为容器实际运行消耗的资源付费。”请参考如上背景知识回答如下问题:问题:阿里云弹性容器实例 ECI 是用来运行什么的?回答:分别使用中文和英文回答
输出:中文回答:阿里云弹性容器实例 ECI 是用来运行 Docker 容器的。英文回答:Alibaba Cloud Elastic Container Instance (ECI) is used to run Docker containers.

我们来拆解下这个示例:

背景信息:【背景知识:“阿里云...资源付费”】

指令:【请参考如上背景知识回答如下问题】

输入数据:【问题:阿里云弹性容器实例 ECI 是用来运行什么的?】

输出指示:【回答:分别使用中文和英文回答】

这个例子是为了更好的展示提示词的关键要素,一般来说,我们在熟练掌握提示词的使用技巧后,不会如此显性机械的使用这种格式,比如我们可以改写如上的例子并向大语言模型提问:

这个例子中我们给出了上下文信息、指令、以及要求的输出形式(中英文),它们没有像前面例子中显性的存在,这种方式对于 LLM 来说往往也可以很好的理解并执行任务。

 

如果你希望让大模型完成相对复杂的任务可以通过以下方式进行处理:

  1. 将处理问题所需要的各种信息抽象为“提示词要素”
  2. 将处理问题的方法变为提示词模版
  3. 再通过程序批量调用大模型,实现批量生成
提示词示例:## 任务目标:[如“分析电影主题”] ## 任务背景:[如受众、场景、]## 你的角色:[如影评人] ## 输出要求:[如“字数1500”] ## 分析方法:[“心理学理论应用”] ## 写作逻辑   [1.识别核心冲突]   [2. 关联学术理论与剧情]   [3. 总结导演意图] ## 参考案例:[示例或其他参考资料]
示例对话:

 

3.3 常见提示词框架及场景

以上章节讲解了提示词框架,掌握提示词框架,可以用更精准、高效的指令来使用大模型。以下有几种常见的提示词框架,适用于不同的业务领域,供大家参考,你可以根据自己的业务需要来设计提示词。

框架 具体应用领域(举例子) 内容含义
CRISPE 项目管理、团队协作、客户服务 能力 (Capabilities)角色 (Roles)洞察 (Insights)陈述 (Statement)个性 (Personality)实验 (Experiment)
ROSES 软件开发、产品设计、市场营销策略规划 角色 (Role)目标 (Objective)场景 (Setting)预期解决方案 (Expected Solution)步骤 (Steps)
TRACE 市场研究、业务分析、教学设计 任务 (Task)请求 (Request)操作 (Action)上下文 (Context)示例 (Examples)

 

 

4. 推理模型


前面所讲的提示词技巧和提示词框架可以广泛适用于通用大模型(如Qwen2.5-max、GPT-4、DeepSeek-V3),这类模型面向通用对话、知识问答、文本生成等广泛的场景。除了通用大模型,目前还有一类专门为“推理”设计的模型——推理模型。

4.1 什么是推理模型?

推理模型通常指专门优化用于逻辑推理、问题解决、多步推断等任务的模型(如DeepSeek-R1、o1),它们通常在数学解题、代码生成、逻辑分析等方面有更好的表现。

与通用模型相比,推理模型拥有更强的逻辑能力,因为它经过了大量的专项训练,能够更好地理解复杂的问题,并且在解答时更有条理。但并不是说就一定比通用模型更好,两种模型都有各自的应用场景,下表从一些典型维度对这两类模型进行了对比:

维度 推理模型 通用模型
设计目标 专注于逻辑推理、多步问题求解、数学计算等需要深度分析的任务 面向通用对话、知识问答、文本生成等广泛场景
训练数据侧重 大量数学题解、代码逻辑、科学推理数据集增强推理能力 覆盖百科、文学、对话等多领域海量数据
典型输出特征 输出包含完整推导步骤,注重逻辑链条的完整性 输出简洁直接,侧重结果的自然语言表达
响应速度 复杂推理任务响应较慢(需多步计算) 常规任务响应更快(单步生成为主)

你可以通过如下方式体验推理模型:

 

推理模型还是通用模型?如何选择?以下是一些推荐:

  • 明确的通用任务:对于明确定义的问题,通用模型一般能够很好地处理。
  • 复杂任务:对于非常复杂的任务,且需要给出相对更精确和可靠的答案,推荐使用推理模型。这些任务可能有:
    • 模糊的任务:任务相关信息很少,你无法提供模型相对明确的指引。
    • 大海捞针:传递大量非结构化数据,提取最相关的信息或寻找关联/差别。
    • 调试和改进代码:需要审查并进一步调试、改进大量代码。
  • 速度和成本:一般来说推理模型的推理时间较长,如果你对于时间和成本敏感,且任务复杂度不高,通用模型可能是更好的选择。

当然你还可以在你的应用中结合使用两种模型:使用推理模型完成Agent的规划和决策,使用通用模型完成任务执行。

 

4.2 如何有效地提示推理模型?

推理模型在面对相对模糊的任务也能给出详尽且格式良好的响应。因此,使用本节前面提到的一些提示词技巧(如指示模型“逐步思考”)可能反而限制了模型的推理。下面列举了一些适用于推理模型的提示技巧:

  • 直接提问:保持提示简洁、清晰,且明确任务限制。
  • 避免思维链提示:你无需提示推理模型“逐步思考”或“解释你的推理”,它们本身会进行深入的思考。
  • 根据模型响应调整提示词:直接提问推理模型通常能够产生良好的响应,但如果你有更复杂精细的要求,可以在提示词中明确,比如有明确的输入信息和输出要求时,你可以通过增加示例明确这些信息,还可以通过分隔符帮助推理模型区分不同的信息模块。这个过程可以是重复多次的,不断尝试调整提示,让模型不断推理迭代,直到符合你的要求。

 

5. 延伸拓展


尽管优化提示词是提高大语言模型回答质量的有效手段,但由于大模型的泛化、认知局限、预训练数据可能包含偏见、不能做出响应等局限,即使是最精心设计的提示词,也可能无法引导模型提供完全准确或全面的答案,特别是在面对复杂或未见先例的问题时。在后面的学习中,我们将了解一些解决上述问题的技术手段,如 RAG、微调等。

 

本节小结


在本小节中,我们探讨了如何优化提示词来提升大模型的回答质量。提示词是人与模型沟通的桥梁,就像与人沟通一样,输入给大模型的提示词也需要清晰、具体、明确。同时,我们可以通过直接提问(零样本提示)、增加示例(少样本提示)、分配角色、通过思维链或思维树拆解复杂任务等方式来优化提示,尽可能发挥大模型强大的作用,使其输出更符合用户意图的回答。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论