【大模型基础_毛玉仁】3.4 Prompt 技巧

news2025/3/30 21:14:42

目录

    • 3.4 Prompt 技巧
      • 3.4.1 规范Prompt 编写
        • 1)任务说明要明确
        • 2)上下文丰富且清晰
        • 3)输出格式要规范
        • 4)排版要清晰
      • 3.4.2 合理归纳提问
        • 1)复杂问题拆解
        • 2)追问
      • 3.4.3 适时使用CoT
        • 1)何时使用CoT
        • 2)灵活使用CoT
      • 3.4.4 善用心理暗示


3.4 Prompt 技巧

基于上下文学习和思维链等Prompt工程技术,进一步提升大语言模型生成质量的Prompt技巧,包括合理归纳提问、适时运用思维链(CoT)、巧妙运用心理暗示等。应用这些技巧可引导模型生成更精准、符合预期的内容,提升其在实际应用中的表现。

.

3.4.1 规范Prompt 编写

经典的Prompt 通常由任务说明,问题,上下文,输出格式等部分中的一个或几个组成。

图3.16: 经典的Prompt示例
在这里插入图片描述

1)任务说明要明确

明确的任务说明是构建有效Prompt的关键要素之一。一个清晰、具体的任务说明能够确保模型准确理解任务要求,并产生符合预期的输出。

为确保任务说明的明确性,需做到以下几点:

  • 使用明确的动词,如“判断”、“分类”、“生成”等,避免模糊动词;

  • 使用具体的名词定义任务输出或目标,如情感分类中的“积极”和“消极”;

  • 任务说明应简洁明了,避免冗长复杂;

  • 结构化布局,将任务说明置于较长Prompt的开头和结尾,以突出关键信息。

2)上下文丰富且清晰

在Prompt设计中,上下文对模型回答的准确性至关重要。

  • 一是上下文的丰富性,其内容的多样性和相关性能够提升模型的理解和回答准确率,可以包括与问题直接相关的背景信息、具体的演示示例,或是对话的连续性内容。

  • 二是上下文的清晰性,要求上下文信息必须与问题紧密相关,避免包含冗余或不必要的信息,直接指向任务的核心,减少模型在处理信息时的混淆和误解。

3)输出格式要规范

规范的输出格式对模型输出的可用性和准确性至关重要。指定明确的输出格式可使其结构化,便于下游任务提取和使用内容。常用格式有JSON、XML、HTML、Markdown、CSV等,各具用途和优势。

为确保输出格式的规范性,有以下措施:

  • 明确指定输出格式:在Prompt中指出模型应使用的格式,如“请以JSON格式返回结果”,并选择广泛接受且易于处理的格式(如JSON、CSV),便于解析和数据交换。

  • 提供输出格式示例:在Prompt中给出具体示例,如在JSON中明确关键字,帮助模型理解预期的输出结构。

4)排版要清晰

清晰的排版对模型理解Prompt至关重要,能助其准确捕捉任务关键信息,提高执行准确性和效率。复杂排版易致信息模糊,影响输出质量。清晰排版需使用合适分隔符和格式化技巧,明确区分Prompt各部分。

为了确保Prompt的排版清晰,有以下措施:

  • 使用一致的分隔符:选一种或几种分隔符(如“#”、“###”、“—”等)区分Prompt不同部分。

  • 合理使用空白和缩进:增加空白行和适当缩进,增强可读性,帮助模型区分内容块。

  • 清晰的标题和子标题:为每个部分提供清晰的标题或子标题,使模型快速识别主题。

.

3.4.2 合理归纳提问

在与大语言模型交互时,提问质量影响信息获取的效率和深度。精心设计的提问能明确需求,引导模型聚焦问题核心,获得精准且有价值的答案。

本节介绍“合理归纳提问”以提升交互质量,重点讲解“复杂问题拆解”和“追问”两个高级策略。它们能帮助理解问题本质,提高获取信息和解决问题的效率,使模型输出更准确全面,满足需求。

1)复杂问题拆解

