ChatGPT Prompt 提示词设计技巧必知必会
本文内容整理自图灵社区直播《朱立成:ChatGPT Prompt提示词技巧必知必会》。
朱立成,图灵社区《ChatGPT即学即用》视频课程作者,软件工程师,对新事物充满好奇,关注ChatGPT应用。
2001年毕业于浙江大学,从事软件开发,参与或主持开发过PC外设驱动程序、数字法庭系统、电商平台等项目,有过创业经历,参与公司运营和管理。
在使用ChatGPT进行交互式对话时,设计一个好的提示词是非常重要的。
我们发送给ChatGPT的内容,称为prompt,中文名称叫提示词,一个优质的提示词可以让ChatGPT更好地理解你的需求,从而生成更符合你期望的结果。
一个优质提示词应该考虑以下几个要点:
1. 扮演的角色,即我们希望ChatGPT扮演的角色。
2. 用户身份,即自己的身份是什么。
3. 背景,这次提问或交谈的背景。
4. 输入数据,与提问或交谈有关的数据。
5. 任务或期望输出,也就是给ChatGPT下达的任务,或者说期望它输出什么结果。
6. 其他约束或特殊要求,我们希望ChatGPT在输出结果时,需要满足的特殊要求。
我们需要考虑以上这些要点,但并不是要包括所有要点。实际上大多数提示词,都只是包含这些要点的一个或者几个。
其中,第 5 点任务或期望输出是必须包含的。我们需要ChatGPT为我们提供帮助或解答问题,当然期望它输出一个结果给我们。
在设计提示词时,我们可以逐一考虑是否要包含上述要点,并根据我们的需求进行选择,从而让ChatGPT更好地理解我们的需求,设计出更符合我们期望结果的提示词。
我们来举一个例子,帮助你更好地理解上述要点。
提示词:
我是一名男性业余钢琴家,今晚要在一场婚礼上演奏,气温为20摄氏度,请帮我做一套形象设计,包括发型和鞋服。
这个提示词包含了2、3、4、5四个关键要点。
我是一个男性钢琴演奏师 – 用户身份
今晚要在一场婚礼上演奏 – 背景
气温为20摄氏度 – 输入数据
请帮我做一套形象设计,包括发型和鞋服– 期望输出
我个人倡导非必要的要点不需要添加,如果输出结果与用户身份无关,就不需要额外添加对于用户身份的说明。
这里加入用户身份,是为了使输出结果更加符合实际情况,加入婚礼的背景说明也是为了使形象设计符合目标场合。加入气温信息,是为了搭配合适的服装。
这里要不要给ChatGPT定义一个角色,假定它的身份是一个形象设计师呢?
不用!
在使用ChatGPT时,我们并不需要给它安排一个角色或头衔,因为这并不会影响到它的表现。即使你不给它安排一个角色,它也能根据提示词为你提供相应的结果。
网上大多数的提示词攻略,倾向于尽量给ChatGPT安排一个角色。例如形象设计师、作家或诗人等,但这并不是必要的。
那什么时候需要给它按头衔呢?
如果你需要模拟一个"两个人"的交互场景,就需要给ChatGPT安排一个头衔,让它扮演某个角色。
无招胜有招
既然我们说ChatGPT是人工智能,那我们就把它当成一个人来和它交互。这就是所谓的无招胜有招。
之所以所说的6个要点,是为了帮助我们设计一个优质提示词。当你理解了这6个要点,并最终找到了和ChatGPT交互的感觉,就可以不用再死记这些要点。
就好比武侠小说里所讲的,你必须先学习招式,把招式练熟并融会贯通,然后才是把招式忘记,做到无招胜有招。
我们来举个例子,如何把ChatGPT当一个人来交互。
假设你周末想去杭州玩,你想要一份旅游攻略,如果你向你的同学求助,是不是大概就是这么一个聊法?
你:这周末想去杭州玩一下,帮我规划一下啊,景点怎么安排,哪里有好吃的
友:好鸭,你什么时候来啊,准备玩几天啊
你:周五晚上到,周日晚上离开杭州
友:你有没有想过哪些特别想去的景点,其他的我帮你推荐一下啊
你:西湖肯定要去的,灵隐寺也想去一下,其他的你帮我推荐
友:你打算住在哪里
你:我打算住友好饭店
友:好的,了解了,我想想啊
……
所以,设计一个旅游攻略需要考虑到的因素,就是玩几天、哪些必玩的景点以及住在哪里。既然这样,那我们在向ChatGPT求助时,也把它当成一个人。把你的需求和必要的信息告诉它,让它帮你设计就可以了。
提示词:
我想去杭州旅游,周五晚上到达杭州,周日晚上6点乘坐高铁离开,我打算住在杭州友好饭店,我想坐一下西湖游船去三潭印月,还想去一下灵隐寺,其他景点请你推荐,请帮我设计一个攻略,包括行程和美食。
我们来看看它的回复:
这份还算马马虎虎的攻略还有改进的空间,但它已经提供了一些具体的建议,可以帮助我们更好地规划本次的旅游路线。
迭代式提问
迭代就是指在开发一个产品,或者解决一个问题的过程中,不追求一次达到完美,而是一轮一轮的推进,直到满意为止。
在使用ChatGPT时,我们可能无法预先给出所有的约束条件或输入条件。当ChatGPT给出的回复不完全符合我们的期望时,我们可以再次向它提出修改要求,通过迭代来获得最终满意的结果。
启发式提问
启发式提问是指,在提出一个灵活度较高的问题时,先通过一些问题打开ChatGPT的思路,再进行正式提问。这样可以启发ChatGPT更好地理解问题,提供更准确的答案。
例如在设计旅游攻略时,我们先让ChatGPT为我们介绍一些有名的景点,并提问它哪些是游人去得比较多的景点?最后我们再切入正题,把最想问的问题抛给它,让它设计旅游攻略。
启发式提问,就是要先打开它的思路,然后再问它问题,这样它给出的答案就会相对比较完美一点。
分解式提问
分解式提问就是当你需要ChatGPT生成一篇很长的内容时,最好把它分解成多个小的任务来分别提问。
比如,我们请ChatGPT帮我们写一篇演讲稿,可以先把题目告诉它,并让它引用一些例子,然后询问它打算将演讲稿分成几个部分来写。
根据它的回答,我们可以逐步让它完成每个部分的写作,并及时纠正有问题的段落,或让它对不够详细的段落进行分解和细化,从而最终得到准确、完整、符合我们需求的演讲稿。
分解式提问的好处在于,可以在正式写之前就检查整体思路是否有问题,写作过程中可以及时纠正错误,还可以发现需要进一步细化的内容,及时让它去进行分解细化。
关于提示词的几个注意点
1. 提出具体且明确的任务或输出
具体且明确的信息有助于 ChatGPT 更好地理解你的意图,并生成更准确和有意义的响应。
一个错误的示范是,请告诉我关于狗的知识。
这个问题没有具体的信息,不清楚要求ChatGPT提供狗的哪些知识,是品种知识还是喂养知识等,这样会让ChatGPT的回答模棱两可。
正确的提问应该是这样:
“请告诉我人类对狗的驯养历史方面的知识”或者“请告诉我金毛犬的生活习性以及喂养方面的知识”。
这样问就比较具体和明确了。
2. 确保输入的上下文清晰明了
比如说我和ChatGPT有一个持续的会话,在这个会话里,我跟它讨论一部正在写作的小说。当我需要它帮我续写一段的时候,就要交代我写到哪里了。
我已经写到了陈凡被疯道人追杀,落入了山崖,挂在一棵树上。请帮我写一段他在树后面发现一个山洞,并在其中获得武林秘籍如来神掌的详细过程,要加入适当的人物心理描写。
这里就把背景交代清楚了,上下文也很清晰。
3. 尽量提供简短、明了的输入
错误范例:
我们领导让我发一封我们公司新款智能手表的营销邮件,还剩1个小时就要下班了,我还没有想好邮件的标题,今天可能又要加班了,本来我还想去看电影的,看来是泡汤了,请你帮我拟定一个标题吧,强调手表的智能功能和优秀的设计。
这个范例使用了无关的关键词和语气,例如“领导”、“加班”、“电影”。这些关键词会干扰ChatGPT对我们真实意图的判断,从而生成不恰当的响应,搞不好它来安慰你,那就跑题了。
毕竟在这个使用场景里,我们用ChatGPT的意图是提高效率,而不是闲聊。
正确的提问应该是这样:
请帮我拟定一个关于我们公司新款智能手表的营销邮件标题,强调手表的智能功能和优秀的设计
这样的提示词干脆利落,简短明了。
更多详细内容,可见《ChatGPT即学即用》视频课程。