在处理复杂问题时,我们可以将问题分解为更小、更易于理解的子问题,并逐一解决

这一过程包括两个关键步骤:分步引导和归纳总结。

  • 分步引导:把复杂问题细化为多个子问题,引导模型逐一深入分析和回答,确保每个子问题得到详尽解答,为归纳总结奠定基础。

  • 归纳总结:汇总各子问题答案,综合形成全面回答,把握问题各方面,确保最终答案准确完整。

2)追问

在对话中,用户通过追问可使大语言模型输出更符合心意。这种交互能加深理解、丰富讨论,更精准地表达用户想法,指导模型输出更贴近需求。

追问依形式和目的分为三种:深入追问、扩展追问、反馈追问。

  • 深入追问:用户根据模型输出继续发问,挖掘特定话题的深层信息,适用于需要详尽解释的场景,引导模型提供更细致深入的信息,加深对特定领域的理解。

  • 扩展追问:在模型回答基础上,要求提供更多相关信息或例子,拓宽讨论广度,收集更多数据、例证或选项,帮助用户获得更广泛的视角,增加对话题的理解,适用于需要全面了解主题的场景。

  • 反馈追问:当模型输出不符合预期或存在错误时,用户提供反馈,指出问题并请求更正或澄清,通过反馈机制提升模型准确性,确保信息正确性,提高对话质量。

.

3.4.3 适时使用CoT

1)何时使用CoT

使用CoT需综合考虑任务类别、模型规模和模型能力:

  • 任务类别:CoT适用于算术、常识和符号推理等复杂推理任务,能引导模型生成中间推理步骤,提升正确率。但对于情感分类、常识问答等简单问题,标准提示方法已足够,使用CoT可能适得其反。

  • 模型规模:CoT在参数量超千亿的巨型模型上效果显著,如PaLM和GPT-3。但在小模型上可能生成逻辑不连贯的思维链,甚至不如标准提示方法。

  • 模型能力:未进行推理指令微调的模型(如早期GPT-3、LLaMA2-13B-Base等),CoT提示可激发其推理能力;而已微调的模型(如ChatGPT、GPT-4、LLaMA2-13B-Chat等)即使无CoT指令,也能生成清晰推理步骤,有时无CoT指令反而性能更佳,可能因已内化CoT指令。

2)灵活使用CoT

灵活使用CoT需根据任务需求和模型特性调整其使用方式,主要体现在调整详细程度和使用不同形式:

调整详细程度

  • 根据用户需求指定CoT输出的详细程度。简单计算问题可直接给出结果,复杂推理问题需通过样例引导展示完整推理步骤。

使用不同形式

  • Zero-Shot CoT和Auto CoT:在无需特定领域知识、仅需逻辑推理和逐步分析的任务中,通过“让我们一步一步思考”这种提示词引导模型以CoT形式回答。

  • Self-Consistency:处理需高准确度和可靠性的任务时,要求模型生成多个回答并筛选出一致性最强的答案,如编写代码时确保逻辑一致。

  • ToT和GoT:对于包含创意思维的任务,利用ToT和GoT在多个思维路径中探索和选择,如创作故事时选取最有趣或合理的情节发展方向。

.

3.4.4 善用心理暗示

在硅谷,有句创业金句“Fake it till you make it”(假装它直到你成功)。含义是先吹嘘想法吸引资本和人才,再努力实现目标。它源于积极心理暗示方法,即通过模仿自信乐观,可在生活中实现这些品质。积极心理暗示也可用于激发大语言模型潜力,可通过角色扮演和情景代入传达给模型。

角色扮演

  • 通过Prompt指导大语言模型扮演特定角色如数据科学家、诗人、律师等),可显著改善其与角色相关的技能。在指令中包含具体属性、职责、知识和技能等信息,能引导模型输出更准确、更高质量的回答

情景代入

  • 将大语言模型置于特定的“情景”或“环境”中,可影响其生成的文本内容和风格。情景代入是将特定情境下的专业知识、历史背景等信息嵌入到模型的响应中,使其能够深入理解并反映特定情境下的文化社会背景与现实环境,从而生成更加丰富和有深度的回答。

.


其他参考:【大模型基础_毛玉仁】系列文章


声明:资源可能存在第三方来源,若有侵权请联系删除!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2322816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索PyMOL新插件NRGSuite-Qt:全面提升分子对接、结合位点预测与动力学模拟的研究效率

随着分子建模和计算生物学的快速发展,分子对接(Molecular Docking)、结合位点预测、相互作用分析以及动力学研究等领域的工具越来越重要。这些工具不仅帮助研究人员理解分子间的相互作用机制,还能加速药物设计和优化过程。NRGSuit…

wokwi arduino mega 2560 - 键盘与LCD显示

截图&#xff1a; 链接&#xff1a; https://wokwi.com/projects/414520193913760769 代码&#xff1a; //cslg lcd key #include <LiquidCrystal.h> // 引入LiquidCrystal库&#xff0c;用于LCD显示 #include <Keypad.h> // 引入Keypad库&#xff0c;用于键盘输…

Linux设置SSH免密码密钥登录

文章目录 设置SSH免密码密钥登录第一步&#xff1a; 生成SSH密钥对&#xff08;在客户端操作&#xff09;方式一&#xff1a;Windows 10/11 内置的 OpenSSH 客户端&#xff08;推荐&#xff09;常用选项&#xff1a;密钥算法选择建议生成秘钥 方式二&#xff1a;借用Xshell工具…

深度剖析HTTP协议—GET/PUT请求方法的使用-构造请求的方法

活动发起人小虚竹 想对你说&#xff1a; 这是一个以写作博客为目的的创作活动&#xff0c;旨在鼓励大学生博主们挖掘自己的创作潜能&#xff0c;展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴&#xff0c;那么&#xff0c;快来参加吧&#xff01…

GPU算力哪家好?GpuGeek推出高性能GPU云服务

在人工智能和深度学习领域&#xff0c;GPU算力租赁已成为推动技术创新的关键因素。随着越来越多的企业和个人开发者投身于AI研究和应用开发&#xff0c;如何高效、灵活地获取GPU算力成为了一个亟待解决的问题。GpuGeek作为一站式AI基础设施平台&#xff0c;凭借其独特的优势&am…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.1.3前馈网络(FFN)与激活函数(GELU)优化

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 2.1.3 前馈网络(FFN)与激活函数(GELU)优化1. 前馈网络(FFN)的架构设计与数学原理1.1 FFN在Transformer中的核心作用2. GELU激活函数的数学特性与优化2.1 GELU的数学形式与近似计算3. 逐行代码实现…

组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态、组态软件、组态编辑器)

一、什么是组态软件 组态软件是一种用于创建、配置和管理监控和控制系统的软件工具。组态是指不需要编写计算机程序、通过配置的方式完成工业应用开发的系统。它们通常用于工业自动化领域&#xff0c;用于实时监视和控制工业过程。组态软件提供了丰富的功能和工具&#xff0c;使…

《Linux运维实战:Ubuntu 22.04使用pam_faillock实现登录失败处理策略》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;Linux运维实战总结 一、背景信息 在ubuntu 22.04中&#xff0c;pam_tally2模块已被弃用&#xff0c;取而代之的是pam_faillock模块。因此&#xf…

AI Agent开发大全第八课-Stable Diffusion 3的本地安装全步骤

前言 就像我们前面几课所述,本系列是一门体系化的教学,它不像网上很多个别存在的单篇博客走“吃快餐”模式,而是从扎实的基础来带领大家一步步迈向AI开发高手。所以我们的AI课程设置是相当全面的,除了有牢固的基础知识外还有外面互联网上也搜不到的生产级实战。 前面讲过…

【NLP 44、实践 ⑪ 用Bert模型结构实现自回归语言模型的训练】