ChatGPT已经融入了我们的工作和生活,完全可以辅助我们的日常生活,我们一定要拥抱它。在《ChatGPT即学即用》这套教程里面,我也选取了比较有代表性的16个应用方向。
其中8个应用方向,对应着不同职业的人群,分别是自媒体博主、初创公司、企业营销部门、企业公关部门、作家、教育工作者、外语学习者、IT工作者。
每个应用方向里面,我都细化了多个小的应用场景示例,比如自媒体博主应用示例,我讲解了自媒体博主日常所涉及到的方方面面,如启发创作灵感、生成爆款标题、生成视频脚本、自动生成视频、生成短文笔记、生成较长的文章、生成封面图片。
再比如初创公司的应用示例,我讲解了如何利用ChatGPT协助进行市场调研、协助制定差异化竞争策略、、协助设计品牌元素、提供产品设计和工艺方面的建议、协助完善公司运营和管理、编写商业计划书等初创公司日常所涉及到的方方面面。
其他的我就不一一列举了,总之每个应用方向,我都尽量细化到日常所涉及到的方方面面了。
还有8个是Office办公的应用方向,是所有职场人士,以及自由职业者都通用的office办公技能,包括Excel、Word、PPT如何与ChatGPT搭配使用,分别是速查Excel公式、将ChatGPT接入Excel中、协助编写Excel宏代码、批量处理Excel文件、将ChatGPT接入Word中、批量处理Word文件、自动生成PPT文件、在线自动生成PPT文件。
每一个应用方向都精选了几个常见的实例,掌握了这一整套用法,Office办公效率能提高十倍以上,个别应用场景甚至能提升百倍的效率,打破你对常见做法的认知。
点击“阅读原文”,查看课程详情。
相关文章:
ChatGPT Prompt 提示词设计技巧必知必会
本文内容整理自图灵社区直播《朱立成:ChatGPT Prompt提示词技巧必知必会》。 朱立成,图灵社区《ChatGPT即学即用》视频课程作者,软件工程师,对新事物充满好奇,关注ChatGPT应用。2001年毕业于浙江大学,从事软…...
尚硅谷-云尚办公-项目复盘
尚硅谷-云尚办公-项目复盘 资料地址本文介绍问题汇总问题1.knife4j无法下载 视频4问题2.dev等含义 视频5问题3.wrapper继承/实现图 视频8问题4.修改统一返回结果 视频11问题5.修改后新增也变修改 视频29问题6.redis中key值乱码 视频55-60问题7.RangeError: Maximum call stack …...
nacos升级到2.0.3(单机模式)
前提:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明 Spring Cloud AlibabaSpring CloudSpring BootNacos2.2.7.RELEASESpring Cloud Hoxton.SR122.3.12.RELEASE2.0.3 一、pom.xml文件 <parent><groupId>org.springframework.boot&…...
Koa学习3:用户添加、错误处理
模型 在src目录下创建model目录,用来存放模型 创建用户模型 user.model.js 注意: UUID类型是无法自增的,将id设置为UUID类型时只需要为其指定默认值即可 // 数据类型 const { DataTypes } require(sequelize); // 导入已经连接了数据库…...
网络安全入门学习第十五课——PHP基础
文章目录 一、WEB技术1、什么是web2、B/S架构3、C/S架构 二、PHP概述1、PHP是什么2、PHP受欢迎的原因3、基于MVC模式的PHP框架4、常用编译工具5、PHP环境搭建6、开发工具 三、PHP基本语法格式1、标记2、输出语句3、注释4、标识符 四、数据与运算1、常量1.1、常量定义1.2、预定义…...
电子科技大学 数学专业-功不唐捐,玉汝于成
电子科技大学 数学专业 功不唐捐,玉汝于成 1.本科背景 本科是坐落于湖南湘潭的湖南科技大学,专业为网络工程专业,因热爱数学专业,所以决定跨考数学专业。 本科专业课平均成绩85,排名10/104。CET 4 474分,…...
Android10.0 iptables用IOemNetd实现删除子链功能的实现
1.前言 在10.0的系统rom定制化开发中,在system中netd网络这块的产品需要中,会要求设置屏蔽ip地址之内的功能, liunx中iptables命令也是比较重要的,接下来就来在IOemNetd这块实现删除创建子链的相关功能 2. iptables用IOemNetd实现删除创建子链功能的实现的核心类 syste…...
OpenGL光照之光照贴图
文章目录 漫反射贴图镜面光贴图放射光贴图代码 每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观,但是这仍不能对一个物体的视觉输出提供足够多的灵活性。 我们将整个物体的材质定义为一个…...
2018~2019 学年第二学期《信息安全》考试试题(B 卷)
北京信息科技大学 2018 ~2019 学年第 2 学期 《信息安全》课程期末考试试卷 B 课程所在学院:计算机学院 适用专业班级:计科 1601-06,重修 考试形式:(闭卷) 一. 选择题(本题满分 10 分,共含 10 道小题,每小题 1 分) 网络中存在的安全漏洞主…...
LeetCode-C#-0002.两数相加
0.声明 该题目来源于LeetCode 如有侵权,立马删除。 解法不唯一,如有新解法可一同讨论。 1.题目 0002两数相加 给你两个非空的链表,表示两个非负的整数,它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一…...
访问修饰符private,default,protected,public访问等级区别
private:private是最严格的访问修饰符,它将成员声明为私有的。私有成员只能在声明它们的类内部访问,其他类无法直接访问私有成员。这样可以确保数据的封装性和安全性。 default(默认):如果没有明确指定访问…...
阿里云(Linux)安装Docker教程
首先安装docker,需要找到帮助文档,那肯定是我们的官网: Install Docker Engine on CentOS | Docker Documentation 找到对应的位置,这里是安装在CentOS中,版本需要Ce…...
Linux C编程基础:获取时间
1.前言 对于linux下的编程,无论是用户态还是内核态,时间获取都是经常需要使用到的。以下分别从用户态和内核态整理了几个常用的时间获取接口,供编写代码时快速查阅。 2.用户态获取时间 2.1 clock_gettime() #include <time.h>int c…...
Spring核心注解
1、Bean注解 作用:用于把当前方法的返回值作为bean对象存入spring的ioc容器中位置: 一般出现在方法上面属性: name:用于指定bean的id。当不写时,默认值是当前方法的名称细节:当我们使用注解配置方法时,如果方法有参数,…...
哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现
哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码(开散列和闭散列) 封装unordered_set/和unordered_map,以及实现迭代器节点定义unordered_set定义unordered_map定义…...
如何把歌曲里的伴奏音乐提取出来,分享几个方法给大家!
对于一首歌,我们都知道,它有两部分组成:背景音乐人声。这两者合在一起,便是我们经常听的歌。部分用户想要直接获取歌曲伴奏,那么可以在UU伴奏网上下载。 操作方法比较简单,直接搜索想要的歌曲名称就可以了…...
区块链产业快速发展 和数集团开启区块链应用新时代
UTONMOS区块链游戏要来了。 就在5月底,UTONMOS品牌所属公司上海和数集团在泰国发布了【神念无界】系列的多款国际版链游,包括【神念无界-源起山海】、【北荒传奇】、【神宠岛】、【神农园】等区块链游戏。 以【神念无界-源起山海】为例,其是…...
初出茅庐的小李博客之常见字符串函数使用
C语言字符数组与字符串数组 在C语言中,字符数组和字符串数组实际上是同一种类型。字符串是由字符组成的字符数组,通常以空字符 ‘\0’ 结尾。C语言中的字符串是一种常见的数据类型。我们可以通过两种方式定义字符数组跟字符串数组 char charArray[10];…...
运筹学工程化流程和常见的运筹学算法分类以及常见软件
文章目录 前言运筹学工程化流程运筹学算法分类运筹学软件参考文献 前言 自2023年初新冠疫情管控放开后,各家公司各类岗位的人员都有被裁的消息传出,但用人市场上运筹学算法岗位却反其道行之,用工出现了激增。可以预见的是数据算法将从传统的…...
JAVA面向对象(三)
第三章 封装与继承 目录 第三章 封装与继承 1.1.封装 1.2.包 1.3.访问权限控制 1.4.static修饰符 1.4.1.成员变量 1.4.2.成员方法 1.4.3.代码块 总结 内容仅供学习交流,如有问题请留言或私信!!!!࿰…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