目录 数据文件 一、模型定义 1.模型初始化 代码运行流程 2.前向传播&#xff0c;计算损失 ⭐ 代码运行流程 二、加载语料 代码运行流程 三、 随机生成样本 代码运行流程 四、建立模型 五、采样策略选择 代码运行流程 六、模型效果测试 代码运行流程 七、模型训练 代码运行流程 …

微信小程序如何接入直播功能

一、小程序直播开通背景 1.政府资质要求 政府的要求&#xff0c;小程序开通直播需要注册主体具备互联网直播的资质&#xff0c;普通企业需要《信息网络传播视听节目许可证》&#xff0c;表演性质的直播需要《网络文化经营许可证》&#xff0c;政府主体需要《社会信用代码》及…

基于Spring Boot的停车场管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

慧通测控汽车智能座舱测试技术

一、引言 随着科技的飞速发展&#xff0c;汽车正从单纯的交通工具向智能化移动空间转变。智能座舱作为这一转变的核心体现&#xff0c;融合了多种先进技术&#xff0c;为用户带来前所未有的驾驶体验。从简单的信息娱乐系统到高度集成的人机交互、智能驾驶辅助以及车辆状态监测…

kettle插件-rabbitmq插件

场景&#xff1a;kettle本身可以直接链接rabbitmq&#xff0c;但是需要配置rabbitmq开启mqtt协议&#xff0c;本次讲解下自定义开发组件RabbitMQ consumer&#xff0c;无需开启mqtt协议即可使用。 1、docker 安装rabbitmq 1&#xff09;下载镜像 docker pull rabbitmq 2&…

为Windows10的WSL Ubuntu启动sshd服务并使用Trae远程连接

Windows10的WSL Ubuntu&#xff0c;使用起来非常方便&#xff0c;但是美中不足的是&#xff0c;无法从Windows主机ssh到Ubuntu 。 解决的方法是在Ubuntu安装sshd服务 Ubuntu安装sshd服务 执行命令 sudo apt install openssh-server 安装好后&#xff0c;先本地测试&#x…

【C#.NET】VS2022创建Web API项目

C# Web API 是一种基于 .NET 平台&#xff08;包括但不限于.NET Framework 和 .NET Core&#xff09;构建 HTTP 服务的框架&#xff0c;用于创建 RESTful Web 服务。REST&#xff08;Representational State Transfer&#xff09;是一种软件架构风格&#xff0c;它利用HTTP协议…

体育直播系统趣猜功能开发技术实现方案

功能概述 趣猜功能是“东莞梦幻网络科技”体育直播系统源码中的互动功能&#xff0c;主播可以发起竞猜题目&#xff0c;观众使用虚拟货币进行投注&#xff0c;增加直播间的互动性和趣味性。所有货币均为虚拟货币&#xff0c;通过系统活动获取&#xff0c;不可充值提现。 数据…

33.[前端开发-JavaScript基础]Day10-常见事件-鼠标事件-键盘事件-定时器-案例

1 window定时器 window定时器方法 setTimeout的使用 setInterval的使用 2 轮播消息提示 案例实战一 – 轮播消息提示 3 关闭隐藏消息 案例实战二 – 关闭隐藏消息 4 侧边栏展示 案例实战三 – 侧边栏展示 5 tab切换实现 案例实战四 – 登录框&#xff08;作业&#xff09;…

C# 多标签浏览器 谷歌内核Csharp

采用框架 &#xff1a;FBrowserCEF3lib 视频演示&#xff1a;点我直达 成品下载&#xff1a; https://wwms.lanzouo.com/iYOd42rl8vje

如何从0设计开发一款JS-SDK

一、前言 前端SDK是什么&#xff1f;前端SDK是为了帮助前端实现特定需求&#xff0c;而向开发者暴露的一些JS-API的集合&#xff0c;规范的SDK包括若干API实现、说明文档等 前端SDK其实很常见了&#xff0c;比如&#xff1a; UI组件库&#xff1a;通过封装一系列组件&#xff…